-
Notifications
You must be signed in to change notification settings - Fork 164
/
Copy pathstdlib.ts
2448 lines (2448 loc) · 323 KB
/
stdlib.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
const files: Record<string, string> = {};
files["libs/config.tact"] =
"Ly8vIFJldHJpZXZlcyBjb25maWcgcGFyYW1ldGVyIGAwYCBhcyBhbiBgQWRkcmVzc2AuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYv" +
"c3RkbGliLWNvbmZpZyNnZXRjb25maWdhZGRyZXNzCi8vLwpmdW4gZ2V0Q29uZmlnQWRkcmVzcygpOiBBZGRyZXNzIHsKICAgIGxldCBjZWxsOiBDZWxsID0gZ2V0Q29u" +
"ZmlnUGFyYW0oMCkhITsKICAgIGxldCBzYzogU2xpY2UgPSBjZWxsLmJlZ2luUGFyc2UoKTsKICAgIHJldHVybiBuZXdBZGRyZXNzKC0xLCBzYy5sb2FkVWludCgyNTYp" +
"KTsKfQoKLy8vIFJldHJpZXZlcyBjb25maWcgcGFyYW1ldGVyIGAxYCBhcyBhbiBgQWRkcmVzc2AuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9y" +
"Zy9yZWYvc3RkbGliLWNvbmZpZyNnZXRlbGVjdG9yYWRkcmVzcwovLy8KZnVuIGdldEVsZWN0b3JBZGRyZXNzKCk6IEFkZHJlc3MgewogICAgbGV0IGNlbGw6IENlbGwg" +
"PSBnZXRDb25maWdQYXJhbSgxKSEhOwogICAgbGV0IHNjOiBTbGljZSA9IGNlbGwuYmVnaW5QYXJzZSgpOwogICAgcmV0dXJuIG5ld0FkZHJlc3MoLTEsIHNjLmxvYWRV" +
"aW50KDI1NikpOwp9Cg==";
files["libs/content.tact"] =
"Ly8vIEVuY29kZXMgYW4gb2ZmLWNoYWluIGBsaW5rYCBmcm9tIGEgYFN0cmluZ2AgdG8gYSBgQ2VsbGAuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9yZWYvc3RkbGliLWNvbnRlbnQjY3JlYXRlb2ZmY2hhaW5jb250ZW50Ci8vLwpmdW4gY3JlYXRlT2ZmY2hhaW5Db250ZW50KGxpbms6IFN0cmluZyk6IENlbGwg" +
"ewogICAgbGV0IGJ1aWxkZXI6IFN0cmluZ0J1aWxkZXIgPSBiZWdpblN0cmluZ0Zyb21CdWlsZGVyKGJlZ2luQ2VsbCgpLnN0b3JlVWludCgweDAxLCA4KSk7CiAgICBi" +
"dWlsZGVyLmFwcGVuZChsaW5rKTsKICAgIHJldHVybiBidWlsZGVyLnRvQ2VsbCgpOwp9Cg==";
files["libs/deploy.tact"] =
"Ly8vIE1lc3NhZ2Ugc3RydWN0IHVzZWQgaW4gYSByZWNlaXZlciBvZiB0aGUgKipkZXByZWNhdGVkKiogYERlcGxveWFibGVgIHRyYWl0LgovLy8KLy8vIFNlZTogaHR0" +
"cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL3N0ZGxpYi1kZXBsb3kjZGVwbG95Ci8vLwptZXNzYWdlKDB4OTQ2YTk4YjYpIERlcGxveSB7CiAgICAvLy8gVW5pcXVl" +
"IGlkZW50aWZpZXIgZm9yIHRyYWNraW5nIHRyYW5zYWN0aW9ucyBhY3Jvc3MgbXVsdGlwbGUgY29udHJhY3RzLgogICAgcXVlcnlJZDogSW50IGFzIHVpbnQ2NDsKfQoK" +
"Ly8vIEZvcndhcmRlZCBtZXNzYWdlIHN0cnVjdCB1c2VkIGluICoqZGVwcmVjYXRlZCoqCi8vLyBgRGVwbG95YWJsZWAgYW5kIGBGYWN0b3J5RGVwbG95YWJsZWAgdHJh" +
"aXRzLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL3N0ZGxpYi1kZXBsb3kjZGVwbG95b2sKLy8vCm1lc3NhZ2UoMHhhZmY5MGY1Nykg" +
"RGVwbG95T2sgewogICAgLy8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0cmFja2luZyB0cmFuc2FjdGlvbnMgYWNyb3NzIG11bHRpcGxlIGNvbnRyYWN0cy4KICAgIHF1" +
"ZXJ5SWQ6IEludCBhcyB1aW50NjQ7Cn0KCi8vLyBNZXNzYWdlIHN0cnVjdCB1c2VkIGluIGEgcmVjZWl2ZXIgb2YgdGhlICoqZGVwcmVjYXRlZCoqIGBGYWN0b3J5RGVw" +
"bG95YWJsZWAgdHJhaXQuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvc3RkbGliLWRlcGxveSNmYWN0b3J5ZGVwbG95Ci8vLwptZXNz" +
"YWdlKDB4NmQwZmYxM2IpIEZhY3RvcnlEZXBsb3kgewogICAgLy8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0cmFja2luZyB0cmFuc2FjdGlvbnMgYWNyb3NzIG11bHRp" +
"cGxlIGNvbnRyYWN0cy4KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7CgogICAgLy8vIEFkZHJlc3MgdG8gZm9yd2FyZCBgRGVwbG95T2tgIG1lc3NhZ2UgdG8uCiAg" +
"ICBjYXNoYmFjazogQWRkcmVzczsKfQoKLy8vICoqRGVwcmVjYXRlZCoqIHNpbmNlIFRhY3QgMS42LjAuIFVubGVzcyB5b3UgbmVlZCB0aGUgYHF1ZXJ5SWRgLAovLy8g" +
"dXNlIGEgYG51bGxgIG1lc3NhZ2UgYm9keSByZWNlaXZlciBpbnN0ZWFkIG9mIHRoaXMgdHJhaXQuCi8vLwovLy8gUHJvdmlkZXMgYSBjb252ZW5pZW50IHVuaWZpZWQg" +
"bWVjaGFuaXNtIGZvciBkZXBsb3ltZW50cyBieSBpbXBsZW1lbnRpbmcgYQovLy8gc2ltcGxlIHJlY2VpdmVyIGZvciB0aGUgYERlcGxveWAgbWVzc2FnZS4KLy8vCi8v" +
"LyBBbGwgY29udHJhY3RzIGFyZSBkZXBsb3llZCBieSBzZW5kaW5nIHRoZW0gYSBtZXNzYWdlLiBXaGlsZSBhbnkgbWVzc2FnZQovLy8gY2FuIGJlIHVzZWQgZm9yIHRo" +
"aXMgcHVycG9zZSwgdGhlIGJlc3QgcHJhY3RpY2UgaXMgdG8gdXNlIHRoZSBzcGVjaWFsCi8vLyBgRGVwbG95YCBtZXNzYWdlLgovLy8KLy8vIFRoaXMgbWVzc2FnZSBo" +
"YXMgYSBzaW5nbGUgZmllbGQsIGBxdWVyeUlkYCwgcHJvdmlkZWQgYnkgdGhlIGRlcGxveWVyCi8vLyAodXN1YWxseSBzZXQgdG8gemVybykuIElmIHRoZSBkZXBsb3lt" +
"ZW50IHN1Y2NlZWRzLCB0aGUgY29udHJhY3Qgd2lsbAovLy8gcmVwbHkgd2l0aCBhIGBEZXBsb3lPa2AgbWVzc2FnZSBhbmQgZWNobyB0aGUgc2FtZSBgcXVlcnlJZGAg" +
"aW4gdGhlIHJlc3BvbnNlLgovLy8KLy8vIGBgYHRhY3QKLy8vIGltcG9ydCAiQHN0ZGxpYi9kZXBsb3kiOwovLy8KLy8vIGNvbnRyYWN0IEV4YW1wbGVDb250cmFjdCB3" +
"aXRoIERlcGxveWFibGUgewovLy8gICAgIC8vIE5vdywgdGhpcyBjb250cmFjdCBoYXMgYSByZWNlaXZlciBmb3IgdGhlIERlcGxveSBtZXNzYWdlCi8vLyB9Ci8vLyBg" +
"YGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9zdGRsaWItZGVwbG95I2RlcGxveWFibGUKLy8vCnRyYWl0IERlcGxveWFibGUgd2l0" +
"aCBCYXNlVHJhaXQgewogICAgcmVjZWl2ZShkZXBsb3k6IERlcGxveSkgewogICAgICAgIHNlbGYubm90aWZ5KERlcGxveU9rIHsgcXVlcnlJZDogZGVwbG95LnF1ZXJ5" +
"SWQgfS50b0NlbGwoKSk7CiAgICB9Cn0KCi8vLyAqKkRlcHJlY2F0ZWQqKiBzaW5jZSBUYWN0IDEuNi4wLiBVbmxlc3MgeW91IG5lZWQgdGhlIGBxdWVyeUlkYCwKLy8v" +
"IHVzZSBhIGBudWxsYCBtZXNzYWdlIGJvZHkgcmVjZWl2ZXIgaW5zdGVhZCBvZiB0aGlzIHRyYWl0LgovLy8KLy8vIFByb3ZpZGVzIGEgY29udmVuaWVudCB1bmlmaWVk" +
"IG1lY2hhbmlzbSBmb3IgY2hhaW5lZCBkZXBsb3ltZW50cy4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBpbXBvcnQgIkBzdGRsaWIvZGVwbG95IjsKLy8vCi8vLyBjb250cmFj" +
"dCBFeGFtcGxlQ29udHJhY3Qgd2l0aCBGYWN0b3J5RGVwbG95YWJsZSB7Ci8vLyAgICAgLy8gTm93LCB0aGlzIGNvbnRyYWN0IGhhcyBhIHJlY2VpdmVyIGZvciB0aGUg" +
"RmFjdG9yeURlcGxveSBtZXNzYWdlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9zdGRsaWItZGVwbG95I2Zh" +
"Y3RvcnlkZXBsb3lhYmxlCi8vLwp0cmFpdCBGYWN0b3J5RGVwbG95YWJsZSB3aXRoIEJhc2VUcmFpdCB7CiAgICByZWNlaXZlKGRlcGxveTogRmFjdG9yeURlcGxveSkg" +
"ewogICAgICAgIHNlbGYuZm9yd2FyZChkZXBsb3kuY2FzaGJhY2ssIERlcGxveU9rIHsgcXVlcnlJZDogZGVwbG95LnF1ZXJ5SWQgfS50b0NlbGwoKSwgZmFsc2UsIG51" +
"bGwpOwogICAgfQp9Cg==";
files["libs/dns.fc"] =
"c2xpY2UgZG5zX3N0cmluZ190b19pbnRlcm5hbChzbGljZSBkb21haW4pIGlubGluZV9yZWYgewoKICAgIDs7IFNwZWNpYWwgY2FzZSBmb3Igcm9vdCBkb21haW4KICAg" +
"IGlmICgoZG9tYWluLnNsaWNlX2JpdHMoKSA9PSA4KSAmIChkb21haW4uc2xpY2VfcmVmcygpID09IDApKSB7CiAgICAgICAgaWYgKGRvbWFpbi5wcmVsb2FkX3VpbnQo" +
"OCkgPT0gNDYpIHsKICAgICAgICAgICAgcmV0dXJuIGJlZ2luX2NlbGwoKS5zdG9yZV91aW50KDAsIDgpLmVuZF9jZWxsKCkuYmVnaW5fcGFyc2UoKTsKICAgICAgICB9" +
"CiAgICB9CiAgICAKICAgIDs7IFNwbGl0IGRvbWFpbiBpbnRvIHNlZ21lbnRzCiAgICB0dXBsZSBzZWdtZW50cyA9IG51bGwoKTsKICAgIGJ1aWxkZXIgY3VycmVudCA9" +
"IGJlZ2luX2NlbGwoKTsKICAgIGludCBpc0N1cnJlbnRFbXB0eSA9IHRydWU7CiAgICBpbnQgaXNGaXJzdCA9IHRydWU7CiAgICBpbnQgaXNIeXBoZW4gPSBmYWxzZTsK" +
"ICAgIHNsaWNlIGNzID0gZG9tYWluOwogICAgaW50IGNvbnRpbnVlID0gdHJ1ZTsKICAgIGRvIHsKCiAgICAgICAgOzsgUHJlcGFyZSBmb3IgbG9hZGluZyBuZXh0IGNo" +
"YXJhY3RlcgogICAgICAgIGlmIChjcy5zbGljZV9iaXRzKCkgPT0gMCkgewogICAgICAgICAgICBpbnQgcmVmcyA9IGNzLnNsaWNlX3JlZnMoKTsKICAgICAgICAgICAg" +
"aWYgKHJlZnMgPT0gMSkgewogICAgICAgICAgICAgICAgY3MgPSBjc35sb2FkX3JlZigpLmJlZ2luX3BhcnNlKCk7CiAgICAgICAgICAgIH0gZWxzZWlmIChyZWZzID4g" +
"MSkgewogICAgICAgICAgICAgICAgcmV0dXJuIG51bGwoKTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRpbnVlID0gZmFsc2U7CiAgICAg" +
"ICAgICAgIH0KICAgICAgICAgICAgY29udGludWUgPSBmYWxzZTsKICAgICAgICB9CgogICAgICAgIDs7IENvbnRpbnVlIGxvYWRpbmcgbmV4dCBjaGFyYWN0ZXIKICAg" +
"ICAgICBpZiAoY29udGludWUpIHsKICAgICAgICAgICAgaW50IGNoYXIgPSBjc35sb2FkX3VpbnQoOCk7CiAgICAgICAgICAgIDs7IHdlIGNhbiBkbyBpdCBiZWNhdXNl" +
"IGFkZGl0aW9uYWwgVVRGLTggY2hhcmFjdGVyJ3Mgb2N0ZXRzID49IDEyOCAtLSBodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzYyOS50eHQKICAgICAgICAgICAg" +
"aW50IGlzX2h5cGhlbiA9IChjaGFyID09IDQ1KTsKICAgICAgICAgICAgaW50IGlzX2RvdCAgPSAoY2hhciA9PSA0Nik7CiAgICAgICAgICAgIGludCB2YWxpZF9jaGFy" +
"ID0gaXNfaHlwaGVuIHwgaXNfZG90IHwgKChjaGFyID49IDQ4KSAmIChjaGFyIDw9IDU3KSkgfCAoKGNoYXIgPj0gOTcpICYgKGNoYXIgPD0gMTIyKSk7IDs7ICctJyBv" +
"ciAwLTkgb3IgYS16CiAgICAgICAgICAgIGlmICh+IHZhbGlkX2NoYXIgfCAoaXNGaXJzdCAmIGlzX2h5cGhlbikpIHsKICAgICAgICAgICAgICAgIHJldHVybiBudWxs" +
"KCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaXNIeXBoZW4gPSBpc19oeXBoZW47CiAgICAgICAgICAgIGlmIChpc19kb3QpIHsKICAgICAgICAgICAgICAgIGlm" +
"IChpc0ZpcnN0IHwgaXNIeXBoZW4pIHsgOzsgRW1wdHkgb3IgZW5kcyB3aXRoIGh5cGhlbgogICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsKCk7CiAgICAgICAg" +
"ICAgICAgICB9CiAgICAgICAgICAgICAgICBzZWdtZW50cyA9IGNvbnMoY3VycmVudCwgc2VnbWVudHMpOwogICAgICAgICAgICAgICAgY3VycmVudCA9IGJlZ2luX2Nl" +
"bGwoKTsKICAgICAgICAgICAgICAgIGlzSHlwaGVuID0gZmFsc2U7CiAgICAgICAgICAgICAgICBpc0ZpcnN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGlzQ3VycmVu" +
"dEVtcHR5ID0gdHJ1ZTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIGlzRmlyc3QgPSBmYWxzZTsKICAgICAgICAgICAgICAgIGlzQ3VycmVudEVt" +
"cHR5ID0gZmFsc2U7CiAgICAgICAgICAgICAgICBjdXJyZW50fnN0b3JlX3VpbnQoY2hhciwgOCk7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgfSB1bnRpbCAo" +
"fiBjb250aW51ZSk7CiAgICBpZiAoaXNIeXBoZW4pIHsgOzsgZW5kcyB3aXRoIGh5cGhlbgogICAgICAgIHJldHVybiBudWxsKCk7CiAgICB9CiAgICBpZiAofiBpc0N1" +
"cnJlbnRFbXB0eSkgewogICAgICAgIHNlZ21lbnRzID0gY29ucyhjdXJyZW50LCBzZWdtZW50cyk7CiAgICB9CgogICAgOzsgQ29uY2F0ZW5hdGUgc2VnbWVudHMKICAg" +
"IGJ1aWxkZXIgcmVzID0gYmVnaW5fY2VsbCgpOwogICAgKGJ1aWxkZXIgYiwgdHVwbGUgdGFpbCkgPSB1bmNvbnMoc2VnbWVudHMpOwogICAgcmVzID0gcmVzLnN0b3Jl" +
"X2J1aWxkZXIoYik7CiAgICB3aGlsZSh+IG51bGw/KHRhaWwpKSB7CiAgICAgICAgKGIsIHRhaWwpID0gdW5jb25zKHRhaWwpOwogICAgICAgIHJlcyA9IHJlcy5zdG9y" +
"ZV91aW50KDAsIDgpOyA7OyBBZGQgXDAgc2VwYXJhdG9yCiAgICAgICAgcmVzID0gcmVzLnN0b3JlX2J1aWxkZXIoYik7CiAgICB9CiAgICByZXMgPSByZXMuc3RvcmVf" +
"dWludCgwLCA4KTsgOzsgQWRkIFwwIHNlcGFyYXRvcgogICAgcmV0dXJuIHJlcy5lbmRfY2VsbCgpLmJlZ2luX3BhcnNlKCk7Cn0KCmludCBkbnNfaW50ZXJuYWxfdmVy" +
"aWZ5KHNsaWNlIHNjKSBpbmxpbmVfcmVmIHsKICAgIGlmIChzYy5zbGljZV9yZWZzKCkgIT0gMCkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgIGludCBi" +
"aXRzID0gc2Muc2xpY2VfYml0cygpOwogICAgaWYgKGJpdHMgJSA4ICE9IDApIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgICBpZiAoYml0cyA9PSAwKSB7" +
"IDs7IENhc2UgZm9yIHJvb3QgZG9tYWluCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CiAgICBpbnQgbGVuID0gYml0cyAvIDg7CiAgICBpbnQgY291bnRlciA9IDA7" +
"CiAgICBpbnQgaXNGaXJzdCA9IHRydWU7CiAgICBpbnQgaXNIeXBoZW4gPSBmYWxzZTsKICAgIHJlcGVhdChsZW4pIHsKICAgICAgICBpbnQgY2hhciA9IHNjfmxvYWRf" +
"dWludCg4KTsKICAgICAgICBpZiAoY2hhciA9PSAwKSB7CiAgICAgICAgICAgIGlmIChjb3VudGVyID09IDApIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsK" +
"ICAgICAgICAgICAgfQogICAgICAgICAgICBpZiAoaXNIeXBoZW4pIHsKICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgfQogICAgICAgICAg" +
"ICBjb3VudGVyID0gMDsKICAgICAgICAgICAgaXNIeXBoZW4gPSBmYWxzZTsKICAgICAgICAgICAgaXNGaXJzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIHsKICAgICAg" +
"ICAgICAgaW50IGNoYXJJc0h5cGhlbiA9IChjaGFyID09IDQ1KTsKICAgICAgICAgICAgaW50IGlzVmFsaWQgPSBjaGFySXNIeXBoZW4gfCAoKGNoYXIgPj0gNDgpICYg" +
"KGNoYXIgPD0gNTcpKSB8ICgoY2hhciA+PSA5NykgJiAoY2hhciA8PSAxMjIpKTsKICAgICAgICAgICAgaWYgKH4gaXNWYWxpZCkgewogICAgICAgICAgICAgICAgcmV0" +
"dXJuIGZhbHNlOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChjaGFySXNIeXBoZW4gJiBpc0ZpcnN0KSAgewogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl" +
"OwogICAgICAgICAgICB9CiAgICAgICAgICAgIGlzSHlwaGVuID0gY2hhcklzSHlwaGVuOwogICAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7CiAgICAgICAgICAgIGNv" +
"dW50ZXIgPSBjb3VudGVyICsgMTsKICAgICAgICB9CiAgICB9CiAgICByZXR1cm4gY291bnRlciA9PSAwICYgfiBpc0h5cGhlbjsKfQoKc2xpY2UgZG5zX2ludGVybmFs" +
"X25vcm1hbGl6ZShzbGljZSBzcmMpIGltcHVyZSBpbmxpbmVfcmVmIHsKICAgIHRocm93X3VubGVzcygxMzQsIHNyYy5zbGljZV9yZWZzKCkgPT0gMCk7IDs7IEludmFs" +
"aWQgYXJndW1lbnQgZXJyb3IKICAgIGJ1aWxkZXIgdGFyZ2V0ID0gYmVnaW5fY2VsbCgpOwogICAgcmVwZWF0KHNyYy5zbGljZV9iaXRzKCkgLyA4KSB7CiAgICAgICAg" +
"aW50IGNoYXIgPSBzcmN+bG9hZF91aW50KDgpOwoKICAgICAgICA7OyBiID0+IDYKICAgICAgICBpZiAoY2hhciA9PSA5OCkgewogICAgICAgICAgICBjaGFyID0gNTQ7" +
"CiAgICAgICAgfQoKICAgICAgICA7OyBnLCBxID0+IDkKICAgICAgICBpZiAoKGNoYXIgPT0gMTAzKSB8IChjaGFyID09IDExMykpIHsKICAgICAgICAgICAgY2hhciA9" +
"IDU3OyAgICAKICAgICAgICB9CgogICAgICAgIDs7IGwgPT4gMQogICAgICAgIGlmIChjaGFyID09IDEwOCkgewogICAgICAgICAgICBjaGFyID0gNDk7CiAgICAgICAg" +
"fQoKICAgICAgICA7OyBvID0+IDAKICAgICAgICBpZiAoY2hhciA9PSAxMTEpIHsKICAgICAgICAgICAgY2hhciA9IDQ4OwogICAgICAgIH0KCiAgICAgICAgOzsgcyA9" +
"PiA1CiAgICAgICAgaWYgKGNoYXIgPT0gMTE1KSB7CiAgICAgICAgICAgIGNoYXIgPSA1MzsKICAgICAgICB9CgogICAgICAgIDs7IHUgPT4gdgogICAgICAgIGlmIChj" +
"aGFyID09IDExNykgewogICAgICAgICAgICBjaGFyID0gMTE4OwogICAgICAgIH0KCiAgICAgICAgOzsgeiA9PiAyCiAgICAgICAgaWYgKGNoYXIgPT0gMTIyKSB7CiAg" +
"ICAgICAgICAgIGNoYXIgPSA1MDsKICAgICAgICB9CgogICAgICAgIHRhcmdldCA9IHRhcmdldC5zdG9yZV91aW50KGNoYXIsIDgpOwogICAgfQogICAgcmV0dXJuIHRh" +
"cmdldC5lbmRfY2VsbCgpLmJlZ2luX3BhcnNlKCk7Cn0K";
files["libs/dns.tact"] =
"aW1wb3J0ICIuL2Rucy5mYyI7CgovLy8gQSBzdHJ1Y3QgdGhhdCBjb250YWlucyB0aGUgcmVzdWx0IG9mIEROUyByZXNvbHV0aW9uLgpzdHJ1Y3QgRE5TUmVzb2x2ZVJl" +
"c3VsdCB7CiAgICAvLy8gVGhlIHByZWZpeCBvZiB0aGUgRE5TIHJlc29sdXRpb24uCiAgICBwcmVmaXg6IEludDsgCiAgICAvLy8gVGhlIHJlY29yZCBvZiB0aGUgRE5T" +
"IHJlc29sdXRpb24uCiAgICByZWNvcmQ6IENlbGw/OyAKfQoKLy8vIENvbnZlcnRzIGEgRE5TIHN0cmluZyB0byBhIGBTbGljZWAgb3IgYG51bGxgIGlmIGNvbnZlcnNp" +
"b24gaXMgaW1wb3NzaWJsZS4KQG5hbWUoZG5zX3N0cmluZ190b19pbnRlcm5hbCkKbmF0aXZlIGRuc1N0cmluZ1RvSW50ZXJuYWwoc3RyOiBTdHJpbmcpOiBTbGljZT87" +
"CgovLy8gTm9ybWFsaXplcyB0aGUgaW50ZXJuYWwgRE5TIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgU2xpY2VgLgovLy8gVGhlIHByb3ZpZGVkIGBTbGljZWAgbXVzdCBu" +
"b3QgaGF2ZSBhbnkgcmVmZXJlbmNlczsgb3RoZXJ3aXNlLCBhbiBleGNlcHRpb24gd2l0aCAKLy8vIFtleGl0IGNvZGUgMTM0XSB3aWxsIGJlIHRocm93bjogYEludmFs" +
"aWQgYXJndW1lbnRgLgovLy8gCi8vLyBbZXhpdCBjb2RlIDEzNF06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyMxMzQKQG5hbWUoZG5z" +
"X2ludGVybmFsX25vcm1hbGl6ZSkKbmF0aXZlIGRuc0ludGVybmFsTm9ybWFsaXplKHNyYzogU2xpY2UpOiBTbGljZTsKCi8vLyBWZXJpZmllcyB0aGUgaW50ZXJuYWwg" +
"RE5TIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzdWJkb21haW4gYFNsaWNlYC4KQG5hbWUoZG5zX2ludGVybmFsX3ZlcmlmeSkKbmF0aXZlIGRuc0ludGVybmFsVmVyaWZ5" +
"KHN1YmRvbWFpbjogU2xpY2UpOiBCb29sOwoKLy8vIENhbGN1bGF0ZXMgdGhlIGxlbmd0aCBvZiB0aGUgdG9wIGRvbWFpbiBpbiB0aGUgYHN1YmRvbWFpbmAgYFNsaWNl" +
"YC4KZnVuIGRuc0V4dHJhY3RUb3BEb21haW5MZW5ndGgoc3ViZG9tYWluOiBTbGljZSk6IEludCB7CiAgICBsZXQgaTogSW50ID0gMDsKICAgIGxldCBuZWVkQnJlYWs6" +
"IEJvb2wgPSBmYWxzZTsKICAgIGRvIHsKICAgICAgICBsZXQgY2hhcjogSW50ID0gc3ViZG9tYWluLmxvYWRVaW50KDgpOyAvLyB3ZSBkbyBub3QgY2hlY2sgZG9tYWlu" +
"Lmxlbmd0aCBiZWNhdXNlIGl0IE1VU1QgY29udGFpbnMgXDAgY2hhcmFjdGVyCiAgICAgICAgbmVlZEJyZWFrID0gY2hhciA9PSAwOwogICAgICAgIGlmICghbmVlZEJy" +
"ZWFrKSB7CiAgICAgICAgICAgIGkgPSBpICsgODsKICAgICAgICB9CiAgICB9IHVudGlsIChuZWVkQnJlYWspOwogICAgcmVxdWlyZShpICE9IDAsICJJbnZhbGlkIERO" +
"UyBuYW1lIik7CiAgICByZXR1cm4gaTsKfQoKLy8vIEV4dHJhY3RzIHRoZSB0b3AgZG9tYWluIGZyb20gYSBgc3ViZG9tYWluYCBgU2xpY2VgLgpmdW4gZG5zRXh0cmFj" +
"dFRvcERvbWFpbihzdWJkb21haW46IFNsaWNlKTogU2xpY2UgewogICAgbGV0IGxlbjogSW50ID0gZG5zRXh0cmFjdFRvcERvbWFpbkxlbmd0aChzdWJkb21haW4pOwog" +
"ICAgcmV0dXJuIHN1YmRvbWFpbi5sb2FkQml0cyhsZW4pOwp9CgovLy8gUmVzb2x2ZXMgYW4gYGFkZHJlc3NgIGBBZGRyZXNzYCBpbnRvIGEgYENlbGxgLgpmdW4gZG5z" +
"UmVzb2x2ZU5leHQoYWRkcmVzczogQWRkcmVzcyk6IENlbGwgewogICAgcmV0dXJuIGJlZ2luQ2VsbCgpCiAgICAgICAgLnN0b3JlVWludCgweGJhOTMsIDE2KQogICAg" +
"ICAgIC5zdG9yZUFkZHJlc3MoYWRkcmVzcykKICAgICAgICAuZW5kQ2VsbCgpOwp9CgovLy8gUmVzb2x2ZXMgYSB3YWxsZXQgYGFkZHJlc3NgIGBBZGRyZXNzYCBpbnRv" +
"IGEgYENlbGxgLgpmdW4gZG5zUmVzb2x2ZVdhbGxldChhZGRyZXNzOiBBZGRyZXNzKTogQ2VsbCB7CiAgICByZXR1cm4gYmVnaW5DZWxsKCkKICAgICAgICAuc3RvcmVV" +
"aW50KDB4OWZkMywgMTYpCiAgICAgICAgLnN0b3JlQWRkcmVzcyhhZGRyZXNzKQogICAgICAgIC5zdG9yZVVpbnQoMCwgOCkKICAgICAgICAuZW5kQ2VsbCgpOwp9Cgov" +
"Ly8gUHJvdmlkZXMgdHdvIGhlbHBlciBmdW5jdGlvbnMgZm9yIEROUyByZXNvbHV0aW9uOgovLy8gCi8vLyAxLiBBIGdldHRlciBmdW5jdGlvbiBgZG5zcmVzb2x2ZSgp" +
"YCwgd2hpY2ggY29ycmVzcG9uZHMgdG8gaXRzIEZ1bkMgdmFyaWFudC4KLy8vIDIuIEEgdmlydHVhbCBmdW5jdGlvbiBgZG9SZXNvbHZlRE5TKClgLCB3aGljaCBjcmVh" +
"dGVzIGEgc3RydWN0IGBETlNSZXNvbHZlUmVzdWx0YCBmcm9tIHN1YmRvbWFpbiBgU2xpY2VgIGJpdHMuCi8vLyAKLy8vIGBgYHRhY3QKLy8vIGltcG9ydCAiQHN0ZGxp" +
"Yi9kbnMiOwovLy8gCi8vLyBjb250cmFjdCBFeGFtcGxlQ29udHJhY3Qgd2l0aCBETlNSZXNvbHZlciB7Ci8vLyAgICAgLy8gTm93LCB0aGlzIGNvbnRyYWN0IGhhczoK" +
"Ly8vICAgICAvLyAxLiBBIGRuc3Jlc29sdmUgZ2V0dGVyIGZ1bmN0aW9uLgovLy8gICAgIC8vIDIuIEEgZG9SZXNvbHZlRE5TIHZpcnR1YWwgZnVuY3Rpb24uCi8vLyB9" +
"Ci8vLyBgYGAKLy8vIAovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvc3RkbGliLWRucyNkbnNyZXNvbHZlcgovLy8gCnRyYWl0IEROU1Jlc29s" +
"dmVyIHsKICAgIC8vLyBDcmVhdGVzIGEgc3RydWN0IGBETlNSZXNvbHZlUmVzdWx0YCBmcm9tIHN1YmRvbWFpbiBgU2xpY2VgIGJpdHMuCiAgICBnZXQgZnVuIGRuc3Jl" +
"c29sdmUoc3ViZG9tYWluOiBTbGljZSwgY2F0ZWdvcnk6IEludCk6IEROU1Jlc29sdmVSZXN1bHQgewogICAgICAgIC8vIE5vcm1hbGl6ZQogICAgICAgIGxldCBkZWx0" +
"YTogSW50ID0gMDsKICAgICAgICBpZiAoc3ViZG9tYWluLnByZWxvYWRVaW50KDgpID09IDApIHsKICAgICAgICAgICAgc3ViZG9tYWluLmxvYWRVaW50KDgpOyAvLyBT" +
"a2lwIGZpcnN0IGJ5dGUKICAgICAgICAgICAgZGVsdGEgKz0gODsKICAgICAgICB9CgogICAgICAgIC8vIENoZWNrcyBjb3JyZWN0bmVzcwogICAgICAgIHJlcXVpcmUo" +
"ZG5zSW50ZXJuYWxWZXJpZnkoc3ViZG9tYWluKSwgIkludmFsaWQgRE5TIG5hbWUiKTsKCiAgICAgICAgLy8gUmVzb2x2ZQogICAgICAgIGxldCByZXM6IEROU1Jlc29s" +
"dmVSZXN1bHQgPSBzZWxmLmRvUmVzb2x2ZUROUyhzdWJkb21haW4sIGNhdGVnb3J5KTsKICAgICAgICByZXR1cm4gRE5TUmVzb2x2ZVJlc3VsdCB7IHByZWZpeDogcmVz" +
"LnByZWZpeCArIGRlbHRhLCByZWNvcmQ6IHJlcy5yZWNvcmQgfTsKICAgIH0KCiAgICAvLy8gQ3JlYXRlcyBhIHN0cnVjdCBgRE5TUmVzb2x2ZVJlc3VsdGAgZnJvbSBz" +
"dWJkb21haW4gYFNsaWNlYCBiaXRzLgogICAgdmlydHVhbCBmdW4gZG9SZXNvbHZlRE5TKHN1YmRvbWFpbjogU2xpY2UsIGNhdGVnb3J5OiBJbnQpOiBETlNSZXNvbHZl" +
"UmVzdWx0IHsKICAgICAgICByZXR1cm4gRE5TUmVzb2x2ZVJlc3VsdCB7IHByZWZpeDogc3ViZG9tYWluLmJpdHMoKSwgcmVjb3JkOiBudWxsIH07CiAgICB9Cn0K";
files["libs/ownable.tact"] =
"Ly8vIE1lc3NhZ2Ugc2VudCBieSB0aGUgb3duZXIgdG8gdHJhbnNmZXIgb3duZXJzaGlwIG9mIGEgY29udHJhY3QuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFj" +
"dC1sYW5nLm9yZy9yZWYvc3RkbGliLW93bmFibGUjY2hhbmdlb3duZXIKLy8vCm1lc3NhZ2UoMHg4MTlkYmU5OSkgQ2hhbmdlT3duZXIgewogICAgLy8vIFF1ZXJ5IElE" +
"IG9mIHRoZSBjaGFuZ2Ugb3duZXIgcmVxdWVzdC4KICAgIHF1ZXJ5SWQ6IEludCBhcyB1aW50NjQ7CiAgICAvLy8gTmV3IG93bmVyLgogICAgbmV3T3duZXI6IEFkZHJl" +
"c3M7Cn0KCi8vLyBNZXNzYWdlIHNlbnQgYnkgdGhlIGNvbnRyYWN0IHRvIHRoZSBvd25lciB0byBjb25maXJtIHRoZSBvd25lcnNoaXAgdHJhbnNmZXIuCi8vLwovLy8g" +
"U2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvc3RkbGliLW93bmFibGUjY2hhbmdlb3duZXJvawovLy8KbWVzc2FnZSgweDMyN2IyYjRhKSBDaGFuZ2VP" +
"d25lck9rIHsKICAgIC8vLyBRdWVyeSBJRCBvZiB0aGUgY2hhbmdlIG93bmVyIHJlcXVlc3QuCiAgICBxdWVyeUlkOiBJbnQgYXMgdWludDY0OwogICAgLy8vIE5ldyBv" +
"d25lciB0aGF0IHdhcyBzZXQuCiAgICBuZXdPd25lcjogQWRkcmVzczsKfQoKLy8vIERlY2xhcmVzIHRoZSBvd25lciAobm9uLWVkaXRhYmxlKSBvZiBhIGNvbnRyYWN0" +
"IGFuZCBwcm92aWRlcyBhIGhlbHBlcgovLy8gZnVuY3Rpb24gYHJlcXVpcmVPd25lcigpYCwgd2hpY2ggY2hlY2tzIHRoYXQgYSBtZXNzYWdlIHdhcyBzZW50IGJ5IHRo" +
"ZSBvd25lci4KLy8vCi8vLyBUaGlzIHRyYWl0IHJlcXVpcmVzIGEgZmllbGQgYG93bmVyOiBBZGRyZXNzYCB0byBiZSBkZWNsYXJlZCBhbmQgZXhwb3NlcwovLy8gYSBn" +
"ZXR0ZXIgZnVuY3Rpb24gYG93bmVyKClgLCB3aGljaCByZWFkcyBpdCBmcm9tIHRoZSBjb250cmFjdC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBpbXBvcnQgIkBzdGRsaWIv" +
"b3duYWJsZSI7Ci8vLwovLy8gY29udHJhY3QgRXhhbXBsZUNvbnRyYWN0IHdpdGggT3duYWJsZSB7Ci8vLyAgICAgb3duZXI6IEFkZHJlc3M7Ci8vLwovLy8gICAgIGlu" +
"aXQob3duZXI6IEFkZHJlc3MpIHsKLy8vICAgICAgICAgc2VsZi5vd25lciA9IG93bmVyOwovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6" +
"Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL3N0ZGxpYi1vd25hYmxlI293bmFibGUKLy8vCkBpbnRlcmZhY2UoIm9yZy50b24ub3duYWJsZSIpCnRyYWl0IE93bmFibGUg" +
"d2l0aCBCYXNlVHJhaXQgewogICAgLy8vIFRoZSBvd25lciBvZiB0aGUgY29udHJhY3QuCiAgICBvd25lcjogQWRkcmVzczsKCiAgICAvLy8gUmVxdWlyZXMgdGhhdCB0" +
"aGUgc2VuZGVyIGlzIHRoZSBvd25lciBvZiB0aGUgY29udHJhY3QuCiAgICAvLy8KICAgIC8vLyAjIyMjIEV4aXQgY29kZXMKICAgIC8vLwogICAgLy8vICogMTMyOiBb" +
"QWNjZXNzIGRlbmllZF0g4oCUIFRocm93biB3aGVuIHRoZSBzZW5kZXIgaXMgbm90IHRoZSBvd25lciBvZiB0aGUgY29udHJhY3QuCiAgICAvLy8KICAgIC8vLyBbQWNj" +
"ZXNzIGRlbmllZF06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyMxMzIKICAgIC8vLwogICAgZnVuIHJlcXVpcmVPd25lcigpIHsKICAg" +
"ICAgICB0aHJvd1VubGVzcyhUYWN0RXhpdENvZGVBY2Nlc3NEZW5pZWQsIHNlbmRlcigpID09IHNlbGYub3duZXIpOwogICAgfQoKICAgIC8vLyBSZXR1cm5zIHRoZSBv" +
"d25lciBvZiB0aGUgY29udHJhY3QuCiAgICBnZXQgZnVuIG93bmVyKCk6IEFkZHJlc3MgewogICAgICAgIHJldHVybiBzZWxmLm93bmVyOwogICAgfQp9CgovLy8gRXh0" +
"ZW5zaW9uIG9mIGBPd25hYmxlYCB0aGF0IGFsbG93cyB0cmFuc2ZlcnJpbmcgb3duZXJzaGlwIG9mIGEgY29udHJhY3QKLy8vIHRvIGFub3RoZXIgYWRkcmVzcy4gSXQg" +
"cHJvdmlkZXMgYSBzZWN1cmUgaGFuZGxlciBmb3IgdGhlIG1lc3NhZ2UgYENoYW5nZU93bmVyYAovLy8gdGhhdCBjYW4gYmUgY2FsbGVkIGJ5IHRoZSBvd25lciB0byB0" +
"cmFuc2ZlciBvd25lcnNoaXAuCi8vLwovLy8gSWYgdGhlIG93bmVyc2hpcCB0cmFuc2ZlciByZXF1ZXN0IHN1Y2NlZWRzLCB0aGUgY29udHJhY3Qgd2lsbCByZXBseSB3" +
"aXRoIGEKLy8vIGBDaGFuZ2VPd25lck9rYCBtZXNzYWdlLgovLy8KLy8vIGBgYHRhY3QKLy8vIGltcG9ydCAiQHN0ZGxpYi9vd25hYmxlIjsKLy8vCi8vLyBjb250cmFj" +
"dCBFeGFtcGxlQ29udHJhY3Qgd2l0aCBPd25hYmxlVHJhbnNmZXJhYmxlIHsKLy8vICAgICBvd25lcjogQWRkcmVzczsKLy8vCi8vLyAgICAgaW5pdChvd25lcjogQWRk" +
"cmVzcykgewovLy8gICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7Ci8vLyAgICAgfQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1s" +
"YW5nLm9yZy9yZWYvc3RkbGliLW93bmFibGUjb3duYWJsZXRyYW5zZmVyYWJsZQovLy8KQGludGVyZmFjZSgib3JnLnRvbi5vd25hYmxlLnRyYW5zZmVyYWJsZS52MiIp" +
"CnRyYWl0IE93bmFibGVUcmFuc2ZlcmFibGUgd2l0aCBPd25hYmxlIHsKICAgIC8vLyBUaGUgb3duZXIgb2YgdGhlIGNvbnRyYWN0LgogICAgb3duZXI6IEFkZHJlc3M7" +
"CgogICAgLy8vIFJlY2VpdmVyIGZvciB0aGUgYENoYW5nZU93bmVyYCBtZXNzYWdlIGJvZHksIHdoaWNoCiAgICAvLy8gY2FuIG9ubHkgYmUgcHJvY2Vzc2VkIHdoZW4g" +
"c2VudCBieSB0aGUgY3VycmVudCBvd25lci4KICAgIC8vLwogICAgLy8vICMjIyMgRXhpdCBjb2RlcwogICAgLy8vCiAgICAvLy8gKiAxMzI6IFtBY2Nlc3MgZGVuaWVk" +
"XSDigJQgVGhyb3duIHdoZW4gdGhlIHNlbmRlciBpcyBub3QgdGhlIG93bmVyIG9mIHRoZSBjb250cmFjdC4KICAgIC8vLwogICAgLy8vIFtBY2Nlc3MgZGVuaWVkXTog" +
"aHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzEzMgogICAgLy8vCiAgICByZWNlaXZlKG1zZzogQ2hhbmdlT3duZXIpIHsKICAgICAgICAv" +
"LyBDaGVjayBpZiB0aGUgc2VuZGVyIGlzIHRoZSBvd25lcgogICAgICAgIHNlbGYucmVxdWlyZU93bmVyKCk7CgogICAgICAgIC8vIFVwZGF0ZSBvd25lcgogICAgICAg" +
"IHNlbGYub3duZXIgPSBtc2cubmV3T3duZXI7CgogICAgICAgIC8vIFJlcGx5IHJlc3VsdAogICAgICAgIHNlbGYucmVwbHkoQ2hhbmdlT3duZXJPayB7IHF1ZXJ5SWQ6" +
"IG1zZy5xdWVyeUlkLCBuZXdPd25lcjogbXNnLm5ld093bmVyIH0udG9DZWxsKCkpOwogICAgfQp9Cg==";
files["libs/stoppable.tact"] =
"aW1wb3J0ICIuL293bmFibGUiOwovLy8gSW1wbGVtZW50cyBhIHJlY2VpdmVyIGZvciB0aGUgbWVzc2FnZSBgIlN0b3AiYCB0aGF0IGNhbiBiZSBzZW50IGJ5IHRoZSBv" +
"d25lci4KLy8vCi8vLyBUcmFpdCBpbXBsZW1lbnRzIHRoZSBgc3RvcHBlZCgpYCBbZ2V0dGVyIGZ1bmN0aW9uXSB0aGF0IHJldHVybnMgYHRydWVgIGlmIHRoZSBjb250" +
"cmFjdAovLy8gaXMgc3RvcHBlZCAob3IgYGZhbHNlYCBvdGhlcndpc2UpIGFuZCBwcm92aWRlcyBwcml2YXRlIChub24tZ2V0dGVyKSBmdW5jdGlvbnMKLy8vIGByZXF1" +
"aXJlTm90U3RvcHBlZCgpYCBhbmQgYHJlcXVpcmVTdG9wcGVkKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGltcG9ydCAiQHN0ZGxpYi9vd25hYmxlIjsKLy8vIGltcG9y" +
"dCAiQHN0ZGxpYi9zdG9wcGFibGUiOwovLy8KLy8vIGNvbnRyYWN0IE15Q29udHJhY3Qgd2l0aCBTdG9wcGFibGUgewovLy8gICAgb3duZXI6IEFkZHJlc3M7Ci8vLyAg" +
"ICBzdG9wcGVkOiBCb29sOwovLy8KLy8vICAgIGluaXQob3duZXI6IEFkZHJlc3MpIHsKLy8vICAgICAgICBzZWxmLm93bmVyID0gb3duZXI7Ci8vLyAgICAgICAgc2Vs" +
"Zi5zdG9wcGVkID0gZmFsc2U7Ci8vLyAgICB9Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9zdGRsaWItc3Rv" +
"cHBhYmxlI3N0b3BwYWJsZQovLy8KLy8vIFtnZXR0ZXIgZnVuY3Rpb25dOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2Z1bmN0aW9ucyNnZXR0ZXItZnVu" +
"Y3Rpb25zCi8vLwpAaW50ZXJmYWNlKCJvcmcudG9uLnN0b3BwYWJsZSIpCnRyYWl0IFN0b3BwYWJsZSB3aXRoIE93bmFibGUgewogICAgLy8vIFdoZXRoZXIgdGhlIGNv" +
"bnRyYWN0IGlzIHN0b3BwZWQuCiAgICBzdG9wcGVkOiBCb29sOwoKICAgIC8vLyBUaGUgb3duZXIgb2YgdGhlIGNvbnRyYWN0LgogICAgb3duZXI6IEFkZHJlc3M7Cgog" +
"ICAgLy8vIFJlcXVpcmVzIHRoZSBjb250cmFjdCB0byBiZSBub3Qgc3RvcHBlZC4KICAgIC8vLyAKICAgIC8vLyAjIyMjIEV4aXQgY29kZXMKICAgIC8vLyAKICAgIC8v" +
"LyAqIDEzMzogW0NvbnRyYWN0IHN0b3BwZWRdIOKAlCBpZiB0aGUgY29udHJhY3QgaXMgc3RvcHBlZC4KICAgIC8vLyAKICAgIC8vLyBbQ29udHJhY3Qgc3RvcHBlZF06" +
"IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyMxMzMKICAgIC8vLyAKICAgIGZ1biByZXF1aXJlTm90U3RvcHBlZCgpIHsKICAgICAgICB0" +
"aHJvd1VubGVzcyhUYWN0RXhpdENvZGVDb250cmFjdFN0b3BwZWQsICFzZWxmLnN0b3BwZWQpOwogICAgfQoKICAgIC8vLyBSZXF1aXJlcyB0aGUgY29udHJhY3QgdG8g" +
"YmUgc3RvcHBlZC4KICAgIGZ1biByZXF1aXJlU3RvcHBlZCgpIHsKICAgICAgICByZXF1aXJlKHNlbGYuc3RvcHBlZCwgIkNvbnRyYWN0IG5vdCBzdG9wcGVkIik7CiAg" +
"ICB9CgogICAgLy8vIFJlY2VpdmVyIGZvciB0aGUgbWVzc2FnZSBgIlN0b3AiYCB0aGF0IHN0b3BzIHRoZSBjb250cmFjdC4KICAgIC8vLwogICAgLy8vIENhbiBvbmx5" +
"IGJlIGNhbGxlZCBieSB0aGUgb3duZXIgYW5kIGlmIHRoZSBjb250cmFjdCBpcyBub3Qgc3RvcHBlZCBhbHJlYWR5LgogICAgcmVjZWl2ZSgiU3RvcCIpIHsKICAgICAg" +
"ICBzZWxmLnJlcXVpcmVPd25lcigpOwogICAgICAgIHNlbGYucmVxdWlyZU5vdFN0b3BwZWQoKTsKICAgICAgICBzZWxmLnN0b3BwZWQgPSB0cnVlOwogICAgICAgIHNl" +
"bGYucmVwbHkoIlN0b3BwZWQiLmFzQ29tbWVudCgpKTsKICAgIH0KCiAgICAvLy8gUmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGNvbnRyYWN0IGlzIHN0b3BwZWQgKG9yIGBm" +
"YWxzZWAgb3RoZXJ3aXNlKS4KICAgIGdldCBmdW4gc3RvcHBlZCgpOiBCb29sIHsKICAgICAgICByZXR1cm4gc2VsZi5zdG9wcGVkOwogICAgfQp9CgovLy8gRXh0ZW5k" +
"cyB0aGUgYFN0b3BwYWJsZWAgdHJhaXQgYW5kIGFsbG93cyByZXN1bWluZyBjb250cmFjdCBleGVjdXRpb24uCi8vLwovLy8gVHJhaXQgaW1wbGVtZW50cyBhIHJlY2Vp" +
"dmVyIGZvciB0aGUgbWVzc2FnZSBgIlJlc3VtZSJgIHRoYXQgcmVzdW1lcyB0aGUgY29udHJhY3QgZXhlY3V0aW9uLgovLy8KLy8vIGBgYHRhY3QKLy8vIGltcG9ydCAi" +
"QHN0ZGxpYi9vd25hYmxlIjsKLy8vIGltcG9ydCAiQHN0ZGxpYi9zdG9wcGFibGUiOwovLy8KLy8vIGNvbnRyYWN0IE15Q29udHJhY3Qgd2l0aCBSZXN1bWFibGUgewov" +
"Ly8gICAgIG93bmVyOiBBZGRyZXNzOwovLy8gICAgIHN0b3BwZWQ6IEJvb2w7Ci8vLwovLy8gICAgIGluaXQob3duZXI6IEFkZHJlc3MpIHsKLy8vICAgICAgICAgc2Vs" +
"Zi5vd25lciA9IG93bmVyOwovLy8gICAgICAgICBzZWxmLnN0b3BwZWQgPSBmYWxzZTsKLy8vICAgICB9Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8v" +
"ZG9jcy50YWN0LWxhbmcub3JnL3JlZi9zdGRsaWItc3RvcHBhYmxlI3Jlc3VtYWJsZQovLy8KQGludGVyZmFjZSgib3JnLnRvbi5yZXN1bWFibGUiKQp0cmFpdCBSZXN1" +
"bWFibGUgd2l0aCBTdG9wcGFibGUgewogICAgLy8vIFdoZXRoZXIgdGhlIGNvbnRyYWN0IGlzIHN0b3BwZWQuCiAgICBzdG9wcGVkOiBCb29sOwoKICAgIC8vLyBUaGUg" +
"b3duZXIgb2YgdGhlIGNvbnRyYWN0LgogICAgb3duZXI6IEFkZHJlc3M7CgogICAgLy8vIFJlY2VpdmVyIGZvciB0aGUgbWVzc2FnZSBgIlJlc3VtZSJgIHRoYXQgcmVz" +
"dW1lcyB0aGUgY29udHJhY3QgZXhlY3V0aW9uLgogICAgLy8vCiAgICAvLy8gQ2FuIG9ubHkgYmUgY2FsbGVkIGJ5IHRoZSBvd25lciBhbmQgaWYgdGhlIGNvbnRyYWN0" +
"IGlzIHN0b3BwZWQuCiAgICByZWNlaXZlKCJSZXN1bWUiKSB7CiAgICAgICAgc2VsZi5yZXF1aXJlT3duZXIoKTsKICAgICAgICBzZWxmLnJlcXVpcmVTdG9wcGVkKCk7" +
"CiAgICAgICAgc2VsZi5zdG9wcGVkID0gZmFsc2U7CiAgICAgICAgc2VsZi5yZXBseSgiUmVzdW1lZCIuYXNDb21tZW50KCkpOwogICAgfQp9Cg==";
files["std/internal/address.tact"] =
"Ly8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ2FzdHMgdGhlIGBTbGlj" +
"ZWAgdG8gYW4gYEFkZHJlc3NgIGluIGEgZ2l2ZW4gYGNoYWluYCBJRCBhbmQgcmV0dXJucyBpdC4gVGhlIGludmVyc2Ugb2YgYEFkZHJlc3MuYXNTbGljZSgpYCBhbmQg" +
"YSBzYWZlIGJ1dCBtb3JlIGdhcy1leHBlbnNpdmUgdmVyc2lvbiBvZiBgU2xpY2UuYXNBZGRyZXNzVW5zYWZlKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFt" +
"cGxlKCkgewovLy8gICAgIGxldCBhOiBBZGRyZXNzID0gbXlBZGRyZXNzKCk7IC8vIGxldCdzIGFzc3VtZSB3ZSdyZSBpbiBhIGJhc2VjaGFpbgovLy8gICAgIGxldCBh" +
"MjogQWRkcmVzcyA9IGEuYXNTbGljZSgpLmFzQWRkcmVzcygwKTsgLy8gc28gdGhlIGNoYWluIElEIGlzIDAKLy8vCi8vLyAgICAgYSA9PSBhMjsgLy8gdHJ1ZQovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiAxMzY6IFtJbnZhbGlkIHN0YW5kYXJkIGFkZHJlc3NdIOKAlCBUaHJvd24gd2hlbiB0aGUg" +
"Z2l2ZW4gYFNsaWNlYCBjb250YWlucyBhbiBpbnZhbGlkCi8vLyAgIHRhZyBwcmVmaXggKG5vdCBgMGIxMDBgKSBvciBhbiBpbnZhbGlkIGFjY291bnQgSUQgbGVuZ3Ro" +
"IChub3QgMjU2IGJpdHMpLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vhc2FkZHJlc3MKLy8v" +
"ICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vhc2FkZHJlc3N1bnNhZmUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5v" +
"cmcvcmVmL2NvcmUtYWRkcmVzc2VzI2FkZHJlc3Nhc3NsaWNlCi8vLyAKLy8vIFtJbnZhbGlkIHN0YW5kYXJkIGFkZHJlc3NdOiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9ib29rL2V4aXQtY29kZXMjMTM2Ci8vLwpleHRlbmRzIGZ1biBhc0FkZHJlc3Moc2VsZjogU2xpY2UsIGNoYWluOiBJbnQpOiBBZGRyZXNzIHsKICAgIC8vIDEx" +
"IGJpdHMgZm9yIHRoZSBwcmVmaXgsCiAgICAvLyAyNTYgYml0cyBmb3IgdGhlIGFkZHJlc3MgaXRzZWxmCiAgICB0aHJvd1VubGVzcyhUYWN0RXhpdENvZGVJbnZhbGlk" +
"U3RhbmRhcmRBZGRyZXNzLCBzZWxmLmJpdHMoKSA9PSAyNjcpOwoKICAgIGlmIChjaGFpbiA9PSAtMSkgewogICAgICAgIC8vIDEyNzkgPSAwYjEwMF8xMTExXzExMTEs" +
"CiAgICAgICAgLy8gaS5lLiBpbnRlcm5hbCBhZGRyZXNzIHByZWZpeCBhbmQgY2hhaW4gSUQgLTEKICAgICAgICB0aHJvd1VubGVzcyhUYWN0RXhpdENvZGVJbnZhbGlk" +
"U3RhbmRhcmRBZGRyZXNzLCBzZWxmLnByZWxvYWRVaW50KDExKSA9PSAxMjc5KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gT25seSBjaGVjayB0aGUgY29ycmVjdCBp" +
"bnRlcm5hbCBhZGRyZXNzIHByZWZpeCwKICAgICAgICAvLyBidXQgZG8gbm90IHZlcmlmeSB0aGUgY2hhaW4gSUQKICAgICAgICB0aHJvd1VubGVzcyhUYWN0RXhpdENv" +
"ZGVJbnZhbGlkU3RhbmRhcmRBZGRyZXNzLCBzZWxmLnByZWxvYWRVaW50KDMpID09IDQpOwogICAgfQoKICAgIC8vIFByb2NlZWQgd2l0aCB0aGUgY2FzdAogICAgcmV0" +
"dXJuIHNlbGYuYXNBZGRyZXNzVW5zYWZlKCk7Cn0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0" +
"IDEuNi4wLgovLy8KLy8vIFVuc2FmZWx5IGNhc3RzIHRoZSBgU2xpY2VgIHRvIGFuIGBBZGRyZXNzYCBhbmQgcmV0dXJucyBpdC4gVGhlIGludmVyc2Ugb2YgYEFkZHJl" +
"c3MuYXNTbGljZSgpYC4KLy8vCi8vLyBUaGlzIGZ1bmN0aW9uIGRvZXMgKipub3QqKiBwZXJmb3JtIGFueSBjaGVja3Mgb24gdGhlIGNvbnRlbnRzIG9mIHRoZSBgU2xp" +
"Y2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBhOiBBZGRyZXNzID0gbXlBZGRyZXNzKCk7Ci8vLyAgICAgbGV0IGEyOiBB" +
"ZGRyZXNzID0gYS5hc1NsaWNlKCkuYXNBZGRyZXNzVW5zYWZlKCk7Ci8vLwovLy8gICAgIGEgPT0gYTI7IC8vIHRydWUKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFVzZSBp" +
"dCBvbmx5IGlmIHlvdSB3YW50IHRvIG9wdGltaXplIHRoZSBjb2RlIGZvciBnYXMgYW5kIGNhbiBndWFyYW50ZWUgaW4gYWR2YW5jZSB0aGF0IHRoZSBgU2xpY2VgIGNv" +
"bnRhaW5zIHRoZSBkYXRhIG9mIGFuIGBBZGRyZXNzYC4KLy8vCi8vLyBPdGhlcndpc2UsIHVzZSBhIHNhZmVyIGJ1dCBtb3JlIGdhcy1leHBlbnNpdmUgYFNsaWNlLmFz" +
"QWRkcmVzcygpYCBmdW5jdGlvbi4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlYXNhZGRyZXNz" +
"dW5zYWZlCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlYXNhZGRyZXNzCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxh" +
"bmcub3JnL3JlZi9jb3JlLWFkZHJlc3NlcyNhZGRyZXNzYXNzbGljZQovLy8KYXNtIGV4dGVuZHMgZnVuIGFzQWRkcmVzc1Vuc2FmZShzZWxmOiBTbGljZSk6IEFkZHJl" +
"c3Mge30KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQWRkcmVzc2AgdHlwZS4KLy8vCi8vLyBDYXN0cyBgc2VsZmAgYmFjayB0byB0aGUgdW5kZXJseWlu" +
"ZyBgU2xpY2VgIGFuZCByZXR1cm5zIGl0LiBUaGUgaW52ZXJzZSBvZiBgU2xpY2UuYXNBZGRyZXNzVW5zYWZlKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFt" +
"cGxlKCkgewovLy8gICAgIGxldCBhOiBBZGRyZXNzID0gbXlBZGRyZXNzKCk7Ci8vLyAgICAgbGV0IGZpeno6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVBZGRyZXNz" +
"KGEpLmFzU2xpY2UoKTsKLy8vICAgICBsZXQgYnV6ejogU2xpY2UgPSBhLmFzU2xpY2UoKTsgLy8gY2hlYXAsIHVubGlrZSB0aGUgcHJldmlvdXMgc3RhdGVtZW50Ci8v" +
"LwovLy8gICAgIGZpenogPT0gYnV6ejsgLy8gdHJ1ZQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYv" +
"Y29yZS1hZGRyZXNzZXMjYWRkcmVzc2Fzc2xpY2UKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vhc2FkZHJlc3N1bnNh" +
"ZmUKLy8vCmFzbSBleHRlbmRzIGZ1biBhc1NsaWNlKHNlbGY6IEFkZHJlc3MpOiBTbGljZSB7fQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4KLy8vCi8vLyBDcmVhdGVzIGEg" +
"bmV3IGBBZGRyZXNzYCBiYXNlZCBvbiB0aGUgYGNoYWluYCBJRCBhbmQgdGhlIFNIQS0yNTYgZW5jb2RlZCBgaGFzaGAgdmFsdWUgKGFjY291bnQgSUQpLgovLy8KLy8v" +
"IFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVzb2x2ZSBjb25zdGFudCB2YWx1ZXMgaW4gY29tcGlsZS10aW1lIHdoZW5ldmVyIHBvc3NpYmxlLgovLy8KLy8vIEF0dGVt" +
"cHRzIHRvIHNwZWNpZnkgYW4gdW5jb21tb24gYGNoYWluYCBJRCAobm90IC0xIG9yIDApIHRoYXQgY2FuIGJlIGRldGVjdGVkIGluIGNvbXBpbGUtdGltZSB3aWxsIHJl" +
"c3VsdCBpbiBhIGNvbXBpbGF0aW9uIGVycm9yLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBvbGRUb25Gb3VuZGF0aW9uQWRk" +
"cjogQWRkcmVzcyA9Ci8vLyAgICAgICAgIG5ld0FkZHJlc3MoMCwgMHg4M2RmZDU1MmU2MzcyOWI0NzJmY2JjYzhjNDVlYmNjNjY5MTcwMjU1OGI2OGVjNzUyN2UxYmE0" +
"MDNhMGYzMWE4KTsKLy8vICAgICAgICAgLy8gICAgICAgICDihpEgIOKGkQovLy8gICAgICAgICAvLyAgICAgICAgIHwgIHNoYS0yNTYgaGFzaCBvZiBjb250cmFjdCdz" +
"IGluaXQgcGFja2FnZSAoU3RhdGVJbml0KQovLy8gICAgICAgICAvLyAgICAgICAgIGNoYWluIGlkOiAwIGlzIGEgd29ya2NoYWluLCAtMSBpcyBhIG1hc3RlcmNoYWlu" +
"Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWFkZHJlc3NlcyNuZXdhZGRyZXNzCi8vLwppbmxpbmUg" +
"ZnVuIG5ld0FkZHJlc3MoY2hhaW46IEludCwgaGFzaDogSW50KTogQWRkcmVzcyB7CiAgICByZXR1cm4gYmVnaW5DZWxsKCkKICAgICAgICAuc3RvcmVVaW50KDBiMTBf" +
"MCwgMykKICAgICAgICAuc3RvcmVJbnQoY2hhaW4sIDgpCiAgICAgICAgLnN0b3JlVWludChoYXNoLCAyNTYpCiAgICAgICAgLmVuZENlbGwoKQogICAgICAgIC5hc1Ns" +
"aWNlKCkKICAgICAgICAuYXNBZGRyZXNzVW5zYWZlKCk7Cn0KCi8vLyBTdHJ1Y3QgcmVwcmVzZW50aW5nIHRoZSBzdGFuZGFyZCBhZGRyZXNzIG9uIFRPTiBCbG9ja2No" +
"YWluIHdpdGggc2lnbmVkIDgtYml0IGB3b3JrY2hhaW5gIElEIGFuZCBhbiB1bnNpZ25lZCAyNTYtYml0IGBhZGRyZXNzYCBpbiB0aGUgc3BlY2lmaWVkIGB3b3JrY2hh" +
"aW5gLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBBdCB0aGUgbW9tZW50LCBvbmx5IGB3b3JrY2hhaW5gIElEcyB1c2VkIG9uIFRPTiBhcmUgMCBv" +
"ZiB0aGUgYmFzZWNoYWluIGFuZCAtMSBvZiB0aGUgbWFzdGVyY2hhaW4uCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29y" +
"ZS1hZGRyZXNzZXMjcGFyc2VzdGRhZGRyZXNzCi8vLyAqIGh0dHBzOi8vZ2l0aHViLmNvbS90b24tYmxvY2tjaGFpbi90b24vYmxvYi9tYXN0ZXIvY3J5cHRvL2Jsb2Nr" +
"L2Jsb2NrLnRsYiNMMTA1LUwxMDYKLy8vCnN0cnVjdCBTdGRBZGRyZXNzIHsKICAgIHdvcmtjaGFpbjogSW50IGFzIGludDg7CiAgICBhZGRyZXNzOiBJbnQgYXMgdWlu" +
"dDI1NjsKfQoKLy8vIFN0cnVjdCByZXByZXNlbnRpbmcgdGhlIGFkZHJlc3Mgb2YgdmFyaWFibGUgbGVuZ3RoIHdpdGggc2lnbmVkIDMyLWJpdCBgd29ya2NoYWluYCBJ" +
"RCBhbmQgYSBgU2xpY2VgIGNvbnRhaW5pbmcgdW5zaWduZWQgYGFkZHJlc3NgIGluIHRoZSBzcGVjaWZpZWQgYHdvcmtjaGFpbmAuIEF2YWlsYWJsZSBzaW5jZSBUYWN0" +
"IDEuNS4wLgovLy8KLy8vIFZhcmlhYmxlLWxlbmd0aCBhZGRyZXNzZXMgYXJlIGludGVuZGVkIGZvciBmdXR1cmUgZXh0ZW5zaW9ucywgYW5kIHdoaWxlIHZhbGlkYXRv" +
"cnMgbXVzdCBiZSByZWFkeSB0byBhY2NlcHQgdGhlbSBpbiBpbmJvdW5kIG1lc3NhZ2VzLCB0aGUgc3RhbmRhcmQgKG5vbi12YXJpYWJsZSkgYWRkcmVzc2VzIGFyZSB1" +
"c2VkIHdoZW5ldmVyIHBvc3NpYmxlLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWRkcmVzc2VzI3BhcnNldmFy" +
"YWRkcmVzcwovLy8gKiBodHRwczovL2dpdGh1Yi5jb20vdG9uLWJsb2NrY2hhaW4vdG9uL2Jsb2IvbWFzdGVyL2NyeXB0by9ibG9jay9ibG9jay50bGIjTDEwNy1MMTA4" +
"Ci8vLwpzdHJ1Y3QgVmFyQWRkcmVzcyB7CiAgICB3b3JrY2hhaW46IEludCBhcyBpbnQzMjsKICAgIGFkZHJlc3M6IFNsaWNlOwp9CgovLy8gR2xvYmFsIGZ1bmN0aW9u" +
"LiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBDb252ZXJ0cyBhIGBzbGljZWAgY29udGFpbmluZyBhbiBhZGRyZXNzIGludG8gdGhlIGBTdGRBZGRy" +
"ZXNzYCBTdHJ1Y3QgYW5kIHJldHVybnMgaXQuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGFkZHIgPSBhZGRyZXNzKCJFUUR0" +
"RnBFd2NGQUVjUmU1bUxWaDJONkMweC1faEpFTTdXNjFfSkxuU0Y3NHA0cTIiKTsKLy8vICAgICBsZXQgcGFyc2VkQWRkciA9IHBhcnNlU3RkQWRkcmVzcyhhZGRyLmFz" +
"U2xpY2UoKSk7Ci8vLwovLy8gICAgIHBhcnNlZEFkZHIud29ya2NoYWluOyAvLyAwCi8vLyAgICAgcGFyc2VkQWRkci5hZGRyZXNzOyAgIC8vIDEwNy4uLjI4NwovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZGRyZXNzZXMjcGFyc2VzdGRhZGRyZXNzCi8vLwphc20gZnVu" +
"IHBhcnNlU3RkQWRkcmVzcyhzbGljZTogU2xpY2UpOiBTdGRBZGRyZXNzIHsgUkVXUklURVNUREFERFIgfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNp" +
"bmNlIFRhY3QgMS41LjAuCi8vLwovLy8gQ29udmVydHMgYSBgc2xpY2VgIGNvbnRhaW5pbmcgYW4gYWRkcmVzcyBvZiB2YXJpYWJsZSBsZW5ndGggaW50byB0aGUgYFZh" +
"ckFkZHJlc3NgIFN0cnVjdCBhbmQgcmV0dXJucyBpdC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgdmFyQWRkclNsaWNlID0g" +
"YmVnaW5DZWxsKCkKLy8vICAgICAgICAgLnN0b3JlVWludCg2LCAzKSAgICAgLy8gdG8gcmVjb2duaXplIHRoZSBmb2xsb3dpbmcgYXMgYSBWYXJBZGRyZXNzCi8vLyAg" +
"ICAgICAgIC5zdG9yZVVpbnQoMTIzLCA5KSAgIC8vIG1ha2UgYWRkcmVzcyBvY2N1cHkgMTIzIGJpdHMKLy8vICAgICAgICAgLnN0b3JlVWludCgyMzQsIDMyKSAgLy8g" +
"c3BlY2lmeSB3b3JrY2hhaW4gSUQgb2YgMjM0Ci8vLyAgICAgICAgIC5zdG9yZVVpbnQoMzQ1LCAxMjMpIC8vIHNwZWNpZnkgYWRkcmVzcyBvZiAzNDUKLy8vICAgICAg" +
"ICAgLmFzU2xpY2UoKTsKLy8vICAgICBsZXQgcGFyc2VkVmFyQWRkciA9IHBhcnNlVmFyQWRkcmVzcyh2YXJBZGRyU2xpY2UpOwovLy8KLy8vICAgICBwYXJzZWRWYXJB" +
"ZGRyLndvcmtjaGFpbjsgICAgICAgICAgICAgLy8gMjM0Ci8vLyAgICAgcGFyc2VkVmFyQWRkci5hZGRyZXNzOyAgICAgICAgICAgICAgIC8vIENTe0NlbGx7MDAyLi4u" +
"MmIzfSBiaXRzOiA0NC4uMTY3OyByZWZzOiAwLi4wfQovLy8gICAgIHBhcnNlZFZhckFkZHIuYWRkcmVzcy5sb2FkVWludCgxMjMpOyAvLyAzNDUKLy8vIH0KLy8vIGBg" +
"YAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWRkcmVzc2VzI3BhcnNldmFyYWRkcmVzcwovLy8KYXNtIGZ1biBwYXJzZVZh" +
"ckFkZHJlc3Moc2xpY2U6IFNsaWNlKTogVmFyQWRkcmVzcyB7IFJFV1JJVEVWQVJBRERSIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBg" +
"U2xpY2VgIHR5cGUuCi8vLwovLy8gTG9hZHMgYW5kIHJldHVybnMgYW4gYEFkZHJlc3NgIGZyb20gdGhlIGBTbGljZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4" +
"YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVBZGRyZXNzKG15QWRkcmVzcygpKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZp" +
"eno6IEFkZHJlc3MgPSBzLmxvYWRBZGRyZXNzKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDg6IFtDZWxsIG92ZXJmbG93" +
"XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBsb2FkIGFuIGBBZGRyZXNzYCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2Vs" +
"bCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6IGh0" +
"dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlbG9hZGFkZHJlc3MKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50" +
"YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMj" +
"OQovLy8KYXNtKCAtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9hZEFkZHJlc3Moc2VsZjogU2xpY2UpOiBBZGRyZXNzIHsgTERNU0dBRERSIH0KCi8vLyBFeHRl" +
"bnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4yLgovLy8KLy8vIFNraXBzIGFuIGBBZGRy" +
"ZXNzYCBmcm9tIHRoZSBgU2xpY2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzMTogU2xpY2UgPSBiZWdpbkNlbGwoKQov" +
"Ly8gICAgICAgICAuc3RvcmVBZGRyZXNzKG15QWRkcmVzcygpKQovLy8gICAgICAgICAuc3RvcmVVaW50KDQyLCAzMikKLy8vICAgICAgICAgLmFzU2xpY2UoKTsKLy8v" +
"Ci8vLyAgICAgczEuc2tpcEFkZHJlc3MoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gczEubG9hZFVpbnQoMzIpOyAvLyA0MgovLy8gfQovLy8gYGBgCi8vLwovLy8g" +
"IyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc2tpcCBhbiBgQWRkcmVzc2Agd2hl" +
"biBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIG1vcmUg" +
"ZGF0YSB0aGFuIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXNraXBhZGRy" +
"ZXNzCi8vLwovLy8gW0NlbGwgb3ZlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOAovLy8gW0NlbGwgdW5kZXJmbG93XTog" +
"aHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSBleHRlbmRzIG11dGF0ZXMgZnVuIHNraXBBZGRyZXNzKHNlbGY6IFNsaWNl" +
"KSB7IExETVNHQUREUiBOSVAgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVyYCB0eXBlLgovLy8KLy8vIFN0b3JlcyB0aGUgYGFkZHJlc3Ng" +
"IGluIHRoZSBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuIFJldHVybnMgdGhhdCBjb3B5LgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxl" +
"dCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1aWxkZXIgPSBiLnN0b3JlQWRkcmVzcyhteUFkZHJlc3MoKSk7Ci8vLyB9Ci8vLyBg" +
"YGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBzdG9yZSBhbiBg" +
"YWRkcmVzc2AgaW50byB0aGUgYEJ1aWxkZXJgIHdoZW4gaXQgY2Fubm90IGZpdCBpdC4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
"b3JlLWNlbGxzI2J1aWxkZXJzdG9yZWFkZHJlc3MKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2Rl" +
"cyM4Ci8vLwphc20gZXh0ZW5kcyBmdW4gc3RvcmVBZGRyZXNzKHNlbGY6IEJ1aWxkZXIsIGFkZHJlc3M6IEFkZHJlc3MpOiBCdWlsZGVyIHsgU1RTTElDRVIgfQoKLy8v" +
"IFN0cnVjdCByZXByZXNlbnRpbmcgYSBiYXNlY2hhaW4gYWRkcmVzcy4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQSBiYXNlY2hhaW4gYWRkcmVz" +
"cyAod29ya2NoYWluIDApIGNhbiBiZSBlaXRoZXIgZW1wdHkgKG51bGwgaGFzaCkgb3IgY29udGFpbiBhIDI1Ni1iaXQgaGFzaCB2YWx1ZS4KLy8vCnN0cnVjdCBCYXNl" +
"Y2hhaW5BZGRyZXNzIHsKICAgIGhhc2g6IEludD87Cn0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIENyZWF0" +
"ZXMgYW5kIHJldHVybnMgYW4gZW1wdHkgYmFzZWNoYWluIGFkZHJlc3Mgd2l0aCBhIG51bGwgaGFzaC4KLy8vCi8vLyBXaGVuIHNlcmlhbGl6ZWQsIGFuIGVtcHR5IGJh" +
"c2VjaGFpbiBhZGRyZXNzIGlzIHJlcHJlc2VudGVkIGFzIGBhZGRyX25vbmVgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBl" +
"bXB0eUFkZHI6IEJhc2VjaGFpbkFkZHJlc3MgPSBlbXB0eUJhc2VjaGFpbkFkZHJlc3MoKTsKLy8vICAgICBlbXB0eUFkZHIuaGFzaCA9PSBudWxsOyAvLyB0cnVlCi8v" +
"LyB9Ci8vLyBgYGAKLy8vCmlubGluZSBmdW4gZW1wdHlCYXNlY2hhaW5BZGRyZXNzKCk6IEJhc2VjaGFpbkFkZHJlc3MgewogICAgcmV0dXJuIEJhc2VjaGFpbkFkZHJl" +
"c3MgeyBoYXNoOiBudWxsIH0KfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ3JlYXRlcyBhbmQgcmV0dXJu" +
"cyBhIG5ldyBiYXNlY2hhaW4gYWRkcmVzcyB3aXRoIHRoZSBzcGVjaWZpZWQgaGFzaCB2YWx1ZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8v" +
"ICAgICBsZXQgYWRkcjogQmFzZWNoYWluQWRkcmVzcyA9IG5ld0Jhc2VjaGFpbkFkZHJlc3MoMHg4M2RmZDU1MmU2MzcyOWI0NzJmY2JjYzhjNDVlYmNjNjY5MTcwMjU1" +
"OGI2OGVjNzUyN2UxYmE0MDNhMGYzMWE4KTsKLy8vIH0KLy8vIGBgYAovLy8KaW5saW5lIGZ1biBuZXdCYXNlY2hhaW5BZGRyZXNzKGhhc2g6IEludCk6IEJhc2VjaGFp" +
"bkFkZHJlc3MgewogICAgcmV0dXJuIEJhc2VjaGFpbkFkZHJlc3MgeyBoYXNoIH0KfQoKLy8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42" +
"LjAuCi8vLwovLy8gQ3JlYXRlcyBhbmQgcmV0dXJucyBhIGJhc2VjaGFpbiBhZGRyZXNzIGRlcml2ZWQgZnJvbSBhIGNvbnRyYWN0J3MgYFN0YXRlSW5pdGAgKGNvZGUg" +
"YW5kIGRhdGEpLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBjb2RlOiBDZWxsID0gbG9hZENlbGwoKTsgLy8gbG9hZCBjb250" +
"cmFjdCBjb2RlCi8vLyAgICAgbGV0IGRhdGE6IENlbGwgPSBsb2FkQ2VsbCgpOyAvLyBsb2FkIGNvbnRyYWN0IGRhdGEKLy8vICAgICBsZXQgc3RhdGU6IFN0YXRlSW5p" +
"dCA9IFN0YXRlSW5pdCB7IGNvZGUsIGRhdGEgfTsKLy8vICAgICBsZXQgYWRkcjogQmFzZWNoYWluQWRkcmVzcyA9IGNvbnRyYWN0QmFzZWNoYWluQWRkcmVzcyhzdGF0" +
"ZSk7Ci8vLyB9Ci8vLyBgYGAKLy8vCmlubGluZSBmdW4gY29udHJhY3RCYXNlY2hhaW5BZGRyZXNzKHM6IFN0YXRlSW5pdCk6IEJhc2VjaGFpbkFkZHJlc3MgewogICAg" +
"bGV0IGhhc2ggPSBjb250cmFjdEhhc2gocy5jb2RlLCBzLmRhdGEpOwogICAgcmV0dXJuIG5ld0Jhc2VjaGFpbkFkZHJlc3MoaGFzaCk7Cn0KCi8vLyBFeHRlbnNpb24g" +
"ZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gU3RvcmVzIHRoZSBiYXNlY2hhaW4gYWRkcmVz" +
"cyBpbiB0aGUgY29weSBvZiB0aGUgQnVpbGRlciBhbmQgcmV0dXJucyB0aGF0IGNvcHkuCi8vLwovLy8gSWYgdGhlIGFkZHJlc3MgaGFzIGEgYG51bGxgIGhhc2gsIHN0" +
"b3JlcyAwYjAwIChgYWRkcl9ub25lYCkuIE90aGVyd2lzZSwgc3RvcmVzIHRoZSBmdWxsIGFkZHJlc3MKLy8vIHdpdGggcHJlZml4IDBiMTAwIGZvbGxvd2VkIGJ5IHdv" +
"cmtjaGFpbiAoMCkgYW5kIHRoZSAyNTYtYml0IGhhc2guCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGFkZHI6IEJhc2VjaGFp" +
"bkFkZHJlc3MgPSBuZXdCYXNlY2hhaW5BZGRyZXNzKDB4ODNkZmQ1NTJlNjM3MjliNDcyZmNiY2M4YzQ1ZWJjYzY2OTE3MDI1NThiNjhlYzc1MjdlMWJhNDAzYTBmMzFh" +
"OCk7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgYjI6IEJ1aWxkZXIgPSBiLnN0b3JlQmFzZWNoYWluQWRkcmVzcyhhZGRy" +
"KTsKLy8vIH0KLy8vIGBgYAovLy8KZXh0ZW5kcyBmdW4gc3RvcmVCYXNlY2hhaW5BZGRyZXNzKHNlbGY6IEJ1aWxkZXIsIGFkZHJlc3M6IEJhc2VjaGFpbkFkZHJlc3Mp" +
"OiBCdWlsZGVyIHsKICAgIGlmIChhZGRyZXNzLmhhc2ggPT0gbnVsbCkgewogICAgICAgIHJldHVybiBzZWxmLnN0b3JlVWludCgwLCAyKTsgLy8gMGIwMAogICAgfQoK" +
"ICAgIHJldHVybiBzZWxmCiAgICAgICAgLnN0b3JlVWludCgwYjEwXzBfMDAwMDAwMDAsIDMgKyA4KQogICAgICAgIC5zdG9yZVVpbnQoYWRkcmVzcy5oYXNoISEsIDI1" +
"Nik7Cn0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4zLgovLy8KLy8vIENoZWNrcyB3aGV0aGVyIHRoZSBgYWRkcmVzc2AgaXMg" +
"aW4gdGhlIGJhc2VjaGFpbiwgaS5lLiwgaXRzIGNoYWluIElEIGlzIDAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGVzKCkgewovLy8gICAgIGxldCBzb21l" +
"QmFzZWNoYWluQWRkcmVzczogQWRkcmVzcyA9Ci8vLyAgICAgICAgIG5ld0FkZHJlc3MoMCwgMHg4M2RmZDU1MmU2MzcyOWI0NzJmY2JjYzhjNDVlYmNjNjY5MTcwMjU1" +
"OGI2OGVjNzUyN2UxYmE0MDNhMGYzMWE4KTsKLy8vCi8vLyAgICAgbGV0IHNvbWVNYXN0ZXJjaGFpbkFkZHJlc3M6IEFkZHJlc3MgPQovLy8gICAgICAgICBuZXdBZGRy" +
"ZXNzKC0xLCAweDgzZGZkNTUyZTYzNzI5YjQ3MmZjYmNjOGM0NWViY2M2NjkxNzAyNTU4YjY4ZWM3NTI3ZTFiYTQwM2EwZjMxYTgpOwovLy8KLy8vICAgICAvLyBEb2Vz" +
"IG5vdCB0aHJvdyBiZWNhdXNlIHRoZSBjaGFpbiBJRCBpcyAwCi8vLyAgICAgZm9yY2VCYXNlY2hhaW4oc29tZUJhc2VjaGFpbkFkZHJlc3MpOwovLy8KLy8vICAgICB0" +
"cnkgewovLy8gICAgICAgICAvLyBUaHJvd3MgYmVjYXVzZSB0aGUgY2hhaW4gSUQgaXMgLTEgKG1hc3RlcmNoYWluKQovLy8gICAgICAgICBmb3JjZUJhc2VjaGFpbihz" +
"b21lTWFzdGVyY2hhaW5BZGRyZXNzKTsKLy8vICAgICB9IGNhdGNoIChleGl0Q29kZSkgewovLy8gICAgICAgICAvLyBleGl0Q29kZSBpcyAxMzgKLy8vICAgICB9Ci8v" +
"LyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDEzODogW05vdCBhIGJhc2VjaGFpbiBhZGRyZXNzXSDigJQgVGhyb3duIHdoZW4gdGhl" +
"IGdpdmVuIGBhZGRyZXNzYCBpcyBub3QgaW4gdGhlIGJhc2VjaGFpbiAoY2hhaW4gSUQgaXMgbm90IDApLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFu" +
"Zy5vcmcvcmVmL2NvcmUtYWRkcmVzc2VzI2ZvcmNlYmFzZWNoYWluCi8vLyAKLy8vIFtOb3QgYSBiYXNlY2hhaW4gYWRkcmVzc106IGh0dHBzOi8vZG9jcy50YWN0LWxh" +
"bmcub3JnL2Jvb2svZXhpdC1jb2RlcyMxMzgKLy8vCmFzbSBmdW4gZm9yY2VCYXNlY2hhaW4oYWRkcmVzczogQWRkcmVzcykgeyBSRVdSSVRFU1REQUREUiBEUk9QIDEz" +
"OCBUSFJPV0lGIH0KCi8vLyBHbG9iYWwgZnVuY3Rpb24uIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi40LgovLy8KLy8vIENoZWNrcyB3aGV0aGVyIHRoZSBgYWRkcmVz" +
"c2AgaXMgaW4gdGhlIGB3b3JrY2hhaW5gLCBpLmUuLCBpdHMgY2hhaW4gSUQgaXMgZXF1YWwgdG8gYHdvcmtjaGFpbmAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4" +
"YW1wbGVzKCkgewovLy8gICAgIGxldCBzb21lQmFzZWNoYWluQWRkcmVzczogQWRkcmVzcyA9Ci8vLyAgICAgICAgIG5ld0FkZHJlc3MoMCwgMHg4M2RmZDU1MmU2Mzcy" +
"OWI0NzJmY2JjYzhjNDVlYmNjNjY5MTcwMjU1OGI2OGVjNzUyN2UxYmE0MDNhMGYzMWE4KTsKLy8vCi8vLyAgICAgbGV0IHNvbWVNYXN0ZXJjaGFpbkFkZHJlc3M6IEFk" +
"ZHJlc3MgPQovLy8gICAgICAgICBuZXdBZGRyZXNzKC0xLCAweDgzZGZkNTUyZTYzNzI5YjQ3MmZjYmNjOGM0NWViY2M2NjkxNzAyNTU4YjY4ZWM3NTI3ZTFiYTQwM2Ew" +
"ZjMxYTgpOwovLy8KLy8vICAgICAvLyBEb2VzIG5vdCB0aHJvdyBiZWNhdXNlIHRoZSBjaGFpbiBJRCBtYXRjaGVzIHdvcmtjaGFpbiBwYXJhbWV0ZXIKLy8vICAgICBm" +
"b3JjZVdvcmtjaGFpbihzb21lQmFzZWNoYWluQWRkcmVzcywgMCwgNTkzKTsKLy8vICAgICBmb3JjZVdvcmtjaGFpbihzb21lTWFzdGVyY2hhaW5BZGRyZXNzLCAtMSwg" +
"NTkzKTsKLy8vCi8vLyAgICAgdHJ5IHsKLy8vICAgICAgICAgLy8gVGhyb3dzIGJlY2F1c2UgdGhlIGNoYWluIElEIGlzIDAgd2hpY2ggZG9lc24ndCBtYXRjaCB0aGUg" +
"d29ya2NoYWluIHBhcmFtZXRlciwgLTEKLy8vICAgICAgICAgZm9yY2VXb3JrY2hhaW4oc29tZUJhc2VjaGFpbkFkZHJlc3MsIC0xLCA1OTMpOwovLy8gICAgIH0gY2F0" +
"Y2ggKGV4aXRDb2RlKSB7Ci8vLyAgICAgICAgIC8vIGV4aXRDb2RlIGlzIDU5MwovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWRkcmVzc2VzI2ZvcmNld29ya2NoYWluCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiBgZXJyb3JDb2RlYCDi" +
"gJQgVGhyb3duIHdoZW4gdGhlIGdpdmVuIGBhZGRyZXNzYCBpcyBub3QgaW4gdGhlIHNwZWNpZmllZCBgd29ya2NoYWluYCAoY2hhaW4gSUQgaXMgbm90IGVxdWFsIHRv" +
"IGB3b3JrY2hhaW5gKS4KLy8vCmFzbShlcnJvckNvZGUgd29ya2NoYWluIGFkZHJlc3MpIGZ1biBmb3JjZVdvcmtjaGFpbihhZGRyZXNzOiBBZGRyZXNzLCB3b3JrY2hh" +
"aW46IEludCwgZXJyb3JDb2RlOiBJbnQpIHsKICAgIFJFV1JJVEVTVERBRERSCiAgICBEUk9QCiAgICBDTVAKICAgIFRIUk9XQU5ZSUYKfQo=";
files["std/internal/base.tact"] =
"Ly8vIERlc2NyaWJlcyB0aGUgYmFzZSBsb2dpYyB0aGF0IGlzIGF2YWlsYWJsZSBpbiBhbGwgY29udHJhY3RzIGFuZCB0cmFpdHMgYnkgZGVmYXVsdC4KLy8vCi8vLyBU" +
"aGlzIHRyYWl0IGlzIGltcGxpY2l0bHkgaW5oZXJpdGVkIGJ5IGV2ZXJ5IG90aGVyIGNvbnRyYWN0IGFuZCB0cmFpdC4KLy8vIEl0IGNvbnRhaW5zIGEgbnVtYmVyIG9m" +
"IHRoZSBtb3N0IHVzZWZ1bCBpbnRlcm5hbCBmdW5jdGlvbnMgZm9yIGFueSBraW5kIG9mIGNvbnRyYWN0LAovLy8gYW5kIGEgY29uc3RhbnQgYHNlbGYuc3RvcmFnZVJl" +
"c2VydmVgIGFpbWVkIGF0IGFkdmFuY2VkIHVzZXJzIG9mIFRhY3QuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1iYXNlLwp0" +
"cmFpdCBCYXNlVHJhaXQgewogICAgLy8vIFRoZSBhbW91bnQgb2YgbmFub1RvbmNvaW5zIHRvIHJlc2VydmUgYmVmb3JlIGZvcndhcmRpbmcgYSBtZXNzYWdlIHdpdGgg" +
"CiAgICAvLy8gYFNlbmRSZW1haW5pbmdCYWxhbmNlYCBtb2RlLiBEZWZhdWx0IGlzIDAgKG5vIHJlc2VydmUpLgogICAgLy8vCiAgICAvLy8gYGBgdGFjdAogICAgLy8v" +
"IGNvbnRyYWN0IEFsbFlvdXJTdG9yYWdlQmVsb25nc1RvVXMgewogICAgLy8vICAgICAvLyBUaGlzIHdvdWxkIGNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgYHNlbGYuZm9y" +
"d2FyZCgpYCBmdW5jdGlvbiwKICAgIC8vLyAgICAgLy8gY2F1c2luZyBpdCB0byB0cnkgcmVzZXJ2aW5nIHRoaXMgYW1vdW50IG9mIG5hbm9Ub25jb2lucyBiZWZvcmUK" +
"ICAgIC8vLyAgICAgLy8gZm9yd2FyZGluZyBhIG1lc3NhZ2Ugd2l0aCBgU2VuZFJlbWFpbmluZ0JhbGFuY2VgIG1vZGUKICAgIC8vLyAgICAgb3ZlcnJpZGUgY29uc3Qg" +
"c3RvcmFnZVJlc2VydmU6IEludCA9IHRvbigiMC4xIik7CiAgICAvLy8gfQogICAgLy8vIGBgYAogICAgLy8vCiAgICAvLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1s" +
"YW5nLm9yZy9yZWYvY29yZS1iYXNlI3NlbGYtZm9yd2FyZAogICAgLy8vCiAgICB2aXJ0dWFsIGNvbnN0IHN0b3JhZ2VSZXNlcnZlOiBJbnQgPSAwOwogICAgCiAgICAv" +
"Ly8gU2VuZHMgYSBib3VuY2VhYmxlIG1lc3NhZ2UgYmFjayB0byB0aGUgc2VuZGVyIG9mIHRoZSBjdXJyZW50IG1lc3NhZ2UuCiAgICAvLy8gQW4gYWxpYXMgZnVuY3Rp" +
"b24gdG8gY2FsbGluZyB0aGUgYHNlbGYuZm9yd2FyZCgpYCBmdW5jdGlvbiB3aXRoCiAgICAvLy8gdGhlIGZvbGxvd2luZyBhcmd1bWVudHM6CiAgICAvLy8KICAgIC8v" +
"LyBgYGB0YWN0CiAgICAvLy8gc2VsZi5mb3J3YXJkKHNlbmRlcigpLCBib2R5LCB0cnVlLCBudWxsKTsKICAgIC8vLyAgICAgICAgICAgICAg4oaRICAgICAgICAg4oaR" +
"ICAgICDihpEgICAgIOKGkQogICAgLy8vICAgICAgICAgICAgICB8ICAgICAgICAgfCAgICAgfCAgICAgaW5pdDogU3RhdGVJbml0PwogICAgLy8vICAgICAgICAgICAg" +
"ICB8ICAgICAgICAgfCAgICAgYm91bmNlOiBCb29sCiAgICAvLy8gICAgICAgICAgICAgIHwgICAgICAgICBib2R5OiBDZWxsPwogICAgLy8vICAgICAgICAgICAgICB0" +
"bzogQWRkcmVzcwogICAgLy8vIGBgYAogICAgLy8vCiAgICAvLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1iYXNlI3NlbGYtZm9yd2Fy" +
"ZAogICAgLy8vCiAgICB2aXJ0dWFsIGlubGluZSBmdW4gcmVwbHkoYm9keTogQ2VsbD8pIHsKICAgICAgICBzZWxmLmZvcndhcmQoc2VuZGVyKCksIGJvZHksIHRydWUs" +
"IG51bGwpOwogICAgfQoKICAgIC8vLyBTZW5kcyBhIG5vbi1ib3VuY2VhYmxlIG1lc3NhZ2UgYmFjayB0byB0aGUgc2VuZGVyIG9mIHRoZSBjdXJyZW50IG1lc3NhZ2Uu" +
"CiAgICAvLy8gQW4gYWxpYXMgZnVuY3Rpb24gdG8gY2FsbGluZyB0aGUgYHNlbGYuZm9yd2FyZCgpYCBmdW5jdGlvbiB3aXRoCiAgICAvLy8gdGhlIGZvbGxvd2luZyBh" +
"cmd1bWVudHM6CiAgICAvLy8KICAgIC8vLyBgYGB0YWN0CiAgICAvLy8gc2VsZi5mb3J3YXJkKHNlbmRlcigpLCBib2R5LCBmYWxzZSwgbnVsbCk7CiAgICAvLy8gICAg" +
"ICAgICAgICAgIOKGkSAgICAgICAgIOKGkSAgICAg4oaRICAgICDihpEKICAgIC8vLyAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgIHwgICAgIGluaXQ6IFN0YXRl" +
"SW5pdD8KICAgIC8vLyAgICAgICAgICAgICAgfCAgICAgICAgIHwgICAgIGJvdW5jZTogQm9vbAogICAgLy8vICAgICAgICAgICAgICB8ICAgICAgICAgYm9keTogQ2Vs" +
"bD8KICAgIC8vLyAgICAgICAgICAgICAgdG86IEFkZHJlc3MKICAgIC8vLyBgYGAKICAgIC8vLwogICAgLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcv" +
"cmVmL2NvcmUtYmFzZSNzZWxmLWZvcndhcmQKICAgIC8vLwogICAgdmlydHVhbCBpbmxpbmUgZnVuIG5vdGlmeShib2R5OiBDZWxsPykgewogICAgICAgIHNlbGYuZm9y" +
"d2FyZChzZW5kZXIoKSwgYm9keSwgZmFsc2UsIG51bGwpOwogICAgfQoKICAgIC8vLyBRdWV1ZXMgdGhlIG1lc3NhZ2UgKGJvdW5jZWFibGUgb3Igbm9uLWJvdW5jZWFi" +
"bGUpIHRvIGJlIHNlbnQgdG8gdGhlIHNwZWNpZmllZCBhZGRyZXNzIGB0b2AuCiAgICAvLy8gT3B0aW9uYWxseSwgeW91IG1heSBwcm92aWRlIGEgYGJvZHlgIG9mIHRo" +
"ZSBtZXNzYWdlIGFuZCB0aGUgYGluaXRgIHBhY2thZ2Ugd2l0aCBgaW5pdE9mYC4KICAgIC8vLyAKICAgIC8vLyBXaGVuIGBzZWxmLnN0b3JhZ2VSZXNlcnZlYCBjb25z" +
"dGFudCBpcyBvdmVyd3JpdHRlbiB0byBiZSBncmVhdGVyIHRoYW4gemVybywgYmVmb3JlIHNlbmRpbmcgYQogICAgLy8vIG1lc3NhZ2UgaXQgYWxzbyB0cmllcyB0byBy" +
"ZXNlcnZlIHRoZSBgc2VsZi5zdG9yYWdlUmVzZXJ2ZWAgYW1vdW50IG9mIG5hbm9Ub25jb2lucyBmcm9tIHRoZQogICAgLy8vIHJlbWFpbmluZyBiYWxhbmNlIGJlZm9y" +
"ZSBtYWtpbmcgdGhlIHNlbmQgaW4gdGhlIGBTZW5kUmVtYWluaW5nQmFsYW5jZWAgKDEyOCkgbW9kZS4KICAgIC8vLwogICAgLy8vIEluIGNhc2UgcmVzZXJ2YXRpb24g" +
"YXR0ZW1wdCBmYWlscyBhbmQgaW4gdGhlIGRlZmF1bHQgY2FzZSB3aXRob3V0IHRoZSBhdHRlbXB0LCB0aGUgbWVzc2FnZSAKICAgIC8vLyBpcyBzZW50IHdpdGggdGhl" +
"IGBTZW5kUmVtYWluaW5nVmFsdWVgICg2NCkgbW9kZSBpbnN0ZWFkLgogICAgLy8vCiAgICAvLy8gPiBOb3RlIHRoYXQgYHNlbGYuZm9yd2FyZCgpYCBuZXZlciBzZW5k" +
"cyBhZGRpdGlvbmFsIG5hbm9Ub25jb2lucyBvbiB0b3Agb2Ygd2hhdOKAmXMgYXZhaWxhYmxlIG9uIHRoZSBiYWxhbmNlLgogICAgLy8vID4gVG8gYmUgYWJsZSB0byBz" +
"ZW5kIG1vcmUgbmFub1RvbmNvaW5zIHdpdGggYSBzaW5nbGUgbWVzc2FnZSwgdXNlIHRoZSB0aGUgYHNlbmRgIGZ1bmN0aW9uLgogICAgLy8vCiAgICAvLy8gU2VlOiBo" +
"dHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1iYXNlI3NlbGYtZm9yd2FyZAogICAgLy8vCiAgICB2aXJ0dWFsIGZ1biBmb3J3YXJkKHRvOiBBZGRyZXNz" +
"LCBib2R5OiBDZWxsPywgYm91bmNlOiBCb29sLCBpbml0OiBTdGF0ZUluaXQ/KSB7CiAgICAgICAgbGV0IGNvZGU6IENlbGw/ID0gbnVsbDsKICAgICAgICBsZXQgZGF0" +
"YTogQ2VsbD8gPSBudWxsOwogICAgICAgIGlmIChpbml0ICE9IG51bGwpIHsKICAgICAgICAgICAgbGV0IGluaXQyOiBTdGF0ZUluaXQgPSBpbml0ISE7CiAgICAgICAg" +
"ICAgIGNvZGUgPSBpbml0Mi5jb2RlOwogICAgICAgICAgICBkYXRhID0gaW5pdDIuZGF0YTsKICAgICAgICB9CgogICAgICAgIC8vIExvY2sgc3RvcmFnZSBpZiBuZWVk" +
"ZWQKICAgICAgICBpZiAoc2VsZi5zdG9yYWdlUmVzZXJ2ZSA+IDApIHsgLy8gT3B0aW1pemVkIGluIGNvbXBpbGUtdGltZQogICAgICAgICAgICBsZXQgY3R4OiBDb250" +
"ZXh0ID0gY29udGV4dCgpOwogICAgICAgICAgICBsZXQgYmFsYW5jZTogSW50ID0gbXlCYWxhbmNlKCk7CiAgICAgICAgICAgIGxldCBiYWxhbmNlQmVmb3JlTWVzc2Fn" +
"ZTogSW50ID0gYmFsYW5jZSAtIGN0eC52YWx1ZTsKICAgICAgICAgICAgaWYgKGJhbGFuY2VCZWZvcmVNZXNzYWdlIDwgc2VsZi5zdG9yYWdlUmVzZXJ2ZSkgewogICAg" +
"ICAgICAgICAgICAgbmF0aXZlUmVzZXJ2ZShzZWxmLnN0b3JhZ2VSZXNlcnZlLCBSZXNlcnZlRXhhY3QpOwogICAgICAgICAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVy" +
"c3sKICAgICAgICAgICAgICAgICAgICBib3VuY2UsCiAgICAgICAgICAgICAgICAgICAgdG8sCiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDAsCiAgICAgICAgICAg" +
"ICAgICAgICAgbW9kZTogU2VuZFJlbWFpbmluZ0JhbGFuY2UgfCBTZW5kSWdub3JlRXJyb3JzLAogICAgICAgICAgICAgICAgICAgIGJvZHksCiAgICAgICAgICAgICAg" +
"ICAgICAgY29kZSwKICAgICAgICAgICAgICAgICAgICBkYXRhLAogICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0K" +
"ICAgICAgICB9CgogICAgICAgIC8vIEp1c3Qgc2VuZCB3aXRoIHJlbWFpbmluZyBiYWxhbmNlCiAgICAgICAgc2VuZChTZW5kUGFyYW1ldGVyc3sKICAgICAgICAgICAg" +
"Ym91bmNlLAogICAgICAgICAgICB0bywKICAgICAgICAgICAgdmFsdWU6IDAsCiAgICAgICAgICAgIG1vZGU6IFNlbmRSZW1haW5pbmdWYWx1ZSB8IFNlbmRJZ25vcmVF" +
"cnJvcnMsCiAgICAgICAgICAgIGJvZHksCiAgICAgICAgICAgIGNvZGUsCiAgICAgICAgICAgIGRhdGEsCiAgICAgICAgfSk7CiAgICB9Cn0K";
files["std/internal/cells.tact"] =
"Ly8KLy8gQnVpbGRlcgovLwoKLy8vIENyZWF0ZXMgYSBuZXcgZW1wdHkgYEJ1aWxkZXJgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAg" +
"IGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNl" +
"bGxzI2JlZ2luY2VsbAovLy8KYXNtIGZ1biBiZWdpbkNlbGwoKTogQnVpbGRlciB7IE5FV0MgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVy" +
"YCB0eXBlLgovLy8KLy8vIFN0b3JlcyBhIHNpZ25lZCBgYml0c2AtYml0IGB2YWx1ZWAgaW50byB0aGUgY29weSBvZiB0aGUgYEJ1aWxkZXJgIGZvciAwIOKJpCBgYml0" +
"c2Ag4omkIDI1Ny4KLy8vIFJldHVybnMgdGhhdCBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAg" +
"bGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgZml6ejogQnVpbGRlciA9IGIuc3RvcmVJbnQoNDIsIDcpOwovLy8gfQovLy8gYGBgCi8vLwov" +
"Ly8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA1OiBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHBy" +
"b3ZpZGUgYW4gaW5zdWZmaWNpZW50IG9yIG91dC1vZi1ib3VuZHMgYGJpdHNgIG51bWJlci4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3Jl" +
"Zi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWludAovLy8KLy8vIFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3Jn" +
"L2Jvb2svZXhpdC1jb2RlcyM1Ci8vLwpAbmFtZShzdG9yZV9pbnQpIC8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNvIG5vdCByZXBsYWNlZCB3" +
"aXRoIGFzbSAiU1RJWCIKZXh0ZW5kcyBuYXRpdmUgc3RvcmVJbnQoc2VsZjogQnVpbGRlciwgdmFsdWU6IEludCwgYml0czogSW50KTogQnVpbGRlcjsKCi8vLyBFeHRl" +
"bnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBTdG9yZXMgYW4gdW5zaWduZWQgYGJpdHNgLWJpdCBgdmFsdWVgIGludG8gdGhlIGNv" +
"cHkgb2YgdGhlIGBCdWlsZGVyYCBmb3IgMCDiiaQgYGJpdHNgIOKJpCAyNTYuCi8vLyBSZXR1cm5zIHRoYXQgY29weSBvZiB0aGUgYEJ1aWxkZXJgLgovLy8KLy8vIGBg" +
"YHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1aWxkZXIgPSBiLnN0" +
"b3JlVWludCg0MiwgNik7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDU6IFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5n" +
"ZV0g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc3RvcmUgYSBuZWdhdGl2ZSBgdmFsdWVgIG9yIHByb3ZpZGUgYW4gaW5zdWZmaWNpZW50IG9yIG91dC1vZi1i" +
"b3VuZHMgYGJpdHNgIG51bWJlci4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZXVp" +
"bnQKLy8vCi8vLyBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjNQovLy8KQG5h" +
"bWUoc3RvcmVfdWludCkgLy8gc3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBjb21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJTVFVYIgpleHRlbmRzIG5h" +
"dGl2ZSBzdG9yZVVpbnQoc2VsZjogQnVpbGRlciwgdmFsdWU6IEludCwgYml0czogSW50KTogQnVpbGRlcjsKCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBg" +
"QnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBTdG9yZXMgYSBgQm9vbGAgYHZhbHVlYCBpbnRvIHRoZSBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuCi8vLyBXcml0ZXMgMSBhcyBh" +
"IHNpbmdsZSBiaXQgaWYgYHZhbHVlYCBpcyBgdHJ1ZWAsIGFuZCB3cml0ZXMgMCBvdGhlcndpc2UuCi8vLyBSZXR1cm5zIHRoYXQgY29weSBvZiB0aGUgYEJ1aWxkZXJg" +
"LgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1" +
"aWxkZXIgPSBiLnN0b3JlQm9vbCh0cnVlKTsgIC8vIHdyaXRlcyAxCi8vLyAgICAgbGV0IGJ1eno6IEJ1aWxkZXIgPSBiLnN0b3JlQm9vbChmYWxzZSk7IC8vIHdyaXRl" +
"cyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWJvb2wK" +
"Ly8vCmFzbSh2YWx1ZSBzZWxmKSBleHRlbmRzIGZ1biBzdG9yZUJvb2woc2VsZjogQnVpbGRlciwgdmFsdWU6IEJvb2wpOiBCdWlsZGVyIHsgMSBTVEkgfQoKLy8vIEV4" +
"dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVyYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjUuMC4KLy8vCi8vLyBBbGlhcyB0byBgQnVpbGRlci5z" +
"dG9yZUJvb2woKWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBs" +
"ZXQgZml6ejogQnVpbGRlciA9IGIuc3RvcmVCaXQodHJ1ZSk7ICAvLyB3cml0ZXMgMQovLy8gICAgIGxldCBidXp6OiBCdWlsZGVyID0gYi5zdG9yZUJpdChmYWxzZSk7" +
"IC8vIHdyaXRlcyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWJp" +
"dAovLy8KYXNtKHZhbHVlIHNlbGYpIGV4dGVuZHMgZnVuIHN0b3JlQml0KHNlbGY6IEJ1aWxkZXIsIHZhbHVlOiBCb29sKTogQnVpbGRlciB7IDEgU1RJIH0KCi8vLyBF" +
"eHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBTdG9yZXMgKHNlcmlhbGl6ZXMpIGFuIHVuc2lnbmVkIGBJbnRgIGB2YWx1ZWAg" +
"aW4gdGhlIHJhbmdlIGZyb20gMCB0byAyXjEyMCDiiJIgMSBpbmNsdXNpdmUgaW50byB0aGUgY29weSBvZiB0aGUgYEJ1aWxkZXJgLiBUaGUgc2VyaWFsaXphdGlvbiBv" +
"ZiBgdmFsdWVgIGNvbnNpc3RzIG9mIGEgNC1iaXQgdW5zaWduZWQgYmlnLWVuZGlhbiBpbnRlZ2VyIGBsYCwgd2hpY2ggaXMgdGhlIHNtYWxsZXN0IGludGVnZXIgYGxg" +
"IOKJpSAwLCBzdWNoIHRoYXQgYHZhbHVlYCA8IDJeKDggKiBgbGApLCBmb2xsb3dlZCBieSBhbiA4ICogYGxgLWJpdCB1bnNpZ25lZCBiaWctZW5kaWFuIHJlcHJlc2Vu" +
"dGF0aW9uIG9mIGB2YWx1ZWAuIFJldHVybnMgdGhhdCBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuCi8vLwovLy8gVGhpcyBpcyB0aGUgbW9zdCBjb21tb24gd2F5IG9mIHN0" +
"b3JpbmcgbmFub1RvbmNvaW5zLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8v" +
"LyAgICAgbGV0IGZpeno6IEJ1aWxkZXIgPSBiLnN0b3JlQ29pbnMoNDIpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA1OiBb" +
"SW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHN0b3JlIGFuIG91dC1vZi1ib3VuZHMgYHZhbHVlYC4KLy8v" +
"Ci8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWNvaW5zCi8vLwovLy8gW0ludGVnZXIgb3V0IG9mIGV4" +
"cGVjdGVkIHJhbmdlXTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vCmFzbSBleHRlbmRzIGZ1biBzdG9yZUNvaW5zKHNlbGY6" +
"IEJ1aWxkZXIsIHZhbHVlOiBJbnQpOiBCdWlsZGVyIHsgU1RWQVJVSU5UMTYgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBCdWlsZGVyYCB0eXBlLiBB" +
"dmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBBbGlhcyB0byBgQnVpbGRlci5zdG9yZUNvaW5zKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFt" +
"cGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJ1aWxkZXIgPSBiLnN0b3JlVmFyVWludDE2KDQyKTsK" +
"Ly8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVpbGRlcnN0b3JldmFydWludDE2" +
"Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZWNvaW5zCi8vLwphc20gZXh0ZW5kcyBmdW4gc3RvcmVWYXJV" +
"aW50MTYoc2VsZjogQnVpbGRlciwgdmFsdWU6IEludCk6IEJ1aWxkZXIgeyBTVFZBUlVJTlQxNiB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxk" +
"ZXJgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIFNpbWlsYXIgdG8gYEJ1aWxkZXIuc3RvcmVDb2lucygpYCwgYnV0IHdpdGggYSBkaWZm" +
"ZXJlbnQgYHZhbHVlYCByYW5nZTogZnJvbSAtMl4xMTkgdG8gMl4xMTkgLSAxIGluY2x1c2l2ZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8v" +
"ICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYi5zdG9yZVZhckludDE2KC00Mik7Ci8vLyB9Ci8vLyBg" +
"YGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDU6IFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV0g4oCUIFRocm93biB3aGVuIGF0dGVtcHRp" +
"bmcgdG8gc3RvcmUgYW4gb3V0LW9mLWJvdW5kcyBgdmFsdWVgLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVp" +
"bGRlcnN0b3JldmFyaW50MTYKLy8vCi8vLyBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQt" +
"Y29kZXMjNQovLy8KYXNtIGV4dGVuZHMgZnVuIHN0b3JlVmFySW50MTYoc2VsZjogQnVpbGRlciwgdmFsdWU6IEludCk6IEJ1aWxkZXIgeyBTVFZBUklOVDE2IH0KCi8v" +
"LyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gU3RvcmVzIChzZXJpYWxp" +
"emVzKSBhbiB1bnNpZ25lZCBgSW50YCBgdmFsdWVgIGluIHRoZSByYW5nZSBmcm9tIDAgdG8gMl4yNDgg4oiSIDEgaW5jbHVzaXZlIGludG8gdGhlIGNvcHkgb2YgdGhl" +
"IGBCdWlsZGVyYC4gVGhlIHNlcmlhbGl6YXRpb24gb2YgYHZhbHVlYCBjb25zaXN0cyBvZiBhIDUtYml0IHVuc2lnbmVkIGJpZy1lbmRpYW4gaW50ZWdlciBgbGAsIHdo" +
"aWNoIGlzIHRoZSBzbWFsbGVzdCBpbnRlZ2VyIGBsYCDiiaUgMCwgc3VjaCB0aGF0IGB2YWx1ZWAgPCAyXjggKiBgbGAsIGZvbGxvd2VkIGJ5IGFuIDggKiBgbGAtYml0" +
"IHVuc2lnbmVkIGJpZy1lbmRpYW4gcmVwcmVzZW50YXRpb24gb2YgYHZhbHVlYC4gUmV0dXJucyB0aGF0IGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4KLy8vCi8vLyBgYGB0" +
"YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYi5zdG9y" +
"ZVZhclVpbnQzMig0MjAwMDApOwovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA1OiBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQg" +
"cmFuZ2VdIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHN0b3JlIGFuIG91dC1vZi1ib3VuZHMgYHZhbHVlYC4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50" +
"YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9yZXZhcnVpbnQzMgovLy8KLy8vIFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV06IGh0dHBz" +
"Oi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM1Ci8vLwphc20gZXh0ZW5kcyBmdW4gc3RvcmVWYXJVaW50MzIoc2VsZjogQnVpbGRlciwgdmFsdWU6" +
"IEludCk6IEJ1aWxkZXIgeyBTVFZBUlVJTlQzMiB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBU" +
"YWN0IDEuNi4wLgovLy8KLy8vIFNpbWlsYXIgdG8gYEJ1aWxkZXIuc3RvcmVWYXJVaW50MzIoKWAsIGJ1dCB3aXRoIGEgZGlmZmVyZW50IGB2YWx1ZWAgcmFuZ2U6IGZy" +
"b20gLTJeMjQ3IHRvIDJeMjQ3IC0gMSBpbmNsdXNpdmUuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBi" +
"ZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgZml6ejogQnVpbGRlciA9IGIuc3RvcmVWYXJJbnQzMigtNDIwMDAwKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhp" +
"dCBjb2RlcwovLy8KLy8vICogNTogW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBzdG9yZSBhbiBvdXQt" +
"b2YtYm91bmRzIGB2YWx1ZWAuCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmV2YXJpbnQzMgov" +
"Ly8KLy8vIFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM1Ci8vLwphc20gZXh0" +
"ZW5kcyBmdW4gc3RvcmVWYXJJbnQzMihzZWxmOiBCdWlsZGVyLCB2YWx1ZTogSW50KTogQnVpbGRlciB7IFNUVkFSSU5UMzIgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlv" +
"biBmb3IgdGhlIGBCdWlsZGVyYCB0eXBlLgovLy8KLy8vIFN0b3JlcyBhIHJlZmVyZW5jZSBgY2VsbGAgaW50byBhIGNvcHkgb2YgdGhlIGBCdWlsZGVyYC4KLy8vIFJl" +
"dHVybnMgdGhhdCBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuCi8vLwovLy8gTm90ZSB0aGF0IGEgc2luZ2xlIGBDZWxsYCBjYW4gY29udGFpbiB1cCB0byA0IHJlZmVyZW5j" +
"ZXMuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgZml6ejog" +
"QnVpbGRlciA9IGIuc3RvcmVSZWYoZW1wdHlDZWxsKCkpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVy" +
"Zmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc3RvcmUgbW9yZSB0aGFuIDQgcmVmZXJlbmNlcyBpbiBhIHNpbmdsZSBgQ2VsbGAuCi8vLwovLy8gU2Vl" +
"OgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmVyZWYKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBz" +
"Oi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLwphc20oY2VsbCBzZWxmKSBleHRlbmRzIGZ1biBzdG9yZVJlZihzZWxmOiBCdWlsZGVyLCBj" +
"ZWxsOiBDZWxsKTogQnVpbGRlciB7IFNUUkVGIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBTdG9yZXMgYSBg" +
"c2xpY2VgIGludG8gYSBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuCi8vLyBSZXR1cm5zIHRoYXQgY29weSBvZiB0aGUgYEJ1aWxkZXJgLgovLy8KLy8vIGBgYHRhY3QKLy8v" +
"IGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gZW1wdHlDZWxsKCkuYXNTbGlj" +
"ZSgpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYi5zdG9yZVNsaWNlKHMpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3Mu" +
"dGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVyc3RvcmVzbGljZQovLy8KYXNtIGV4dGVuZHMgZnVuIHN0b3JlU2xpY2Uoc2VsZjogQnVpbGRlciwgc2xp" +
"Y2U6IFNsaWNlKTogQnVpbGRlciB7IFNUU0xJQ0VSIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4gQXZhaWxhYmxlIHNpbmNl" +
"IFRhY3QgMS41LjAuCi8vLwovLy8gQXBwZW5kcyBhbGwgZGF0YSBmcm9tIGEgYEJ1aWxkZXJgIGBjZWxsYCB0byB0aGUgY29weSBvZiB0aGUgYEJ1aWxkZXJgLiBSZXR1" +
"cm5zIHRoYXQgY29weS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpLnN0b3JlQ29p" +
"bnMoNDIpOwovLy8gICAgIGxldCBmaXp6OiBCdWlsZGVyID0gYmVnaW5DZWxsKCkuc3RvcmVCdWlsZGVyKGIpOwovLy8gICAgIGIuZW5kQ2VsbCgpID09IGZpenouZW5k" +
"Q2VsbCgpOyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJzdG9y" +
"ZWJ1aWxkZXIKLy8vCmFzbSBleHRlbmRzIGZ1biBzdG9yZUJ1aWxkZXIoc2VsZjogQnVpbGRlciwgY2VsbDogQnVpbGRlcik6IEJ1aWxkZXIgeyBTVEJSIH0KCi8vLyBF" +
"eHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS41LjAuCi8vLwovLy8gSWYgdGhlIGBjZWxsYCBpcyBu" +
"b3QgYG51bGxgLCBzdG9yZXMgMSBhcyBhIHNpbmdsZSBiaXQgYW5kIHRoZW4gcmVmZXJlbmNlIGBjZWxsYCBpbnRvIHRoZSBjb3B5IG9mIHRoZSBgQnVpbGRlcmAuIFJl" +
"dHVybnMgdGhhdCBjb3B5LgovLy8KLy8vIElmIHRoZSBgY2VsbGAgaXMgYG51bGxgLCBvbmx5IHN0b3JlcyAwIGFzIGEgc2luZ2xlIGJpdCBpbnRvIHRoZSBjb3B5IG9m" +
"IHRoZSBgQnVpbGRlcmAuIFJldHVybnMgdGhhdCBjb3B5LgovLy8KLy8vIE5vdGUgdGhhdCBhIHNpbmdsZSBgQ2VsbGAgY2FuIGNvbnRhaW4gdXAgdG8gNCByZWZlcmVu" +
"Y2VzLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6" +
"IEJ1aWxkZXIgPSBiCi8vLyAgICAgICAgIC5zdG9yZU1heWJlUmVmKGVtcHR5Q2VsbCgpKSAvLyAxLCB0aGVuIGVtcHR5IGNlbGwKLy8vICAgICAgICAgLnN0b3JlTWF5" +
"YmVSZWYobnVsbCk7ICAgICAgIC8vIDAKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBU" +
"aHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHN0b3JlIG1vcmUgdGhhbiA0IHJlZmVyZW5jZXMgaW4gYSBzaW5nbGUgYENlbGxgLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9k" +
"b2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVpbGRlcnN0b3JlbWF5YmVyZWYKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0" +
"LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLwphc20oY2VsbCBzZWxmKSBleHRlbmRzIGZ1biBzdG9yZU1heWJlUmVmKHNlbGY6IEJ1aWxkZXIsIGNlbGw6IENl" +
"bGw/KTogQnVpbGRlciB7IFNUT1BUUkVGIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBDb252ZXJ0cyBhIGBC" +
"dWlsZGVyYCBpbnRvIGFuIG9yZGluYXJ5IGBDZWxsYC4KLy8vCi8vLyBOT1RFOiAqKkdhcyBleHBlbnNpdmUhKiogVGhpcyBmdW5jdGlvbiB1c2VzIDUwMCBnYXMgdW5p" +
"dHMgb3IgbW9yZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxl" +
"dCBjOiBDZWxsID0gYi5lbmRDZWxsKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNl" +
"bGxzI2J1aWxkZXJlbmRjZWxsCi8vLwphc20gZXh0ZW5kcyBmdW4gZW5kQ2VsbChzZWxmOiBCdWlsZGVyKTogQ2VsbCB7IEVOREMgfQoKLy8vIEV4dGVuc2lvbiBmdW5j" +
"dGlvbiBmb3IgdGhlIGBCdWlsZGVyYCB0eXBlLgovLy8KLy8vIFJldHVybnMgdGhlIG51bWJlciBvZiBjZWxsIHJlZmVyZW5jZXMgYWxyZWFkeSBzdG9yZWQgaW4gdGhl" +
"IGBCdWlsZGVyYCBhcyBhbiBgSW50YC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgp" +
"OwovLy8gICAgIGxldCByZWZzOiBJbnQgPSBiLnJlZnMoKTsgLy8gMAovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9yZWYvY29yZS1jZWxscyNidWlsZGVycmVmcwovLy8KYXNtIGV4dGVuZHMgZnVuIHJlZnMoc2VsZjogQnVpbGRlcik6IEludCB7IEJSRUZTIH0KCi8vLyBFeHRl" +
"bnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF0YSBiaXRzIGFscmVhZHkgc3RvcmVkIGlu" +
"IHRoZSBgQnVpbGRlcmAgYXMgYW4gYEludGAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGI6IEJ1aWxkZXIgPSBiZWdpbkNl" +
"bGwoKTsKLy8vICAgICBsZXQgYml0czogSW50ID0gYi5iaXRzKCk7IC8vIDAKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3Qt" +
"bGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVpbGRlcmJpdHMKLy8vCmFzbSBleHRlbmRzIGZ1biBiaXRzKHNlbGY6IEJ1aWxkZXIpOiBJbnQgeyBCQklUUyB9CgovLy8g" +
"RXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYEJ1aWxkZXJgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIENvbXB1dGVzIGFuZCByZXR1" +
"cm5zIHRoZSBgSW50YCBkZXB0aCBvZiB0aGUgYEJ1aWxkZXJgLiBQcm9kdWNlcyAwIGlmIHRoZSBgQnVpbGRlcmAgaGFzIG5vIHJlZmVyZW5jZXMgc3RvcmVkIHNvIGZh" +
"ciwgb3RoZXJ3aXNlIDEgcGx1cyB0aGUgbWF4aW11bSBvZiB0aGUgZGVwdGhzIG9mIHRoZSByZWZlcmVuY2VkIGNlbGxzLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBl" +
"eGFtcGxlKCkgewovLy8gICAgIGxldCBiOiBCdWlsZGVyID0gYmVnaW5DZWxsKCkuc3RvcmVJbnQoNDIsIDcpOwovLy8gICAgIGxldCBkZXB0aDogSW50ID0gYi5kZXB0" +
"aCgpOyAvLyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2J1aWxkZXJkZXB0aAovLy8K" +
"YXNtIGV4dGVuZHMgZnVuIGRlcHRoKHNlbGY6IEJ1aWxkZXIpOiBJbnQgeyBCREVQVEggfQoKLy8KLy8gU2xpY2UKLy8KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9y" +
"IHRoZSBgQ2VsbGAgdHlwZS4KLy8vCi8vLyBPcGVucyB0aGUgYENlbGxgIGZvciBwYXJzaW5nIGFuZCByZXR1cm5zIGl0IGFzIGEgYFNsaWNlYC4KLy8vCi8vLyBgYGB0" +
"YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYzogQ2VsbCA9IGJlZ2luQ2VsbCgpOwovLy8gICAgIGxldCBzOiBTbGljZSA9IGMuYmVnaW5QYXJzZSgp" +
"OwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNjZWxsYmVnaW5wYXJzZQovLy8K" +
"YXNtIGV4dGVuZHMgZnVuIGJlZ2luUGFyc2Uoc2VsZjogQ2VsbCk6IFNsaWNlIHsgQ1RPUyB9CgovLy8gRXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUg" +
"YFNsaWNlYCB0eXBlLgovLy8KLy8vIExvYWRzIHRoZSBuZXh0IHJlZmVyZW5jZSBmcm9tIHRoZSBgU2xpY2VgIGFzIGEgYENlbGxgLgovLy8KLy8vIGBgYHRhY3QKLy8v" +
"IGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzMTogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZVJlZihlbXB0eUNlbGwoKSkuYXNTbGljZSgpOwovLy8gICAgIGxl" +
"dCBmaXp6OiBDZWxsID0gczEubG9hZFJlZigpOwovLy8KLy8vICAgICBsZXQgczI6IFNsaWNlID0gYmVnaW5DZWxsKCkKLy8vICAgICAgICAgLnN0b3JlUmVmKGVtcHR5" +
"Q2VsbCgpKQovLy8gICAgICAgICAuc3RvcmVSZWYoczEuYXNDZWxsKCkpCi8vLyAgICAgICAgIC5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IHJlZjE6IENlbGwgPSBzMi5s" +
"b2FkUmVmKCk7Ci8vLyAgICAgbGV0IHJlZjI6IENlbGwgPSBzMi5sb2FkUmVmKCk7Ci8vLyAgICAgcmVmMSA9PSByZWYyOyAvLyBmYWxzZQovLy8gfQovLy8gYGBgCi8v" +
"LwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9hZCBhIHJlZmVyZW5j" +
"ZSBgQ2VsbGAgd2hlbiBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0" +
"byBsb2FkIG1vcmUgZGF0YSB0aGFuIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1j" +
"ZWxscyNzbGljZWxvYWRyZWYKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2Vs" +
"bCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtKC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBs" +
"b2FkUmVmKHNlbGY6IFNsaWNlKTogQ2VsbCB7IExEUkVGIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuIEF2YWls" +
"YWJsZSBzaW5jZSBUYWN0IDEuNi4yLgovLy8KLy8vIFNraXBzIHRoZSBuZXh0IHJlZmVyZW5jZSBmcm9tIHRoZSBgU2xpY2VgLiBTaW1pbGFyIHRvIGRpc2NhcmRpbmcg" +
"dGhlIHJldHVybiB2YWx1ZSBvZiBgU2xpY2UubG9hZFJlZigpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczE6IFNsaWNl" +
"ID0gYmVnaW5DZWxsKCkKLy8vICAgICAgICAgLnN0b3JlUmVmKGVtcHR5Q2VsbCgpKQovLy8gICAgICAgICAuc3RvcmVVaW50KDQyLCAzMikKLy8vICAgICAgICAgLmFz" +
"U2xpY2UoKTsKLy8vCi8vLyAgICAgczEuc2tpcFJlZigpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBzMS5sb2FkVWludCgzMik7IC8vIDQyCi8vLyB9Ci8vLyBgYGAK" +
"Ly8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIGEgcmVmZXJl" +
"bmNlIGBDZWxsYCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5n" +
"IHRvIHNraXAgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3Jl" +
"LWNlbGxzI3NsaWNlc2tpcHJlZgovLy8KLy8vIFtDZWxsIG92ZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzgKLy8vIFtD" +
"ZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBtdXRhdGVzIGZ1biBza2lwUmVm" +
"KHNlbGY6IFNsaWNlKSB7IExEUkVGIE5JUCB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAx" +
"LjUuMC4KLy8vCi8vLyBQcmVsb2FkcyB0aGUgbmV4dCByZWZlcmVuY2UgZnJvbSB0aGUgYFNsaWNlYCBhcyBhIGBDZWxsYC4gRG9lc24ndCBtb2RpZnkgdGhlIG9yaWdp" +
"bmFsIGBTbGljZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGVzKCkgewovLy8gICAgIGxldCBzMTogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZVJlZihl" +
"bXB0eUNlbGwoKSkuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBDZWxsID0gczEucHJlbG9hZFJlZigpOyAvLyBkaWRuJ3QgbW9kaWZ5IHMxCi8vLwovLy8gICAg" +
"IGxldCBzMjogU2xpY2UgPSBiZWdpbkNlbGwoKQovLy8gICAgICAgICAuc3RvcmVSZWYoZW1wdHlDZWxsKCkpCi8vLyAgICAgICAgIC5zdG9yZVJlZihzMS5hc0NlbGwo" +
"KSkKLy8vICAgICAgICAgLmFzU2xpY2UoKTsKLy8vCi8vLyAgICAgbGV0IHJlZjE6IENlbGwgPSBzMi5wcmVsb2FkUmVmKCk7Ci8vLyAgICAgbGV0IHJlZjI6IENlbGwg" +
"PSBzMi5wcmVsb2FkUmVmKCk7Ci8vLyAgICAgcmVmMSA9PSByZWYyOyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAq" +
"IDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBwcmVsb2FkIGEgcmVmZXJlbmNlIGBDZWxsYCB3aGVuIGBTbGljZWAgZG9lc24n" +
"dCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHByZWxvYWQgbW9yZSBkYXRhIHRoYW4gYFNs" +
"aWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlcHJlbG9hZHJlZgovLy8g" +
"KiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3Jn" +
"L2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtIGV4" +
"dGVuZHMgZnVuIHByZWxvYWRSZWYoc2VsZjogU2xpY2UpOiBDZWxsIHsgUExEUkVGIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xp" +
"Y2VgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIExvYWRzIGEgc2luZ2xlIGJpdCBmcm9tIHRoZSBgU2xpY2VgOiBpZiBpdCdzIDEsIHRo" +
"ZW4gdGhlIHJlZmVyZW5jZWQgYENlbGxgIGlzIGxvYWRlZCBhbmQgcmV0dXJuZWQuIElmIHRoZSBsb2FkZWQgYml0IGlzIDAsIHRoZW4gbm90aGluZyBlbHNlIGlzIGxv" +
"YWRlZCBhbmQgYG51bGxgIGlzIHJldHVybmVkLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzID0gbXNnLmFzU2xpY2UoKTsK" +
"Ly8vICAgICBsZXQgb3V0QWN0aW9ucyA9IHMubG9hZE1heWJlUmVmKCk7Ci8vLwovLy8gICAgIGlmIChvdXRBY3Rpb25zICE9IG51bGwpIHsKLy8vICAgICAgICAgbGV0" +
"IGFjdGlvbnMgPSBvdXRBY3Rpb25zISE7Ci8vLyAgICAgICAgIC8vIC4uLnByb2Nlc3MgYWN0aW9ucy4uLgovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8gCi8vLyAj" +
"IyMjIEV4aXQgY29kZXMKLy8vCi8vLyAqIDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBsb2FkIGEgcmVmZXJlbmNlIGBDZWxs" +
"YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQg" +
"bW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3Ns" +
"aWNlbG9hZG1heWJlcmVmCi8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcwovLy8gCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBz" +
"Oi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4" +
"aXQtY29kZXMjOQovLy8KYXNtKC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2FkTWF5YmVSZWYoc2VsZjogU2xpY2UpOiBDZWxsPyB7IExET1BUUkVGIH0KCi8v" +
"LyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4yLgovLy8KLy8vIFNraXBzIGBD" +
"ZWxsP2AgZnJvbSB0aGUgYFNsaWNlYC4gU2ltaWxhciB0byBkaXNjYXJkaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgYFNsaWNlLmxvYWRNYXliZVJlZigpYC4KLy8vCi8v" +
"LyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczE6IFNsaWNlID0gYmVnaW5DZWxsKCkKLy8vICAgICAgICAgLnN0b3JlTWF5YmVSZWYoZW1w" +
"dHlDZWxsKCkpCi8vLyAgICAgICAgIC5zdG9yZVVpbnQoNDIsIDMyKQovLy8gICAgICAgICAuYXNTbGljZSgpOwovLy8KLy8vICAgICBzMS5za2lwTWF5YmVSZWYoKTsK" +
"Ly8vICAgICBsZXQgZml6ejogSW50ID0gczEubG9hZFVpbnQoMzIpOyAvLyA0MgovLy8gfQovLy8gYGBgCi8vLyAKLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICog" +
"ODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHNraXAgYSByZWZlcmVuY2UgYENlbGxgIHdoZW4gYFNsaWNlYCBkb2Vzbid0IGNv" +
"bnRhaW4gaXQuCi8vLyAqIDk6IFtDZWxsIHVuZGVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc2tpcCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNv" +
"bnRhaW5zLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vza2lwbWF5YmVyZWYKLy8vICogaHR0" +
"cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzCi8vLwovLy8gW0NlbGwgb3ZlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29r" +
"L2V4aXQtY29kZXMjOAovLy8gW0NlbGwgdW5kZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSBleHRlbmRz" +
"IG11dGF0ZXMgZnVuIHNraXBNYXliZVJlZihzZWxmOiBTbGljZSkgeyBMRE9QVFJFRiBOSVAgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAg" +
"dHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gUHJlbG9hZHMgYSBzaW5nbGUgYml0IGZyb20gdGhlIGBTbGljZWA6IGlmIGl0J3MgMSwgdGhl" +
"biB0aGUgcmVmZXJlbmNlZCBgQ2VsbGAgaXMgcHJlbG9hZGVkIGFuZCByZXR1cm5lZC4gSWYgdGhlIHByZWxvYWRlZCBiaXQgaXMgMCwgdGhlbiBgbnVsbGAgaXMgcmV0" +
"dXJuZWQuIERvZXNuJ3QgbW9kaWZ5IHRoZSBvcmlnaW5hbCBgU2xpY2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlcygpIHsKLy8vICAgICBsZXQgczE6" +
"IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVNYXliZVJlZihlbXB0eUNlbGwoKSkuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBDZWxsID0gczEucHJlbG9hZE1h" +
"eWJlUmVmKCk7IC8vIHJldHVybnMgZW1wdHlDZWxsKCkgYW5kIGRvZXNuJ3QgbW9kaWZ5IHMxCi8vLwovLy8gICAgIGxldCBzMjogU2xpY2UgPSBiZWdpbkNlbGwoKQov" +
"Ly8gICAgICAgICAuc3RvcmVNYXliZVJlZihudWxsKQovLy8gICAgICAgICAuc3RvcmVNYXliZVJlZihzMS5hc0NlbGwoKSkKLy8vICAgICAgICAgLmFzU2xpY2UoKTsK" +
"Ly8vCi8vLyAgICAgbGV0IHJlZjE6IENlbGwgPSBzMi5wcmVsb2FkTWF5YmVSZWYoKTsgLy8gcmV0dXJucyBudWxsIGFuZCBkb2Vzbid0IG1vZGlmeSBzMgovLy8gICAg" +
"IGxldCByZWYyOiBDZWxsID0gczIucHJlbG9hZE1heWJlUmVmKCk7IC8vIHNhbWUgZWZmZWN0Ci8vLyAgICAgcmVmMSA9PSBudWxsOyAvLyB0cnVlCi8vLyAgICAgcmVm" +
"MSA9PSByZWYyOyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vIAovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93" +
"biB3aGVuIGF0dGVtcHRpbmcgdG8gcHJlbG9hZCBhIHJlZmVyZW5jZSBgQ2VsbGAgd2hlbiBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0NlbGwg" +
"dW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBwcmVsb2FkIG1vcmUgZGF0YSB0aGFuIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOgov" +
"Ly8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXByZWxvYWRtYXliZXJlZgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9ib29rL2V4aXQtY29kZXMKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBb" +
"Q2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtIGV4dGVuZHMgZnVuIHByZWxvYWRNYXliZVJl" +
"ZihzZWxmOiBTbGljZSk6IENlbGw/IHsgUExET1BUUkVGIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuCi8vLwov" +
"Ly8gTG9hZHMgMCDiiaQgYGxgIOKJpCAxMDIzIGJpdHMgZnJvbSB0aGUgYFNsaWNlYCBhbmQgcmV0dXJucyB0aGVtIGFzIGEgc2VwYXJhdGUgYFNsaWNlYC4KLy8vCi8v" +
"LyBBdHRlbXB0cyB0byBzcGVjaWZ5IGFuIG91dC1vZi1ib3VuZHMgYGxgIHZhbHVlIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDVdOiBgSW50" +
"ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgbW9yZSBkYXRhIHRoYW4gdGhlIGBTbGljZWAgY29udGFpbnMgdGhyb3cg" +
"YW4gZXhjZXB0aW9uIHdpdGgKLy8vIFtleGl0IGNvZGUgOV06IGBDZWxsIHVuZGVyZmxvd2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAg" +
"ICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVJbnQoNDIsIDcpLmFzU2xpY2UoKTsKLy8vICAgICBsZXQgZml6ejogU2xpY2UgPSBzLmxvYWRCaXRzKDcp" +
"OwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWxvYWRiaXRzCi8vLwov" +
"Ly8gW2V4aXQgY29kZSA1XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vIFtleGl0IGNvZGUgOV06IGh0dHBzOi8vZG9jcy50" +
"YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwpAbmFtZShsb2FkX2JpdHMpIC8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNvIG5v" +
"dCByZXBsYWNlZCB3aXRoIGFzbSAiTERTTElDRVgiCmV4dGVuZHMgbXV0YXRlcyBuYXRpdmUgbG9hZEJpdHMoc2VsZjogU2xpY2UsIGw6IEludCk6IFNsaWNlOwoKLy8v" +
"IEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBQcmVsb2FkcyAwIOKJpCBgbGAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xp" +
"Y2VgIGFuZCByZXR1cm5zIHRoZW0gYXMgYSBzZXBhcmF0ZSBgU2xpY2VgLgovLy8gRG9lc24ndCBtb2RpZnkgdGhlIG9yaWdpbmFsIGBTbGljZWAuCi8vLwovLy8gQXR0" +
"ZW1wdHMgdG8gc3BlY2lmeSBhbiBvdXQtb2YtYm91bmRzIGBsYCB2YWx1ZSB0aHJvdyBhbiBleGNlcHRpb24gd2l0aAovLy8gW2V4aXQgY29kZSA1XTogYEludGVnZXIg" +
"b3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBwcmVsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNvbnRhaW5zIHRocm93IGFu" +
"IGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDldOiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAg" +
"IGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IFNsaWNlID0gcy5wcmVsb2FkQml0cyg3" +
"KTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2VwcmVsb2FkYml0cwov" +
"Ly8KLy8vIFtleGl0IGNvZGUgNV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM1Ci8vLyBbZXhpdCBjb2RlIDldOiBodHRwczovL2Rv" +
"Y3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KQG5hbWUocHJlbG9hZF9iaXRzKSAvLyBzcGVjaWFsIHRyZWF0bWVudCBpbiBGdW5jIGNvbXBpbGVy" +
"LCBzbyBub3QgcmVwbGFjZWQgd2l0aCBhc20gIlBMRFNMSUNFWCIKZXh0ZW5kcyBuYXRpdmUgcHJlbG9hZEJpdHMoc2VsZjogU2xpY2UsIGw6IEludCk6IFNsaWNlOwoK" +
"Ly8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBMb2FkcyBhbmQgcmV0dXJucyBhIHNpZ25lZCBgbGAtYml0" +
"IGBJbnRgIGZyb20gdGhlIGBTbGljZWAsIGZvciAwIOKJpCBsIOKJpCAyNTcuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhbiBvdXQtb2YtYm91bmRzIGBsYCB2" +
"YWx1ZSB0aHJvdyBhbiBleGNlcHRpb24gd2l0aAovLy8gW2V4aXQgY29kZSA1XTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBBdHRlbXB0" +
"cyB0byBsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDldOiBgQ2VsbCB1" +
"bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3" +
"KS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMubG9hZEludCg3KTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkaW50Ci8vLwovLy8gW2V4aXQgY29kZSA1XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9v" +
"ay9leGl0LWNvZGVzIzUKLy8vIFtleGl0IGNvZGUgOV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwpAbmFtZShsb2FkX2lu" +
"dCkgLy8gc3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBjb21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJMRElYIgpleHRlbmRzIG11dGF0ZXMgbmF0aXZl" +
"IGxvYWRJbnQoc2VsZjogU2xpY2UsIGw6IEludCk6IEludDsKCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuCi8vLwovLy8gUHJlbG9h" +
"ZHMgYW5kIHJldHVybnMgYSBzaWduZWQgYGxgLWJpdCBgSW50YCBmcm9tIHRoZSBgU2xpY2VgLCBmb3IgMCDiiaQgbCDiiaQgMjU3LgovLy8gRG9lc24ndCBtb2RpZnkg" +
"dGhlIGBTbGljZWAuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhbiBvdXQtb2YtYm91bmRzIGBsYCB2YWx1ZSB0aHJvdyBhbiBleGNlcHRpb24gd2l0aAovLy8g" +
"W2V4aXQgY29kZSA1XTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBwcmVsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBg" +
"U2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDldOiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8v" +
"IGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6" +
"IEludCA9IHMucHJlbG9hZEludCg3KTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2Vs" +
"bHMjc2xpY2VwcmVsb2FkaW50Ci8vLwovLy8gW2V4aXQgY29kZSA1XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vIFtleGl0" +
"IGNvZGUgOV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwpAbmFtZShwcmVsb2FkX2ludCkgLy8gc3BlY2lhbCB0cmVhdG1l" +
"bnQgaW4gRnVuYyBjb21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJQTERJWCIKZXh0ZW5kcyBuYXRpdmUgcHJlbG9hZEludChzZWxmOiBTbGljZSwgbDog" +
"SW50KTogSW50OwoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBMb2FkcyBhbmQgcmV0dXJucyBhbiB1" +
"bnNpZ25lZCBgbGAtYml0IGBJbnRgIGZyb20gdGhlIGBTbGljZWAsIGZvciAwIOKJpCBsIOKJpCAyNTYuCi8vLwovLy8gQXR0ZW1wdHMgdG8gc3BlY2lmeSBhbiBvdXQt" +
"b2YtYm91bmRzIGBsYCB2YWx1ZSB0aHJvdyBhbiBleGNlcHRpb24gd2l0aAovLy8gW2V4aXQgY29kZSA1XTogYEludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlYC4K" +
"Ly8vCi8vLyBBdHRlbXB0cyB0byBsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBj" +
"b2RlIDldOiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgp" +
"LnN0b3JlVWludCg0MiwgNykuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBzLmxvYWRVaW50KDcpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOgov" +
"Ly8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWxvYWR1aW50Ci8vLwovLy8gW2V4aXQgY29kZSA1XTogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vIFtleGl0IGNvZGUgOV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5" +
"Ci8vLwpAbmFtZShsb2FkX3VpbnQpIC8vIHNwZWNpYWwgdHJlYXRtZW50IGluIEZ1bmMgY29tcGlsZXIsIHNvIG5vdCByZXBsYWNlZCB3aXRoIGFzbSAiTERVWCIKZXh0" +
"ZW5kcyBtdXRhdGVzIG5hdGl2ZSBsb2FkVWludChzZWxmOiBTbGljZSwgbDogSW50KTogSW50OwoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAg" +
"dHlwZS4KLy8vCi8vLyBQcmVsb2FkcyBhbmQgcmV0dXJucyBhbiB1bnNpZ25lZCBgbGAtYml0IGBJbnRgIGZyb20gdGhlIGBTbGljZWAsIGZvciAwIOKJpCBsIOKJpCAy" +
"NTYuCi8vLyBEb2Vzbid0IG1vZGlmeSB0aGUgYFNsaWNlYC4KLy8vCi8vLyBBdHRlbXB0cyB0byBzcGVjaWZ5IGFuIG91dC1vZi1ib3VuZHMgYGxgIHZhbHVlIHRocm93" +
"IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDVdOiBgSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VgLgovLy8KLy8vIEF0dGVtcHRzIHRvIHByZWxv" +
"YWQgbW9yZSBkYXRhIHRoYW4gdGhlIGBTbGljZWAgY29udGFpbnMgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGgKLy8vIFtleGl0IGNvZGUgOV06IGBDZWxsIHVuZGVyZmxv" +
"d2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVVaW50KDQyLCA3KS5hc1Ns" +
"aWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMucHJlbG9hZFVpbnQoNyk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50" +
"YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlcHJlbG9hZHVpbnQKLy8vCi8vLyBbZXhpdCBjb2RlIDVdOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9i" +
"b29rL2V4aXQtY29kZXMjNQovLy8gW2V4aXQgY29kZSA5XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCkBuYW1lKHByZWxv" +
"YWRfdWludCkgLy8gc3BlY2lhbCB0cmVhdG1lbnQgaW4gRnVuYyBjb21waWxlciwgc28gbm90IHJlcGxhY2VkIHdpdGggYXNtICJQTERVWCIKZXh0ZW5kcyBuYXRpdmUg" +
"cHJlbG9hZFVpbnQoc2VsZjogU2xpY2UsIGw6IEludCk6IEludDsKCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuCi8v" +
"LwovLy8gTG9hZHMgYSBzaW5nbGUgYml0IGFuZCByZXR1cm5zIGEgYEJvb2xgIHZhbHVlIGZyb20gdGhlIGBTbGljZWAuCi8vLyBSZWFkcyBgdHJ1ZWAgaWYgdGhlIGxv" +
"YWRlZCBiaXQgaXMgZXF1YWwgdG8gMSwgYW5kIHJlYWRzIGBmYWxzZWAgb3RoZXJ3aXNlLgovLy8KLy8vIEF0dGVtcHRzIHRvIGxvYWQgc3VjaCBgQm9vbGAgd2hlbiB0" +
"aGUgYFNsaWNlYCBkb2Vzbid0IGNvbnRhaW4gaXQgdGhyb3cgYW4gZXhjZXB0aW9uIHdpdGgKLy8vIFtleGl0IGNvZGUgOF06IGBDZWxsIG92ZXJmbG93YC4KLy8vCi8v" +
"LyBBdHRlbXB0cyB0byBsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNvbnRhaW5zIHRocm93IGFuIGV4Y2VwdGlvbiB3aXRoCi8vLyBbZXhpdCBjb2RlIDld" +
"OiBgQ2VsbCB1bmRlcmZsb3dgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3Jl" +
"Qm9vbCh0cnVlKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJvb2wgPSBzLmxvYWRCb29sKCk7IC8vIHRydWUKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFtleGl0" +
"IGNvZGUgOF06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbZXhpdCBjb2RlIDldOiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtKC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2FkQm9vbChzZWxmOiBTbGljZSk6IEJvb2wgeyAxIExESSB9" +
"CgovLy8gRXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMi4KLy8vCi8vLyBTa2lw" +
"cyBhIHNpbmdsZSBiaXQgZnJvbSB0aGUgYFNsaWNlYC4gU2ltaWxhciB0byBkaXNjYXJkaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgYFNsaWNlLmxvYWRCb29sKClgLgov" +
"Ly8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpCi8vLyAgICAgICAgIC5zdG9yZUJvb2wodHJ1" +
"ZSkKLy8vICAgICAgICAgLnN0b3JlVWludCg0MiwgNykKLy8vICAgICAgICAgLmFzU2xpY2UoKTsKLy8vCi8vLyAgICAgcy5za2lwQm9vbCgpOwovLy8gICAgIGxldCBm" +
"aXp6OiBJbnQgPSBzLmxvYWRVaW50KDcpOyAvLyA0MgovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxv" +
"d10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc2tpcCBhIGBCb29sYCB3aGVuIHRoZSBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0Nl" +
"bGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNvbnRhaW5zLgovLy8KLy8vIFNl" +
"ZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vza2lwYm9vbAovLy8KLy8vIFtDZWxsIG92ZXJmbG93XTogaHR0cHM6" +
"Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzgKLy8vIFtDZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhp" +
"dC1jb2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBtdXRhdGVzIGZ1biBza2lwQm9vbChzZWxmOiBTbGljZSkgeyAxIExESSBOSVAgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlv" +
"biBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS41LjAuCi8vLwovLy8gQWxpYXMgdG8gYFNsaWNlLmxvYWRCb29sKClg" +
"LgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlQm9vbCh0cnVlKS5hc1NsaWNl" +
"KCk7Ci8vLyAgICAgbGV0IGZpeno6IEJvb2wgPSBzLmxvYWRCaXQoKTsgLy8gdHJ1ZQovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8g" +
"KiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9hZCBhIGBCb29sYCB3aGVuIHRoZSBgU2xpY2VgIGRvZXNuJ3QgY29udGFp" +
"biBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBsb2FkIG1vcmUgZGF0YSB0aGFuIHRoZSBgU2xpY2VgIGNv" +
"bnRhaW5zLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkYml0Ci8vLwovLy8gW0NlbGwg" +
"b3ZlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOAovLy8gW0NlbGwgdW5kZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3Qt" +
"bGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSgtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9hZEJpdChzZWxmOiBTbGljZSk6IEJvb2wgeyAxIExE" +
"SSB9CgovLy8gRXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLgovLy8KLy8vIExvYWRzIGFuZCByZXR1cm5zIGEgc2VyaWFsaXpl" +
"ZCB1bnNpZ25lZCBgSW50YCB2YWx1ZSBpbiB0aGUgcmFuZ2UgZnJvbSAwIHRvIDJeMTIwIC0gMSBpbmNsdXNpdmUgZnJvbSB0aGUgYFNsaWNlYC4gVGhpcyB2YWx1ZSB1" +
"c3VhbGx5IHJlcHJlc2VudHMgdGhlIGFtb3VudCBpbiBuYW5vVG9uY29pbnMuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6" +
"IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVDb2lucyg0MikuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBzLmxvYWRDb2lucygpOyAvLyA0MgovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9h" +
"ZCBhbiBgSW50YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5n" +
"IHRvIGxvYWQgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3Jl" +
"LWNlbGxzI3NsaWNlbG9hZGNvaW5zCi8vLwovLy8gW0NlbGwgb3ZlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOAovLy8g" +
"W0NlbGwgdW5kZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSggLT4gMSAwKSBleHRlbmRzIG11dGF0ZXMg" +
"ZnVuIGxvYWRDb2lucyhzZWxmOiBTbGljZSk6IEludCB7IExEVkFSVUlOVDE2IH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2Vg" +
"IHR5cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4yLgovLy8KLy8vIFNraXBzIGEgc2VyaWFsaXplZCB1bnNpZ25lZCBgSW50YCB2YWx1ZSBpbiB0aGUgcmFuZ2Ug" +
"ZnJvbSAwIHRvIDJeMTIwIC0gMSBpbmNsdXNpdmUgZnJvbSB0aGUgYFNsaWNlYC4gU2ltaWxhciB0byBkaXNjYXJkaW5nIHRoZSByZXR1cm4gdmFsdWUgb2YgYFNsaWNl" +
"LmxvYWRDb2lucygpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKQovLy8gICAgICAg" +
"ICAuc3RvcmVDb2lucygyMzkpCi8vLyAgICAgICAgIC5zdG9yZVVpbnQoNDIsIDcpCi8vLyAgICAgICAgIC5hc1NsaWNlKCk7Ci8vLwovLy8gICAgIHMuc2tpcENvaW5z" +
"KCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMubG9hZFVpbnQoNyk7IC8vIDQyCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAq" +
"IDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIGFuIGBJbnRgIHdoZW4gYFNsaWNlYCBkb2Vzbid0IGNvbnRhaW4gaXQu" +
"Ci8vLyAqIDk6IFtDZWxsIHVuZGVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc2tpcCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNvbnRhaW5zLgov" +
"Ly8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vza2lwY29pbnMKLy8vCi8vLyBbQ2VsbCBvdmVyZmxv" +
"d106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9y" +
"Zy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtIGV4dGVuZHMgbXV0YXRlcyBmdW4gc2tpcENvaW5zKHNlbGY6IFNsaWNlKSB7IExEVkFSVUlOVDE2IE5JUCB9CgovLy8g" +
"RXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBBbGlhcyB0byBg" +
"U2xpY2UubG9hZENvaW5zKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3Jl" +
"VmFyVWludDE2KDQyKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMubG9hZFZhclVpbnQxNigpOyAvLyA0MgovLy8gfQovLy8gYGBgCi8vLwovLy8g" +
"IyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9hZCBhbiBgSW50YCB3aGVuIGBT" +
"bGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQgbW9yZSBkYXRh" +
"IHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlbG9hZHZh" +
"cnVpbnQxNgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWxvYWRjb2lucwovLy8KLy8vIFtDZWxsIG92ZXJmbG93XTog" +
"aHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzgKLy8vIFtDZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jv" +
"b2svZXhpdC1jb2RlcyM5Ci8vLwphc20oIC0+IDEgMCkgZXh0ZW5kcyBtdXRhdGVzIGZ1biBsb2FkVmFyVWludDE2KHNlbGY6IFNsaWNlKTogSW50IHsgTERWQVJVSU5U" +
"MTYgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjIuCi8vLwovLy8g" +
"QWxpYXMgdG8gYFNsaWNlLnNraXBDb2lucygpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNl" +
"bGwoKQovLy8gICAgICAgICAuc3RvcmVWYXJVaW50MTYoMjM5KQovLy8gICAgICAgICAuc3RvcmVVaW50KDQyLCA3KQovLy8gICAgICAgICAuYXNTbGljZSgpOwovLy8K" +
"Ly8vICAgICBzLnNraXBWYXJVaW50MTYoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkVWludCg3KTsgLy8gNDIKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMj" +
"IyMgRXhpdCBjb2RlcwovLy8KLy8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHNraXAgYW4gYEludGAgd2hlbiBgU2xp" +
"Y2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIG1vcmUgZGF0YSB0" +
"aGFuIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXNraXB2YXJ1" +
"aW50MTYKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vza2lwY29pbnMKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0" +
"dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29r" +
"L2V4aXQtY29kZXMjOQovLy8KYXNtIGV4dGVuZHMgbXV0YXRlcyBmdW4gc2tpcFZhclVpbnQxNihzZWxmOiBTbGljZSl7IExEVkFSVUlOVDE2IE5JUCB9CgovLy8gRXh0" +
"ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTaW1pbGFyIHRvIGBT" +
"bGljZS5sb2FkQ29pbnMoKWAsIGJ1dCB3aXRoIGEgZGlmZmVyZW50IGB2YWx1ZWAgcmFuZ2U6IGZyb20gLTJeMTE5IHRvIDJeMTE5IC0gMSBpbmNsdXNpdmUuCi8vLwov" +
"Ly8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVWYXJJbnQxNigtNDIpLmFzU2xpY2UoKTsK" +
"Ly8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkVmFySW50MTYoKTsgLy8gLTQyCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29kZXMKLy8vCi8vLyAq" +
"IDg6IFtDZWxsIG92ZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBsb2FkIGFuIGBJbnRgIHdoZW4gYFNsaWNlYCBkb2Vzbid0IGNvbnRhaW4gaXQu" +
"Ci8vLyAqIDk6IFtDZWxsIHVuZGVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9hZCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNvbnRhaW5zLgov" +
"Ly8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vsb2FkdmFyaW50MTYKLy8vCi8vLyBbQ2VsbCBvdmVy" +
"Zmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5n" +
"Lm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtKCAtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9hZFZhckludDE2KHNlbGY6IFNsaWNlKTogSW50IHsgTERW" +
"QVJJTlQxNiB9CgovLy8gRXh0ZW5zaW9uIG11dGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMi4KLy8v" +
"Ci8vLyBTaW1pbGFyIHRvIGBTbGljZS5za2lwQ29pbnMoKWAsIGJ1dCB3aXRoIGEgZGlmZmVyZW50IGB2YWx1ZWAgcmFuZ2U6IGZyb20gLTJeMTE5IHRvIDJeMTE5IC0g" +
"MSBpbmNsdXNpdmUuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkKLy8vICAgICAgICAg" +
"LnN0b3JlVmFySW50MTYoLTIzOSkKLy8vICAgICAgICAgLnN0b3JlVWludCg0MiwgNykKLy8vICAgICAgICAgLmFzU2xpY2UoKTsKLy8vCi8vLyAgICAgcy5za2lwVmFy" +
"SW50MTYoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkVWludCg3KTsgLy8gNDIKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhpdCBjb2RlcwovLy8K" +
"Ly8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHNraXAgYW4gYEludGAgd2hlbiBgU2xpY2VgIGRvZXNuJ3QgY29udGFp" +
"biBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIG1vcmUgZGF0YSB0aGFuIGBTbGljZWAgY29udGFp" +
"bnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXNraXB2YXJpbnQxNgovLy8KLy8vIFtDZWxs" +
"IG92ZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzgKLy8vIFtDZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0" +
"LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBtdXRhdGVzIGZ1biBza2lwVmFySW50MTYoc2VsZjogU2xpY2UpIHsgTERWQVJJTlQxNiBO" +
"SVAgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8g" +
"TG9hZHMgYW5kIHJldHVybnMgYSBzZXJpYWxpemVkIHVuc2lnbmVkIGBJbnRgIHZhbHVlIGluIHRoZSByYW5nZSBmcm9tIDAgdG8gMl4yNDgg4oiSIDEgaW5jbHVzaXZl" +
"IGZyb20gdGhlIGBTbGljZWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVW" +
"YXJVaW50MzIoNDIwMDAwKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMubG9hZFZhclVpbnQzMigpOyAvLyA0MjAwMDAKLy8vIH0KLy8vIGBgYAov" +
"Ly8KLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQgYW4gYEludGAg" +
"d2hlbiBgU2xpY2VgIGRvZXNuJ3QgY29udGFpbiBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBsb2FkIG1v" +
"cmUgZGF0YSB0aGFuIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGlj" +
"ZWxvYWR2YXJ1aW50MzIKLy8vCi8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1" +
"bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtKCAtPiAxIDApIGV4dGVuZHMgbXV0YXRlcyBmdW4gbG9h" +
"ZFZhclVpbnQzMihzZWxmOiBTbGljZSk6IEludCB7IExEVkFSVUlOVDMyIH0KCi8vLyBFeHRlbnNpb24gbXV0YXRpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5" +
"cGUuIEF2YWlsYWJsZSBzaW5jZSBUYWN0IDEuNi4yLgovLy8KLy8vIFNraXBzIGEgc2VyaWFsaXplZCB1bnNpZ25lZCBgSW50YCB2YWx1ZSBpbiB0aGUgcmFuZ2UgZnJv" +
"bSAwIHRvIDJeMjQ4IOKIkiAxIGluY2x1c2l2ZSBmcm9tIHRoZSBgU2xpY2VgLiBTaW1pbGFyIHRvIGRpc2NhcmRpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBgU2xpY2Uu" +
"bG9hZFZhclVpbnQzMigpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKQovLy8gICAg" +
"ICAgICAuc3RvcmVWYXJVaW50MzIoMjM5KQovLy8gICAgICAgICAuc3RvcmVVaW50KDQyLCA3KQovLy8gICAgICAgICAuYXNTbGljZSgpOwovLy8KLy8vICAgICBzLnNr" +
"aXBWYXJVaW50MzIoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkVWludCg3KTsgLy8gNDIKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhpdCBjb2Rl" +
"cwovLy8KLy8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHNraXAgYW4gYEludGAgd2hlbiBgU2xpY2VgIGRvZXNuJ3Qg" +
"Y29udGFpbiBpdC4KLy8vICogOTogW0NlbGwgdW5kZXJmbG93XSDigJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBza2lwIG1vcmUgZGF0YSB0aGFuIGBTbGljZWAg" +
"Y29udGFpbnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXNraXB2YXJ1aW50MzIKLy8vCi8v" +
"LyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2Rv" +
"Y3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtIGV4dGVuZHMgbXV0YXRlcyBmdW4gc2tpcFZhclVpbnQzMihzZWxmOiBTbGljZSkgeyBMRFZB" +
"UlVJTlQzMiBOSVAgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAu" +
"Ci8vLwovLy8gU2ltaWxhciB0byBgU2xpY2UubG9hZFZhclVpbnQzMigpYCwgYnV0IHdpdGggYSBkaWZmZXJlbnQgYHZhbHVlYCByYW5nZTogZnJvbSAtMl4yNDcgdG8g" +
"Ml4yNDcgLSAxIGluY2x1c2l2ZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9y" +
"ZVZhckludDMyKC00MjAwMDApLmFzU2xpY2UoKTsKLy8vICAgICBsZXQgZml6ejogSW50ID0gcy5sb2FkVmFySW50MzIoKTsgLy8gLTQyMDAwMAovLy8gfQovLy8gYGBg" +
"Ci8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gbG9hZCBhbiBgSW50" +
"YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQg" +
"bW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3Ns" +
"aWNlbG9hZHZhcmludDMyCi8vLwovLy8gW0NlbGwgb3ZlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOAovLy8gW0NlbGwg" +
"dW5kZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSggLT4gMSAwKSBleHRlbmRzIG11dGF0ZXMgZnVuIGxv" +
"YWRWYXJJbnQzMihzZWxmOiBTbGljZSk6IEludCB7IExEVkFSSU5UMzIgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlw" +
"ZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjIuCi8vLwovLy8gU2ltaWxhciB0byBgU2xpY2Uuc2tpcFZhclVpbnQzMigpYCwgYnV0IHdpdGggYSBkaWZmZXJlbnQg" +
"YHZhbHVlYCByYW5nZTogZnJvbSAtMl4yNDcgdG8gMl4yNDcgLSAxIGluY2x1c2l2ZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBs" +
"ZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKQovLy8gICAgICAgICAuc3RvcmVWYXJJbnQzMigtMjM5KQovLy8gICAgICAgICAuc3RvcmVVaW50KDQyLCA3KQovLy8gICAg" +
"ICAgICAuYXNTbGljZSgpOwovLy8KLy8vICAgICBzLnNraXBWYXJJbnQzMigpOwovLy8gICAgIGxldCBmaXp6OiBJbnQgPSBzLmxvYWRVaW50KDcpOyAvLyA0MgovLy8g" +
"fQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc2tp" +
"cCBhbiBgSW50YCB3aGVuIGBTbGljZWAgZG9lc24ndCBjb250YWluIGl0LgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5n" +
"IHRvIHNraXAgbW9yZSBkYXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3Jl" +
"LWNlbGxzI3NsaWNlc2tpcHZhcnVpbnQzMgovLy8KLy8vIFtDZWxsIG92ZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzgK" +
"Ly8vIFtDZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBtdXRhdGVzIGZ1biBz" +
"a2lwVmFySW50MzIoc2VsZjogU2xpY2UpIHsgTERWQVJJTlQzMiBOSVAgfQoKLy8vIEV4dGVuc2lvbiBtdXRhdGlvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlw" +
"ZS4KLy8vCi8vLyBMb2FkcyBhbGwgYnV0IHRoZSBmaXJzdCAwIOKJpCBgbGAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xpY2VgLgovLy8KLy8vIGBgYHRhY3QKLy8v" +
"IGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7Ci8vLyAgICAgcy5za2lwQml0" +
"cyg1KTsgICAgICAgICAgICAgICAgICAgLy8gYWxsIGJ1dCBmaXJzdCA1IGJpdHMKLy8vICAgICBsZXQgZml6ejogU2xpY2UgPSBzLmxvYWRCaXRzKDEpOyAvLyBsb2Fk" +
"IG9ubHkgMSBiaXQKLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICogNTogW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXSDi" +
"gJQgVGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBzcGVjaWZ5IGFuIG91dC1vZi1ib3VuZHMgYGxgIHZhbHVlLgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBU" +
"aHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIGxvYWQgbW9yZSBkYXRhIHRoYW4gdGhlIGBTbGljZWAgY29udGFpbnMuCi8vLwovLy8gU2VlOgovLy8gKiBodHRwczovL2Rv" +
"Y3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXNraXBiaXRzCi8vLwovLy8gW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXTogaHR0cHM6Ly9k" +
"b2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vIFtDZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1j" +
"b2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBtdXRhdGVzIGZ1biBza2lwQml0cyhzZWxmOiBTbGljZSwgbDogSW50KSB7IFNEU0tJUEZJUlNUIH0KCi8vLyBFeHRlbnNpb24g" +
"ZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuCi8vLwovLy8gQ2hlY2tzIHdoZXRoZXIgdGhlIGBTbGljZWAgaXMgZW1wdHkgKGkuZS4sIGNvbnRhaW5zIG5vIGJp" +
"dHMgb2YgZGF0YSBhbmQgbm8gY2VsbCByZWZlcmVuY2VzKS4KLy8vIElmIGl0IGlzIG5vdCwgaXQgdGhyb3dzIGFuIGV4Y2VwdGlvbiB3aXRoIFtleGl0IGNvZGUgOV06" +
"IGBDZWxsIHVuZGVyZmxvd2AuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGVtcHR5T25lOiBTbGljZSA9IGVtcHR5U2xpY2Uo" +
"KTsKLy8vICAgICBlbXB0eU9uZS5lbmRQYXJzZSgpOyAvLyBub3RoaW5nLCBhcyBpdCdzIGVtcHR5Ci8vLwovLy8gICAgIGxldCBwYXVsOiBTbGljZSA9ICJGZWFyIGlz" +
"IHRoZSBtaW5kLWtpbGxlciIuYXNTbGljZSgpOwovLy8gICAgIHRyeSB7Ci8vLyAgICAgICAgIHBhdWwuZW5kUGFyc2UoKTsgLy8gdGhyb3dzIGV4aXQgY29kZSA5Ci8v" +
"LyAgICAgfQovLy8gfQovLy8gYGBgCi8vLwovLy8gW2V4aXQgY29kZSA5XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFz" +
"bSBleHRlbmRzIGZ1biBlbmRQYXJzZShzZWxmOiBTbGljZSkgeyBFTkRTIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgU2xpY2VgIHR5cGUuIEF2YWls" +
"YWJsZSBzaW5jZSBUYWN0IDEuNi4wLgovLy8KLy8vIFByZWxvYWRzIGFsbCBidXQgdGhlIGxhc3QgMCDiiaQgYGxlbmAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xp" +
"Y2VgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1Ns" +
"aWNlKCk7Ci8vLyAgICAgbGV0IGFsbEJ1dExhc3RGaXZlOiBTbGljZSA9IHMuc2tpcExhc3RCaXRzKDUpOyAvLyBhbGwgYnV0IGxhc3QgNSBiaXRzLAovLy8gICAgICAg" +
"ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaS5lLiBvbmx5IGZpcnN0IDIKLy8vIH0KLy8vIGBgYAovLy8gCi8vLyAjIyMjIEV4" +
"aXQgY29kZXMKLy8vCi8vLyAqIDU6IFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV0g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc3BlY2lmeSBhbiBv" +
"dXQtb2YtYm91bmRzIGBsZW5gIHZhbHVlLgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHByZWxvYWQgbW9yZSBk" +
"YXRhIHRoYW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlc2tpcGxhc3Ri" +
"aXRzCi8vLwovLy8gW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzUKLy8vIFtD" +
"ZWxsIHVuZGVyZmxvd106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM5Ci8vLwphc20gZXh0ZW5kcyBmdW4gc2tpcExhc3RCaXRzKHNl" +
"bGY6IFNsaWNlLCBsZW46IEludCk6IFNsaWNlIHsgU0RTS0lQTEFTVCB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFi" +
"bGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBQcmVsb2FkcyB0aGUgZmlyc3QgMCDiiaQgYGxlbmAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xpY2VgLgovLy8K" +
"Ly8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7Ci8v" +
"LyAgICAgbGV0IGZpcnN0Rml2ZTogU2xpY2UgPSBzLmZpcnN0Qml0cyg1KTsgLy8gZmlyc3QgNSBiaXRzCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBJbiBvcmRlciB0byBy" +
"ZWR1Y2UgZ2FzIHVzYWdlLCBwcmVmZXIgY2FsbGluZyBgU2xpY2UucHJlbG9hZEJpdHMoKWAgb3ZlciB1c2luZyB0aGlzIGZ1bmN0aW9uIHNpbmNlIHRoZSBmb3JtZXIg" +
"aXMgbW9yZSBvcHRpbWl6ZWQuCi8vLyAKLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICogNTogW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXSDigJQgVGhy" +
"b3duIHdoZW4gYXR0ZW1wdGluZyB0byBzcGVjaWZ5IGFuIG91dC1vZi1ib3VuZHMgYGxlbmAgdmFsdWUuCi8vLyAqIDk6IFtDZWxsIHVuZGVyZmxvd10g4oCUIFRocm93" +
"biB3aGVuIGF0dGVtcHRpbmcgdG8gcHJlbG9hZCBtb3JlIGRhdGEgdGhhbiBgU2xpY2VgIGNvbnRhaW5zLgovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRh" +
"Y3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2VmaXJzdGJpdHMKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vw" +
"cmVsb2FkYml0cwovLy8KLy8vIFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM1" +
"Ci8vLyBbQ2VsbCB1bmRlcmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOQovLy8KYXNtIGV4dGVuZHMgZnVuIGZpcnN0Qml0" +
"cyhzZWxmOiBTbGljZSwgbGVuOiBJbnQpOiBTbGljZSB7IFNEQ1VURklSU1QgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZh" +
"aWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gUHJlbG9hZHMgdGhlIGxhc3QgMCDiiaQgYGxlbmAg4omkIDEwMjMgYml0cyBmcm9tIHRoZSBgU2xpY2VgLgov" +
"Ly8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlSW50KDQyLCA3KS5hc1NsaWNlKCk7" +
"Ci8vLyAgICAgbGV0IGxhc3RGaXZlOiBTbGljZSA9IHMubGFzdEJpdHMoNSk7IC8vIGxhc3QgNSBiaXRzCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyAjIyMjIEV4aXQgY29k" +
"ZXMKLy8vCi8vLyAqIDU6IFtJbnRlZ2VyIG91dCBvZiBleHBlY3RlZCByYW5nZV0g4oCUIFRocm93biB3aGVuIGF0dGVtcHRpbmcgdG8gc3BlY2lmeSBhbiBvdXQtb2Yt" +
"Ym91bmRzIGBsZW5gIHZhbHVlLgovLy8gKiA5OiBbQ2VsbCB1bmRlcmZsb3ddIOKAlCBUaHJvd24gd2hlbiBhdHRlbXB0aW5nIHRvIHByZWxvYWQgbW9yZSBkYXRhIHRo" +
"YW4gYFNsaWNlYCBjb250YWlucy4KLy8vCi8vLyBTZWU6Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlbGFzdGJpdHMK" +
"Ly8vCi8vLyBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjNQovLy8gW0NlbGwg" +
"dW5kZXJmbG93XTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9leGl0LWNvZGVzIzkKLy8vCmFzbSBleHRlbmRzIGZ1biBsYXN0Qml0cyhzZWxmOiBTbGlj" +
"ZSwgbGVuOiBJbnQpOiBTbGljZSB7IFNEQ1VUTEFTVCB9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLiBBdmFpbGFibGUgc2luY2Ug" +
"VGFjdCAxLjYuMC4KLy8vCi8vLyBDb21wdXRlcyBhbmQgcmV0dXJucyB0aGUgYEludGAgZGVwdGggb2YgdGhlIGBTbGljZWAuIFByb2R1Y2VzIDAgaWYgdGhlIGBTbGlj" +
"ZWAgaGFzIG5vIHJlZmVyZW5jZXMsIG90aGVyd2lzZSAxIHBsdXMgdGhlIG1heGltdW0gb2YgdGhlIGRlcHRocyBvZiB0aGUgcmVmZXJlbmNlZCBjZWxscy4KLy8vCi8v" +
"LyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZUludCg0MiwgNykuYXNTbGljZSgpOwovLy8g" +
"ICAgIGxldCBkZXB0aDogSW50ID0gcy5kZXB0aCgpOyAvLyAwCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
"b3JlLWNlbGxzI3NsaWNlZGVwdGgKLy8vCmFzbSBleHRlbmRzIGZ1biBkZXB0aChzZWxmOiBTbGljZSk6IEludCB7IFNERVBUSCB9CgovLwovLyBTbGljZSBzaXplCi8v" +
"CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLgovLy8KLy8vIFJldHVybnMgdGhlIG51bWJlciBvZiByZWZlcmVuY2VzIGluIHRoZSBg" +
"U2xpY2VgIGFzIGFuIGBJbnRgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3Jl" +
"UmVmKGVtcHR5Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMucmVmcygpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczov" +
"L2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZXJlZnMKLy8vCmFzbSBleHRlbmRzIGZ1biByZWZzKHNlbGY6IFNsaWNlKTogSW50IHsgU1JFRlMg" +
"fQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZGF0YSBiaXRzIGluIHRoZSBg" +
"U2xpY2VgIGFzIGFuIGBJbnRgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3Jl" +
"UmVmKGVtcHR5Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEludCA9IHMuYml0cygpOwovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczov" +
"L2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWJpdHMKLy8vCmFzbSBleHRlbmRzIGZ1biBiaXRzKHNlbGY6IFNsaWNlKTogSW50IHsgU0JJVFMg" +
"fQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBDaGVja3Mgd2hldGhlciB0aGUgYFNsaWNlYCBpcyBlbXB0eSAoaS5l" +
"LiwgY29udGFpbnMgbm8gYml0cyBvZiBkYXRhIGFuZCBubyBjZWxsIHJlZmVyZW5jZXMpLgovLy8gUmV0dXJucyBgdHJ1ZWAgaWYgaXQgaXMgZW1wdHksIGBmYWxzZWAg" +
"b3RoZXJ3aXNlLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBzOiBTbGljZSA9IGJlZ2luQ2VsbCgpLnN0b3JlUmVmKGVtcHR5" +
"Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IEJvb2wgPSBzLmVtcHR5KCk7ICAgICAgICAgICAgICAgICAgICAgLy8gZmFsc2UKLy8vICAgICBsZXQg" +
"YnV6ejogQm9vbCA9IGJlZ2luQ2VsbCgpLmFzU2xpY2UoKS5lbXB0eSgpOyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0" +
"LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlZW1wdHkKLy8vCmFzbSBleHRlbmRzIGZ1biBlbXB0eShzZWxmOiBTbGljZSk6IEJvb2wgeyBTRU1QVFkgfQoKLy8v" +
"IEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBDaGVja3Mgd2hldGhlciB0aGUgYFNsaWNlYCBoYXMgbm8gYml0cyBvZiBkYXRh" +
"LgovLy8gUmV0dXJucyBgdHJ1ZWAgaWYgaXQgaGFzIG5vIGRhdGEsIGBmYWxzZWAgb3RoZXJ3aXNlLgovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAg" +
"ICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3RvcmVSZWYoZW1wdHlDZWxsKCkpLmFzU2xpY2UoKTsKLy8vICAgICBsZXQgZml6ejogQm9vbCA9IHMuZGF0YUVt" +
"cHR5KCk7ICAvLyB0cnVlCi8vLwovLy8gICAgIGxldCBzMjogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZUludCg0MiwgNykuYXNTbGljZSgpOwovLy8gICAgIGxldCBi" +
"dXp6OiBCb29sID0gczIuZGF0YUVtcHR5KCk7IC8vIGZhbHNlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9j" +
"b3JlLWNlbGxzI3NsaWNlZGF0YWVtcHR5Ci8vLwphc20gZXh0ZW5kcyBmdW4gZGF0YUVtcHR5KHNlbGY6IFNsaWNlKTogQm9vbCB7IFNERU1QVFkgfQoKLy8vIEV4dGVu" +
"c2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4KLy8vCi8vLyBDaGVja3Mgd2hldGhlciB0aGUgYFNsaWNlYCBoYXMgbm8gcmVmZXJlbmNlcy4KLy8vIFJl" +
"dHVybnMgYHRydWVgIGlmIGl0IGhhcyBubyByZWZlcmVuY2VzLCBgZmFsc2VgIG90aGVyd2lzZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8v" +
"ICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNlbGwoKS5zdG9yZVJlZihlbXB0eUNlbGwoKSkuYXNTbGljZSgpOwovLy8gICAgIGxldCBmaXp6OiBCb29sID0gcy5yZWZz" +
"RW1wdHkoKTsgICAgICAgICAgICAgICAgICAgICAvLyBmYWxzZQovLy8gICAgIGxldCBidXp6OiBCb29sID0gYmVnaW5DZWxsKCkuYXNTbGljZSgpLnJlZnNFbXB0eSgp" +
"OyAvLyB0cnVlCi8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI3NsaWNlcmVmc2VtcHR5Ci8v" +
"Lwphc20gZXh0ZW5kcyBmdW4gcmVmc0VtcHR5KHNlbGY6IFNsaWNlKTogQm9vbCB7IFNSRU1QVFkgfQoKLy8KLy8gQ29udmVyc2lvbnMKLy8KCi8vLyBFeHRlbnNpb24g" +
"ZnVuY3Rpb24gZm9yIHRoZSBgQnVpbGRlcmAgdHlwZS4KLy8vCi8vLyBDb252ZXJ0cyB0aGUgYEJ1aWxkZXJgIGludG8gYSBgU2xpY2VgIGFuZCByZXR1cm5zIGl0Lgov" +
"Ly8gQW4gYWxpYXMgdG8gYHNlbGYuZW5kQ2VsbCgpLmJlZ2luUGFyc2UoKWAuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGI6" +
"IEJ1aWxkZXIgPSBiZWdpbkNlbGwoKTsKLy8vICAgICBsZXQgZml6ejogU2xpY2UgPSBiLmFzU2xpY2UoKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6" +
"Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjYnVpbGRlcmFzc2xpY2UKLy8vCmlubGluZSBleHRlbmRzIGZ1biBhc1NsaWNlKHNlbGY6IEJ1aWxkZXIp" +
"OiBTbGljZSB7CiAgICByZXR1cm4gc2VsZi5lbmRDZWxsKCkuYmVnaW5QYXJzZSgpOwp9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUgYENlbGxgIHR5cGUu" +
"Ci8vLwovLy8gQ29udmVydHMgdGhlIGBDZWxsYCB0byBhIGBTbGljZWAgYW5kIHJldHVybnMgaXQuCi8vLyBBbiBhbGlhcyB0byBgc2VsZi5iZWdpblBhcnNlKClgLgov" +
"Ly8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBjOiBDZWxsID0gZW1wdHlDZWxsKCk7Ci8vLyAgICAgbGV0IGZpeno6IFNsaWNlID0g" +
"Yy5hc1NsaWNlKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2NlbGxhc3NsaWNlCi8v" +
"LwppbmxpbmUgZXh0ZW5kcyBmdW4gYXNTbGljZShzZWxmOiBDZWxsKTogU2xpY2UgewogICAgcmV0dXJuIHNlbGYuYmVnaW5QYXJzZSgpOwp9CgovLy8gRXh0ZW5zaW9u" +
"IGZ1bmN0aW9uIGZvciB0aGUgYFNsaWNlYCB0eXBlLgovLy8KLy8vIENvbnZlcnRzIHRoZSBgU2xpY2VgIHRvIGEgYENlbGxgIGFuZCByZXR1cm5zIGl0LgovLy8gQW4g" +
"YWxpYXMgdG8gYGJlZ2luQ2VsbCgpLnN0b3JlU2xpY2Uoc2VsZikuZW5kQ2VsbCgpYC4KLy8vCi8vLyBOT1RFOiAqKkdhcyBleHBlbnNpdmUhKiogVGhpcyBmdW5jdGlv" +
"biB1c2VzIDUwMCBnYXMgdW5pdHMgb3IgbW9yZS4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgczogU2xpY2UgPSBiZWdpbkNl" +
"bGwoKS5hc1NsaWNlKCk7Ci8vLyAgICAgbGV0IGZpeno6IENlbGwgPSBzLmFzQ2VsbCgpOwovLy8gICAgIGxldCBidXp6OiBDZWxsID0gYmVnaW5DZWxsKCkuc3RvcmVT" +
"bGljZShzKS5lbmRDZWxsKCk7Ci8vLwovLy8gICAgIGZpenogPT0gYnV6ejsgLy8gdHJ1ZQovLy8gfQovLy8gYGBgCi8vLwovLy8gU2VlOiBodHRwczovL2RvY3MudGFj" +
"dC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNzbGljZWFzY2VsbAovLy8KaW5saW5lIGV4dGVuZHMgZnVuIGFzQ2VsbChzZWxmOiBTbGljZSk6IENlbGwgewogICAgcmV0" +
"dXJuIGJlZ2luQ2VsbCgpCiAgICAgICAgLnN0b3JlU2xpY2Uoc2VsZikKICAgICAgICAuZW5kQ2VsbCgpOwp9CgovLy8gRXh0ZW5zaW9uIGZ1bmN0aW9uIGZvciB0aGUg" +
"YEJ1aWxkZXJgIHR5cGUuCi8vLwovLy8gQ29udmVydHMgdGhlIGBCdWlsZGVyYCBpbnRvIGEgYENlbGxgIGFuZCByZXR1cm5zIGl0LgovLy8gQW4gYWxpYXMgdG8gYHNl" +
"bGYuZW5kQ2VsbCgpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYjogQnVpbGRlciA9IGJlZ2luQ2VsbCgpOwovLy8gICAg" +
"IGxldCBmaXp6OiBDZWxsID0gYi5hc0NlbGwoKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2Vs" +
"bHMjYnVpbGRlcmFzY2VsbAovLy8KaW5saW5lIGV4dGVuZHMgZnVuIGFzQ2VsbChzZWxmOiBCdWlsZGVyKTogQ2VsbCB7CiAgICByZXR1cm4gc2VsZi5lbmRDZWxsKCk7" +
"Cn0KCi8vLyBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIGVtcHR5IGBDZWxsYCAod2l0aG91dCBkYXRhIGFuZCByZWZlcmVuY2VzKS4KLy8vIEFuIGFsaWFzIHRvIGBiZWdp" +
"bkNlbGwoKS5lbmRDZWxsKClgLgovLy8KLy8vIGBgYHRhY3QKLy8vIGZ1biBleGFtcGxlKCkgewovLy8gICAgIGxldCBmaXp6OiBDZWxsID0gZW1wdHlDZWxsKCk7Ci8v" +
"LyAgICAgbGV0IGJ1eno6IENlbGwgPSBiZWdpbkNlbGwoKS5lbmRDZWxsKCk7Ci8vLwovLy8gICAgIGZpenogPT0gYnV6ejsgLy8gdHJ1ZQovLy8gfQovLy8gYGBgCi8v" +
"LwovLy8gU2VlOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jZWxscyNlbXB0eWNlbGwKLy8vCmFzbSBmdW4gZW1wdHlDZWxsKCk6IENlbGwgewog" +
"ICAgPGIgYj4gUFVTSFJFRiAvLyBQdXJlIEZpZnQ6ICI8YiIgY3JlYXRlcyBhIGJ1aWxkZXIsICJiPiIgdHVybnMgaXQgaW50byBhIGNlbGwgYXQgY29tcGlsZSB0aW1l" +
"Cn0KCi8vLyBDcmVhdGVzIGFuZCByZXR1cm5zIGFuIGVtcHR5IGBTbGljZWAgKHdpdGhvdXQgZGF0YSBhbmQgcmVmZXJlbmNlcykuCi8vLyBBbiBhbGlhcyB0byBgZW1w" +
"dHlDZWxsKCkuYXNTbGljZSgpYC4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgZml6ejogU2xpY2UgPSBlbXB0eVNsaWNlKCk7" +
"Ci8vLyAgICAgbGV0IGJ1eno6IFNsaWNlID0gZW1wdHlDZWxsKCkuYXNTbGljZSgpOwovLy8KLy8vICAgICBmaXp6ID09IGJ1eno7IC8vIHRydWUKLy8vIH0KLy8vIGBg" +
"YAovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjZW1wdHlzbGljZQovLy8KYXNtIGZ1biBlbXB0eVNsaWNlKCk6IFNs" +
"aWNlIHsKICAgIGJ7fSBQVVNIU0xJQ0UKfQoKLy8vIFN0cnVjdCBmb3IgaG9sZGluZyB2YWx1ZXMgY29tcHV0ZWQgYnkgdGhlIGBDZWxsLmNvbXB1dGVEYXRhU2l6ZSgp" +
"YCBhbmQgYFNsaWNlLmNvbXB1dGVEYXRhU2l6ZSgpYCBleHRlbnNpb24gZnVuY3Rpb25zLiBBdmFpbGFibGUgc2luY2UgVGFjdCAxLjYuMC4KLy8vCi8vLyBTZWU6Ci8v" +
"LyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNlbGxzI2NlbGxjb21wdXRlZGF0YXNpemUKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5v" +
"cmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vjb21wdXRlZGF0YXNpemUKLy8vCnN0cnVjdCBEYXRhU2l6ZSB7CiAgICAvLy8gVGhlIHRvdGFsIG51bWJlciBvZiBuZXN0ZWQg" +
"Y2VsbHMsIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lLgogICAgY2VsbHM6IEludDsKCiAgICAvLy8gVGhlIHRvdGFsIG51bWJlciBvZiBiaXRzIGluIGFsbCBuZXN0" +
"ZWQgY2VsbHMsIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25lLgogICAgYml0czogSW50OwoKICAgIC8vLyBUaGUgdG90YWwgbnVtYmVyIG9mIHJlZnMgaW4gYWxsIG5l" +
"c3RlZCBjZWxscywgaW5jbHVkaW5nIHRoZSBzdGFydGluZyBvbmUuCiAgICByZWZzOiBJbnQ7Cn0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQ2VsbGAg" +
"dHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ29tcHV0ZXMgYW5kIHJldHVybnMgdGhlIG51bWJlciBvZiBkaXN0aW5jdCBjZWxscywgYml0" +
"cyBhbmQgcmVmcyBpbiB0aGUgYENlbGxgIGJ5IHVzaW5nIGEgZGVwdGgtZmlyc3Qgc2VhcmNoIChERlMpIGFsZ29yaXRobSwgcmVjdXJzaXZlbHkgdHJhdmVyc2luZyBl" +
"YWNoIHJlZmVyZW5jZWQgY2VsbC4gVGhpcyBmdW5jdGlvbiBpcyBjb21wdXRhdGlvbmFsbHkgZXhwZW5zaXZlIGFuZCBjYW4gY29uc3VtZSBhIGxvdCBvZiBnYXMuIElm" +
"IGBzZWxmYCBpcyBgbnVsbGAsIHJldHVybnMgYERhdGFTaXplYCB3aXRoIGFsbCBmaWVsZHMgc2V0IHRvIDAuCi8vLwovLy8gVGhlIHJlc3VsdHMgYXJlIHBhY2tlZCBp" +
"bnRvIGEgYERhdGFTaXplYCBTdHJ1Y3QgY29uc2lzdGluZyBvZjoKLy8vICogYGNlbGxzOiBJbnRgLCB0aGUgdG90YWwgbnVtYmVyIG9mIG5lc3RlZCBjZWxscywgaW5j" +
"bHVkaW5nIHRoZSBzdGFydGluZyBvbmUKLy8vICogYGJpdHM6IEludGAsIHRoZSB0b3RhbCBudW1iZXIgb2YgYml0cyBpbiBhbGwgbmVzdGVkIGNlbGxzLCBpbmNsdWRp" +
"bmcgdGhlIHN0YXJ0aW5nIG9uZQovLy8gKiBgcmVmczogSW50YCwgdGhlIHRvdGFsIG51bWJlciBvZiByZWZzIGluIGFsbCBuZXN0ZWQgY2VsbHMsIGluY2x1ZGluZyB0" +
"aGUgc3RhcnRpbmcgb25lCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGM6IENlbGwgPSBiZWdpbkNlbGwoKS5zdG9yZUludCg0" +
"MiwgNykuc3RvcmVSZWYoZW1wdHlDZWxsKCkpLmVuZENlbGwoKTsKLy8vICAgICB0cnkgewovLy8gICAgICAgICBsZXQgZGF0YVNpemU6IERhdGFTaXplID0gYy5jb21w" +
"dXRlRGF0YVNpemUoMik7Ci8vLyAgICAgICAgIGRhdGFTaXplLmNlbGxzOyAvLyAyCi8vLyAgICAgICAgIGRhdGFTaXplLmJpdHM7ICAvLyA3Ci8vLyAgICAgICAgIGRh" +
"dGFTaXplLnJlZnM7ICAvLyAxCi8vLyAgICAgfSBjYXRjaCAoZXhpdENvZGUpIHsKLy8vICAgICAgICAgLy8gaWYgbWF4Q2VsbHMgd2FzIGluc3VmZmljaWVudCB0byB0" +
"cmF2ZXJzZSB0aGUgY2VsbAovLy8gICAgICAgICAvLyBhbmQgYWxsIG9mIGl0cyByZWZlcmVuY2VzLCB0aGUgZXhpdENvZGUgaGVyZSB3b3VsZCBiZSA4Ci8vLyAgICAg" +
"fQovLy8gfQovLy8gYGBgCi8vLwovLy8gIyMjIyBFeGl0IGNvZGVzCi8vLwovLy8gKiA1OiBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdIOKAlCBUaHJvd24g" +
"d2hlbiBhdHRlbXB0aW5nIHRvIHNwZWNpZnkgYSBuZWdhdGl2ZSB2YWx1ZSBvZiBgbWF4Q2VsbHNgLgovLy8gKiA4OiBbQ2VsbCBvdmVyZmxvd10g4oCUIFRocm93biB3" +
"aGVuIHRoZSBzcGVjaWZpZWQgYG1heENlbGxzYCB2YWx1ZSBpc24ndCBlbm91Z2ggdG8gdHJhdmVyc2UgYWxsIGNlbGxzIGluY2x1ZGluZyB0aGUgc3RhcnRpbmcgb25l" +
"LgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjY2VsbGNvbXB1dGVkYXRhc2l6ZQovLy8KLy8vIFtJbnRlZ2VyIG91" +
"dCBvZiBleHBlY3RlZCByYW5nZV06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM1Ci8vLyBbQ2VsbCBvdmVyZmxvd106IGh0dHBzOi8v" +
"ZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svZXhpdC1jb2RlcyM4Ci8vLwphc20gZXh0ZW5kcyBmdW4gY29tcHV0ZURhdGFTaXplKHNlbGY6IENlbGw/LCBtYXhDZWxsczog" +
"SW50KTogRGF0YVNpemUgeyBDREFUQVNJWkUgfQoKLy8vIEV4dGVuc2lvbiBmdW5jdGlvbiBmb3IgdGhlIGBTbGljZWAgdHlwZS4gQXZhaWxhYmxlIHNpbmNlIFRhY3Qg" +
"MS42LjAuCi8vLwovLy8gU2ltaWxhciB0byBgQ2VsbC5jb21wdXRlRGF0YVNpemUoKWAsIGJ1dCBkb2Vzbid0IHRha2UgaW50byBhY2NvdW50IHRoZSBjZWxsIHRoYXQg" +
"Y29udGFpbnMgdGhlIGBTbGljZWAgaXRzZWxmLiBIb3dldmVyLCBhY2NvdW50cyBmb3IgaXRzIGJpdHMgYW5kIHJlZnMuCi8vLwovLy8gVGhlIHJlc3VsdHMgYXJlIHBh" +
"Y2tlZCBpbnRvIGEgYERhdGFTaXplYCBTdHJ1Y3QgY29uc2lzdGluZyBvZjoKLy8vICogYGNlbGxzOiBJbnRgLCB0aGUgdG90YWwgbnVtYmVyIG9mIG5lc3RlZCBjZWxs" +
"cywgaW5jbHVkaW5nIHRoZSBzdGFydGluZyBvbmUKLy8vICogYGJpdHM6IEludGAsIHRoZSB0b3RhbCBudW1iZXIgb2YgYml0cyBpbiBhbGwgbmVzdGVkIGNlbGxzLCBp" +
"bmNsdWRpbmcgdGhlIHN0YXJ0aW5nIG9uZQovLy8gKiBgcmVmczogSW50YCwgdGhlIHRvdGFsIG51bWJlciBvZiByZWZzIGluIGFsbCBuZXN0ZWQgY2VsbHMsIGluY2x1" +
"ZGluZyB0aGUgc3RhcnRpbmcgb25lCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IHM6IFNsaWNlID0gYmVnaW5DZWxsKCkuc3Rv" +
"cmVJbnQoNDIsIDcpLnN0b3JlUmVmKGVtcHR5Q2VsbCgpKS5hc1NsaWNlKCk7Ci8vLyAgICAgdHJ5IHsKLy8vICAgICAgICAgbGV0IGRhdGFTaXplOiBEYXRhU2l6ZSA9" +
"IHMuY29tcHV0ZURhdGFTaXplKDEpOwovLy8gICAgICAgICBkYXRhU2l6ZS5jZWxsczsgLy8gMQovLy8gICAgICAgICBkYXRhU2l6ZS5iaXRzOyAgLy8gNwovLy8gICAg" +
"ICAgICBkYXRhU2l6ZS5yZWZzOyAgLy8gMQovLy8gICAgIH0gY2F0Y2ggKGV4aXRDb2RlKSB7Ci8vLyAgICAgICAgIC8vIGlmIG1heENlbGxzIHdhcyBpbnN1ZmZpY2ll" +
"bnQgdG8gdHJhdmVyc2UgdGhlIGNlbGwKLy8vICAgICAgICAgLy8gYW5kIGFsbCBvZiBpdHMgcmVmZXJlbmNlcywgdGhlIGV4aXRDb2RlIGhlcmUgd291bGQgYmUgOAov" +
"Ly8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vICMjIyMgRXhpdCBjb2RlcwovLy8KLy8vICogNTogW0ludGVnZXIgb3V0IG9mIGV4cGVjdGVkIHJhbmdlXSDigJQg" +
"VGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byBzcGVjaWZ5IGEgbmVnYXRpdmUgdmFsdWUgb2YgYG1heENlbGxzYC4KLy8vICogODogW0NlbGwgb3ZlcmZsb3ddIOKAlCBU" +
"aHJvd24gd2hlbiB0aGUgc3BlY2lmaWVkIGBtYXhDZWxsc2AgdmFsdWUgaXNuJ3QgZW5vdWdoIHRvIHRyYXZlcnNlIGFsbCBjZWxscyAqKm5vdCoqIGluY2x1ZGluZyB0" +
"aGUgc3RhcnRpbmcgb25lLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjc2xpY2Vjb21wdXRlZGF0YXNpemUKLy8v" +
"Ci8vLyBbSW50ZWdlciBvdXQgb2YgZXhwZWN0ZWQgcmFuZ2VdOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjNQovLy8gW0NlbGwgb3Zl" +
"cmZsb3ddOiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9ib29rL2V4aXQtY29kZXMjOAovLy8KYXNtIGV4dGVuZHMgZnVuIGNvbXB1dGVEYXRhU2l6ZShzZWxmOiBT" +
"bGljZSwgbWF4Q2VsbHM6IEludCk6IERhdGFTaXplIHsgU0RBVEFTSVpFIH0KCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQ2VsbGAgdHlwZS4gQXZhaWxh" +
"YmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ29tcHV0ZXMgYW5kIHJldHVybnMgdGhlIGBJbnRgIGRlcHRoIG9mIHRoZSBgQ2VsbGAuIFByb2R1Y2VzIDAgaWYg" +
"dGhlIGBDZWxsYCBoYXMgbm8gcmVmZXJlbmNlcywgb3RoZXJ3aXNlIDEgcGx1cyB0aGUgbWF4aW11bSBvZiB0aGUgZGVwdGhzIG9mIHRoZSByZWZlcmVuY2VkIGNlbGxz" +
"LiBJZiBjIGlzIG51bGwsIHJldHVybnMgemVyby4KLy8vCi8vLyBgYGB0YWN0Ci8vLyBmdW4gZXhhbXBsZSgpIHsKLy8vICAgICBsZXQgYzogQ2VsbCA9IGJlZ2luQ2Vs" +
"bCgpLnN0b3JlSW50KDQyLCA3KS5lbmRDZWxsKCk7Ci8vLyAgICAgbGV0IGRlcHRoOiBJbnQgPSBjLmRlcHRoKCk7IC8vIDAKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNl" +
"ZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY2VsbHMjY2VsbGRlcHRoCi8vLwphc20gZXh0ZW5kcyBmdW4gZGVwdGgoc2VsZjogQ2VsbD8pOiBJ" +
"bnQgeyBDREVQVEggfQo=";
files["std/internal/config.tact"] =
"Ly8vIExvYWRzIGEgW2NvbmZpZ3VyYXRpb24gcGFyYW1ldGVyXSBvZiBUT04gQmxvY2tjaGFpbiBieSBpdHMgYGlkYCBudW1iZXIuCi8vLwovLy8gU2VlOiBodHRwczov" +
"L2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1jb250ZXh0c3RhdGUjZ2V0Y29uZmlncGFyYW0KLy8vCi8vLyBbY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJdOiBodHRw" +
"czovL2RvY3MudG9uLm9yZy9kZXZlbG9wL2hvd3RvL2Jsb2NrY2hhaW4tY29uZmlncwovLy8KYXNtIGZ1biBnZXRDb25maWdQYXJhbShpZDogSW50KTogQ2VsbD8geyBD" +
"T05GSUdPUFRQQVJBTSB9Cg==";
files["std/internal/context.tact"] =
"Ly8vIFJlcHJlc2VudHMgdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgbWVzc2FnZS4Kc3RydWN0IENvbnRleHQgewogICAgLy8vIEluZGljYXRlcyB3aGV0aGVyIHRo" +
"ZSByZWNlaXZlZCBtZXNzYWdlIGNhbgogICAgLy8vIFtib3VuY2UgYmFja10oaHR0cHM6Ly9kb2NzLnRvbi5vcmcvdjMvZG9jdW1lbnRhdGlvbi9zbWFydC1jb250cmFj" +
"dHMvbWVzc2FnZS1tYW5hZ2VtZW50L25vbi1ib3VuY2VhYmxlLW1lc3NhZ2VzKS4KICAgIGJvdW5jZWFibGU6IEJvb2w7CgogICAgLy8vIEludGVybmFsIGFkZHJlc3Mg" +
"b2YgdGhlIHNlbmRlciBvbiB0aGUgVE9OIEJsb2NrY2hhaW4uCiAgICBzZW5kZXI6IEFkZHJlc3M7CgogICAgLy8vIEFtb3VudCBvZiBbbmFub1RvbmNvaW5dKGh0dHBz" +
"Oi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svaW50ZWdlcnMjbmFub3RvbmNvaW4pIGluIHRoZSByZWNlaXZlZCBtZXNzYWdlLgogICAgdmFsdWU6IEludDsKCiAgICAv" +
"Ly8gVGhlIHJlbWFpbmRlciBvZiB0aGUgcmVjZWl2ZWQgbWVzc2FnZSBhcyBhIGBTbGljZWAuIEl0IGZvbGxvd3MgdGhlIFtpbnRlcm5hbCBtZXNzYWdlIGxheW91dF0K" +
"ICAgIC8vLyBvZiBUT04sIHN0YXJ0aW5nIGZyb20gdGhlIGRlc3RpbmF0aW9uIGBBZGRyZXNzYCAoYE1zZ0FkZHJlc3NJbnRgIGluIFtUTC1CIG5vdGF0aW9uXSkuCiAg" +
"ICAvLy8KICAgIC8vLyBbaW50ZXJuYWwgbWVzc2FnZSBsYXlvdXRdOiBodHRwczovL2RvY3MudG9uLm9yZy9kZXZlbG9wL3NtYXJ0LWNvbnRyYWN0cy9tZXNzYWdlcyNt" +
"ZXNzYWdlLWxheW91dAogICAgLy8vIFtUTC1CIG5vdGF0aW9uXTogaHR0cHM6Ly9kb2NzLnRvbi5vcmcvZGV2ZWxvcC9kYXRhLWZvcm1hdHMvdGwtYi1sYW5ndWFnZQog" +
"ICAgcmF3OiBTbGljZTsKfQoKLy8vIFJldHVybnMgYENvbnRleHRgIHN0cnVjdCwgd2hpY2ggY29uc2lzdHMgb2Y6Ci8vLwovLy8gKiBgYm91bmNlYWJsZWAg4oCUIElu" +
"ZGljYXRlcyB3aGV0aGVyIHRoZSByZWNlaXZlZCBtZXNzYWdlIGNhbiBbYm91bmNlIGJhY2tdLgovLy8gKiBgc2VuZGVyYCDigJQgSW50ZXJuYWwgYWRkcmVzcyBvZiB0" +
"aGUgc2VuZGVyIG9uIHRoZSBUT04gYmxvY2tjaGFpbi4KLy8vICogYHZhbHVlYCDigJQgQW1vdW50IG9mIFtuYW5vVG9uY29pbl0gaW4gdGhlIHJlY2VpdmVkIG1lc3Nh" +
"Z2UuCi8vLyAqIGByYXdgIOKAlCBUaGUgcmVtYWluZGVyIG9mIHRoZSByZWNlaXZlZCBtZXNzYWdlIGFzIGEgYFNsaWNlYC4gSXQgZm9sbG93cyB0aGUgW2ludGVybmFs" +
"IG1lc3NhZ2UgbGF5b3V0XSBvZiBUT04sIHN0YXJ0aW5nIGZyb20gdGhlIGRlc3RpbmF0aW9uIGBBZGRyZXNzYCAoYE1zZ0FkZHJlc3NJbnRgIGluIFtUTC1CIG5vdGF0" +
"aW9uXSkuCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIHRlc3QoKSB7Ci8vLyAgICAgbGV0IGN0eDogQ29udGV4dCA9IGNvbnRleHQoKTsKLy8vICAgICByZXF1aXJlKGN0" +
"eC52YWx1ZSAhPSA2OCArIDEsICJJbnZhbGlkIGFtb3VudCBvZiBuYW5vVG9uY29pbnMsIGJ5ZSEiKTsKLy8vIH0KLy8vIGBgYAovLy8KLy8vIE5vdGU6IElmIHlvdSBv" +
"bmx5IG5lZWQgdG8ga25vdyB3aG8gc2VudCB0aGUgbWVzc2FnZSwgdXNlIHRoZSBgc2VuZGVyKClgIGZ1bmN0aW9uLAovLy8gYXMgaXQgaXMgbGVzcyBnYXMtY29uc3Vt" +
"aW5nLgovLy8KLy8vIFNlZTogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtY29udGV4dHN0YXRlI2NvbnRleHQKLy8vCi8vLyBbYm91bmNlIGJhY2td" +
"OiBodHRwczovL2RvY3MudG9uLm9yZy92My9kb2N1bWVudGF0aW9uL3NtYXJ0LWNvbnRyYWN0cy9tZXNzYWdlLW1hbmFnZW1lbnQvbm9uLWJvdW5jZWFibGUtbWVzc2Fn" +
"ZXMKLy8vIFtuYW5vVG9uY29pbl06IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svaW50ZWdlcnMjbmFub3RvbmNvaW4KLy8vIFtpbnRlcm5hbCBtZXNzYWdl" +
"IGxheW91dF06IGh0dHBzOi8vZG9jcy50b24ub3JnL2RldmVsb3Avc21hcnQtY29udHJhY3RzL21lc3NhZ2VzI21lc3NhZ2UtbGF5b3V0Ci8vLyBbVEwtQiBub3RhdGlv" +
"bl06IGh0dHBzOi8vZG9jcy50b24ub3JnL2RldmVsb3AvZGF0YS1mb3JtYXRzL3RsLWItbGFuZ3VhZ2UKLy8vCkBuYW1lKF9fdGFjdF9jb250ZXh0X2dldCkKbmF0aXZl" +
"IGNvbnRleHQoKTogQ29udGV4dDsKCi8vLyBSZXR1cm5zIHRoZSBgQWRkcmVzc2Agb2YgdGhlIHNlbmRlciBvZiB0aGUgY3VycmVudCBtZXNzYWdlLgovLy8KLy8vIGBg" +
"YHRhY3QKLy8vIGNvbnRyYWN0IE1lU2VlIHsKLy8vICAgICByZWNlaXZlKCkgewovLy8gICAgICAgICBsZXQgd2hvU2VudE1lTWVzc2FnZTogQWRkcmVzcyA9IHNlbmRl" +
"cigpOwovLy8gICAgIH0KLy8vIH0KLy8vIGBgYAovLy8KLy8vIE5vdGU6IEJlaGF2aW9yIGlzIHVuZGVmaW5lZCBmb3IgW2dldHRlciBmdW5jdGlvbnNdLCBiZWNhdXNl" +
"IHRoZXkgY2Fubm90IGhhdmUgYSBzZW5kZXIKLy8vIG5vciBjYW4gdGhleSBzZW5kIG1lc3NhZ2VzLgovLy8KLy8vIFRpcDogVG8gcmVkdWNlIGdhcyB1c2FnZSwgcHJl" +
"ZmVyIHVzaW5nIHRoaXMgZnVuY3Rpb24gb3ZlciBjYWxsaW5nIGBjb250ZXh0KCkuc2VuZGVyYAovLy8gd2hlbiB5b3Ugb25seSBuZWVkIHRvIGtub3cgdGhlIHNlbmRl" +
"ciBvZiB0aGUgbWVzc2FnZS4KLy8vCi8vLyBTZWU6IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNzZW5kZXIKLy8vCi8vLyBb" +
"Z2V0dGVyIGZ1bmN0aW9uc106IGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL2Jvb2svY29udHJhY3RzI2dldHRlci1mdW5jdGlvbnMKLy8vCkBuYW1lKF9fdGFjdF9j" +
"b250ZXh0X2dldF9zZW5kZXIpCm5hdGl2ZSBzZW5kZXIoKTogQWRkcmVzczsKCi8vLyBFeHRlbnNpb24gZnVuY3Rpb24gZm9yIHRoZSBgQ29udGV4dGAgc3RydWN0dXJl" +
"LgovLy8KLy8vIFJlYWRzIGZvcndhcmQgZmVlIGFuZCByZXR1cm5zIGl0IGFzIGBJbnRgIGFtb3VudCBvZiBuYW5vVG9uY29pbnMuCi8vLwovLy8gYGBgdGFjdAovLy8g" +
"ZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGZ3ZEZlZTogSW50ID0gY29udGV4dCgpLnJlYWRGb3J3YXJkRmVlKCk7Ci8vLyB9Ci8vLyBgYGAKLy8vCi8vLyBTZWU6" +
"Ci8vLyAqIGh0dHBzOi8vZG9jcy50YWN0LWxhbmcub3JnL3JlZi9jb3JlLWNvbnRleHRzdGF0ZSNjb250ZXh0cmVhZGZvcndhcmRmZWUKLy8vICogaHR0cHM6Ly9kb2Nz" +
"LnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtZ2FzI2dldG9yaWdpbmFsZndkZmVlCi8vLwphc20gZXh0ZW5kcyBmdW4gcmVhZEZvcndhcmRGZWUoc2VsZjogQ29udGV4dCk6" +
"IEludCB7CiAgICAvLyBPbmx5IHRoZSBzZWxmLnJhdyAoQ29udGV4dC5yYXcpIGlzIGltcG9ydGFudCwKICAgIC8vIHNvIGFsbCB0aGUgb3RoZXIgZmllbGRzIGFuZCBs" +
"b2FkZWQgdmFsdWVzIHdpbGwgYmUgZHJvcHBlZCBieSBgQkxLRFJPUDJgCiAgICAvLwogICAgLy8gQ29udGV4dC5yYXcgc3RhcnRzIGF0IHRoZSBkZXN0Ok1zZ0FkZHJl" +
"c3NJbnQsIGZvbGxvd2luZyB0aGlzIFRMLUIgc2NoZW1lOgogICAgLy8gaW50X21zZ19pbmZvJDAKICAgIC8vICAgaWhyX2Rpc2FibGVkOkJvb2wKICAgIC8vICAgYm91" +
"bmNlOkJvb2wKICAgIC8vICAgYm91bmNlZDpCb29sCiAgICAvLyAgIHNyYzpNc2dBZGRyZXNzCiAgICAvLyAgIGRlc3Q6TXNnQWRkcmVzc0ludCDihpAgaGVyZSBpcyB0" +
"aGUgc3RhcnQKICAgIC8vICAgdmFsdWU6Q3VycmVuY3lDb2xsZWN0aW9uCiAgICAvLyAgIGlocl9mZWU6R3JhbXMKICAgIC8vICAgZndkX2ZlZTpHcmFtcwogICAgLy8g" +
"ICBjcmVhdGVkX2x0OnVpbnQ2NAogICAgLy8gICBjcmVhdGVkX2F0OnVpbnQzMgogICAgLy8gPSBDb21tb25Nc2dJbmZvUmVsYXhlZDsKCiAgICBMRE1TR0FERFIgICAv" +
"LyBsb2FkIGRlc3Q6TXNnQWRkcmVzc0ludAogICAgTERHUkFNUyAgICAgLy8gbG9hZCB2YWx1ZTpDdXJyZW5jeUNvbGxlY3Rpb24KICAgIE9ORQogICAgU0RTS0lQRklS" +
"U1QgLy8gc2tpcCBleHRyYSBjdXJyZW5jeSBjb2xsZWN0aW9uCiAgICBMREdSQU1TICAgICAvLyBsb2FkIGlocl9mZWUKICAgIExER1JBTVMgICAgIC8vIGxvYWQgZndk" +
"X2ZlZSwgd2UnbGwgYmUgdXNpbmcgdGhpcyEKICAgIERST1AgICAgICAgIC8vIGRyb3AgcmVtYWluaW5nIFNsaWNlICh3aXRoIGNyZWF0ZWRfbHQgYW5kIGNyZWF0ZWRf" +
"YXQpCgogICAgLy8gVGhlcmUgYXJlIDcgZW50cmllcyBvbiB0aGUgc3RhY2sg4oCUIGZpcnN0IDMgZmllbGRzIG9mIENvbnRleHQgcGx1cyA0IGxvYWRlZCBvbmVzLgog" +
"ICAgLy8gVGhlIHRvcG1vc3QgaXMgZndkX2ZlZSwgd2hpY2ggaXMgdGhlIG9ubHkgb25lIHdlJ3JlIGFmdGVyLCBzbyBsZXQncyBkcm9wIDYgZW50cmllcyBiZWxvdzoK" +
"ICAgIDYgMSBCTEtEUk9QMiAvLyBkcm9wIHRoZSBsb2FkZWQgdmFsdWVzIGFzIHdlbGwgYXMgdGhlIGZpcnN0IDMgZmllbGRzIG9mIENvbnRleHQKCiAgICBaRVJPICAg" +
"ICAgICAgICAgICAvLyBub3QgbWFzdGVyY2hhaW4KICAgIEdFVE9SSUdJTkFMRldERkVFIC8vIGZsb29yKGZ3ZF9mZWUgKiAyXjE2IC8gKDJeMTYgLSBmaXJzdF9mcmFj" +
"KSksIHdoZXJlCiAgICAgICAgICAgICAgICAgICAgICAvLyBmaXJzdF9mcmFjIGlzIGEgdmFsdWUgbGlzdGVkIGluIGNvbmZpZyBwYXJhbSAyNQogICAgICAgICAgICAg" +
"ICAgICAgICAgLy8gb2YgdGhlIGJsb2NrY2hhaW46IGh0dHBzOi8vdG9udmlld2VyLm9yZy9jb25maWcjMjUKICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgaW5z" +
"dHJ1Y3Rpb24gZWZmZWN0aXZlbHkgbXVsdGlwbGllcyB0aGUgZndkX2ZlZSBieSAxLjUsCiAgICAgICAgICAgICAgICAgICAgICAvLyBhdCBsZWFzdCBmb3IgdGhlIGN1" +
"cnJlbnQgdmFsdWUgb2YgZmlyc3RfZnJhYywgd2hpY2ggaXMgMjE4NDUKfQo=";
files["std/internal/contract.tact"] =
"Ly8vIEdsb2JhbCBmdW5jdGlvbi4gQXZhaWxhYmxlIHNpbmNlIFRhY3QgMS42LjAuCi8vLwovLy8gQ29tcHV0ZXMgYW5kIHJldHVybnMgYW4gYEludGAgdmFsdWUgb2Yg" +
"dGhlIFNIQS0yNTYgaGFzaCBvZiB0aGUgYGNvZGVgIGFuZCBgZGF0YWAgb2YgdGhlIGdpdmVuIGNvbnRyYWN0LiBUbyBhc3NlbWJsZSB0aGUgYGNvZGVgIGFuZCBgZGF0" +
"YWAgY2VsbHMgdG9nZXRoZXIgZm9yIGhhc2hpbmcsIHRoZSBzdGFuZGFyZCBgQ2VsbGAgcmVwcmVzZW50YXRpb24gaXMgdXNlZC4KLy8vCi8vLyBUaGlzIGhhc2ggaXMg" +
"Y29tbW9ubHkgY2FsbGVkIGFjY291bnQgSUQuIFRvZ2V0aGVyIHdpdGggdGhlIHdvcmtjaGFpbiBJRCBpdCBkZXRlcm1pbmlzdGljYWxseSBmb3JtcyB0aGUgYWRkcmVz" +
"cyBvZiB0aGUgY29udHJhY3Qgb24gVE9OIEJsb2NrY2hhaW4uCi8vLwovLy8gYGBgdGFjdAovLy8gZnVuIGV4YW1wbGUoKSB7Ci8vLyAgICAgbGV0IGluaXRQa2c6IFN0" +
"YXRlSW5pdCA9IGluaXRPZiBTb21lQ29udHJhY3QoKTsKLy8vICAgICBsZXQgYWNjb3VudElkOiBJbnQgPSBjb250cmFjdEhhc2goaW5pdFBrZy5jb2RlLCBpbml0UGtn" +
"LmRhdGEpOwovLy8gICAgIGxldCBiYXNlY2hhaW5BZGRyOiBBZGRyZXNzID0gbmV3QWRkcmVzcygwLCBhY2NvdW50SWQpOwovLy8gICAgIGxldCBiYXNlY2hhaW5BZGRy" +
"MjogQWRkcmVzcyA9IGNvbnRyYWN0QWRkcmVzc0V4dCgwLCBpbml0UGtnLmNvZGUsIGluaXRQa2cuZGF0YSk7Ci8vLwovLy8gICAgIGJhc2VjaGFpbkFkZHIgPT0gYmFz" +
"ZWNoYWluQWRkcjI7IC8vIHRydWUKLy8vIH0KLy8vIGBgYAovLy8KLy8vIFNlZToKLy8vICogaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvcmVmL2NvcmUtYWRkcmVz" +
"c2VzI2NvbnRyYWN0aGFzaAovLy8gKiBodHRwczovL2RvY3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZGRyZXNzZXMjbmV3YWRkcmVzcwovLy8gKiBodHRwczovL2Rv" +
"Y3MudGFjdC1sYW5nLm9yZy9yZWYvY29yZS1hZGRyZXNzZXMjY29udHJhY3RhZGRyZXNzZXh0Ci8vLwphc20gZnVuIGNvbnRyYWN0SGFzaChjb2RlOiBDZWxsLCBkYXRh" +
"OiBDZWxsKTogSW50IHsKICAgIC8vIEFjY29yZGluZyB0byB0aGUgaHR0cHM6Ly9kb2NzLnRhY3QtbGFuZy5vcmcvYm9vay9jZWxscyNjZWxscy1yZXByZXNlbnRhdGlv" +