cuprate_wire/p2p/
admin.rs

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
// Rust Levin Library
// Written in 2023 by
//   Cuprate Contributors
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
// in the Software without restriction, including without limitation the rights
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//

//! This module defines Monero admin messages
//!
//! Admin message requests must be responded to in order unlike
//! protocol messages.   

use bytes::Bytes;
use cuprate_epee_encoding::epee_object;

use super::common::{BasicNodeData, CoreSyncData, PeerListEntryBase, PeerSupportFlags};

/// A Handshake Request
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct HandshakeRequest {
    /// Basic Node Data
    pub node_data: BasicNodeData,
    /// Core Sync Data
    pub payload_data: CoreSyncData,
}

epee_object!(
    HandshakeRequest,
    node_data: BasicNodeData,
    payload_data: CoreSyncData,
);

/// A Handshake Response
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct HandshakeResponse {
    /// Basic Node Data
    pub node_data: BasicNodeData,
    /// Core Sync Data
    pub payload_data: CoreSyncData,
    /// `PeerList`
    pub local_peerlist_new: Vec<PeerListEntryBase>,
}

epee_object!(
    HandshakeResponse,
    node_data: BasicNodeData,
    payload_data: CoreSyncData,
    local_peerlist_new: Vec<PeerListEntryBase>,
);

/// A `TimedSync` Request
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TimedSyncRequest {
    /// Core Sync Data
    pub payload_data: CoreSyncData,
}

epee_object!(
    TimedSyncRequest,
    payload_data: CoreSyncData,
);

/// A `TimedSync` Response
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct TimedSyncResponse {
    /// Core Sync Data
    pub payload_data: CoreSyncData,
    /// `PeerList`
    pub local_peerlist_new: Vec<PeerListEntryBase>,
}

epee_object!(
    TimedSyncResponse,
    payload_data: CoreSyncData,
    local_peerlist_new: Vec<PeerListEntryBase>,
);

/// The status field of an okay ping response
pub const PING_OK_RESPONSE_STATUS_TEXT: Bytes = Bytes::from_static("OK".as_bytes());

/// A Ping Response
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct PingResponse {
    /// Status: should be `PING_OK_RESPONSE_STATUS_TEXT`
    pub status: Bytes,
    /// Peer ID
    pub peer_id: u64,
}

epee_object!(
    PingResponse,
    status: Bytes,
    peer_id: u64,
);

/// A Support Flags Response
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SupportFlagsResponse {
    /// Support Flags
    pub support_flags: PeerSupportFlags,
}

epee_object!(
    SupportFlagsResponse,
    support_flags: PeerSupportFlags as u32,
);

#[cfg(test)]
mod tests {
    use super::{BasicNodeData, CoreSyncData, HandshakeRequest, HandshakeResponse};
    use crate::p2p::common::PeerSupportFlags;

    #[test]
    fn serde_handshake_req() {
        let bytes = [
            1, 17, 1, 1, 1, 1, 2, 1, 1, 8, 9, 110, 111, 100, 101, 95, 100, 97, 116, 97, 12, 16, 7,
            109, 121, 95, 112, 111, 114, 116, 6, 0, 0, 0, 0, 10, 110, 101, 116, 119, 111, 114, 107,
            95, 105, 100, 10, 64, 18, 48, 241, 113, 97, 4, 65, 97, 23, 49, 0, 130, 22, 161, 161,
            16, 7, 112, 101, 101, 114, 95, 105, 100, 5, 95, 135, 39, 132, 254, 187, 55, 134, 13,
            115, 117, 112, 112, 111, 114, 116, 95, 102, 108, 97, 103, 115, 6, 1, 0, 0, 0, 12, 112,
            97, 121, 108, 111, 97, 100, 95, 100, 97, 116, 97, 12, 16, 21, 99, 117, 109, 117, 108,
            97, 116, 105, 118, 101, 95, 100, 105, 102, 102, 105, 99, 117, 108, 116, 121, 5, 1, 0,
            0, 0, 0, 0, 0, 0, 14, 99, 117, 114, 114, 101, 110, 116, 95, 104, 101, 105, 103, 104,
            116, 5, 0, 0, 0, 0, 0, 0, 0, 0, 6, 116, 111, 112, 95, 105, 100, 10, 128, 65, 128, 21,
            187, 154, 233, 130, 161, 151, 93, 167, 215, 146, 119, 194, 112, 87, 39, 165, 104, 148,
            186, 15, 178, 70, 173, 170, 187, 31, 70, 50, 227, 11, 116, 111, 112, 95, 118, 101, 114,
            115, 105, 111, 110, 8, 1,
        ];
        let handshake: HandshakeRequest =
            cuprate_epee_encoding::from_bytes(&mut &bytes[..]).unwrap();
        let basic_node_data = BasicNodeData {
            my_port: 0,
            network_id: [
                18, 48, 241, 113, 97, 4, 65, 97, 23, 49, 0, 130, 22, 161, 161, 16,
            ],
            peer_id: 9671405426614699871,
            support_flags: PeerSupportFlags::from(1_u32),
            rpc_port: 0,
            rpc_credits_per_hash: 0,
        };

        let core_sync_data = CoreSyncData {
            cumulative_difficulty: 1,
            cumulative_difficulty_top64: 0,
            current_height: 0,
            pruning_seed: 0,
            top_id: hex::decode("418015bb9ae982a1975da7d79277c2705727a56894ba0fb246adaabb1f4632e3")
                .unwrap()
                .try_into()
                .unwrap(),
            top_version: 1,
        };

        assert_eq!(basic_node_data, handshake.node_data);
        assert_eq!(core_sync_data, handshake.payload_data);

        let mut encoded_bytes = cuprate_epee_encoding::to_bytes(handshake.clone()).unwrap();
        let handshake_2: HandshakeRequest =
            cuprate_epee_encoding::from_bytes(&mut encoded_bytes).unwrap();

        assert_eq!(handshake, handshake_2);
    }

    #[test]
    fn serde_handshake_res() {
        let bytes = [
            1, 17, 1, 1, 1, 1, 2, 1, 1, 12, 18, 108, 111, 99, 97, 108, 95, 112, 101, 101, 114, 108,
            105, 115, 116, 95, 110, 101, 119, 140, 233, 3, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 107, 200, 125, 246, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 136, 104, 95, 61,
            247, 215, 186, 88, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 184, 166, 147, 112, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 104, 35, 236, 206, 255, 98, 40, 247, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 94, 23, 147,
            238, 6, 109, 95, 112, 111, 114, 116, 7, 64, 9, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 204, 213, 226, 217, 141, 205, 23, 171, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
            65, 144, 135, 125, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 2, 2, 105, 100, 5, 142, 211, 149, 235, 68, 76, 58, 116, 8, 114, 112, 99, 95, 112,
            111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 85, 25, 198, 233, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 239, 118, 5, 143, 245, 175, 79, 79, 12, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 128, 199,
            45, 242, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 53, 123, 81, 158, 161, 118, 88, 49, 8, 114, 112, 99, 95, 112, 111, 114,
            116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 49, 12, 239, 176, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 231, 115, 240, 106, 33, 156, 129, 168, 12, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 72, 83, 1, 29, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            163, 230, 52, 192, 29, 175, 184, 138, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115,
            101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 24, 46, 131, 31,
            6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100,
            5, 254, 139, 52, 145, 46, 192, 114, 218, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 144,
            76, 58, 247, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2,
            2, 105, 100, 5, 22, 231, 179, 203, 218, 156, 64, 157, 12, 112, 114, 117, 110, 105, 110,
            103, 95, 115, 101, 101, 100, 6, 128, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
            46, 4, 27, 39, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2,
            2, 105, 100, 5, 190, 246, 23, 85, 132, 101, 46, 120, 12, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 93, 95, 228, 51, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 76, 184, 195, 205,
            119, 55, 205, 223, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 89, 36, 78, 249, 6,
            109, 95, 112, 111, 114, 116, 7, 40, 230, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            146, 84, 128, 27, 45, 173, 110, 233, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 159, 203, 65, 163, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 36, 140, 127, 49, 80, 143, 75,
            170, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 12, 3, 97, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 89, 163, 225, 22, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 202, 167,
            239, 104, 191, 245, 206, 114, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101,
            100, 6, 128, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 51, 38, 53, 106, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 26, 47, 180, 164, 45, 11, 4, 137, 12, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 98, 28, 252, 84, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            109, 204, 107, 31, 61, 229, 138, 61, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115,
            101, 101, 100, 6, 130, 1, 0, 0, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 35, 142, 222, 141, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 74, 23, 146, 223, 157, 219, 198, 96,
            12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 135, 1, 0, 0, 8, 114,
            112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 168, 119, 134, 54, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 210, 66, 174, 96, 27,
            169, 14, 141, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 24, 246, 38, 201, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 29, 41, 255, 104, 159, 199, 248, 152, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 255, 255, 5, 161, 65, 201, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 2, 2, 105, 100, 5, 97, 17, 31, 195, 85, 103, 254, 119, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 76, 89, 170, 52, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            191, 241, 183, 135, 6, 109, 186, 8, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 184, 153,
            84, 228, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2,
            105, 100, 5, 211, 11, 202, 189, 127, 164, 118, 13, 16, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 66, 42, 82, 58, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 209, 217, 109, 131,
            173, 212, 169, 138, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6,
            135, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 70, 93, 166, 98, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 35,
            43, 193, 141, 6, 220, 30, 115, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 99, 17, 41, 20, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 56, 45, 55, 79, 80, 200, 73, 54, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 130, 180, 116,
            214, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 101, 87, 57, 29, 16, 210, 163, 114, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 148, 163, 81, 34, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 118, 209, 9, 62, 203, 181,
            144, 55, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 67, 85, 160, 39, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 8, 54, 90, 44, 129, 203, 30, 229, 8, 114, 112, 99, 95, 112, 111,
            114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 162, 218, 65, 223, 6, 109, 95, 112, 111, 114, 116, 7, 163, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 8, 95, 132, 221, 20, 172, 44, 131, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 83, 78, 142, 101, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            53, 254, 109, 4, 238, 54, 246, 88, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 18, 169, 212, 248, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 239, 181, 136, 45, 48, 0, 23,
            111, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 138, 201, 50, 228, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 100, 143, 145,
            170, 221, 44, 134, 40, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 96, 2, 101, 49, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 175, 162, 146, 137, 96, 124, 179, 123, 8, 114,
            112, 99, 95, 112, 111, 114, 116, 7, 161, 70, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 194, 55, 15, 70, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 200, 230, 46, 22, 61,
            113, 146, 207, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 131,
            1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 255, 255, 24, 144, 51, 151, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 2, 2, 105, 100, 5, 92, 225, 176, 105, 146, 76, 126, 246, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 51, 89, 43, 165,
            6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100,
            5, 227, 169, 44, 172, 218, 27, 134, 20, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 138,
            201, 50, 11, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2,
            2, 105, 100, 5, 77, 159, 65, 201, 154, 203, 137, 189, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 37, 19, 221, 165, 6, 109, 95, 112, 111,
            114, 116, 7, 101, 225, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 16, 236, 61, 198,
            179, 107, 122, 230, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 211, 104, 25, 222, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 141, 18, 233, 140, 158, 178, 117, 2, 12, 112, 114,
            117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 79, 225, 232, 232, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 25,
            41, 192, 83, 178, 152, 49, 39, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 45, 44, 224, 220, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 43, 192, 235, 1, 175, 51, 244, 209, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 44, 198, 160,
            153, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 255, 168, 200, 48, 53, 200, 228, 34, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 85, 214, 100, 187, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 237, 118, 70, 209, 142,
            252, 124, 105, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 132,
            1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 104, 52, 169, 164, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 7, 180, 60, 132, 208, 115, 38, 78, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 255, 255, 188, 214, 129, 182, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 2, 2, 105, 100, 5, 6, 110, 8, 120, 108, 89, 215, 109, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 81, 79, 96, 58, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            29, 242, 12, 182, 32, 31, 164, 147, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 50, 246, 254, 202, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 200, 152, 38, 71, 152, 168, 148,
            130, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            75, 168, 213, 32, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 89, 66, 99, 25, 23, 47, 236, 47, 12, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 80, 217, 6, 170, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 25, 65, 171, 45, 39,
            65, 82, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 16, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 24, 27, 96, 242, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 11, 5,
            248, 49, 46, 9, 138, 92, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100,
            6, 133, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 72, 239, 241, 242, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            77, 192, 17, 161, 34, 186, 222, 123, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 144, 217, 70, 139, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 144, 82, 41, 18, 67, 173, 224,
            251, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 129, 1, 0, 0,
            12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 24,
            216, 239, 98, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 135, 151, 188, 127, 59, 20, 95, 161, 12, 112, 114, 117, 110, 105, 110,
            103, 95, 115, 101, 101, 100, 6, 134, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 91, 65, 190, 110, 6, 109, 95, 112, 111, 114,
            116, 7, 169, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 96, 33, 127, 102, 27,
            224, 111, 185, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 134, 122, 61, 72, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 29, 223,
            119, 202, 113, 165, 81, 7, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 37, 15, 95,
            252, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 219, 64, 229, 115, 235, 126, 213, 173, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 178, 62, 9, 149, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 151, 68, 31, 187, 63,
            163, 185, 18, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 23, 115, 236, 180, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 205,
            12, 26, 50, 3, 165, 53, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 71, 78, 74, 138, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 206, 121, 181, 161, 29, 110, 53, 18, 8, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 73, 216,
            104, 205, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 243, 216, 53, 122, 144, 182, 239, 255, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 85, 241, 6, 106, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 249, 166, 55, 155,
            51, 129, 124, 12, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 79, 199, 36, 70, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 43, 26, 130, 68, 205, 92, 233, 62, 12, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0,
            0, 0, 0, 255, 255, 73, 113, 165, 163, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 125, 189, 171, 153, 83, 86, 245, 62, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 132, 1, 0, 0, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 137, 118, 214, 52, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            28, 94, 51, 157, 189, 105, 178, 114, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 75, 82, 185, 108, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 76, 196, 240, 134, 116, 222, 86,
            142, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10,
            64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 68, 118, 240, 19, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 213, 192, 104, 120,
            74, 119, 165, 194, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 51, 83, 179, 106, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 27, 33, 186, 12, 194, 25, 75, 31, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 178, 162, 153, 157, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            4, 66, 90, 148, 24, 80, 49, 170, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 92, 170, 92, 127, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 213, 45, 208, 229, 123, 172, 173, 241,
            8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 193,
            72, 32, 187, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 50, 33, 217, 128, 43, 173, 61, 224, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 24, 218, 108, 30, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 115, 212, 228, 103,
            43, 138, 93, 217, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 163, 172, 90, 168, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 135, 51, 116, 56, 95, 226, 184, 221, 12, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 255, 255, 5, 39, 91, 20, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 10, 81, 175, 58, 168, 40, 36, 112, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 131, 1, 0, 0, 12, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 255, 255, 45, 142, 235, 46, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 183, 57, 59, 58, 77, 216, 203, 0, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 16, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 185, 157, 160,
            119, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 115, 192, 241, 99, 119, 228, 23, 129, 20, 114, 112, 99, 95, 99, 114, 101, 100,
            105, 116, 115, 95, 112, 101, 114, 95, 104, 97, 115, 104, 6, 0, 0, 64, 0, 8, 114, 112,
            99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 5, 129, 54, 131, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 180, 136, 168, 128, 35, 8,
            229, 160, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 185, 10, 68, 240, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 105, 127, 240, 231,
            209, 2, 20, 136, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 32, 221, 180, 229, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 107, 14, 156, 75, 92, 180, 143, 152, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 218, 88, 21,
            188, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 51, 234, 157, 182, 229, 103, 39, 88, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 5, 161, 73, 151, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 209, 162, 121, 222, 241,
            125, 142, 156, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 162, 226, 61, 8, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 6, 64, 210, 168, 209, 134, 142, 135, 16, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 104, 238, 128, 24, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 252,
            199, 163, 220, 223, 220, 85, 167, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101,
            101, 100, 6, 132, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 12, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 89, 147,
            109, 91, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 90, 73, 143, 67, 50, 148, 50, 51, 8, 114, 112, 99, 95, 112, 111, 114, 116,
            7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 60, 225, 148, 220, 6, 109, 95, 112, 111, 114, 116, 7, 169, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 246, 236, 191, 85, 5, 65, 238, 143, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 84, 255, 235, 77, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 204,
            171, 86, 75, 156, 202, 194, 17, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 172, 86, 75, 188, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 102, 18, 220, 13, 62, 231, 50, 12, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 128, 1, 0, 0, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 47, 154, 174,
            191, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 142, 90, 23, 242, 187, 113, 45, 135, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 162, 253, 155, 86, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 115, 140, 18, 86, 209, 1,
            136, 191, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 192, 42, 253, 215, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 172, 48, 83, 16, 150, 49, 179, 117, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 213, 239, 210, 144, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 191,
            25, 48, 149, 62, 193, 163, 51, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 213, 251, 235, 252, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 30, 76, 94, 11, 19, 53, 222, 168, 8,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 82, 101,
            246, 21, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 79, 214, 218, 34, 12, 184, 235, 67, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 88, 19, 42, 245, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 252, 148, 134, 97, 173,
            59, 174, 174, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 94, 63, 121, 77, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 218, 250, 149, 133, 175, 197, 220, 9, 12, 112, 114, 117,
            110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 134, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 24, 49, 114, 184, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 71, 65,
            104, 43, 162, 145, 13, 85, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 76, 185, 18, 32, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 7, 159, 72, 170, 11, 137, 53, 215, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 135, 1, 0, 0, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 68, 73, 201, 40, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            172, 77, 69, 220, 58, 59, 195, 192, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 84, 255,
            235, 77, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2,
            105, 100, 5, 204, 171, 86, 75, 156, 202, 194, 17, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 165, 227, 34, 105, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 154, 230, 103, 180,
            139, 210, 99, 101, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 35, 236, 113, 185, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 49, 104, 224, 149, 51, 239, 29, 76, 16, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 165, 22, 12,
            133, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 246, 50, 244, 226, 219, 198, 24, 105, 12, 112, 114, 117, 110, 105, 110, 103,
            95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7,
            169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 94, 156, 174, 100, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 183, 117, 141, 111, 95, 90, 58, 204, 12, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 5, 255, 100, 208, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 125,
            25, 139, 251, 139, 116, 172, 24, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 161, 70,
            16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 86,
            94, 156, 130, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 181, 75, 11, 73, 214, 93, 48, 250, 12, 112, 114, 117, 110, 105, 110,
            103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116,
            7, 169, 70, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 93, 95, 230, 245, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 84, 157, 243,
            239, 183, 35, 54, 0, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6,
            130, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 86, 14, 58, 98, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 131,
            145, 164, 127, 110, 147, 147, 166, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 52, 15, 111, 162, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 196, 112, 61, 95, 122, 150, 241, 171,
            8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64,
            0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 135, 181, 164, 52, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 52, 20, 78, 121, 22, 214,
            174, 79, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 159, 69, 121, 11, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 205, 44, 250, 54,
            193, 111, 54, 245, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6,
            128, 1, 0, 0, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 185, 241, 197, 18, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 161, 144, 210, 66, 72, 38, 182, 154, 8, 114, 112, 99,
            95, 112, 111, 114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 24, 165, 109, 172, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 139, 244, 62, 181, 35, 101, 190,
            130, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            95, 168, 216, 7, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 113, 28, 114, 184, 37, 154, 224, 95, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 138, 201, 120, 71, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 189, 245, 211,
            35, 245, 56, 24, 89, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 91, 206, 14, 98, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 43, 84, 225, 240, 218, 249, 219, 193, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 61, 245, 153,
            149, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 111, 172, 135, 36, 174, 143, 223, 112, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
            31, 28, 25, 99, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            2, 2, 105, 100, 5, 129, 160, 102, 202, 168, 75, 67, 246, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 217, 168, 137, 14, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 198, 134, 120,
            100, 110, 70, 149, 242, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 65, 21, 134, 181, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 192, 152, 237, 245, 35, 179, 133, 92, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 82, 29, 15, 7,
            6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100,
            5, 93, 238, 22, 254, 190, 156, 170, 53, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 100, 36, 215, 42, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 225, 217, 27, 239, 55, 77,
            130, 218, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 221, 138, 212, 98, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 221, 115, 168, 71, 115, 113, 123, 226, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 95, 158, 72, 195, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 169,
            55, 84, 253, 73, 235, 126, 1, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 47, 5, 146, 126, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 36, 7, 132, 185, 123, 44, 79, 9, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 255, 255, 199, 102, 237, 44, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 23, 191, 140, 80, 125, 5, 151, 123, 8,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 69, 163,
            90, 6, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 2, 215, 175, 128, 152, 162, 90, 120, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 147, 135, 136, 35, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 151, 75, 230, 186, 160,
            198, 175, 124, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 83, 137, 41, 10, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 180, 29, 120,
            16, 126, 72, 126, 35, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 45, 62, 207, 10, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 131, 144, 70, 177, 35, 135, 112, 205, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 134, 1, 0, 0, 8, 114, 112, 99,
            95, 112, 111, 114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 98, 225, 91, 191, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 19, 165, 172, 148, 44, 52, 241,
            105, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            88, 212, 32, 151, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 183, 237, 176, 171, 69, 241, 107, 86, 8, 114, 112, 99, 95, 112, 111,
            114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 51, 68, 214, 143, 6,
            109, 95, 112, 111, 114, 116, 7, 48, 17, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5,
            206, 248, 161, 56, 86, 125, 195, 243, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 152, 67, 175, 91, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 17, 83, 56, 240, 65, 163, 170,
            158, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8,
            114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 216, 232, 100, 178, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 167, 109, 78,
            13, 99, 252, 5, 228, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 146, 59, 0, 16, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 177,
            145, 118, 10, 116, 105, 64, 90, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 185, 10, 68, 240, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 105, 127, 240, 231, 209, 2, 20, 136, 12,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 89, 2,
            142, 180, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 1, 21, 198, 102, 36, 134, 38, 249, 8, 114, 112, 99, 95, 112, 111, 114,
            116, 7, 161, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 158, 140, 230, 233, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 0, 77,
            233, 80, 62, 71, 201, 59, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101,
            100, 6, 130, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 78, 106, 12, 87, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 119, 128, 137, 92, 63, 246, 81, 72, 12, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 145, 255, 252,
            43, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 209, 7, 199, 121, 195, 30, 91, 168, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7,
            169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 71, 219, 43, 129, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 165, 255, 243, 173, 120, 214, 100, 239, 12, 112, 114, 117, 110,
            105, 110, 103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            255, 255, 65, 21, 137, 242, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 2, 2, 105, 100, 5, 56, 81, 223, 232, 243, 53, 150, 199, 8, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 76, 183, 153, 43, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            2, 169, 223, 201, 166, 219, 0, 108, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 146, 190, 226, 170, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 184, 126, 145, 86, 17, 171, 106,
            193, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 99, 234,
            74, 130, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 75, 225, 51, 71, 34, 147, 131, 93, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 34, 243, 233, 242, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 241, 169, 58, 47, 204,
            254, 64, 194, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 37, 1, 201, 53, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 218, 61, 215, 233, 72, 244, 247, 85, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 100, 0, 31, 209, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 254, 223,
            214, 77, 175, 11, 224, 27, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 38, 242, 201, 74, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 55, 246, 56, 7, 244, 33, 111, 185, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 178, 128, 226,
            166, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 100, 250, 203, 11, 176, 225, 42, 24, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 45, 238, 67, 67, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 5, 230, 42, 159, 3, 83,
            146, 72, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 178, 237, 47, 93, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 217, 28,
            236, 27, 5, 79, 1, 193, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 104, 243, 43, 115, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 182, 193, 32, 251, 5, 189, 35, 25, 12, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 99, 190, 128, 178, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            147, 131, 114, 216, 68, 204, 57, 31, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115,
            101, 101, 100, 6, 134, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 72, 49, 210, 248, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 87, 24, 255, 212, 205, 237, 120, 57, 8, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 85, 158, 27,
            112, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 108, 53, 202, 66, 69, 64, 211, 203, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 144, 76, 58, 247, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 22, 231, 179, 203, 218,
            156, 64, 157, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 128, 1,
            0, 0, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            144, 24, 238, 60, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 196, 95, 184, 97, 94, 165, 98, 28, 12, 112, 114, 117, 110, 105, 110,
            103, 95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 142, 112, 70, 86, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 2, 21, 138, 98, 236, 208,
            52, 197, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 213, 29, 219, 208, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 101, 229, 157, 96, 78, 149, 79, 16, 8, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 64, 44, 139, 100, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 7, 203,
            58, 177, 99, 127, 167, 27, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 104, 63, 131, 202, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 177, 178, 79, 176, 17, 114, 135, 128, 12, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 58, 211,
            149, 42, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 254, 82, 29, 104, 17, 156, 165, 19, 12, 112, 114, 117, 110, 105, 110, 103,
            95, 115, 101, 101, 100, 6, 131, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 66, 235, 43, 120, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 140, 48, 91, 174, 88, 66, 197,
            27, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10,
            64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 209, 182, 235, 183, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 20, 196, 15, 35,
            230, 214, 44, 106, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 107, 213, 91, 83, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 43, 184, 117, 30, 44, 105, 95, 158, 12, 112, 114, 117,
            110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 128, 1, 0, 0, 16, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 134, 122, 101, 227, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 34,
            132, 26, 158, 228, 246, 37, 122, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101,
            101, 100, 6, 135, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 5, 144, 96,
            90, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 53, 151, 49, 57, 210, 176, 123, 26, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
            45, 129, 183, 236, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 2, 2, 105, 100, 5, 114, 226, 183, 173, 149, 80, 29, 207, 12, 112, 114, 117, 110,
            105, 110, 103, 95, 115, 101, 101, 100, 6, 132, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 96, 48, 253, 223, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 138, 193, 53,
            95, 29, 24, 29, 67, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 209, 141, 137, 143, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 142, 18, 157, 53, 139, 6, 171, 205, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 132, 1, 0, 0, 12, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 195, 252, 42, 19, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            11, 193, 221, 161, 77, 26, 136, 247, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 161,
            70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            136, 34, 220, 232, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 188, 71, 195, 46, 165, 220, 100, 247, 8, 3, 97, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 136, 50, 23, 101, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 142, 104,
            228, 114, 184, 184, 155, 149, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 79, 23, 184, 106, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 9, 143, 211, 219, 201, 209, 78, 126, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 131, 1, 0, 0, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 70, 172, 62,
            186, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 90, 74, 7, 27, 88, 104, 96, 63, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 83, 48, 63, 194, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 157, 41, 130, 225, 209, 57,
            190, 227, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 192, 18, 141, 11, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 47, 149, 84, 128, 33, 31, 39, 27, 12, 112, 114, 117, 110,
            105, 110, 103, 95, 115, 101, 101, 100, 6, 128, 1, 0, 0, 8, 114, 112, 99, 95, 112, 111,
            114, 116, 7, 169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 198, 251, 83, 134, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5,
            240, 74, 2, 160, 144, 140, 44, 91, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70,
            12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 173,
            255, 205, 142, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 13, 193, 21, 155, 217, 217, 26, 41, 12, 112, 114, 117, 110, 105, 110,
            103, 95, 115, 101, 101, 100, 6, 130, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 170, 39, 103, 46, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 110, 132, 154, 110, 72,
            158, 220, 125, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 149, 202, 95, 149, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 227, 35, 58, 212, 189, 211, 121, 171, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 131, 1, 0, 0, 8, 114, 112, 99,
            95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            12, 8, 4, 109, 95, 105, 112, 6, 20, 200, 83, 5, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 76, 28, 183, 239, 120, 19, 32, 226, 8,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 67, 191,
            0, 235, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 46, 88, 119, 219, 137, 174, 116, 168, 12, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 178, 174, 135, 72, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 196, 76, 198, 87,
            49, 143, 40, 85, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 128,
            1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114,
            10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 139, 99, 124, 170, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 144, 217, 56,
            205, 38, 203, 209, 20, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 46, 124, 180, 230, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 26, 138, 117, 131, 113, 28, 20, 89, 12, 112, 114,
            117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 134, 1, 0, 0, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 185, 64, 105, 115, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 35,
            92, 145, 24, 195, 195, 28, 241, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8,
            4, 109, 95, 105, 112, 6, 136, 36, 57, 103, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 121, 160, 232, 102, 215, 85, 156, 52, 12,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 168, 235,
            93, 184, 6, 109, 95, 112, 111, 114, 116, 7, 51, 212, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 158, 89, 86, 15, 219, 4, 128, 76, 12, 112, 114, 117, 110, 105, 110, 103,
            95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 66, 205, 213, 214, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 169, 3, 234, 0, 122, 41, 147,
            3, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            141, 98, 255, 143, 6, 109, 95, 112, 111, 114, 116, 7, 177, 214, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 73, 127, 80, 122, 34, 152, 103, 89, 12, 3, 97, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            0, 255, 255, 172, 104, 177, 190, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 2, 2, 105, 100, 5, 55, 98, 90, 98, 247, 151, 65, 145, 8, 114, 112,
            99, 95, 112, 111, 114, 116, 7, 161, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 77, 172, 230, 31, 6, 109, 95, 112, 111, 114, 116,
            7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 37, 18, 78, 110, 19, 172, 149,
            68, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            162, 218, 65, 156, 6, 109, 95, 112, 111, 114, 116, 7, 204, 71, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 34, 212, 28, 89, 219, 217, 198, 30, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 109, 145, 130, 189, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 210, 119, 203,
            62, 62, 33, 221, 76, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 73, 97, 224, 138, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 233, 45, 113, 162, 132, 119, 238, 222, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 0, 255, 255, 221, 234, 36, 39, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 231, 98, 155, 99, 120, 161, 139, 47,
            8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 68,
            109, 164, 26, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 143, 41, 243, 191, 26, 133, 133, 148, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
            255, 99, 234, 74, 130, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 2, 2, 105, 100, 5, 75, 225, 51, 71, 34, 147, 131, 93, 12, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 172, 104, 177, 190, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 55,
            98, 90, 98, 247, 151, 65, 145, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 161, 70, 8,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 89, 39,
            107, 63, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 253, 235, 42, 162, 145, 123, 118, 118, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 86, 19, 164, 20, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 254, 16, 203, 169,
            195, 236, 197, 71, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 45, 132, 245, 124, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 203, 217, 203, 62, 235, 68, 79, 246, 8, 114, 112,
            99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100,
            114, 12, 8, 4, 109, 95, 105, 112, 6, 78, 47, 1, 42, 6, 109, 95, 112, 111, 114, 116, 7,
            160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 62, 193, 188, 52, 253, 250, 177,
            78, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            24, 9, 196, 18, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 181, 175, 149, 70, 255, 230, 120, 144, 12, 112, 114, 117, 110, 105,
            110, 103, 95, 115, 101, 101, 100, 6, 131, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 81, 174, 147, 70, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 139, 117, 247, 251,
            252, 120, 207, 122, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 24, 46, 131, 31, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 254, 139, 52, 145, 46, 192, 114, 218, 12, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 96, 41, 220, 52, 6,
            109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5,
            132, 117, 138, 75, 120, 0, 85, 225, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169,
            70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            185, 104, 122, 37, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 134, 166, 173, 179, 232, 66, 0, 248, 8, 114, 112, 99, 95, 112,
            111, 114, 116, 7, 161, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 71, 127, 156, 63, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 173, 130, 134, 129, 151, 73, 173, 117, 8,
            114, 112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 132, 248, 211, 188, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 243, 244, 6,
            201, 85, 211, 59, 11, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 221, 121, 132, 104, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 164, 8, 50, 88, 16, 202, 71, 19, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 98, 177, 226,
            32, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 13, 149, 116, 215, 92, 35, 192, 137, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 107, 191, 99, 95, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 35, 130, 252, 209, 208,
            87, 41, 16, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 82, 64, 20, 76, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 96, 72, 181, 187, 232, 78, 92, 185, 12, 3, 97, 100, 114, 12,
            8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 188, 68, 50, 194, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 135, 253,
            6, 30, 218, 46, 47, 159, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 161, 70, 8, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 159, 100, 254,
            56, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 106, 11, 135, 247, 255, 124, 31, 27, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 23, 128, 248, 240, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 86, 157, 138, 8, 39, 38,
            167, 237, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 95, 142, 45, 13, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 68, 53, 120, 88, 65, 106, 55, 62, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 139, 99, 124, 170, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 144, 217, 56,
            205, 38, 203, 209, 20, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109,
            95, 105, 112, 6, 149, 102, 137, 246, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 252, 192, 231, 60, 235, 176, 190, 192, 8, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 82, 66, 187,
            193, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 167, 249, 42, 214, 200, 13, 147, 63, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 54, 36, 174, 4, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 1, 91, 183, 129, 113,
            151, 228, 218, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 192, 9, 184, 123, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 237, 203, 144, 195, 93, 91, 36, 253, 12, 112, 114, 117,
            110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 132, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8,
            4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 146, 190, 105, 218, 6, 109, 95,
            112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 106, 83,
            142, 16, 72, 134, 65, 203, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 202, 112, 0, 98, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 254, 101, 149, 141, 81, 187, 225, 93, 12, 3,
            97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 45, 67, 217,
            103, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 0, 127, 172, 186, 143, 155, 201, 145, 8, 114, 112, 99, 95, 112, 111, 114, 116,
            7, 169, 70, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105,
            112, 6, 85, 247, 59, 77, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 226, 116, 172, 104, 27, 129, 198, 120, 12, 112, 114, 117,
            110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 129, 1, 0, 0, 8, 114, 112, 99, 95, 112,
            111, 114, 116, 7, 169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4,
            109, 95, 105, 112, 6, 172, 93, 53, 9, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4,
            116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 41, 95, 47, 152, 22, 90, 49, 102, 12, 112,
            114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 132, 1, 0, 0, 16, 3, 97, 100,
            114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0,
            0, 0, 0, 0, 0, 255, 255, 71, 237, 129, 0, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 2, 2, 105, 100, 5, 115, 63, 166, 229, 245, 229, 122, 239, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 135, 1, 0, 0, 8, 114,
            112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 82, 121, 36, 202, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 216, 167, 229, 40, 235,
            137, 72, 52, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 131, 1,
            0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            118, 36, 228, 156, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101,
            8, 1, 2, 105, 100, 5, 33, 1, 180, 80, 243, 161, 76, 54, 8, 3, 97, 100, 114, 12, 8, 4,
            97, 100, 100, 114, 12, 8, 4, 97, 100, 100, 114, 10, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
            255, 255, 73, 235, 168, 79, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 2, 2, 105, 100, 5, 120, 102, 85, 162, 254, 2, 48, 208, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 204, 12, 201, 36, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 239,
            100, 244, 177, 67, 52, 196, 181, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 216, 249, 90, 57, 6, 109, 95, 112, 111, 114, 116, 7, 160,
            70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 222, 93, 114, 147, 216, 204, 49, 151,
            8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 83,
            137, 41, 10, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1,
            2, 105, 100, 5, 180, 29, 120, 16, 126, 72, 126, 35, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 63, 143, 48, 18, 6, 109, 95, 112, 111,
            114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 193, 47, 218, 50,
            81, 222, 85, 43, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 152, 89, 216, 153, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 31, 11, 87, 67, 7, 192, 1, 13, 8, 3, 97, 100, 114,
            12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 77, 95, 229, 224, 6, 109,
            95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 160,
            119, 196, 130, 136, 75, 140, 54, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 82, 69, 12, 29, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 208, 247, 146, 51, 217, 73, 193, 226, 12,
            3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 49, 12,
            239, 156, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2,
            105, 100, 5, 146, 129, 163, 49, 89, 133, 44, 64, 8, 114, 112, 99, 95, 112, 111, 114,
            116, 7, 169, 70, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 185, 240, 242, 36, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116,
            121, 112, 101, 8, 1, 2, 105, 100, 5, 197, 219, 86, 2, 247, 136, 229, 29, 12, 3, 97,
            100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 134, 122, 61,
            72, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105,
            100, 5, 29, 223, 119, 202, 113, 165, 81, 7, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7,
            169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112,
            6, 195, 154, 242, 41, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112,
            101, 8, 1, 2, 105, 100, 5, 177, 250, 184, 155, 105, 57, 83, 47, 8, 114, 112, 99, 95,
            112, 111, 114, 116, 7, 169, 70, 16, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12,
            8, 4, 109, 95, 105, 112, 6, 99, 248, 2, 29, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70,
            4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 10, 209, 218, 249, 58, 74, 147, 253, 12,
            112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 114,
            112, 99, 95, 112, 111, 114, 116, 7, 169, 70, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100,
            100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 51, 75, 64, 249, 6, 109, 95, 112, 111, 114,
            116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 183, 101, 253, 145, 35,
            156, 129, 45, 12, 112, 114, 117, 110, 105, 110, 103, 95, 115, 101, 101, 100, 6, 134, 1,
            0, 0, 12, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6,
            185, 203, 56, 7, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8,
            1, 2, 105, 100, 5, 241, 202, 217, 195, 142, 200, 163, 55, 12, 112, 114, 117, 110, 105,
            110, 103, 95, 115, 101, 101, 100, 6, 133, 1, 0, 0, 8, 3, 97, 100, 114, 12, 8, 4, 97,
            100, 100, 114, 12, 8, 4, 109, 95, 105, 112, 6, 136, 243, 145, 198, 6, 109, 95, 112,
            111, 114, 116, 7, 160, 70, 4, 116, 121, 112, 101, 8, 1, 2, 105, 100, 5, 53, 77, 124,
            92, 86, 55, 9, 77, 8, 3, 97, 100, 114, 12, 8, 4, 97, 100, 100, 114, 12, 8, 4, 109, 95,
            105, 112, 6, 46, 28, 204, 223, 6, 109, 95, 112, 111, 114, 116, 7, 160, 70, 4, 116, 121,
            112, 101, 8, 1, 2, 105, 100, 5, 183, 162, 58, 143, 188, 33, 92, 33, 9, 110, 111, 100,
            101, 95, 100, 97, 116, 97, 12, 20, 7, 109, 121, 95, 112, 111, 114, 116, 6, 160, 70, 0,
            0, 10, 110, 101, 116, 119, 111, 114, 107, 95, 105, 100, 10, 64, 18, 48, 241, 113, 97,
            4, 65, 97, 23, 49, 0, 130, 22, 161, 161, 16, 7, 112, 101, 101, 114, 95, 105, 100, 5,
            172, 170, 135, 122, 19, 151, 202, 83, 8, 114, 112, 99, 95, 112, 111, 114, 116, 7, 169,
            70, 13, 115, 117, 112, 112, 111, 114, 116, 95, 102, 108, 97, 103, 115, 6, 1, 0, 0, 0,
            12, 112, 97, 121, 108, 111, 97, 100, 95, 100, 97, 116, 97, 12, 24, 21, 99, 117, 109,
            117, 108, 97, 116, 105, 118, 101, 95, 100, 105, 102, 102, 105, 99, 117, 108, 116, 121,
            5, 25, 78, 56, 125, 251, 152, 97, 3, 27, 99, 117, 109, 117, 108, 97, 116, 105, 118,
            101, 95, 100, 105, 102, 102, 105, 99, 117, 108, 116, 121, 95, 116, 111, 112, 54, 52, 5,
            0, 0, 0, 0, 0, 0, 0, 0, 14, 99, 117, 114, 114, 101, 110, 116, 95, 104, 101, 105, 103,
            104, 116, 5, 127, 88, 42, 0, 0, 0, 0, 0, 12, 112, 114, 117, 110, 105, 110, 103, 95,
            115, 101, 101, 100, 6, 130, 1, 0, 0, 6, 116, 111, 112, 95, 105, 100, 10, 128, 64, 120,
            0, 114, 218, 233, 18, 49, 8, 89, 154, 159, 101, 133, 242, 71, 77, 3, 247, 182, 219,
            181, 216, 193, 135, 23, 186, 168, 207, 119, 86, 235, 11, 116, 111, 112, 95, 118, 101,
            114, 115, 105, 111, 110, 8, 16,
        ];
        let handshake: HandshakeResponse =
            cuprate_epee_encoding::from_bytes(&mut &bytes[..]).unwrap();

        let basic_node_data = BasicNodeData {
            my_port: 18080,
            network_id: [
                18, 48, 241, 113, 97, 4, 65, 97, 23, 49, 0, 130, 22, 161, 161, 16,
            ],
            peer_id: 6037804360359455404,
            support_flags: PeerSupportFlags::from(1_u32),
            rpc_port: 18089,
            rpc_credits_per_hash: 0,
        };

        let core_sync_data = CoreSyncData {
            cumulative_difficulty: 243644060759772697,
            cumulative_difficulty_top64: 0,
            current_height: 2775167,
            pruning_seed: 386,
            top_id: hex::decode("40780072dae9123108599a9f6585f2474d03f7b6dbb5d8c18717baa8cf7756eb")
                .unwrap()
                .try_into()
                .unwrap(),
            top_version: 16,
        };

        assert_eq!(basic_node_data, handshake.node_data);
        assert_eq!(core_sync_data, handshake.payload_data);
        assert_eq!(250, handshake.local_peerlist_new.len());

        let mut encoded_bytes = cuprate_epee_encoding::to_bytes(handshake.clone()).unwrap();

        let handshake_2: HandshakeResponse =
            cuprate_epee_encoding::from_bytes(&mut encoded_bytes).unwrap();

        assert_eq!(handshake, handshake_2);
    }
}