WP GDPR Compliance - Version 2.0.2

Version Description

Release date: 21st October 2021 * Improved autoloader * Contact Form integration improvements * Purged css

Download this release

Release Info

Developer merlijnvanlent
Plugin Icon 128x128 WP GDPR Compliance
Version 2.0.2
Comparing to
See all releases

Code changes from version 2.0.1 to 2.0.2

Files changed (1) hide show
  1. Assets/css/admin.css +161 -10517
Assets/css/admin.css CHANGED
@@ -437,7 +437,6 @@
437
  content: '”'; }
438
  .wpgdprc blockquote cite {
439
  color: #5A5A5A; }
440
-
441
  /* Foundation; The XY Grid is included by default; Documentation at <http://foundation.zurb.com/sites/docs/> */
442
  /**
443
  * Foundation for Sites
@@ -445,24 +444,6 @@
445
  * https://get.foundation
446
  * Licensed under MIT Open Source
447
  */
448
- .grid-container {
449
- padding-right: 0.9375rem;
450
- padding-left: 0.9375rem;
451
- max-width: 75rem;
452
- margin-left: auto;
453
- margin-right: auto; }
454
- .grid-container.fluid {
455
- padding-right: 0.9375rem;
456
- padding-left: 0.9375rem;
457
- max-width: 100%;
458
- margin-left: auto;
459
- margin-right: auto; }
460
- .grid-container.full {
461
- padding-right: 0;
462
- padding-left: 0;
463
- max-width: 100%;
464
- margin-left: auto;
465
- margin-right: auto; }
466
 
467
  .grid-x {
468
  display: flex;
@@ -473,126 +454,47 @@
473
  min-height: 0px;
474
  min-width: 0px;
475
  width: 100%; }
476
- .cell.auto {
477
- flex: 1 1 0px; }
478
- .cell.shrink {
479
- flex: 0 0 auto; }
480
-
481
- .grid-x > .auto {
482
- width: auto; }
483
-
484
- .grid-x > .shrink {
485
- width: auto; }
486
 
487
- .grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
488
  flex-basis: auto; }
489
 
490
  @media print, screen and (min-width: 40em) {
491
- .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
492
  flex-basis: auto; } }
493
 
494
  @media print, screen and (min-width: 64em) {
495
- .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
496
  flex-basis: auto; } }
497
 
498
  @media screen and (min-width: 75em) {
499
- .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
500
  flex-basis: auto; } }
501
 
502
  @media screen and (min-width: 90em) {
503
- .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-full, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
504
  flex-basis: auto; } }
505
 
506
  @media screen and (min-width: 100em) {
507
- .grid-x > .xxxlarge-shrink, .grid-x > .xxxlarge-full, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-12 {
508
  flex-basis: auto; } }
509
 
510
- .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
511
  flex: 0 0 auto; }
512
 
513
- .grid-x > .small-1 {
514
- width: 8.33333%; }
515
-
516
- .grid-x > .small-2 {
517
- width: 16.66667%; }
518
-
519
- .grid-x > .small-3 {
520
- width: 25%; }
521
-
522
- .grid-x > .small-4 {
523
- width: 33.33333%; }
524
-
525
- .grid-x > .small-5 {
526
- width: 41.66667%; }
527
-
528
- .grid-x > .small-6 {
529
- width: 50%; }
530
-
531
- .grid-x > .small-7 {
532
- width: 58.33333%; }
533
-
534
- .grid-x > .small-8 {
535
- width: 66.66667%; }
536
-
537
- .grid-x > .small-9 {
538
- width: 75%; }
539
-
540
- .grid-x > .small-10 {
541
- width: 83.33333%; }
542
-
543
- .grid-x > .small-11 {
544
- width: 91.66667%; }
545
-
546
  .grid-x > .small-12 {
547
  width: 100%; }
548
 
549
  @media print, screen and (min-width: 40em) {
550
- .grid-x > .medium-auto {
551
- flex: 1 1 0px;
552
- width: auto; }
553
- .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
554
  flex: 0 0 auto; }
555
- .grid-x > .medium-shrink {
556
- width: auto; }
557
- .grid-x > .medium-1 {
558
- width: 8.33333%; }
559
- .grid-x > .medium-2 {
560
- width: 16.66667%; }
561
  .grid-x > .medium-3 {
562
  width: 25%; }
563
- .grid-x > .medium-4 {
564
- width: 33.33333%; }
565
- .grid-x > .medium-5 {
566
- width: 41.66667%; }
567
- .grid-x > .medium-6 {
568
- width: 50%; }
569
- .grid-x > .medium-7 {
570
- width: 58.33333%; }
571
- .grid-x > .medium-8 {
572
- width: 66.66667%; }
573
  .grid-x > .medium-9 {
574
- width: 75%; }
575
- .grid-x > .medium-10 {
576
- width: 83.33333%; }
577
- .grid-x > .medium-11 {
578
- width: 91.66667%; }
579
- .grid-x > .medium-12 {
580
- width: 100%; } }
581
 
582
  @media print, screen and (min-width: 64em) {
583
- .grid-x > .large-auto {
584
- flex: 1 1 0px;
585
- width: auto; }
586
- .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
587
  flex: 0 0 auto; }
588
- .grid-x > .large-shrink {
589
- width: auto; }
590
- .grid-x > .large-1 {
591
- width: 8.33333%; }
592
- .grid-x > .large-2 {
593
- width: 16.66667%; }
594
- .grid-x > .large-3 {
595
- width: 25%; }
596
  .grid-x > .large-4 {
597
  width: 33.33333%; }
598
  .grid-x > .large-5 {
@@ -603,113 +505,30 @@
603
  width: 58.33333%; }
604
  .grid-x > .large-8 {
605
  width: 66.66667%; }
606
- .grid-x > .large-9 {
607
- width: 75%; }
608
- .grid-x > .large-10 {
609
- width: 83.33333%; }
610
- .grid-x > .large-11 {
611
- width: 91.66667%; }
612
  .grid-x > .large-12 {
613
  width: 100%; } }
614
 
615
  @media screen and (min-width: 75em) {
616
- .grid-x > .xlarge-auto {
617
- flex: 1 1 0px;
618
- width: auto; }
619
- .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
620
  flex: 0 0 auto; }
621
- .grid-x > .xlarge-shrink {
622
- width: auto; }
623
- .grid-x > .xlarge-1 {
624
- width: 8.33333%; }
625
- .grid-x > .xlarge-2 {
626
- width: 16.66667%; }
627
  .grid-x > .xlarge-3 {
628
  width: 25%; }
629
  .grid-x > .xlarge-4 {
630
- width: 33.33333%; }
631
- .grid-x > .xlarge-5 {
632
- width: 41.66667%; }
633
- .grid-x > .xlarge-6 {
634
- width: 50%; }
635
- .grid-x > .xlarge-7 {
636
- width: 58.33333%; }
637
- .grid-x > .xlarge-8 {
638
- width: 66.66667%; }
639
- .grid-x > .xlarge-9 {
640
- width: 75%; }
641
- .grid-x > .xlarge-10 {
642
- width: 83.33333%; }
643
- .grid-x > .xlarge-11 {
644
- width: 91.66667%; }
645
- .grid-x > .xlarge-12 {
646
- width: 100%; } }
647
 
648
  @media screen and (min-width: 90em) {
649
- .grid-x > .xxlarge-auto {
650
- flex: 1 1 0px;
651
- width: auto; }
652
- .grid-x > .xxlarge-shrink, .grid-x > .xxlarge-1, .grid-x > .xxlarge-2, .grid-x > .xxlarge-3, .grid-x > .xxlarge-4, .grid-x > .xxlarge-5, .grid-x > .xxlarge-6, .grid-x > .xxlarge-7, .grid-x > .xxlarge-8, .grid-x > .xxlarge-9, .grid-x > .xxlarge-10, .grid-x > .xxlarge-11, .grid-x > .xxlarge-12 {
653
  flex: 0 0 auto; }
654
- .grid-x > .xxlarge-shrink {
655
- width: auto; }
656
- .grid-x > .xxlarge-1 {
657
- width: 8.33333%; }
658
- .grid-x > .xxlarge-2 {
659
- width: 16.66667%; }
660
  .grid-x > .xxlarge-3 {
661
  width: 25%; }
662
- .grid-x > .xxlarge-4 {
663
- width: 33.33333%; }
664
- .grid-x > .xxlarge-5 {
665
- width: 41.66667%; }
666
  .grid-x > .xxlarge-6 {
667
- width: 50%; }
668
- .grid-x > .xxlarge-7 {
669
- width: 58.33333%; }
670
- .grid-x > .xxlarge-8 {
671
- width: 66.66667%; }
672
- .grid-x > .xxlarge-9 {
673
- width: 75%; }
674
- .grid-x > .xxlarge-10 {
675
- width: 83.33333%; }
676
- .grid-x > .xxlarge-11 {
677
- width: 91.66667%; }
678
- .grid-x > .xxlarge-12 {
679
- width: 100%; } }
680
 
681
  @media screen and (min-width: 100em) {
682
- .grid-x > .xxxlarge-auto {
683
- flex: 1 1 0px;
684
- width: auto; }
685
- .grid-x > .xxxlarge-shrink, .grid-x > .xxxlarge-1, .grid-x > .xxxlarge-2, .grid-x > .xxxlarge-3, .grid-x > .xxxlarge-4, .grid-x > .xxxlarge-5, .grid-x > .xxxlarge-6, .grid-x > .xxxlarge-7, .grid-x > .xxxlarge-8, .grid-x > .xxxlarge-9, .grid-x > .xxxlarge-10, .grid-x > .xxxlarge-11, .grid-x > .xxxlarge-12 {
686
  flex: 0 0 auto; }
687
- .grid-x > .xxxlarge-shrink {
688
- width: auto; }
689
- .grid-x > .xxxlarge-1 {
690
- width: 8.33333%; }
691
- .grid-x > .xxxlarge-2 {
692
- width: 16.66667%; }
693
- .grid-x > .xxxlarge-3 {
694
- width: 25%; }
695
  .grid-x > .xxxlarge-4 {
696
- width: 33.33333%; }
697
- .grid-x > .xxxlarge-5 {
698
- width: 41.66667%; }
699
- .grid-x > .xxxlarge-6 {
700
- width: 50%; }
701
- .grid-x > .xxxlarge-7 {
702
- width: 58.33333%; }
703
- .grid-x > .xxxlarge-8 {
704
- width: 66.66667%; }
705
- .grid-x > .xxxlarge-9 {
706
- width: 75%; }
707
- .grid-x > .xxxlarge-10 {
708
- width: 83.33333%; }
709
- .grid-x > .xxxlarge-11 {
710
- width: 91.66667%; }
711
- .grid-x > .xxxlarge-12 {
712
- width: 100%; } }
713
 
714
  .grid-margin-x:not(.grid-x) > .cell {
715
  width: auto; }
@@ -724,74 +543,14 @@
724
  width: calc(100% - 1.875rem);
725
  margin-left: 0.9375rem;
726
  margin-right: 0.9375rem; }
727
- .grid-margin-x > .auto {
728
- width: auto; }
729
- .grid-margin-x > .shrink {
730
- width: auto; }
731
- .grid-margin-x > .small-1 {
732
- width: calc(8.33333% - 1.875rem); }
733
- .grid-margin-x > .small-2 {
734
- width: calc(16.66667% - 1.875rem); }
735
- .grid-margin-x > .small-3 {
736
- width: calc(25% - 1.875rem); }
737
- .grid-margin-x > .small-4 {
738
- width: calc(33.33333% - 1.875rem); }
739
- .grid-margin-x > .small-5 {
740
- width: calc(41.66667% - 1.875rem); }
741
- .grid-margin-x > .small-6 {
742
- width: calc(50% - 1.875rem); }
743
- .grid-margin-x > .small-7 {
744
- width: calc(58.33333% - 1.875rem); }
745
- .grid-margin-x > .small-8 {
746
- width: calc(66.66667% - 1.875rem); }
747
- .grid-margin-x > .small-9 {
748
- width: calc(75% - 1.875rem); }
749
- .grid-margin-x > .small-10 {
750
- width: calc(83.33333% - 1.875rem); }
751
- .grid-margin-x > .small-11 {
752
- width: calc(91.66667% - 1.875rem); }
753
  .grid-margin-x > .small-12 {
754
  width: calc(100% - 1.875rem); }
755
  @media print, screen and (min-width: 40em) {
756
- .grid-margin-x > .medium-auto {
757
- width: auto; }
758
- .grid-margin-x > .medium-shrink {
759
- width: auto; }
760
- .grid-margin-x > .medium-1 {
761
- width: calc(8.33333% - 1.875rem); }
762
- .grid-margin-x > .medium-2 {
763
- width: calc(16.66667% - 1.875rem); }
764
  .grid-margin-x > .medium-3 {
765
  width: calc(25% - 1.875rem); }
766
- .grid-margin-x > .medium-4 {
767
- width: calc(33.33333% - 1.875rem); }
768
- .grid-margin-x > .medium-5 {
769
- width: calc(41.66667% - 1.875rem); }
770
- .grid-margin-x > .medium-6 {
771
- width: calc(50% - 1.875rem); }
772
- .grid-margin-x > .medium-7 {
773
- width: calc(58.33333% - 1.875rem); }
774
- .grid-margin-x > .medium-8 {
775
- width: calc(66.66667% - 1.875rem); }
776
  .grid-margin-x > .medium-9 {
777
- width: calc(75% - 1.875rem); }
778
- .grid-margin-x > .medium-10 {
779
- width: calc(83.33333% - 1.875rem); }
780
- .grid-margin-x > .medium-11 {
781
- width: calc(91.66667% - 1.875rem); }
782
- .grid-margin-x > .medium-12 {
783
- width: calc(100% - 1.875rem); } }
784
  @media print, screen and (min-width: 64em) {
785
- .grid-margin-x > .large-auto {
786
- width: auto; }
787
- .grid-margin-x > .large-shrink {
788
- width: auto; }
789
- .grid-margin-x > .large-1 {
790
- width: calc(8.33333% - 1.875rem); }
791
- .grid-margin-x > .large-2 {
792
- width: calc(16.66667% - 1.875rem); }
793
- .grid-margin-x > .large-3 {
794
- width: calc(25% - 1.875rem); }
795
  .grid-margin-x > .large-4 {
796
  width: calc(33.33333% - 1.875rem); }
797
  .grid-margin-x > .large-5 {
@@ -802,10299 +561,185 @@
802
  width: calc(58.33333% - 1.875rem); }
803
  .grid-margin-x > .large-8 {
804
  width: calc(66.66667% - 1.875rem); }
805
- .grid-margin-x > .large-9 {
806
- width: calc(75% - 1.875rem); }
807
- .grid-margin-x > .large-10 {
808
- width: calc(83.33333% - 1.875rem); }
809
- .grid-margin-x > .large-11 {
810
- width: calc(91.66667% - 1.875rem); }
811
  .grid-margin-x > .large-12 {
812
  width: calc(100% - 1.875rem); } }
813
  @media screen and (min-width: 75em) {
814
- .grid-margin-x > .xlarge-auto {
815
- width: auto; }
816
- .grid-margin-x > .xlarge-shrink {
817
- width: auto; }
818
- .grid-margin-x > .xlarge-1 {
819
- width: calc(8.33333% - 1.875rem); }
820
- .grid-margin-x > .xlarge-2 {
821
- width: calc(16.66667% - 1.875rem); }
822
  .grid-margin-x > .xlarge-3 {
823
  width: calc(25% - 1.875rem); }
824
  .grid-margin-x > .xlarge-4 {
825
- width: calc(33.33333% - 1.875rem); }
826
- .grid-margin-x > .xlarge-5 {
827
- width: calc(41.66667% - 1.875rem); }
828
- .grid-margin-x > .xlarge-6 {
829
- width: calc(50% - 1.875rem); }
830
- .grid-margin-x > .xlarge-7 {
831
- width: calc(58.33333% - 1.875rem); }
832
- .grid-margin-x > .xlarge-8 {
833
- width: calc(66.66667% - 1.875rem); }
834
- .grid-margin-x > .xlarge-9 {
835
- width: calc(75% - 1.875rem); }
836
- .grid-margin-x > .xlarge-10 {
837
- width: calc(83.33333% - 1.875rem); }
838
- .grid-margin-x > .xlarge-11 {
839
- width: calc(91.66667% - 1.875rem); }
840
- .grid-margin-x > .xlarge-12 {
841
- width: calc(100% - 1.875rem); } }
842
  @media screen and (min-width: 90em) {
843
- .grid-margin-x > .xxlarge-auto {
844
- width: auto; }
845
- .grid-margin-x > .xxlarge-shrink {
846
- width: auto; }
847
- .grid-margin-x > .xxlarge-1 {
848
- width: calc(8.33333% - 1.875rem); }
849
- .grid-margin-x > .xxlarge-2 {
850
- width: calc(16.66667% - 1.875rem); }
851
  .grid-margin-x > .xxlarge-3 {
852
  width: calc(25% - 1.875rem); }
853
- .grid-margin-x > .xxlarge-4 {
854
- width: calc(33.33333% - 1.875rem); }
855
- .grid-margin-x > .xxlarge-5 {
856
- width: calc(41.66667% - 1.875rem); }
857
  .grid-margin-x > .xxlarge-6 {
858
- width: calc(50% - 1.875rem); }
859
- .grid-margin-x > .xxlarge-7 {
860
- width: calc(58.33333% - 1.875rem); }
861
- .grid-margin-x > .xxlarge-8 {
862
- width: calc(66.66667% - 1.875rem); }
863
- .grid-margin-x > .xxlarge-9 {
864
- width: calc(75% - 1.875rem); }
865
- .grid-margin-x > .xxlarge-10 {
866
- width: calc(83.33333% - 1.875rem); }
867
- .grid-margin-x > .xxlarge-11 {
868
- width: calc(91.66667% - 1.875rem); }
869
- .grid-margin-x > .xxlarge-12 {
870
- width: calc(100% - 1.875rem); } }
871
  @media screen and (min-width: 100em) {
872
- .grid-margin-x > .xxxlarge-auto {
873
- width: auto; }
874
- .grid-margin-x > .xxxlarge-shrink {
875
- width: auto; }
876
- .grid-margin-x > .xxxlarge-1 {
877
- width: calc(8.33333% - 1.875rem); }
878
- .grid-margin-x > .xxxlarge-2 {
879
- width: calc(16.66667% - 1.875rem); }
880
- .grid-margin-x > .xxxlarge-3 {
881
- width: calc(25% - 1.875rem); }
882
  .grid-margin-x > .xxxlarge-4 {
883
- width: calc(33.33333% - 1.875rem); }
884
- .grid-margin-x > .xxxlarge-5 {
885
- width: calc(41.66667% - 1.875rem); }
886
- .grid-margin-x > .xxxlarge-6 {
887
- width: calc(50% - 1.875rem); }
888
- .grid-margin-x > .xxxlarge-7 {
889
- width: calc(58.33333% - 1.875rem); }
890
- .grid-margin-x > .xxxlarge-8 {
891
- width: calc(66.66667% - 1.875rem); }
892
- .grid-margin-x > .xxxlarge-9 {
893
- width: calc(75% - 1.875rem); }
894
- .grid-margin-x > .xxxlarge-10 {
895
- width: calc(83.33333% - 1.875rem); }
896
- .grid-margin-x > .xxxlarge-11 {
897
- width: calc(91.66667% - 1.875rem); }
898
- .grid-margin-x > .xxxlarge-12 {
899
- width: calc(100% - 1.875rem); } }
900
-
901
- .grid-padding-x .grid-padding-x {
902
- margin-right: -0.9375rem;
903
- margin-left: -0.9375rem; }
904
-
905
- .grid-container:not(.full) > .grid-padding-x {
906
- margin-right: -0.9375rem;
907
- margin-left: -0.9375rem; }
908
-
909
- .grid-padding-x > .cell {
910
- padding-right: 0.9375rem;
911
- padding-left: 0.9375rem; }
912
-
913
- .small-up-1 > .cell {
914
- width: 100%; }
915
 
916
- .small-up-2 > .cell {
917
- width: 50%; }
918
-
919
- .small-up-3 > .cell {
920
- width: 33.33333%; }
921
-
922
- .small-up-4 > .cell {
923
- width: 25%; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
924
 
925
- .small-up-5 > .cell {
926
- width: 20%; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
927
 
928
- .small-up-6 > .cell {
929
- width: 16.66667%; }
930
 
931
- .small-up-7 > .cell {
932
- width: 14.28571%; }
933
 
934
- .small-up-8 > .cell {
935
- width: 12.5%; }
936
 
937
- @media print, screen and (min-width: 40em) {
938
- .medium-up-1 > .cell {
939
- width: 100%; }
940
- .medium-up-2 > .cell {
941
- width: 50%; }
942
- .medium-up-3 > .cell {
943
- width: 33.33333%; }
944
- .medium-up-4 > .cell {
945
- width: 25%; }
946
- .medium-up-5 > .cell {
947
- width: 20%; }
948
- .medium-up-6 > .cell {
949
- width: 16.66667%; }
950
- .medium-up-7 > .cell {
951
- width: 14.28571%; }
952
- .medium-up-8 > .cell {
953
- width: 12.5%; } }
954
 
955
- @media print, screen and (min-width: 64em) {
956
- .large-up-1 > .cell {
957
- width: 100%; }
958
- .large-up-2 > .cell {
959
- width: 50%; }
960
- .large-up-3 > .cell {
961
- width: 33.33333%; }
962
- .large-up-4 > .cell {
963
- width: 25%; }
964
- .large-up-5 > .cell {
965
- width: 20%; }
966
- .large-up-6 > .cell {
967
- width: 16.66667%; }
968
- .large-up-7 > .cell {
969
- width: 14.28571%; }
970
- .large-up-8 > .cell {
971
- width: 12.5%; } }
972
 
973
- @media screen and (min-width: 75em) {
974
- .xlarge-up-1 > .cell {
975
- width: 100%; }
976
- .xlarge-up-2 > .cell {
977
- width: 50%; }
978
- .xlarge-up-3 > .cell {
979
- width: 33.33333%; }
980
- .xlarge-up-4 > .cell {
981
- width: 25%; }
982
- .xlarge-up-5 > .cell {
983
- width: 20%; }
984
- .xlarge-up-6 > .cell {
985
- width: 16.66667%; }
986
- .xlarge-up-7 > .cell {
987
- width: 14.28571%; }
988
- .xlarge-up-8 > .cell {
989
- width: 12.5%; } }
990
 
991
- @media screen and (min-width: 90em) {
992
- .xxlarge-up-1 > .cell {
993
- width: 100%; }
994
- .xxlarge-up-2 > .cell {
995
- width: 50%; }
996
- .xxlarge-up-3 > .cell {
997
- width: 33.33333%; }
998
- .xxlarge-up-4 > .cell {
999
- width: 25%; }
1000
- .xxlarge-up-5 > .cell {
1001
- width: 20%; }
1002
- .xxlarge-up-6 > .cell {
1003
- width: 16.66667%; }
1004
- .xxlarge-up-7 > .cell {
1005
- width: 14.28571%; }
1006
- .xxlarge-up-8 > .cell {
1007
- width: 12.5%; } }
1008
 
1009
- @media screen and (min-width: 100em) {
1010
- .xxxlarge-up-1 > .cell {
1011
- width: 100%; }
1012
- .xxxlarge-up-2 > .cell {
1013
- width: 50%; }
1014
- .xxxlarge-up-3 > .cell {
1015
- width: 33.33333%; }
1016
- .xxxlarge-up-4 > .cell {
1017
- width: 25%; }
1018
- .xxxlarge-up-5 > .cell {
1019
- width: 20%; }
1020
- .xxxlarge-up-6 > .cell {
1021
- width: 16.66667%; }
1022
- .xxxlarge-up-7 > .cell {
1023
- width: 14.28571%; }
1024
- .xxxlarge-up-8 > .cell {
1025
- width: 12.5%; } }
1026
 
1027
- .grid-margin-x.small-up-1 > .cell {
1028
- width: calc(100% - 1.875rem); }
1029
 
1030
- .grid-margin-x.small-up-2 > .cell {
1031
- width: calc(50% - 1.875rem); }
1032
 
1033
- .grid-margin-x.small-up-3 > .cell {
1034
- width: calc(33.33333% - 1.875rem); }
1035
 
1036
- .grid-margin-x.small-up-4 > .cell {
1037
- width: calc(25% - 1.875rem); }
1038
 
1039
- .grid-margin-x.small-up-5 > .cell {
1040
- width: calc(20% - 1.875rem); }
1041
 
1042
- .grid-margin-x.small-up-6 > .cell {
1043
- width: calc(16.66667% - 1.875rem); }
1044
 
1045
- .grid-margin-x.small-up-7 > .cell {
1046
- width: calc(14.28571% - 1.875rem); }
1047
 
1048
- .grid-margin-x.small-up-8 > .cell {
1049
- width: calc(12.5% - 1.875rem); }
1050
 
1051
- @media print, screen and (min-width: 40em) {
1052
- .grid-margin-x.medium-up-1 > .cell {
1053
- width: calc(100% - 1.875rem); }
1054
- .grid-margin-x.medium-up-2 > .cell {
1055
- width: calc(50% - 1.875rem); }
1056
- .grid-margin-x.medium-up-3 > .cell {
1057
- width: calc(33.33333% - 1.875rem); }
1058
- .grid-margin-x.medium-up-4 > .cell {
1059
- width: calc(25% - 1.875rem); }
1060
- .grid-margin-x.medium-up-5 > .cell {
1061
- width: calc(20% - 1.875rem); }
1062
- .grid-margin-x.medium-up-6 > .cell {
1063
- width: calc(16.66667% - 1.875rem); }
1064
- .grid-margin-x.medium-up-7 > .cell {
1065
- width: calc(14.28571% - 1.875rem); }
1066
- .grid-margin-x.medium-up-8 > .cell {
1067
- width: calc(12.5% - 1.875rem); } }
1068
 
1069
- @media print, screen and (min-width: 64em) {
1070
- .grid-margin-x.large-up-1 > .cell {
1071
- width: calc(100% - 1.875rem); }
1072
- .grid-margin-x.large-up-2 > .cell {
1073
- width: calc(50% - 1.875rem); }
1074
- .grid-margin-x.large-up-3 > .cell {
1075
- width: calc(33.33333% - 1.875rem); }
1076
- .grid-margin-x.large-up-4 > .cell {
1077
- width: calc(25% - 1.875rem); }
1078
- .grid-margin-x.large-up-5 > .cell {
1079
- width: calc(20% - 1.875rem); }
1080
- .grid-margin-x.large-up-6 > .cell {
1081
- width: calc(16.66667% - 1.875rem); }
1082
- .grid-margin-x.large-up-7 > .cell {
1083
- width: calc(14.28571% - 1.875rem); }
1084
- .grid-margin-x.large-up-8 > .cell {
1085
- width: calc(12.5% - 1.875rem); } }
1086
 
1087
- @media screen and (min-width: 75em) {
1088
- .grid-margin-x.xlarge-up-1 > .cell {
1089
- width: calc(100% - 1.875rem); }
1090
- .grid-margin-x.xlarge-up-2 > .cell {
1091
- width: calc(50% - 1.875rem); }
1092
- .grid-margin-x.xlarge-up-3 > .cell {
1093
- width: calc(33.33333% - 1.875rem); }
1094
- .grid-margin-x.xlarge-up-4 > .cell {
1095
- width: calc(25% - 1.875rem); }
1096
- .grid-margin-x.xlarge-up-5 > .cell {
1097
- width: calc(20% - 1.875rem); }
1098
- .grid-margin-x.xlarge-up-6 > .cell {
1099
- width: calc(16.66667% - 1.875rem); }
1100
- .grid-margin-x.xlarge-up-7 > .cell {
1101
- width: calc(14.28571% - 1.875rem); }
1102
- .grid-margin-x.xlarge-up-8 > .cell {
1103
- width: calc(12.5% - 1.875rem); } }
1104
 
1105
- @media screen and (min-width: 90em) {
1106
- .grid-margin-x.xxlarge-up-1 > .cell {
1107
- width: calc(100% - 1.875rem); }
1108
- .grid-margin-x.xxlarge-up-2 > .cell {
1109
- width: calc(50% - 1.875rem); }
1110
- .grid-margin-x.xxlarge-up-3 > .cell {
1111
- width: calc(33.33333% - 1.875rem); }
1112
- .grid-margin-x.xxlarge-up-4 > .cell {
1113
- width: calc(25% - 1.875rem); }
1114
- .grid-margin-x.xxlarge-up-5 > .cell {
1115
- width: calc(20% - 1.875rem); }
1116
- .grid-margin-x.xxlarge-up-6 > .cell {
1117
- width: calc(16.66667% - 1.875rem); }
1118
- .grid-margin-x.xxlarge-up-7 > .cell {
1119
- width: calc(14.28571% - 1.875rem); }
1120
- .grid-margin-x.xxlarge-up-8 > .cell {
1121
- width: calc(12.5% - 1.875rem); } }
1122
 
1123
- @media screen and (min-width: 100em) {
1124
- .grid-margin-x.xxxlarge-up-1 > .cell {
1125
- width: calc(100% - 1.875rem); }
1126
- .grid-margin-x.xxxlarge-up-2 > .cell {
1127
- width: calc(50% - 1.875rem); }
1128
- .grid-margin-x.xxxlarge-up-3 > .cell {
1129
- width: calc(33.33333% - 1.875rem); }
1130
- .grid-margin-x.xxxlarge-up-4 > .cell {
1131
- width: calc(25% - 1.875rem); }
1132
- .grid-margin-x.xxxlarge-up-5 > .cell {
1133
- width: calc(20% - 1.875rem); }
1134
- .grid-margin-x.xxxlarge-up-6 > .cell {
1135
- width: calc(16.66667% - 1.875rem); }
1136
- .grid-margin-x.xxxlarge-up-7 > .cell {
1137
- width: calc(14.28571% - 1.875rem); }
1138
- .grid-margin-x.xxxlarge-up-8 > .cell {
1139
- width: calc(12.5% - 1.875rem); } }
1140
-
1141
- .small-margin-collapse {
1142
- margin-right: 0;
1143
- margin-left: 0; }
1144
- .small-margin-collapse > .cell {
1145
- margin-right: 0;
1146
- margin-left: 0; }
1147
- .small-margin-collapse > .small-1 {
1148
- width: 8.33333%; }
1149
- .small-margin-collapse > .small-2 {
1150
- width: 16.66667%; }
1151
- .small-margin-collapse > .small-3 {
1152
- width: 25%; }
1153
- .small-margin-collapse > .small-4 {
1154
- width: 33.33333%; }
1155
- .small-margin-collapse > .small-5 {
1156
- width: 41.66667%; }
1157
- .small-margin-collapse > .small-6 {
1158
- width: 50%; }
1159
- .small-margin-collapse > .small-7 {
1160
- width: 58.33333%; }
1161
- .small-margin-collapse > .small-8 {
1162
- width: 66.66667%; }
1163
- .small-margin-collapse > .small-9 {
1164
- width: 75%; }
1165
- .small-margin-collapse > .small-10 {
1166
- width: 83.33333%; }
1167
- .small-margin-collapse > .small-11 {
1168
- width: 91.66667%; }
1169
- .small-margin-collapse > .small-12 {
1170
- width: 100%; }
1171
- @media print, screen and (min-width: 40em) {
1172
- .small-margin-collapse > .medium-1 {
1173
- width: 8.33333%; }
1174
- .small-margin-collapse > .medium-2 {
1175
- width: 16.66667%; }
1176
- .small-margin-collapse > .medium-3 {
1177
- width: 25%; }
1178
- .small-margin-collapse > .medium-4 {
1179
- width: 33.33333%; }
1180
- .small-margin-collapse > .medium-5 {
1181
- width: 41.66667%; }
1182
- .small-margin-collapse > .medium-6 {
1183
- width: 50%; }
1184
- .small-margin-collapse > .medium-7 {
1185
- width: 58.33333%; }
1186
- .small-margin-collapse > .medium-8 {
1187
- width: 66.66667%; }
1188
- .small-margin-collapse > .medium-9 {
1189
- width: 75%; }
1190
- .small-margin-collapse > .medium-10 {
1191
- width: 83.33333%; }
1192
- .small-margin-collapse > .medium-11 {
1193
- width: 91.66667%; }
1194
- .small-margin-collapse > .medium-12 {
1195
- width: 100%; } }
1196
- @media print, screen and (min-width: 64em) {
1197
- .small-margin-collapse > .large-1 {
1198
- width: 8.33333%; }
1199
- .small-margin-collapse > .large-2 {
1200
- width: 16.66667%; }
1201
- .small-margin-collapse > .large-3 {
1202
- width: 25%; }
1203
- .small-margin-collapse > .large-4 {
1204
- width: 33.33333%; }
1205
- .small-margin-collapse > .large-5 {
1206
- width: 41.66667%; }
1207
- .small-margin-collapse > .large-6 {
1208
- width: 50%; }
1209
- .small-margin-collapse > .large-7 {
1210
- width: 58.33333%; }
1211
- .small-margin-collapse > .large-8 {
1212
- width: 66.66667%; }
1213
- .small-margin-collapse > .large-9 {
1214
- width: 75%; }
1215
- .small-margin-collapse > .large-10 {
1216
- width: 83.33333%; }
1217
- .small-margin-collapse > .large-11 {
1218
- width: 91.66667%; }
1219
- .small-margin-collapse > .large-12 {
1220
- width: 100%; } }
1221
- @media screen and (min-width: 75em) {
1222
- .small-margin-collapse > .xlarge-1 {
1223
- width: 8.33333%; }
1224
- .small-margin-collapse > .xlarge-2 {
1225
- width: 16.66667%; }
1226
- .small-margin-collapse > .xlarge-3 {
1227
- width: 25%; }
1228
- .small-margin-collapse > .xlarge-4 {
1229
- width: 33.33333%; }
1230
- .small-margin-collapse > .xlarge-5 {
1231
- width: 41.66667%; }
1232
- .small-margin-collapse > .xlarge-6 {
1233
- width: 50%; }
1234
- .small-margin-collapse > .xlarge-7 {
1235
- width: 58.33333%; }
1236
- .small-margin-collapse > .xlarge-8 {
1237
- width: 66.66667%; }
1238
- .small-margin-collapse > .xlarge-9 {
1239
- width: 75%; }
1240
- .small-margin-collapse > .xlarge-10 {
1241
- width: 83.33333%; }
1242
- .small-margin-collapse > .xlarge-11 {
1243
- width: 91.66667%; }
1244
- .small-margin-collapse > .xlarge-12 {
1245
- width: 100%; } }
1246
- @media screen and (min-width: 90em) {
1247
- .small-margin-collapse > .xxlarge-1 {
1248
- width: 8.33333%; }
1249
- .small-margin-collapse > .xxlarge-2 {
1250
- width: 16.66667%; }
1251
- .small-margin-collapse > .xxlarge-3 {
1252
- width: 25%; }
1253
- .small-margin-collapse > .xxlarge-4 {
1254
- width: 33.33333%; }
1255
- .small-margin-collapse > .xxlarge-5 {
1256
- width: 41.66667%; }
1257
- .small-margin-collapse > .xxlarge-6 {
1258
- width: 50%; }
1259
- .small-margin-collapse > .xxlarge-7 {
1260
- width: 58.33333%; }
1261
- .small-margin-collapse > .xxlarge-8 {
1262
- width: 66.66667%; }
1263
- .small-margin-collapse > .xxlarge-9 {
1264
- width: 75%; }
1265
- .small-margin-collapse > .xxlarge-10 {
1266
- width: 83.33333%; }
1267
- .small-margin-collapse > .xxlarge-11 {
1268
- width: 91.66667%; }
1269
- .small-margin-collapse > .xxlarge-12 {
1270
- width: 100%; } }
1271
- @media screen and (min-width: 100em) {
1272
- .small-margin-collapse > .xxxlarge-1 {
1273
- width: 8.33333%; }
1274
- .small-margin-collapse > .xxxlarge-2 {
1275
- width: 16.66667%; }
1276
- .small-margin-collapse > .xxxlarge-3 {
1277
- width: 25%; }
1278
- .small-margin-collapse > .xxxlarge-4 {
1279
- width: 33.33333%; }
1280
- .small-margin-collapse > .xxxlarge-5 {
1281
- width: 41.66667%; }
1282
- .small-margin-collapse > .xxxlarge-6 {
1283
- width: 50%; }
1284
- .small-margin-collapse > .xxxlarge-7 {
1285
- width: 58.33333%; }
1286
- .small-margin-collapse > .xxxlarge-8 {
1287
- width: 66.66667%; }
1288
- .small-margin-collapse > .xxxlarge-9 {
1289
- width: 75%; }
1290
- .small-margin-collapse > .xxxlarge-10 {
1291
- width: 83.33333%; }
1292
- .small-margin-collapse > .xxxlarge-11 {
1293
- width: 91.66667%; }
1294
- .small-margin-collapse > .xxxlarge-12 {
1295
- width: 100%; } }
1296
-
1297
- .small-padding-collapse {
1298
- margin-right: 0;
1299
- margin-left: 0; }
1300
- .small-padding-collapse > .cell {
1301
- padding-right: 0;
1302
- padding-left: 0; }
1303
-
1304
- @media print, screen and (min-width: 40em) {
1305
- .medium-margin-collapse {
1306
- margin-right: 0;
1307
- margin-left: 0; }
1308
- .medium-margin-collapse > .cell {
1309
- margin-right: 0;
1310
- margin-left: 0; } }
1311
-
1312
- @media print, screen and (min-width: 40em) {
1313
- .medium-margin-collapse > .small-1 {
1314
- width: 8.33333%; }
1315
- .medium-margin-collapse > .small-2 {
1316
- width: 16.66667%; }
1317
- .medium-margin-collapse > .small-3 {
1318
- width: 25%; }
1319
- .medium-margin-collapse > .small-4 {
1320
- width: 33.33333%; }
1321
- .medium-margin-collapse > .small-5 {
1322
- width: 41.66667%; }
1323
- .medium-margin-collapse > .small-6 {
1324
- width: 50%; }
1325
- .medium-margin-collapse > .small-7 {
1326
- width: 58.33333%; }
1327
- .medium-margin-collapse > .small-8 {
1328
- width: 66.66667%; }
1329
- .medium-margin-collapse > .small-9 {
1330
- width: 75%; }
1331
- .medium-margin-collapse > .small-10 {
1332
- width: 83.33333%; }
1333
- .medium-margin-collapse > .small-11 {
1334
- width: 91.66667%; }
1335
- .medium-margin-collapse > .small-12 {
1336
- width: 100%; } }
1337
-
1338
- @media print, screen and (min-width: 40em) {
1339
- .medium-margin-collapse > .medium-1 {
1340
- width: 8.33333%; }
1341
- .medium-margin-collapse > .medium-2 {
1342
- width: 16.66667%; }
1343
- .medium-margin-collapse > .medium-3 {
1344
- width: 25%; }
1345
- .medium-margin-collapse > .medium-4 {
1346
- width: 33.33333%; }
1347
- .medium-margin-collapse > .medium-5 {
1348
- width: 41.66667%; }
1349
- .medium-margin-collapse > .medium-6 {
1350
- width: 50%; }
1351
- .medium-margin-collapse > .medium-7 {
1352
- width: 58.33333%; }
1353
- .medium-margin-collapse > .medium-8 {
1354
- width: 66.66667%; }
1355
- .medium-margin-collapse > .medium-9 {
1356
- width: 75%; }
1357
- .medium-margin-collapse > .medium-10 {
1358
- width: 83.33333%; }
1359
- .medium-margin-collapse > .medium-11 {
1360
- width: 91.66667%; }
1361
- .medium-margin-collapse > .medium-12 {
1362
- width: 100%; } }
1363
-
1364
- @media print, screen and (min-width: 64em) {
1365
- .medium-margin-collapse > .large-1 {
1366
- width: 8.33333%; }
1367
- .medium-margin-collapse > .large-2 {
1368
- width: 16.66667%; }
1369
- .medium-margin-collapse > .large-3 {
1370
- width: 25%; }
1371
- .medium-margin-collapse > .large-4 {
1372
- width: 33.33333%; }
1373
- .medium-margin-collapse > .large-5 {
1374
- width: 41.66667%; }
1375
- .medium-margin-collapse > .large-6 {
1376
- width: 50%; }
1377
- .medium-margin-collapse > .large-7 {
1378
- width: 58.33333%; }
1379
- .medium-margin-collapse > .large-8 {
1380
- width: 66.66667%; }
1381
- .medium-margin-collapse > .large-9 {
1382
- width: 75%; }
1383
- .medium-margin-collapse > .large-10 {
1384
- width: 83.33333%; }
1385
- .medium-margin-collapse > .large-11 {
1386
- width: 91.66667%; }
1387
- .medium-margin-collapse > .large-12 {
1388
- width: 100%; } }
1389
-
1390
- @media screen and (min-width: 75em) {
1391
- .medium-margin-collapse > .xlarge-1 {
1392
- width: 8.33333%; }
1393
- .medium-margin-collapse > .xlarge-2 {
1394
- width: 16.66667%; }
1395
- .medium-margin-collapse > .xlarge-3 {
1396
- width: 25%; }
1397
- .medium-margin-collapse > .xlarge-4 {
1398
- width: 33.33333%; }
1399
- .medium-margin-collapse > .xlarge-5 {
1400
- width: 41.66667%; }
1401
- .medium-margin-collapse > .xlarge-6 {
1402
- width: 50%; }
1403
- .medium-margin-collapse > .xlarge-7 {
1404
- width: 58.33333%; }
1405
- .medium-margin-collapse > .xlarge-8 {
1406
- width: 66.66667%; }
1407
- .medium-margin-collapse > .xlarge-9 {
1408
- width: 75%; }
1409
- .medium-margin-collapse > .xlarge-10 {
1410
- width: 83.33333%; }
1411
- .medium-margin-collapse > .xlarge-11 {
1412
- width: 91.66667%; }
1413
- .medium-margin-collapse > .xlarge-12 {
1414
- width: 100%; } }
1415
-
1416
- @media screen and (min-width: 90em) {
1417
- .medium-margin-collapse > .xxlarge-1 {
1418
- width: 8.33333%; }
1419
- .medium-margin-collapse > .xxlarge-2 {
1420
- width: 16.66667%; }
1421
- .medium-margin-collapse > .xxlarge-3 {
1422
- width: 25%; }
1423
- .medium-margin-collapse > .xxlarge-4 {
1424
- width: 33.33333%; }
1425
- .medium-margin-collapse > .xxlarge-5 {
1426
- width: 41.66667%; }
1427
- .medium-margin-collapse > .xxlarge-6 {
1428
- width: 50%; }
1429
- .medium-margin-collapse > .xxlarge-7 {
1430
- width: 58.33333%; }
1431
- .medium-margin-collapse > .xxlarge-8 {
1432
- width: 66.66667%; }
1433
- .medium-margin-collapse > .xxlarge-9 {
1434
- width: 75%; }
1435
- .medium-margin-collapse > .xxlarge-10 {
1436
- width: 83.33333%; }
1437
- .medium-margin-collapse > .xxlarge-11 {
1438
- width: 91.66667%; }
1439
- .medium-margin-collapse > .xxlarge-12 {
1440
- width: 100%; } }
1441
-
1442
- @media screen and (min-width: 100em) {
1443
- .medium-margin-collapse > .xxxlarge-1 {
1444
- width: 8.33333%; }
1445
- .medium-margin-collapse > .xxxlarge-2 {
1446
- width: 16.66667%; }
1447
- .medium-margin-collapse > .xxxlarge-3 {
1448
- width: 25%; }
1449
- .medium-margin-collapse > .xxxlarge-4 {
1450
- width: 33.33333%; }
1451
- .medium-margin-collapse > .xxxlarge-5 {
1452
- width: 41.66667%; }
1453
- .medium-margin-collapse > .xxxlarge-6 {
1454
- width: 50%; }
1455
- .medium-margin-collapse > .xxxlarge-7 {
1456
- width: 58.33333%; }
1457
- .medium-margin-collapse > .xxxlarge-8 {
1458
- width: 66.66667%; }
1459
- .medium-margin-collapse > .xxxlarge-9 {
1460
- width: 75%; }
1461
- .medium-margin-collapse > .xxxlarge-10 {
1462
- width: 83.33333%; }
1463
- .medium-margin-collapse > .xxxlarge-11 {
1464
- width: 91.66667%; }
1465
- .medium-margin-collapse > .xxxlarge-12 {
1466
- width: 100%; } }
1467
-
1468
- @media print, screen and (min-width: 40em) {
1469
- .medium-padding-collapse {
1470
- margin-right: 0;
1471
- margin-left: 0; }
1472
- .medium-padding-collapse > .cell {
1473
- padding-right: 0;
1474
- padding-left: 0; } }
1475
-
1476
- @media print, screen and (min-width: 64em) {
1477
- .large-margin-collapse {
1478
- margin-right: 0;
1479
- margin-left: 0; }
1480
- .large-margin-collapse > .cell {
1481
- margin-right: 0;
1482
- margin-left: 0; } }
1483
-
1484
- @media print, screen and (min-width: 64em) {
1485
- .large-margin-collapse > .small-1 {
1486
- width: 8.33333%; }
1487
- .large-margin-collapse > .small-2 {
1488
- width: 16.66667%; }
1489
- .large-margin-collapse > .small-3 {
1490
- width: 25%; }
1491
- .large-margin-collapse > .small-4 {
1492
- width: 33.33333%; }
1493
- .large-margin-collapse > .small-5 {
1494
- width: 41.66667%; }
1495
- .large-margin-collapse > .small-6 {
1496
- width: 50%; }
1497
- .large-margin-collapse > .small-7 {
1498
- width: 58.33333%; }
1499
- .large-margin-collapse > .small-8 {
1500
- width: 66.66667%; }
1501
- .large-margin-collapse > .small-9 {
1502
- width: 75%; }
1503
- .large-margin-collapse > .small-10 {
1504
- width: 83.33333%; }
1505
- .large-margin-collapse > .small-11 {
1506
- width: 91.66667%; }
1507
- .large-margin-collapse > .small-12 {
1508
- width: 100%; } }
1509
-
1510
- @media print, screen and (min-width: 64em) {
1511
- .large-margin-collapse > .medium-1 {
1512
- width: 8.33333%; }
1513
- .large-margin-collapse > .medium-2 {
1514
- width: 16.66667%; }
1515
- .large-margin-collapse > .medium-3 {
1516
- width: 25%; }
1517
- .large-margin-collapse > .medium-4 {
1518
- width: 33.33333%; }
1519
- .large-margin-collapse > .medium-5 {
1520
- width: 41.66667%; }
1521
- .large-margin-collapse > .medium-6 {
1522
- width: 50%; }
1523
- .large-margin-collapse > .medium-7 {
1524
- width: 58.33333%; }
1525
- .large-margin-collapse > .medium-8 {
1526
- width: 66.66667%; }
1527
- .large-margin-collapse > .medium-9 {
1528
- width: 75%; }
1529
- .large-margin-collapse > .medium-10 {
1530
- width: 83.33333%; }
1531
- .large-margin-collapse > .medium-11 {
1532
- width: 91.66667%; }
1533
- .large-margin-collapse > .medium-12 {
1534
- width: 100%; } }
1535
-
1536
- @media print, screen and (min-width: 64em) {
1537
- .large-margin-collapse > .large-1 {
1538
- width: 8.33333%; }
1539
- .large-margin-collapse > .large-2 {
1540
- width: 16.66667%; }
1541
- .large-margin-collapse > .large-3 {
1542
- width: 25%; }
1543
- .large-margin-collapse > .large-4 {
1544
- width: 33.33333%; }
1545
- .large-margin-collapse > .large-5 {
1546
- width: 41.66667%; }
1547
- .large-margin-collapse > .large-6 {
1548
- width: 50%; }
1549
- .large-margin-collapse > .large-7 {
1550
- width: 58.33333%; }
1551
- .large-margin-collapse > .large-8 {
1552
- width: 66.66667%; }
1553
- .large-margin-collapse > .large-9 {
1554
- width: 75%; }
1555
- .large-margin-collapse > .large-10 {
1556
- width: 83.33333%; }
1557
- .large-margin-collapse > .large-11 {
1558
- width: 91.66667%; }
1559
- .large-margin-collapse > .large-12 {
1560
- width: 100%; } }
1561
-
1562
- @media screen and (min-width: 75em) {
1563
- .large-margin-collapse > .xlarge-1 {
1564
- width: 8.33333%; }
1565
- .large-margin-collapse > .xlarge-2 {
1566
- width: 16.66667%; }
1567
- .large-margin-collapse > .xlarge-3 {
1568
- width: 25%; }
1569
- .large-margin-collapse > .xlarge-4 {
1570
- width: 33.33333%; }
1571
- .large-margin-collapse > .xlarge-5 {
1572
- width: 41.66667%; }
1573
- .large-margin-collapse > .xlarge-6 {
1574
- width: 50%; }
1575
- .large-margin-collapse > .xlarge-7 {
1576
- width: 58.33333%; }
1577
- .large-margin-collapse > .xlarge-8 {
1578
- width: 66.66667%; }
1579
- .large-margin-collapse > .xlarge-9 {
1580
- width: 75%; }
1581
- .large-margin-collapse > .xlarge-10 {
1582
- width: 83.33333%; }
1583
- .large-margin-collapse > .xlarge-11 {
1584
- width: 91.66667%; }
1585
- .large-margin-collapse > .xlarge-12 {
1586
- width: 100%; } }
1587
-
1588
- @media screen and (min-width: 90em) {
1589
- .large-margin-collapse > .xxlarge-1 {
1590
- width: 8.33333%; }
1591
- .large-margin-collapse > .xxlarge-2 {
1592
- width: 16.66667%; }
1593
- .large-margin-collapse > .xxlarge-3 {
1594
- width: 25%; }
1595
- .large-margin-collapse > .xxlarge-4 {
1596
- width: 33.33333%; }
1597
- .large-margin-collapse > .xxlarge-5 {
1598
- width: 41.66667%; }
1599
- .large-margin-collapse > .xxlarge-6 {
1600
- width: 50%; }
1601
- .large-margin-collapse > .xxlarge-7 {
1602
- width: 58.33333%; }
1603
- .large-margin-collapse > .xxlarge-8 {
1604
- width: 66.66667%; }
1605
- .large-margin-collapse > .xxlarge-9 {
1606
- width: 75%; }
1607
- .large-margin-collapse > .xxlarge-10 {
1608
- width: 83.33333%; }
1609
- .large-margin-collapse > .xxlarge-11 {
1610
- width: 91.66667%; }
1611
- .large-margin-collapse > .xxlarge-12 {
1612
- width: 100%; } }
1613
-
1614
- @media screen and (min-width: 100em) {
1615
- .large-margin-collapse > .xxxlarge-1 {
1616
- width: 8.33333%; }
1617
- .large-margin-collapse > .xxxlarge-2 {
1618
- width: 16.66667%; }
1619
- .large-margin-collapse > .xxxlarge-3 {
1620
- width: 25%; }
1621
- .large-margin-collapse > .xxxlarge-4 {
1622
- width: 33.33333%; }
1623
- .large-margin-collapse > .xxxlarge-5 {
1624
- width: 41.66667%; }
1625
- .large-margin-collapse > .xxxlarge-6 {
1626
- width: 50%; }
1627
- .large-margin-collapse > .xxxlarge-7 {
1628
- width: 58.33333%; }
1629
- .large-margin-collapse > .xxxlarge-8 {
1630
- width: 66.66667%; }
1631
- .large-margin-collapse > .xxxlarge-9 {
1632
- width: 75%; }
1633
- .large-margin-collapse > .xxxlarge-10 {
1634
- width: 83.33333%; }
1635
- .large-margin-collapse > .xxxlarge-11 {
1636
- width: 91.66667%; }
1637
- .large-margin-collapse > .xxxlarge-12 {
1638
- width: 100%; } }
1639
-
1640
- @media print, screen and (min-width: 64em) {
1641
- .large-padding-collapse {
1642
- margin-right: 0;
1643
- margin-left: 0; }
1644
- .large-padding-collapse > .cell {
1645
- padding-right: 0;
1646
- padding-left: 0; } }
1647
-
1648
- @media screen and (min-width: 75em) {
1649
- .xlarge-margin-collapse {
1650
- margin-right: 0;
1651
- margin-left: 0; }
1652
- .xlarge-margin-collapse > .cell {
1653
- margin-right: 0;
1654
- margin-left: 0; } }
1655
-
1656
- @media screen and (min-width: 75em) {
1657
- .xlarge-margin-collapse > .small-1 {
1658
- width: 8.33333%; }
1659
- .xlarge-margin-collapse > .small-2 {
1660
- width: 16.66667%; }
1661
- .xlarge-margin-collapse > .small-3 {
1662
- width: 25%; }
1663
- .xlarge-margin-collapse > .small-4 {
1664
- width: 33.33333%; }
1665
- .xlarge-margin-collapse > .small-5 {
1666
- width: 41.66667%; }
1667
- .xlarge-margin-collapse > .small-6 {
1668
- width: 50%; }
1669
- .xlarge-margin-collapse > .small-7 {
1670
- width: 58.33333%; }
1671
- .xlarge-margin-collapse > .small-8 {
1672
- width: 66.66667%; }
1673
- .xlarge-margin-collapse > .small-9 {
1674
- width: 75%; }
1675
- .xlarge-margin-collapse > .small-10 {
1676
- width: 83.33333%; }
1677
- .xlarge-margin-collapse > .small-11 {
1678
- width: 91.66667%; }
1679
- .xlarge-margin-collapse > .small-12 {
1680
- width: 100%; } }
1681
-
1682
- @media screen and (min-width: 75em) {
1683
- .xlarge-margin-collapse > .medium-1 {
1684
- width: 8.33333%; }
1685
- .xlarge-margin-collapse > .medium-2 {
1686
- width: 16.66667%; }
1687
- .xlarge-margin-collapse > .medium-3 {
1688
- width: 25%; }
1689
- .xlarge-margin-collapse > .medium-4 {
1690
- width: 33.33333%; }
1691
- .xlarge-margin-collapse > .medium-5 {
1692
- width: 41.66667%; }
1693
- .xlarge-margin-collapse > .medium-6 {
1694
- width: 50%; }
1695
- .xlarge-margin-collapse > .medium-7 {
1696
- width: 58.33333%; }
1697
- .xlarge-margin-collapse > .medium-8 {
1698
- width: 66.66667%; }
1699
- .xlarge-margin-collapse > .medium-9 {
1700
- width: 75%; }
1701
- .xlarge-margin-collapse > .medium-10 {
1702
- width: 83.33333%; }
1703
- .xlarge-margin-collapse > .medium-11 {
1704
- width: 91.66667%; }
1705
- .xlarge-margin-collapse > .medium-12 {
1706
- width: 100%; } }
1707
-
1708
- @media screen and (min-width: 75em) {
1709
- .xlarge-margin-collapse > .large-1 {
1710
- width: 8.33333%; }
1711
- .xlarge-margin-collapse > .large-2 {
1712
- width: 16.66667%; }
1713
- .xlarge-margin-collapse > .large-3 {
1714
- width: 25%; }
1715
- .xlarge-margin-collapse > .large-4 {
1716
- width: 33.33333%; }
1717
- .xlarge-margin-collapse > .large-5 {
1718
- width: 41.66667%; }
1719
- .xlarge-margin-collapse > .large-6 {
1720
- width: 50%; }
1721
- .xlarge-margin-collapse > .large-7 {
1722
- width: 58.33333%; }
1723
- .xlarge-margin-collapse > .large-8 {
1724
- width: 66.66667%; }
1725
- .xlarge-margin-collapse > .large-9 {
1726
- width: 75%; }
1727
- .xlarge-margin-collapse > .large-10 {
1728
- width: 83.33333%; }
1729
- .xlarge-margin-collapse > .large-11 {
1730
- width: 91.66667%; }
1731
- .xlarge-margin-collapse > .large-12 {
1732
- width: 100%; } }
1733
-
1734
- @media screen and (min-width: 75em) {
1735
- .xlarge-margin-collapse > .xlarge-1 {
1736
- width: 8.33333%; }
1737
- .xlarge-margin-collapse > .xlarge-2 {
1738
- width: 16.66667%; }
1739
- .xlarge-margin-collapse > .xlarge-3 {
1740
- width: 25%; }
1741
- .xlarge-margin-collapse > .xlarge-4 {
1742
- width: 33.33333%; }
1743
- .xlarge-margin-collapse > .xlarge-5 {
1744
- width: 41.66667%; }
1745
- .xlarge-margin-collapse > .xlarge-6 {
1746
- width: 50%; }
1747
- .xlarge-margin-collapse > .xlarge-7 {
1748
- width: 58.33333%; }
1749
- .xlarge-margin-collapse > .xlarge-8 {
1750
- width: 66.66667%; }
1751
- .xlarge-margin-collapse > .xlarge-9 {
1752
- width: 75%; }
1753
- .xlarge-margin-collapse > .xlarge-10 {
1754
- width: 83.33333%; }
1755
- .xlarge-margin-collapse > .xlarge-11 {
1756
- width: 91.66667%; }
1757
- .xlarge-margin-collapse > .xlarge-12 {
1758
- width: 100%; } }
1759
-
1760
- @media screen and (min-width: 90em) {
1761
- .xlarge-margin-collapse > .xxlarge-1 {
1762
- width: 8.33333%; }
1763
- .xlarge-margin-collapse > .xxlarge-2 {
1764
- width: 16.66667%; }
1765
- .xlarge-margin-collapse > .xxlarge-3 {
1766
- width: 25%; }
1767
- .xlarge-margin-collapse > .xxlarge-4 {
1768
- width: 33.33333%; }
1769
- .xlarge-margin-collapse > .xxlarge-5 {
1770
- width: 41.66667%; }
1771
- .xlarge-margin-collapse > .xxlarge-6 {
1772
- width: 50%; }
1773
- .xlarge-margin-collapse > .xxlarge-7 {
1774
- width: 58.33333%; }
1775
- .xlarge-margin-collapse > .xxlarge-8 {
1776
- width: 66.66667%; }
1777
- .xlarge-margin-collapse > .xxlarge-9 {
1778
- width: 75%; }
1779
- .xlarge-margin-collapse > .xxlarge-10 {
1780
- width: 83.33333%; }
1781
- .xlarge-margin-collapse > .xxlarge-11 {
1782
- width: 91.66667%; }
1783
- .xlarge-margin-collapse > .xxlarge-12 {
1784
- width: 100%; } }
1785
-
1786
- @media screen and (min-width: 100em) {
1787
- .xlarge-margin-collapse > .xxxlarge-1 {
1788
- width: 8.33333%; }
1789
- .xlarge-margin-collapse > .xxxlarge-2 {
1790
- width: 16.66667%; }
1791
- .xlarge-margin-collapse > .xxxlarge-3 {
1792
- width: 25%; }
1793
- .xlarge-margin-collapse > .xxxlarge-4 {
1794
- width: 33.33333%; }
1795
- .xlarge-margin-collapse > .xxxlarge-5 {
1796
- width: 41.66667%; }
1797
- .xlarge-margin-collapse > .xxxlarge-6 {
1798
- width: 50%; }
1799
- .xlarge-margin-collapse > .xxxlarge-7 {
1800
- width: 58.33333%; }
1801
- .xlarge-margin-collapse > .xxxlarge-8 {
1802
- width: 66.66667%; }
1803
- .xlarge-margin-collapse > .xxxlarge-9 {
1804
- width: 75%; }
1805
- .xlarge-margin-collapse > .xxxlarge-10 {
1806
- width: 83.33333%; }
1807
- .xlarge-margin-collapse > .xxxlarge-11 {
1808
- width: 91.66667%; }
1809
- .xlarge-margin-collapse > .xxxlarge-12 {
1810
- width: 100%; } }
1811
-
1812
- @media screen and (min-width: 75em) {
1813
- .xlarge-padding-collapse {
1814
- margin-right: 0;
1815
- margin-left: 0; }
1816
- .xlarge-padding-collapse > .cell {
1817
- padding-right: 0;
1818
- padding-left: 0; } }
1819
-
1820
- @media screen and (min-width: 90em) {
1821
- .xxlarge-margin-collapse {
1822
- margin-right: 0;
1823
- margin-left: 0; }
1824
- .xxlarge-margin-collapse > .cell {
1825
- margin-right: 0;
1826
- margin-left: 0; } }
1827
-
1828
- @media screen and (min-width: 90em) {
1829
- .xxlarge-margin-collapse > .small-1 {
1830
- width: 8.33333%; }
1831
- .xxlarge-margin-collapse > .small-2 {
1832
- width: 16.66667%; }
1833
- .xxlarge-margin-collapse > .small-3 {
1834
- width: 25%; }
1835
- .xxlarge-margin-collapse > .small-4 {
1836
- width: 33.33333%; }
1837
- .xxlarge-margin-collapse > .small-5 {
1838
- width: 41.66667%; }
1839
- .xxlarge-margin-collapse > .small-6 {
1840
- width: 50%; }
1841
- .xxlarge-margin-collapse > .small-7 {
1842
- width: 58.33333%; }
1843
- .xxlarge-margin-collapse > .small-8 {
1844
- width: 66.66667%; }
1845
- .xxlarge-margin-collapse > .small-9 {
1846
- width: 75%; }
1847
- .xxlarge-margin-collapse > .small-10 {
1848
- width: 83.33333%; }
1849
- .xxlarge-margin-collapse > .small-11 {
1850
- width: 91.66667%; }
1851
- .xxlarge-margin-collapse > .small-12 {
1852
- width: 100%; } }
1853
-
1854
- @media screen and (min-width: 90em) {
1855
- .xxlarge-margin-collapse > .medium-1 {
1856
- width: 8.33333%; }
1857
- .xxlarge-margin-collapse > .medium-2 {
1858
- width: 16.66667%; }
1859
- .xxlarge-margin-collapse > .medium-3 {
1860
- width: 25%; }
1861
- .xxlarge-margin-collapse > .medium-4 {
1862
- width: 33.33333%; }
1863
- .xxlarge-margin-collapse > .medium-5 {
1864
- width: 41.66667%; }
1865
- .xxlarge-margin-collapse > .medium-6 {
1866
- width: 50%; }
1867
- .xxlarge-margin-collapse > .medium-7 {
1868
- width: 58.33333%; }
1869
- .xxlarge-margin-collapse > .medium-8 {
1870
- width: 66.66667%; }
1871
- .xxlarge-margin-collapse > .medium-9 {
1872
- width: 75%; }
1873
- .xxlarge-margin-collapse > .medium-10 {
1874
- width: 83.33333%; }
1875
- .xxlarge-margin-collapse > .medium-11 {
1876
- width: 91.66667%; }
1877
- .xxlarge-margin-collapse > .medium-12 {
1878
- width: 100%; } }
1879
-
1880
- @media screen and (min-width: 90em) {
1881
- .xxlarge-margin-collapse > .large-1 {
1882
- width: 8.33333%; }
1883
- .xxlarge-margin-collapse > .large-2 {
1884
- width: 16.66667%; }
1885
- .xxlarge-margin-collapse > .large-3 {
1886
- width: 25%; }
1887
- .xxlarge-margin-collapse > .large-4 {
1888
- width: 33.33333%; }
1889
- .xxlarge-margin-collapse > .large-5 {
1890
- width: 41.66667%; }
1891
- .xxlarge-margin-collapse > .large-6 {
1892
- width: 50%; }
1893
- .xxlarge-margin-collapse > .large-7 {
1894
- width: 58.33333%; }
1895
- .xxlarge-margin-collapse > .large-8 {
1896
- width: 66.66667%; }
1897
- .xxlarge-margin-collapse > .large-9 {
1898
- width: 75%; }
1899
- .xxlarge-margin-collapse > .large-10 {
1900
- width: 83.33333%; }
1901
- .xxlarge-margin-collapse > .large-11 {
1902
- width: 91.66667%; }
1903
- .xxlarge-margin-collapse > .large-12 {
1904
- width: 100%; } }
1905
-
1906
- @media screen and (min-width: 90em) {
1907
- .xxlarge-margin-collapse > .xlarge-1 {
1908
- width: 8.33333%; }
1909
- .xxlarge-margin-collapse > .xlarge-2 {
1910
- width: 16.66667%; }
1911
- .xxlarge-margin-collapse > .xlarge-3 {
1912
- width: 25%; }
1913
- .xxlarge-margin-collapse > .xlarge-4 {
1914
- width: 33.33333%; }
1915
- .xxlarge-margin-collapse > .xlarge-5 {
1916
- width: 41.66667%; }
1917
- .xxlarge-margin-collapse > .xlarge-6 {
1918
- width: 50%; }
1919
- .xxlarge-margin-collapse > .xlarge-7 {
1920
- width: 58.33333%; }
1921
- .xxlarge-margin-collapse > .xlarge-8 {
1922
- width: 66.66667%; }
1923
- .xxlarge-margin-collapse > .xlarge-9 {
1924
- width: 75%; }
1925
- .xxlarge-margin-collapse > .xlarge-10 {
1926
- width: 83.33333%; }
1927
- .xxlarge-margin-collapse > .xlarge-11 {
1928
- width: 91.66667%; }
1929
- .xxlarge-margin-collapse > .xlarge-12 {
1930
- width: 100%; } }
1931
-
1932
- @media screen and (min-width: 90em) {
1933
- .xxlarge-margin-collapse > .xxlarge-1 {
1934
- width: 8.33333%; }
1935
- .xxlarge-margin-collapse > .xxlarge-2 {
1936
- width: 16.66667%; }
1937
- .xxlarge-margin-collapse > .xxlarge-3 {
1938
- width: 25%; }
1939
- .xxlarge-margin-collapse > .xxlarge-4 {
1940
- width: 33.33333%; }
1941
- .xxlarge-margin-collapse > .xxlarge-5 {
1942
- width: 41.66667%; }
1943
- .xxlarge-margin-collapse > .xxlarge-6 {
1944
- width: 50%; }
1945
- .xxlarge-margin-collapse > .xxlarge-7 {
1946
- width: 58.33333%; }
1947
- .xxlarge-margin-collapse > .xxlarge-8 {
1948
- width: 66.66667%; }
1949
- .xxlarge-margin-collapse > .xxlarge-9 {
1950
- width: 75%; }
1951
- .xxlarge-margin-collapse > .xxlarge-10 {
1952
- width: 83.33333%; }
1953
- .xxlarge-margin-collapse > .xxlarge-11 {
1954
- width: 91.66667%; }
1955
- .xxlarge-margin-collapse > .xxlarge-12 {
1956
- width: 100%; } }
1957
-
1958
- @media screen and (min-width: 100em) {
1959
- .xxlarge-margin-collapse > .xxxlarge-1 {
1960
- width: 8.33333%; }
1961
- .xxlarge-margin-collapse > .xxxlarge-2 {
1962
- width: 16.66667%; }
1963
- .xxlarge-margin-collapse > .xxxlarge-3 {
1964
- width: 25%; }
1965
- .xxlarge-margin-collapse > .xxxlarge-4 {
1966
- width: 33.33333%; }
1967
- .xxlarge-margin-collapse > .xxxlarge-5 {
1968
- width: 41.66667%; }
1969
- .xxlarge-margin-collapse > .xxxlarge-6 {
1970
- width: 50%; }
1971
- .xxlarge-margin-collapse > .xxxlarge-7 {
1972
- width: 58.33333%; }
1973
- .xxlarge-margin-collapse > .xxxlarge-8 {
1974
- width: 66.66667%; }
1975
- .xxlarge-margin-collapse > .xxxlarge-9 {
1976
- width: 75%; }
1977
- .xxlarge-margin-collapse > .xxxlarge-10 {
1978
- width: 83.33333%; }
1979
- .xxlarge-margin-collapse > .xxxlarge-11 {
1980
- width: 91.66667%; }
1981
- .xxlarge-margin-collapse > .xxxlarge-12 {
1982
- width: 100%; } }
1983
-
1984
- @media screen and (min-width: 90em) {
1985
- .xxlarge-padding-collapse {
1986
- margin-right: 0;
1987
- margin-left: 0; }
1988
- .xxlarge-padding-collapse > .cell {
1989
- padding-right: 0;
1990
- padding-left: 0; } }
1991
-
1992
- @media screen and (min-width: 100em) {
1993
- .xxxlarge-margin-collapse {
1994
- margin-right: 0;
1995
- margin-left: 0; }
1996
- .xxxlarge-margin-collapse > .cell {
1997
- margin-right: 0;
1998
- margin-left: 0; } }
1999
-
2000
- @media screen and (min-width: 100em) {
2001
- .xxxlarge-margin-collapse > .small-1 {
2002
- width: 8.33333%; }
2003
- .xxxlarge-margin-collapse > .small-2 {
2004
- width: 16.66667%; }
2005
- .xxxlarge-margin-collapse > .small-3 {
2006
- width: 25%; }
2007
- .xxxlarge-margin-collapse > .small-4 {
2008
- width: 33.33333%; }
2009
- .xxxlarge-margin-collapse > .small-5 {
2010
- width: 41.66667%; }
2011
- .xxxlarge-margin-collapse > .small-6 {
2012
- width: 50%; }
2013
- .xxxlarge-margin-collapse > .small-7 {
2014
- width: 58.33333%; }
2015
- .xxxlarge-margin-collapse > .small-8 {
2016
- width: 66.66667%; }
2017
- .xxxlarge-margin-collapse > .small-9 {
2018
- width: 75%; }
2019
- .xxxlarge-margin-collapse > .small-10 {
2020
- width: 83.33333%; }
2021
- .xxxlarge-margin-collapse > .small-11 {
2022
- width: 91.66667%; }
2023
- .xxxlarge-margin-collapse > .small-12 {
2024
- width: 100%; } }
2025
-
2026
- @media screen and (min-width: 100em) {
2027
- .xxxlarge-margin-collapse > .medium-1 {
2028
- width: 8.33333%; }
2029
- .xxxlarge-margin-collapse > .medium-2 {
2030
- width: 16.66667%; }
2031
- .xxxlarge-margin-collapse > .medium-3 {
2032
- width: 25%; }
2033
- .xxxlarge-margin-collapse > .medium-4 {
2034
- width: 33.33333%; }
2035
- .xxxlarge-margin-collapse > .medium-5 {
2036
- width: 41.66667%; }
2037
- .xxxlarge-margin-collapse > .medium-6 {
2038
- width: 50%; }
2039
- .xxxlarge-margin-collapse > .medium-7 {
2040
- width: 58.33333%; }
2041
- .xxxlarge-margin-collapse > .medium-8 {
2042
- width: 66.66667%; }
2043
- .xxxlarge-margin-collapse > .medium-9 {
2044
- width: 75%; }
2045
- .xxxlarge-margin-collapse > .medium-10 {
2046
- width: 83.33333%; }
2047
- .xxxlarge-margin-collapse > .medium-11 {
2048
- width: 91.66667%; }
2049
- .xxxlarge-margin-collapse > .medium-12 {
2050
- width: 100%; } }
2051
-
2052
- @media screen and (min-width: 100em) {
2053
- .xxxlarge-margin-collapse > .large-1 {
2054
- width: 8.33333%; }
2055
- .xxxlarge-margin-collapse > .large-2 {
2056
- width: 16.66667%; }
2057
- .xxxlarge-margin-collapse > .large-3 {
2058
- width: 25%; }
2059
- .xxxlarge-margin-collapse > .large-4 {
2060
- width: 33.33333%; }
2061
- .xxxlarge-margin-collapse > .large-5 {
2062
- width: 41.66667%; }
2063
- .xxxlarge-margin-collapse > .large-6 {
2064
- width: 50%; }
2065
- .xxxlarge-margin-collapse > .large-7 {
2066
- width: 58.33333%; }
2067
- .xxxlarge-margin-collapse > .large-8 {
2068
- width: 66.66667%; }
2069
- .xxxlarge-margin-collapse > .large-9 {
2070
- width: 75%; }
2071
- .xxxlarge-margin-collapse > .large-10 {
2072
- width: 83.33333%; }
2073
- .xxxlarge-margin-collapse > .large-11 {
2074
- width: 91.66667%; }
2075
- .xxxlarge-margin-collapse > .large-12 {
2076
- width: 100%; } }
2077
-
2078
- @media screen and (min-width: 100em) {
2079
- .xxxlarge-margin-collapse > .xlarge-1 {
2080
- width: 8.33333%; }
2081
- .xxxlarge-margin-collapse > .xlarge-2 {
2082
- width: 16.66667%; }
2083
- .xxxlarge-margin-collapse > .xlarge-3 {
2084
- width: 25%; }
2085
- .xxxlarge-margin-collapse > .xlarge-4 {
2086
- width: 33.33333%; }
2087
- .xxxlarge-margin-collapse > .xlarge-5 {
2088
- width: 41.66667%; }
2089
- .xxxlarge-margin-collapse > .xlarge-6 {
2090
- width: 50%; }
2091
- .xxxlarge-margin-collapse > .xlarge-7 {
2092
- width: 58.33333%; }
2093
- .xxxlarge-margin-collapse > .xlarge-8 {
2094
- width: 66.66667%; }
2095
- .xxxlarge-margin-collapse > .xlarge-9 {
2096
- width: 75%; }
2097
- .xxxlarge-margin-collapse > .xlarge-10 {
2098
- width: 83.33333%; }
2099
- .xxxlarge-margin-collapse > .xlarge-11 {
2100
- width: 91.66667%; }
2101
- .xxxlarge-margin-collapse > .xlarge-12 {
2102
- width: 100%; } }
2103
-
2104
- @media screen and (min-width: 100em) {
2105
- .xxxlarge-margin-collapse > .xxlarge-1 {
2106
- width: 8.33333%; }
2107
- .xxxlarge-margin-collapse > .xxlarge-2 {
2108
- width: 16.66667%; }
2109
- .xxxlarge-margin-collapse > .xxlarge-3 {
2110
- width: 25%; }
2111
- .xxxlarge-margin-collapse > .xxlarge-4 {
2112
- width: 33.33333%; }
2113
- .xxxlarge-margin-collapse > .xxlarge-5 {
2114
- width: 41.66667%; }
2115
- .xxxlarge-margin-collapse > .xxlarge-6 {
2116
- width: 50%; }
2117
- .xxxlarge-margin-collapse > .xxlarge-7 {
2118
- width: 58.33333%; }
2119
- .xxxlarge-margin-collapse > .xxlarge-8 {
2120
- width: 66.66667%; }
2121
- .xxxlarge-margin-collapse > .xxlarge-9 {
2122
- width: 75%; }
2123
- .xxxlarge-margin-collapse > .xxlarge-10 {
2124
- width: 83.33333%; }
2125
- .xxxlarge-margin-collapse > .xxlarge-11 {
2126
- width: 91.66667%; }
2127
- .xxxlarge-margin-collapse > .xxlarge-12 {
2128
- width: 100%; } }
2129
-
2130
- @media screen and (min-width: 100em) {
2131
- .xxxlarge-margin-collapse > .xxxlarge-1 {
2132
- width: 8.33333%; }
2133
- .xxxlarge-margin-collapse > .xxxlarge-2 {
2134
- width: 16.66667%; }
2135
- .xxxlarge-margin-collapse > .xxxlarge-3 {
2136
- width: 25%; }
2137
- .xxxlarge-margin-collapse > .xxxlarge-4 {
2138
- width: 33.33333%; }
2139
- .xxxlarge-margin-collapse > .xxxlarge-5 {
2140
- width: 41.66667%; }
2141
- .xxxlarge-margin-collapse > .xxxlarge-6 {
2142
- width: 50%; }
2143
- .xxxlarge-margin-collapse > .xxxlarge-7 {
2144
- width: 58.33333%; }
2145
- .xxxlarge-margin-collapse > .xxxlarge-8 {
2146
- width: 66.66667%; }
2147
- .xxxlarge-margin-collapse > .xxxlarge-9 {
2148
- width: 75%; }
2149
- .xxxlarge-margin-collapse > .xxxlarge-10 {
2150
- width: 83.33333%; }
2151
- .xxxlarge-margin-collapse > .xxxlarge-11 {
2152
- width: 91.66667%; }
2153
- .xxxlarge-margin-collapse > .xxxlarge-12 {
2154
- width: 100%; } }
2155
-
2156
- @media screen and (min-width: 100em) {
2157
- .xxxlarge-padding-collapse {
2158
- margin-right: 0;
2159
- margin-left: 0; }
2160
- .xxxlarge-padding-collapse > .cell {
2161
- padding-right: 0;
2162
- padding-left: 0; } }
2163
-
2164
- .small-offset-0 {
2165
- margin-left: 0%; }
2166
-
2167
- .grid-margin-x > .small-offset-0 {
2168
- margin-left: calc(0% + 0.9375rem); }
2169
-
2170
- .small-offset-1 {
2171
- margin-left: 8.33333%; }
2172
-
2173
- .grid-margin-x > .small-offset-1 {
2174
- margin-left: calc(8.33333% + 0.9375rem); }
2175
-
2176
- .small-offset-2 {
2177
- margin-left: 16.66667%; }
2178
-
2179
- .grid-margin-x > .small-offset-2 {
2180
- margin-left: calc(16.66667% + 0.9375rem); }
2181
-
2182
- .small-offset-3 {
2183
- margin-left: 25%; }
2184
-
2185
- .grid-margin-x > .small-offset-3 {
2186
- margin-left: calc(25% + 0.9375rem); }
2187
-
2188
- .small-offset-4 {
2189
- margin-left: 33.33333%; }
2190
-
2191
- .grid-margin-x > .small-offset-4 {
2192
- margin-left: calc(33.33333% + 0.9375rem); }
2193
-
2194
- .small-offset-5 {
2195
- margin-left: 41.66667%; }
2196
-
2197
- .grid-margin-x > .small-offset-5 {
2198
- margin-left: calc(41.66667% + 0.9375rem); }
2199
-
2200
- .small-offset-6 {
2201
- margin-left: 50%; }
2202
-
2203
- .grid-margin-x > .small-offset-6 {
2204
- margin-left: calc(50% + 0.9375rem); }
2205
-
2206
- .small-offset-7 {
2207
- margin-left: 58.33333%; }
2208
-
2209
- .grid-margin-x > .small-offset-7 {
2210
- margin-left: calc(58.33333% + 0.9375rem); }
2211
-
2212
- .small-offset-8 {
2213
- margin-left: 66.66667%; }
2214
-
2215
- .grid-margin-x > .small-offset-8 {
2216
- margin-left: calc(66.66667% + 0.9375rem); }
2217
-
2218
- .small-offset-9 {
2219
- margin-left: 75%; }
2220
-
2221
- .grid-margin-x > .small-offset-9 {
2222
- margin-left: calc(75% + 0.9375rem); }
2223
-
2224
- .small-offset-10 {
2225
- margin-left: 83.33333%; }
2226
-
2227
- .grid-margin-x > .small-offset-10 {
2228
- margin-left: calc(83.33333% + 0.9375rem); }
2229
-
2230
- .small-offset-11 {
2231
- margin-left: 91.66667%; }
2232
-
2233
- .grid-margin-x > .small-offset-11 {
2234
- margin-left: calc(91.66667% + 0.9375rem); }
2235
-
2236
- @media print, screen and (min-width: 40em) {
2237
- .medium-offset-0 {
2238
- margin-left: 0%; }
2239
- .grid-margin-x > .medium-offset-0 {
2240
- margin-left: calc(0% + 0.9375rem); }
2241
- .medium-offset-1 {
2242
- margin-left: 8.33333%; }
2243
- .grid-margin-x > .medium-offset-1 {
2244
- margin-left: calc(8.33333% + 0.9375rem); }
2245
- .medium-offset-2 {
2246
- margin-left: 16.66667%; }
2247
- .grid-margin-x > .medium-offset-2 {
2248
- margin-left: calc(16.66667% + 0.9375rem); }
2249
- .medium-offset-3 {
2250
- margin-left: 25%; }
2251
- .grid-margin-x > .medium-offset-3 {
2252
- margin-left: calc(25% + 0.9375rem); }
2253
- .medium-offset-4 {
2254
- margin-left: 33.33333%; }
2255
- .grid-margin-x > .medium-offset-4 {
2256
- margin-left: calc(33.33333% + 0.9375rem); }
2257
- .medium-offset-5 {
2258
- margin-left: 41.66667%; }
2259
- .grid-margin-x > .medium-offset-5 {
2260
- margin-left: calc(41.66667% + 0.9375rem); }
2261
- .medium-offset-6 {
2262
- margin-left: 50%; }
2263
- .grid-margin-x > .medium-offset-6 {
2264
- margin-left: calc(50% + 0.9375rem); }
2265
- .medium-offset-7 {
2266
- margin-left: 58.33333%; }
2267
- .grid-margin-x > .medium-offset-7 {
2268
- margin-left: calc(58.33333% + 0.9375rem); }
2269
- .medium-offset-8 {
2270
- margin-left: 66.66667%; }
2271
- .grid-margin-x > .medium-offset-8 {
2272
- margin-left: calc(66.66667% + 0.9375rem); }
2273
- .medium-offset-9 {
2274
- margin-left: 75%; }
2275
- .grid-margin-x > .medium-offset-9 {
2276
- margin-left: calc(75% + 0.9375rem); }
2277
- .medium-offset-10 {
2278
- margin-left: 83.33333%; }
2279
- .grid-margin-x > .medium-offset-10 {
2280
- margin-left: calc(83.33333% + 0.9375rem); }
2281
- .medium-offset-11 {
2282
- margin-left: 91.66667%; }
2283
- .grid-margin-x > .medium-offset-11 {
2284
- margin-left: calc(91.66667% + 0.9375rem); } }
2285
-
2286
- @media print, screen and (min-width: 64em) {
2287
- .large-offset-0 {
2288
- margin-left: 0%; }
2289
- .grid-margin-x > .large-offset-0 {
2290
- margin-left: calc(0% + 0.9375rem); }
2291
- .large-offset-1 {
2292
- margin-left: 8.33333%; }
2293
- .grid-margin-x > .large-offset-1 {
2294
- margin-left: calc(8.33333% + 0.9375rem); }
2295
- .large-offset-2 {
2296
- margin-left: 16.66667%; }
2297
- .grid-margin-x > .large-offset-2 {
2298
- margin-left: calc(16.66667% + 0.9375rem); }
2299
- .large-offset-3 {
2300
- margin-left: 25%; }
2301
- .grid-margin-x > .large-offset-3 {
2302
- margin-left: calc(25% + 0.9375rem); }
2303
- .large-offset-4 {
2304
- margin-left: 33.33333%; }
2305
- .grid-margin-x > .large-offset-4 {
2306
- margin-left: calc(33.33333% + 0.9375rem); }
2307
- .large-offset-5 {
2308
- margin-left: 41.66667%; }
2309
- .grid-margin-x > .large-offset-5 {
2310
- margin-left: calc(41.66667% + 0.9375rem); }
2311
- .large-offset-6 {
2312
- margin-left: 50%; }
2313
- .grid-margin-x > .large-offset-6 {
2314
- margin-left: calc(50% + 0.9375rem); }
2315
- .large-offset-7 {
2316
- margin-left: 58.33333%; }
2317
- .grid-margin-x > .large-offset-7 {
2318
- margin-left: calc(58.33333% + 0.9375rem); }
2319
- .large-offset-8 {
2320
- margin-left: 66.66667%; }
2321
- .grid-margin-x > .large-offset-8 {
2322
- margin-left: calc(66.66667% + 0.9375rem); }
2323
- .large-offset-9 {
2324
- margin-left: 75%; }
2325
- .grid-margin-x > .large-offset-9 {
2326
- margin-left: calc(75% + 0.9375rem); }
2327
- .large-offset-10 {
2328
- margin-left: 83.33333%; }
2329
- .grid-margin-x > .large-offset-10 {
2330
- margin-left: calc(83.33333% + 0.9375rem); }
2331
- .large-offset-11 {
2332
- margin-left: 91.66667%; }
2333
- .grid-margin-x > .large-offset-11 {
2334
- margin-left: calc(91.66667% + 0.9375rem); } }
2335
-
2336
- @media screen and (min-width: 75em) {
2337
- .xlarge-offset-0 {
2338
- margin-left: 0%; }
2339
- .grid-margin-x > .xlarge-offset-0 {
2340
- margin-left: calc(0% + 0.9375rem); }
2341
- .xlarge-offset-1 {
2342
- margin-left: 8.33333%; }
2343
- .grid-margin-x > .xlarge-offset-1 {
2344
- margin-left: calc(8.33333% + 0.9375rem); }
2345
- .xlarge-offset-2 {
2346
- margin-left: 16.66667%; }
2347
- .grid-margin-x > .xlarge-offset-2 {
2348
- margin-left: calc(16.66667% + 0.9375rem); }
2349
- .xlarge-offset-3 {
2350
- margin-left: 25%; }
2351
- .grid-margin-x > .xlarge-offset-3 {
2352
- margin-left: calc(25% + 0.9375rem); }
2353
- .xlarge-offset-4 {
2354
- margin-left: 33.33333%; }
2355
- .grid-margin-x > .xlarge-offset-4 {
2356
- margin-left: calc(33.33333% + 0.9375rem); }
2357
- .xlarge-offset-5 {
2358
- margin-left: 41.66667%; }
2359
- .grid-margin-x > .xlarge-offset-5 {
2360
- margin-left: calc(41.66667% + 0.9375rem); }
2361
- .xlarge-offset-6 {
2362
- margin-left: 50%; }
2363
- .grid-margin-x > .xlarge-offset-6 {
2364
- margin-left: calc(50% + 0.9375rem); }
2365
- .xlarge-offset-7 {
2366
- margin-left: 58.33333%; }
2367
- .grid-margin-x > .xlarge-offset-7 {
2368
- margin-left: calc(58.33333% + 0.9375rem); }
2369
- .xlarge-offset-8 {
2370
- margin-left: 66.66667%; }
2371
- .grid-margin-x > .xlarge-offset-8 {
2372
- margin-left: calc(66.66667% + 0.9375rem); }
2373
- .xlarge-offset-9 {
2374
- margin-left: 75%; }
2375
- .grid-margin-x > .xlarge-offset-9 {
2376
- margin-left: calc(75% + 0.9375rem); }
2377
- .xlarge-offset-10 {
2378
- margin-left: 83.33333%; }
2379
- .grid-margin-x > .xlarge-offset-10 {
2380
- margin-left: calc(83.33333% + 0.9375rem); }
2381
- .xlarge-offset-11 {
2382
- margin-left: 91.66667%; }
2383
- .grid-margin-x > .xlarge-offset-11 {
2384
- margin-left: calc(91.66667% + 0.9375rem); } }
2385
-
2386
- @media screen and (min-width: 90em) {
2387
- .xxlarge-offset-0 {
2388
- margin-left: 0%; }
2389
- .grid-margin-x > .xxlarge-offset-0 {
2390
- margin-left: calc(0% + 0.9375rem); }
2391
- .xxlarge-offset-1 {
2392
- margin-left: 8.33333%; }
2393
- .grid-margin-x > .xxlarge-offset-1 {
2394
- margin-left: calc(8.33333% + 0.9375rem); }
2395
- .xxlarge-offset-2 {
2396
- margin-left: 16.66667%; }
2397
- .grid-margin-x > .xxlarge-offset-2 {
2398
- margin-left: calc(16.66667% + 0.9375rem); }
2399
- .xxlarge-offset-3 {
2400
- margin-left: 25%; }
2401
- .grid-margin-x > .xxlarge-offset-3 {
2402
- margin-left: calc(25% + 0.9375rem); }
2403
- .xxlarge-offset-4 {
2404
- margin-left: 33.33333%; }
2405
- .grid-margin-x > .xxlarge-offset-4 {
2406
- margin-left: calc(33.33333% + 0.9375rem); }
2407
- .xxlarge-offset-5 {
2408
- margin-left: 41.66667%; }
2409
- .grid-margin-x > .xxlarge-offset-5 {
2410
- margin-left: calc(41.66667% + 0.9375rem); }
2411
- .xxlarge-offset-6 {
2412
- margin-left: 50%; }
2413
- .grid-margin-x > .xxlarge-offset-6 {
2414
- margin-left: calc(50% + 0.9375rem); }
2415
- .xxlarge-offset-7 {
2416
- margin-left: 58.33333%; }
2417
- .grid-margin-x > .xxlarge-offset-7 {
2418
- margin-left: calc(58.33333% + 0.9375rem); }
2419
- .xxlarge-offset-8 {
2420
- margin-left: 66.66667%; }
2421
- .grid-margin-x > .xxlarge-offset-8 {
2422
- margin-left: calc(66.66667% + 0.9375rem); }
2423
- .xxlarge-offset-9 {
2424
- margin-left: 75%; }
2425
- .grid-margin-x > .xxlarge-offset-9 {
2426
- margin-left: calc(75% + 0.9375rem); }
2427
- .xxlarge-offset-10 {
2428
- margin-left: 83.33333%; }
2429
- .grid-margin-x > .xxlarge-offset-10 {
2430
- margin-left: calc(83.33333% + 0.9375rem); }
2431
- .xxlarge-offset-11 {
2432
- margin-left: 91.66667%; }
2433
- .grid-margin-x > .xxlarge-offset-11 {
2434
- margin-left: calc(91.66667% + 0.9375rem); } }
2435
-
2436
- @media screen and (min-width: 100em) {
2437
- .xxxlarge-offset-0 {
2438
- margin-left: 0%; }
2439
- .grid-margin-x > .xxxlarge-offset-0 {
2440
- margin-left: calc(0% + 0.9375rem); }
2441
- .xxxlarge-offset-1 {
2442
- margin-left: 8.33333%; }
2443
- .grid-margin-x > .xxxlarge-offset-1 {
2444
- margin-left: calc(8.33333% + 0.9375rem); }
2445
- .xxxlarge-offset-2 {
2446
- margin-left: 16.66667%; }
2447
- .grid-margin-x > .xxxlarge-offset-2 {
2448
- margin-left: calc(16.66667% + 0.9375rem); }
2449
- .xxxlarge-offset-3 {
2450
- margin-left: 25%; }
2451
- .grid-margin-x > .xxxlarge-offset-3 {
2452
- margin-left: calc(25% + 0.9375rem); }
2453
- .xxxlarge-offset-4 {
2454
- margin-left: 33.33333%; }
2455
- .grid-margin-x > .xxxlarge-offset-4 {
2456
- margin-left: calc(33.33333% + 0.9375rem); }
2457
- .xxxlarge-offset-5 {
2458
- margin-left: 41.66667%; }
2459
- .grid-margin-x > .xxxlarge-offset-5 {
2460
- margin-left: calc(41.66667% + 0.9375rem); }
2461
- .xxxlarge-offset-6 {
2462
- margin-left: 50%; }
2463
- .grid-margin-x > .xxxlarge-offset-6 {
2464
- margin-left: calc(50% + 0.9375rem); }
2465
- .xxxlarge-offset-7 {
2466
- margin-left: 58.33333%; }
2467
- .grid-margin-x > .xxxlarge-offset-7 {
2468
- margin-left: calc(58.33333% + 0.9375rem); }
2469
- .xxxlarge-offset-8 {
2470
- margin-left: 66.66667%; }
2471
- .grid-margin-x > .xxxlarge-offset-8 {
2472
- margin-left: calc(66.66667% + 0.9375rem); }
2473
- .xxxlarge-offset-9 {
2474
- margin-left: 75%; }
2475
- .grid-margin-x > .xxxlarge-offset-9 {
2476
- margin-left: calc(75% + 0.9375rem); }
2477
- .xxxlarge-offset-10 {
2478
- margin-left: 83.33333%; }
2479
- .grid-margin-x > .xxxlarge-offset-10 {
2480
- margin-left: calc(83.33333% + 0.9375rem); }
2481
- .xxxlarge-offset-11 {
2482
- margin-left: 91.66667%; }
2483
- .grid-margin-x > .xxxlarge-offset-11 {
2484
- margin-left: calc(91.66667% + 0.9375rem); } }
2485
-
2486
- .grid-y {
2487
- display: flex;
2488
- flex-flow: column nowrap; }
2489
- .grid-y > .cell {
2490
- height: auto;
2491
- max-height: none; }
2492
- .grid-y > .auto {
2493
- height: auto; }
2494
- .grid-y > .shrink {
2495
- height: auto; }
2496
- .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
2497
- flex-basis: auto; }
2498
- @media print, screen and (min-width: 40em) {
2499
- .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
2500
- flex-basis: auto; } }
2501
- @media print, screen and (min-width: 64em) {
2502
- .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
2503
- flex-basis: auto; } }
2504
- @media screen and (min-width: 75em) {
2505
- .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
2506
- flex-basis: auto; } }
2507
- @media screen and (min-width: 90em) {
2508
- .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-full, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
2509
- flex-basis: auto; } }
2510
- @media screen and (min-width: 100em) {
2511
- .grid-y > .xxxlarge-shrink, .grid-y > .xxxlarge-full, .grid-y > .xxxlarge-1, .grid-y > .xxxlarge-2, .grid-y > .xxxlarge-3, .grid-y > .xxxlarge-4, .grid-y > .xxxlarge-5, .grid-y > .xxxlarge-6, .grid-y > .xxxlarge-7, .grid-y > .xxxlarge-8, .grid-y > .xxxlarge-9, .grid-y > .xxxlarge-10, .grid-y > .xxxlarge-11, .grid-y > .xxxlarge-12 {
2512
- flex-basis: auto; } }
2513
- .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
2514
- flex: 0 0 auto; }
2515
- .grid-y > .small-1 {
2516
- height: 8.33333%; }
2517
- .grid-y > .small-2 {
2518
- height: 16.66667%; }
2519
- .grid-y > .small-3 {
2520
- height: 25%; }
2521
- .grid-y > .small-4 {
2522
- height: 33.33333%; }
2523
- .grid-y > .small-5 {
2524
- height: 41.66667%; }
2525
- .grid-y > .small-6 {
2526
- height: 50%; }
2527
- .grid-y > .small-7 {
2528
- height: 58.33333%; }
2529
- .grid-y > .small-8 {
2530
- height: 66.66667%; }
2531
- .grid-y > .small-9 {
2532
- height: 75%; }
2533
- .grid-y > .small-10 {
2534
- height: 83.33333%; }
2535
- .grid-y > .small-11 {
2536
- height: 91.66667%; }
2537
- .grid-y > .small-12 {
2538
- height: 100%; }
2539
- @media print, screen and (min-width: 40em) {
2540
- .grid-y > .medium-auto {
2541
- flex: 1 1 0px;
2542
- height: auto; }
2543
- .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
2544
- flex: 0 0 auto; }
2545
- .grid-y > .medium-shrink {
2546
- height: auto; }
2547
- .grid-y > .medium-1 {
2548
- height: 8.33333%; }
2549
- .grid-y > .medium-2 {
2550
- height: 16.66667%; }
2551
- .grid-y > .medium-3 {
2552
- height: 25%; }
2553
- .grid-y > .medium-4 {
2554
- height: 33.33333%; }
2555
- .grid-y > .medium-5 {
2556
- height: 41.66667%; }
2557
- .grid-y > .medium-6 {
2558
- height: 50%; }
2559
- .grid-y > .medium-7 {
2560
- height: 58.33333%; }
2561
- .grid-y > .medium-8 {
2562
- height: 66.66667%; }
2563
- .grid-y > .medium-9 {
2564
- height: 75%; }
2565
- .grid-y > .medium-10 {
2566
- height: 83.33333%; }
2567
- .grid-y > .medium-11 {
2568
- height: 91.66667%; }
2569
- .grid-y > .medium-12 {
2570
- height: 100%; } }
2571
- @media print, screen and (min-width: 64em) {
2572
- .grid-y > .large-auto {
2573
- flex: 1 1 0px;
2574
- height: auto; }
2575
- .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
2576
- flex: 0 0 auto; }
2577
- .grid-y > .large-shrink {
2578
- height: auto; }
2579
- .grid-y > .large-1 {
2580
- height: 8.33333%; }
2581
- .grid-y > .large-2 {
2582
- height: 16.66667%; }
2583
- .grid-y > .large-3 {
2584
- height: 25%; }
2585
- .grid-y > .large-4 {
2586
- height: 33.33333%; }
2587
- .grid-y > .large-5 {
2588
- height: 41.66667%; }
2589
- .grid-y > .large-6 {
2590
- height: 50%; }
2591
- .grid-y > .large-7 {
2592
- height: 58.33333%; }
2593
- .grid-y > .large-8 {
2594
- height: 66.66667%; }
2595
- .grid-y > .large-9 {
2596
- height: 75%; }
2597
- .grid-y > .large-10 {
2598
- height: 83.33333%; }
2599
- .grid-y > .large-11 {
2600
- height: 91.66667%; }
2601
- .grid-y > .large-12 {
2602
- height: 100%; } }
2603
- @media screen and (min-width: 75em) {
2604
- .grid-y > .xlarge-auto {
2605
- flex: 1 1 0px;
2606
- height: auto; }
2607
- .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
2608
- flex: 0 0 auto; }
2609
- .grid-y > .xlarge-shrink {
2610
- height: auto; }
2611
- .grid-y > .xlarge-1 {
2612
- height: 8.33333%; }
2613
- .grid-y > .xlarge-2 {
2614
- height: 16.66667%; }
2615
- .grid-y > .xlarge-3 {
2616
- height: 25%; }
2617
- .grid-y > .xlarge-4 {
2618
- height: 33.33333%; }
2619
- .grid-y > .xlarge-5 {
2620
- height: 41.66667%; }
2621
- .grid-y > .xlarge-6 {
2622
- height: 50%; }
2623
- .grid-y > .xlarge-7 {
2624
- height: 58.33333%; }
2625
- .grid-y > .xlarge-8 {
2626
- height: 66.66667%; }
2627
- .grid-y > .xlarge-9 {
2628
- height: 75%; }
2629
- .grid-y > .xlarge-10 {
2630
- height: 83.33333%; }
2631
- .grid-y > .xlarge-11 {
2632
- height: 91.66667%; }
2633
- .grid-y > .xlarge-12 {
2634
- height: 100%; } }
2635
- @media screen and (min-width: 90em) {
2636
- .grid-y > .xxlarge-auto {
2637
- flex: 1 1 0px;
2638
- height: auto; }
2639
- .grid-y > .xxlarge-shrink, .grid-y > .xxlarge-1, .grid-y > .xxlarge-2, .grid-y > .xxlarge-3, .grid-y > .xxlarge-4, .grid-y > .xxlarge-5, .grid-y > .xxlarge-6, .grid-y > .xxlarge-7, .grid-y > .xxlarge-8, .grid-y > .xxlarge-9, .grid-y > .xxlarge-10, .grid-y > .xxlarge-11, .grid-y > .xxlarge-12 {
2640
- flex: 0 0 auto; }
2641
- .grid-y > .xxlarge-shrink {
2642
- height: auto; }
2643
- .grid-y > .xxlarge-1 {
2644
- height: 8.33333%; }
2645
- .grid-y > .xxlarge-2 {
2646
- height: 16.66667%; }
2647
- .grid-y > .xxlarge-3 {
2648
- height: 25%; }
2649
- .grid-y > .xxlarge-4 {
2650
- height: 33.33333%; }
2651
- .grid-y > .xxlarge-5 {
2652
- height: 41.66667%; }
2653
- .grid-y > .xxlarge-6 {
2654
- height: 50%; }
2655
- .grid-y > .xxlarge-7 {
2656
- height: 58.33333%; }
2657
- .grid-y > .xxlarge-8 {
2658
- height: 66.66667%; }
2659
- .grid-y > .xxlarge-9 {
2660
- height: 75%; }
2661
- .grid-y > .xxlarge-10 {
2662
- height: 83.33333%; }
2663
- .grid-y > .xxlarge-11 {
2664
- height: 91.66667%; }
2665
- .grid-y > .xxlarge-12 {
2666
- height: 100%; } }
2667
- @media screen and (min-width: 100em) {
2668
- .grid-y > .xxxlarge-auto {
2669
- flex: 1 1 0px;
2670
- height: auto; }
2671
- .grid-y > .xxxlarge-shrink, .grid-y > .xxxlarge-1, .grid-y > .xxxlarge-2, .grid-y > .xxxlarge-3, .grid-y > .xxxlarge-4, .grid-y > .xxxlarge-5, .grid-y > .xxxlarge-6, .grid-y > .xxxlarge-7, .grid-y > .xxxlarge-8, .grid-y > .xxxlarge-9, .grid-y > .xxxlarge-10, .grid-y > .xxxlarge-11, .grid-y > .xxxlarge-12 {
2672
- flex: 0 0 auto; }
2673
- .grid-y > .xxxlarge-shrink {
2674
- height: auto; }
2675
- .grid-y > .xxxlarge-1 {
2676
- height: 8.33333%; }
2677
- .grid-y > .xxxlarge-2 {
2678
- height: 16.66667%; }
2679
- .grid-y > .xxxlarge-3 {
2680
- height: 25%; }
2681
- .grid-y > .xxxlarge-4 {
2682
- height: 33.33333%; }
2683
- .grid-y > .xxxlarge-5 {
2684
- height: 41.66667%; }
2685
- .grid-y > .xxxlarge-6 {
2686
- height: 50%; }
2687
- .grid-y > .xxxlarge-7 {
2688
- height: 58.33333%; }
2689
- .grid-y > .xxxlarge-8 {
2690
- height: 66.66667%; }
2691
- .grid-y > .xxxlarge-9 {
2692
- height: 75%; }
2693
- .grid-y > .xxxlarge-10 {
2694
- height: 83.33333%; }
2695
- .grid-y > .xxxlarge-11 {
2696
- height: 91.66667%; }
2697
- .grid-y > .xxxlarge-12 {
2698
- height: 100%; } }
2699
-
2700
- .grid-padding-y .grid-padding-y {
2701
- margin-top: -0.9375rem;
2702
- margin-bottom: -0.9375rem; }
2703
-
2704
- .grid-padding-y > .cell {
2705
- padding-top: 0.9375rem;
2706
- padding-bottom: 0.9375rem; }
2707
-
2708
- .grid-margin-y {
2709
- margin-top: -0.9375rem;
2710
- margin-bottom: -0.9375rem; }
2711
- .grid-margin-y > .cell {
2712
- height: calc(100% - 1.875rem);
2713
- margin-top: 0.9375rem;
2714
- margin-bottom: 0.9375rem; }
2715
- .grid-margin-y > .auto {
2716
- height: auto; }
2717
- .grid-margin-y > .shrink {
2718
- height: auto; }
2719
- .grid-margin-y > .small-1 {
2720
- height: calc(8.33333% - 1.875rem); }
2721
- .grid-margin-y > .small-2 {
2722
- height: calc(16.66667% - 1.875rem); }
2723
- .grid-margin-y > .small-3 {
2724
- height: calc(25% - 1.875rem); }
2725
- .grid-margin-y > .small-4 {
2726
- height: calc(33.33333% - 1.875rem); }
2727
- .grid-margin-y > .small-5 {
2728
- height: calc(41.66667% - 1.875rem); }
2729
- .grid-margin-y > .small-6 {
2730
- height: calc(50% - 1.875rem); }
2731
- .grid-margin-y > .small-7 {
2732
- height: calc(58.33333% - 1.875rem); }
2733
- .grid-margin-y > .small-8 {
2734
- height: calc(66.66667% - 1.875rem); }
2735
- .grid-margin-y > .small-9 {
2736
- height: calc(75% - 1.875rem); }
2737
- .grid-margin-y > .small-10 {
2738
- height: calc(83.33333% - 1.875rem); }
2739
- .grid-margin-y > .small-11 {
2740
- height: calc(91.66667% - 1.875rem); }
2741
- .grid-margin-y > .small-12 {
2742
- height: calc(100% - 1.875rem); }
2743
- @media print, screen and (min-width: 40em) {
2744
- .grid-margin-y > .medium-auto {
2745
- height: auto; }
2746
- .grid-margin-y > .medium-shrink {
2747
- height: auto; }
2748
- .grid-margin-y > .medium-1 {
2749
- height: calc(8.33333% - 1.875rem); }
2750
- .grid-margin-y > .medium-2 {
2751
- height: calc(16.66667% - 1.875rem); }
2752
- .grid-margin-y > .medium-3 {
2753
- height: calc(25% - 1.875rem); }
2754
- .grid-margin-y > .medium-4 {
2755
- height: calc(33.33333% - 1.875rem); }
2756
- .grid-margin-y > .medium-5 {
2757
- height: calc(41.66667% - 1.875rem); }
2758
- .grid-margin-y > .medium-6 {
2759
- height: calc(50% - 1.875rem); }
2760
- .grid-margin-y > .medium-7 {
2761
- height: calc(58.33333% - 1.875rem); }
2762
- .grid-margin-y > .medium-8 {
2763
- height: calc(66.66667% - 1.875rem); }
2764
- .grid-margin-y > .medium-9 {
2765
- height: calc(75% - 1.875rem); }
2766
- .grid-margin-y > .medium-10 {
2767
- height: calc(83.33333% - 1.875rem); }
2768
- .grid-margin-y > .medium-11 {
2769
- height: calc(91.66667% - 1.875rem); }
2770
- .grid-margin-y > .medium-12 {
2771
- height: calc(100% - 1.875rem); } }
2772
- @media print, screen and (min-width: 64em) {
2773
- .grid-margin-y > .large-auto {
2774
- height: auto; }
2775
- .grid-margin-y > .large-shrink {
2776
- height: auto; }
2777
- .grid-margin-y > .large-1 {
2778
- height: calc(8.33333% - 1.875rem); }
2779
- .grid-margin-y > .large-2 {
2780
- height: calc(16.66667% - 1.875rem); }
2781
- .grid-margin-y > .large-3 {
2782
- height: calc(25% - 1.875rem); }
2783
- .grid-margin-y > .large-4 {
2784
- height: calc(33.33333% - 1.875rem); }
2785
- .grid-margin-y > .large-5 {
2786
- height: calc(41.66667% - 1.875rem); }
2787
- .grid-margin-y > .large-6 {
2788
- height: calc(50% - 1.875rem); }
2789
- .grid-margin-y > .large-7 {
2790
- height: calc(58.33333% - 1.875rem); }
2791
- .grid-margin-y > .large-8 {
2792
- height: calc(66.66667% - 1.875rem); }
2793
- .grid-margin-y > .large-9 {
2794
- height: calc(75% - 1.875rem); }
2795
- .grid-margin-y > .large-10 {
2796
- height: calc(83.33333% - 1.875rem); }
2797
- .grid-margin-y > .large-11 {
2798
- height: calc(91.66667% - 1.875rem); }
2799
- .grid-margin-y > .large-12 {
2800
- height: calc(100% - 1.875rem); } }
2801
- @media screen and (min-width: 75em) {
2802
- .grid-margin-y > .xlarge-auto {
2803
- height: auto; }
2804
- .grid-margin-y > .xlarge-shrink {
2805
- height: auto; }
2806
- .grid-margin-y > .xlarge-1 {
2807
- height: calc(8.33333% - 1.875rem); }
2808
- .grid-margin-y > .xlarge-2 {
2809
- height: calc(16.66667% - 1.875rem); }
2810
- .grid-margin-y > .xlarge-3 {
2811
- height: calc(25% - 1.875rem); }
2812
- .grid-margin-y > .xlarge-4 {
2813
- height: calc(33.33333% - 1.875rem); }
2814
- .grid-margin-y > .xlarge-5 {
2815
- height: calc(41.66667% - 1.875rem); }
2816
- .grid-margin-y > .xlarge-6 {
2817
- height: calc(50% - 1.875rem); }
2818
- .grid-margin-y > .xlarge-7 {
2819
- height: calc(58.33333% - 1.875rem); }
2820
- .grid-margin-y > .xlarge-8 {
2821
- height: calc(66.66667% - 1.875rem); }
2822
- .grid-margin-y > .xlarge-9 {
2823
- height: calc(75% - 1.875rem); }
2824
- .grid-margin-y > .xlarge-10 {
2825
- height: calc(83.33333% - 1.875rem); }
2826
- .grid-margin-y > .xlarge-11 {
2827
- height: calc(91.66667% - 1.875rem); }
2828
- .grid-margin-y > .xlarge-12 {
2829
- height: calc(100% - 1.875rem); } }
2830
- @media screen and (min-width: 90em) {
2831
- .grid-margin-y > .xxlarge-auto {
2832
- height: auto; }
2833
- .grid-margin-y > .xxlarge-shrink {
2834
- height: auto; }
2835
- .grid-margin-y > .xxlarge-1 {
2836
- height: calc(8.33333% - 1.875rem); }
2837
- .grid-margin-y > .xxlarge-2 {
2838
- height: calc(16.66667% - 1.875rem); }
2839
- .grid-margin-y > .xxlarge-3 {
2840
- height: calc(25% - 1.875rem); }
2841
- .grid-margin-y > .xxlarge-4 {
2842
- height: calc(33.33333% - 1.875rem); }
2843
- .grid-margin-y > .xxlarge-5 {
2844
- height: calc(41.66667% - 1.875rem); }
2845
- .grid-margin-y > .xxlarge-6 {
2846
- height: calc(50% - 1.875rem); }
2847
- .grid-margin-y > .xxlarge-7 {
2848
- height: calc(58.33333% - 1.875rem); }
2849
- .grid-margin-y > .xxlarge-8 {
2850
- height: calc(66.66667% - 1.875rem); }
2851
- .grid-margin-y > .xxlarge-9 {
2852
- height: calc(75% - 1.875rem); }
2853
- .grid-margin-y > .xxlarge-10 {
2854
- height: calc(83.33333% - 1.875rem); }
2855
- .grid-margin-y > .xxlarge-11 {
2856
- height: calc(91.66667% - 1.875rem); }
2857
- .grid-margin-y > .xxlarge-12 {
2858
- height: calc(100% - 1.875rem); } }
2859
- @media screen and (min-width: 100em) {
2860
- .grid-margin-y > .xxxlarge-auto {
2861
- height: auto; }
2862
- .grid-margin-y > .xxxlarge-shrink {
2863
- height: auto; }
2864
- .grid-margin-y > .xxxlarge-1 {
2865
- height: calc(8.33333% - 1.875rem); }
2866
- .grid-margin-y > .xxxlarge-2 {
2867
- height: calc(16.66667% - 1.875rem); }
2868
- .grid-margin-y > .xxxlarge-3 {
2869
- height: calc(25% - 1.875rem); }
2870
- .grid-margin-y > .xxxlarge-4 {
2871
- height: calc(33.33333% - 1.875rem); }
2872
- .grid-margin-y > .xxxlarge-5 {
2873
- height: calc(41.66667% - 1.875rem); }
2874
- .grid-margin-y > .xxxlarge-6 {
2875
- height: calc(50% - 1.875rem); }
2876
- .grid-margin-y > .xxxlarge-7 {
2877
- height: calc(58.33333% - 1.875rem); }
2878
- .grid-margin-y > .xxxlarge-8 {
2879
- height: calc(66.66667% - 1.875rem); }
2880
- .grid-margin-y > .xxxlarge-9 {
2881
- height: calc(75% - 1.875rem); }
2882
- .grid-margin-y > .xxxlarge-10 {
2883
- height: calc(83.33333% - 1.875rem); }
2884
- .grid-margin-y > .xxxlarge-11 {
2885
- height: calc(91.66667% - 1.875rem); }
2886
- .grid-margin-y > .xxxlarge-12 {
2887
- height: calc(100% - 1.875rem); } }
2888
-
2889
- .grid-frame {
2890
- overflow: hidden;
2891
- position: relative;
2892
- flex-wrap: nowrap;
2893
- align-items: stretch;
2894
- width: 100vw; }
2895
-
2896
- .cell .grid-frame {
2897
- width: 100%; }
2898
-
2899
- .cell-block {
2900
- overflow-x: auto;
2901
- max-width: 100%;
2902
- -webkit-overflow-scrolling: touch;
2903
- -ms-overflow-style: -ms-autohiding-scrollbar; }
2904
-
2905
- .cell-block-y {
2906
- overflow-y: auto;
2907
- max-height: 100%;
2908
- min-height: 100%;
2909
- -webkit-overflow-scrolling: touch;
2910
- -ms-overflow-style: -ms-autohiding-scrollbar; }
2911
-
2912
- .cell-block-container {
2913
- display: flex;
2914
- flex-direction: column;
2915
- max-height: 100%; }
2916
- .cell-block-container > .grid-x {
2917
- max-height: 100%;
2918
- flex-wrap: nowrap; }
2919
-
2920
- @media print, screen and (min-width: 40em) {
2921
- .medium-grid-frame {
2922
- overflow: hidden;
2923
- position: relative;
2924
- flex-wrap: nowrap;
2925
- align-items: stretch;
2926
- width: 100vw; }
2927
- .cell .medium-grid-frame {
2928
- width: 100%; }
2929
- .medium-cell-block {
2930
- overflow-x: auto;
2931
- max-width: 100%;
2932
- -webkit-overflow-scrolling: touch;
2933
- -ms-overflow-style: -ms-autohiding-scrollbar; }
2934
- .medium-cell-block-container {
2935
- display: flex;
2936
- flex-direction: column;
2937
- max-height: 100%; }
2938
- .medium-cell-block-container > .grid-x {
2939
- max-height: 100%;
2940
- flex-wrap: nowrap; }
2941
- .medium-cell-block-y {
2942
- overflow-y: auto;
2943
- max-height: 100%;
2944
- min-height: 100%;
2945
- -webkit-overflow-scrolling: touch;
2946
- -ms-overflow-style: -ms-autohiding-scrollbar; } }
2947
-
2948
- @media print, screen and (min-width: 64em) {
2949
- .large-grid-frame {
2950
- overflow: hidden;
2951
- position: relative;
2952
- flex-wrap: nowrap;
2953
- align-items: stretch;
2954
- width: 100vw; }
2955
- .cell .large-grid-frame {
2956
- width: 100%; }
2957
- .large-cell-block {
2958
- overflow-x: auto;
2959
- max-width: 100%;
2960
- -webkit-overflow-scrolling: touch;
2961
- -ms-overflow-style: -ms-autohiding-scrollbar; }
2962
- .large-cell-block-container {
2963
- display: flex;
2964
- flex-direction: column;
2965
- max-height: 100%; }
2966
- .large-cell-block-container > .grid-x {
2967
- max-height: 100%;
2968
- flex-wrap: nowrap; }
2969
- .large-cell-block-y {
2970
- overflow-y: auto;
2971
- max-height: 100%;
2972
- min-height: 100%;
2973
- -webkit-overflow-scrolling: touch;
2974
- -ms-overflow-style: -ms-autohiding-scrollbar; } }
2975
-
2976
- @media screen and (min-width: 75em) {
2977
- .xlarge-grid-frame {
2978
- overflow: hidden;
2979
- position: relative;
2980
- flex-wrap: nowrap;
2981
- align-items: stretch;
2982
- width: 100vw; }
2983
- .cell .xlarge-grid-frame {
2984
- width: 100%; }
2985
- .xlarge-cell-block {
2986
- overflow-x: auto;
2987
- max-width: 100%;
2988
- -webkit-overflow-scrolling: touch;
2989
- -ms-overflow-style: -ms-autohiding-scrollbar; }
2990
- .xlarge-cell-block-container {
2991
- display: flex;
2992
- flex-direction: column;
2993
- max-height: 100%; }
2994
- .xlarge-cell-block-container > .grid-x {
2995
- max-height: 100%;
2996
- flex-wrap: nowrap; }
2997
- .xlarge-cell-block-y {
2998
- overflow-y: auto;
2999
- max-height: 100%;
3000
- min-height: 100%;
3001
- -webkit-overflow-scrolling: touch;
3002
- -ms-overflow-style: -ms-autohiding-scrollbar; } }
3003
-
3004
- @media screen and (min-width: 90em) {
3005
- .xxlarge-grid-frame {
3006
- overflow: hidden;
3007
- position: relative;
3008
- flex-wrap: nowrap;
3009
- align-items: stretch;
3010
- width: 100vw; }
3011
- .cell .xxlarge-grid-frame {
3012
- width: 100%; }
3013
- .xxlarge-cell-block {
3014
- overflow-x: auto;
3015
- max-width: 100%;
3016
- -webkit-overflow-scrolling: touch;
3017
- -ms-overflow-style: -ms-autohiding-scrollbar; }
3018
- .xxlarge-cell-block-container {
3019
- display: flex;
3020
- flex-direction: column;
3021
- max-height: 100%; }
3022
- .xxlarge-cell-block-container > .grid-x {
3023
- max-height: 100%;
3024
- flex-wrap: nowrap; }
3025
- .xxlarge-cell-block-y {
3026
- overflow-y: auto;
3027
- max-height: 100%;
3028
- min-height: 100%;
3029
- -webkit-overflow-scrolling: touch;
3030
- -ms-overflow-style: -ms-autohiding-scrollbar; } }
3031
-
3032
- @media screen and (min-width: 100em) {
3033
- .xxxlarge-grid-frame {
3034
- overflow: hidden;
3035
- position: relative;
3036
- flex-wrap: nowrap;
3037
- align-items: stretch;
3038
- width: 100vw; }
3039
- .cell .xxxlarge-grid-frame {
3040
- width: 100%; }
3041
- .xxxlarge-cell-block {
3042
- overflow-x: auto;
3043
- max-width: 100%;
3044
- -webkit-overflow-scrolling: touch;
3045
- -ms-overflow-style: -ms-autohiding-scrollbar; }
3046
- .xxxlarge-cell-block-container {
3047
- display: flex;
3048
- flex-direction: column;
3049
- max-height: 100%; }
3050
- .xxxlarge-cell-block-container > .grid-x {
3051
- max-height: 100%;
3052
- flex-wrap: nowrap; }
3053
- .xxxlarge-cell-block-y {
3054
- overflow-y: auto;
3055
- max-height: 100%;
3056
- min-height: 100%;
3057
- -webkit-overflow-scrolling: touch;
3058
- -ms-overflow-style: -ms-autohiding-scrollbar; } }
3059
-
3060
- .grid-y.grid-frame {
3061
- width: auto;
3062
- overflow: hidden;
3063
- position: relative;
3064
- flex-wrap: nowrap;
3065
- align-items: stretch;
3066
- height: 100vh; }
3067
-
3068
- @media print, screen and (min-width: 40em) {
3069
- .grid-y.medium-grid-frame {
3070
- width: auto;
3071
- overflow: hidden;
3072
- position: relative;
3073
- flex-wrap: nowrap;
3074
- align-items: stretch;
3075
- height: 100vh; } }
3076
-
3077
- @media print, screen and (min-width: 64em) {
3078
- .grid-y.large-grid-frame {
3079
- width: auto;
3080
- overflow: hidden;
3081
- position: relative;
3082
- flex-wrap: nowrap;
3083
- align-items: stretch;
3084
- height: 100vh; } }
3085
-
3086
- @media screen and (min-width: 75em) {
3087
- .grid-y.xlarge-grid-frame {
3088
- width: auto;
3089
- overflow: hidden;
3090
- position: relative;
3091
- flex-wrap: nowrap;
3092
- align-items: stretch;
3093
- height: 100vh; } }
3094
-
3095
- @media screen and (min-width: 90em) {
3096
- .grid-y.xxlarge-grid-frame {
3097
- width: auto;
3098
- overflow: hidden;
3099
- position: relative;
3100
- flex-wrap: nowrap;
3101
- align-items: stretch;
3102
- height: 100vh; } }
3103
-
3104
- @media screen and (min-width: 100em) {
3105
- .grid-y.xxxlarge-grid-frame {
3106
- width: auto;
3107
- overflow: hidden;
3108
- position: relative;
3109
- flex-wrap: nowrap;
3110
- align-items: stretch;
3111
- height: 100vh; } }
3112
-
3113
- .cell .grid-y.grid-frame {
3114
- height: 100%; }
3115
-
3116
- @media print, screen and (min-width: 40em) {
3117
- .cell .grid-y.medium-grid-frame {
3118
- height: 100%; } }
3119
-
3120
- @media print, screen and (min-width: 64em) {
3121
- .cell .grid-y.large-grid-frame {
3122
- height: 100%; } }
3123
-
3124
- @media screen and (min-width: 75em) {
3125
- .cell .grid-y.xlarge-grid-frame {
3126
- height: 100%; } }
3127
-
3128
- @media screen and (min-width: 90em) {
3129
- .cell .grid-y.xxlarge-grid-frame {
3130
- height: 100%; } }
3131
-
3132
- @media screen and (min-width: 100em) {
3133
- .cell .grid-y.xxxlarge-grid-frame {
3134
- height: 100%; } }
3135
-
3136
- .grid-margin-y {
3137
- margin-top: -0.9375rem;
3138
- margin-bottom: -0.9375rem; }
3139
- .grid-margin-y > .cell {
3140
- height: calc(100% - 1.875rem);
3141
- margin-top: 0.9375rem;
3142
- margin-bottom: 0.9375rem; }
3143
- .grid-margin-y > .auto {
3144
- height: auto; }
3145
- .grid-margin-y > .shrink {
3146
- height: auto; }
3147
- .grid-margin-y > .small-1 {
3148
- height: calc(8.33333% - 1.875rem); }
3149
- .grid-margin-y > .small-2 {
3150
- height: calc(16.66667% - 1.875rem); }
3151
- .grid-margin-y > .small-3 {
3152
- height: calc(25% - 1.875rem); }
3153
- .grid-margin-y > .small-4 {
3154
- height: calc(33.33333% - 1.875rem); }
3155
- .grid-margin-y > .small-5 {
3156
- height: calc(41.66667% - 1.875rem); }
3157
- .grid-margin-y > .small-6 {
3158
- height: calc(50% - 1.875rem); }
3159
- .grid-margin-y > .small-7 {
3160
- height: calc(58.33333% - 1.875rem); }
3161
- .grid-margin-y > .small-8 {
3162
- height: calc(66.66667% - 1.875rem); }
3163
- .grid-margin-y > .small-9 {
3164
- height: calc(75% - 1.875rem); }
3165
- .grid-margin-y > .small-10 {
3166
- height: calc(83.33333% - 1.875rem); }
3167
- .grid-margin-y > .small-11 {
3168
- height: calc(91.66667% - 1.875rem); }
3169
- .grid-margin-y > .small-12 {
3170
- height: calc(100% - 1.875rem); }
3171
- @media print, screen and (min-width: 40em) {
3172
- .grid-margin-y > .medium-auto {
3173
- height: auto; }
3174
- .grid-margin-y > .medium-shrink {
3175
- height: auto; }
3176
- .grid-margin-y > .medium-1 {
3177
- height: calc(8.33333% - 1.875rem); }
3178
- .grid-margin-y > .medium-2 {
3179
- height: calc(16.66667% - 1.875rem); }
3180
- .grid-margin-y > .medium-3 {
3181
- height: calc(25% - 1.875rem); }
3182
- .grid-margin-y > .medium-4 {
3183
- height: calc(33.33333% - 1.875rem); }
3184
- .grid-margin-y > .medium-5 {
3185
- height: calc(41.66667% - 1.875rem); }
3186
- .grid-margin-y > .medium-6 {
3187
- height: calc(50% - 1.875rem); }
3188
- .grid-margin-y > .medium-7 {
3189
- height: calc(58.33333% - 1.875rem); }
3190
- .grid-margin-y > .medium-8 {
3191
- height: calc(66.66667% - 1.875rem); }
3192
- .grid-margin-y > .medium-9 {
3193
- height: calc(75% - 1.875rem); }
3194
- .grid-margin-y > .medium-10 {
3195
- height: calc(83.33333% - 1.875rem); }
3196
- .grid-margin-y > .medium-11 {
3197
- height: calc(91.66667% - 1.875rem); }
3198
- .grid-margin-y > .medium-12 {
3199
- height: calc(100% - 1.875rem); } }
3200
- @media print, screen and (min-width: 64em) {
3201
- .grid-margin-y > .large-auto {
3202
- height: auto; }
3203
- .grid-margin-y > .large-shrink {
3204
- height: auto; }
3205
- .grid-margin-y > .large-1 {
3206
- height: calc(8.33333% - 1.875rem); }
3207
- .grid-margin-y > .large-2 {
3208
- height: calc(16.66667% - 1.875rem); }
3209
- .grid-margin-y > .large-3 {
3210
- height: calc(25% - 1.875rem); }
3211
- .grid-margin-y > .large-4 {
3212
- height: calc(33.33333% - 1.875rem); }
3213
- .grid-margin-y > .large-5 {
3214
- height: calc(41.66667% - 1.875rem); }
3215
- .grid-margin-y > .large-6 {
3216
- height: calc(50% - 1.875rem); }
3217
- .grid-margin-y > .large-7 {
3218
- height: calc(58.33333% - 1.875rem); }
3219
- .grid-margin-y > .large-8 {
3220
- height: calc(66.66667% - 1.875rem); }
3221
- .grid-margin-y > .large-9 {
3222
- height: calc(75% - 1.875rem); }
3223
- .grid-margin-y > .large-10 {
3224
- height: calc(83.33333% - 1.875rem); }
3225
- .grid-margin-y > .large-11 {
3226
- height: calc(91.66667% - 1.875rem); }
3227
- .grid-margin-y > .large-12 {
3228
- height: calc(100% - 1.875rem); } }
3229
- @media screen and (min-width: 75em) {
3230
- .grid-margin-y > .xlarge-auto {
3231
- height: auto; }
3232
- .grid-margin-y > .xlarge-shrink {
3233
- height: auto; }
3234
- .grid-margin-y > .xlarge-1 {
3235
- height: calc(8.33333% - 1.875rem); }
3236
- .grid-margin-y > .xlarge-2 {
3237
- height: calc(16.66667% - 1.875rem); }
3238
- .grid-margin-y > .xlarge-3 {
3239
- height: calc(25% - 1.875rem); }
3240
- .grid-margin-y > .xlarge-4 {
3241
- height: calc(33.33333% - 1.875rem); }
3242
- .grid-margin-y > .xlarge-5 {
3243
- height: calc(41.66667% - 1.875rem); }
3244
- .grid-margin-y > .xlarge-6 {
3245
- height: calc(50% - 1.875rem); }
3246
- .grid-margin-y > .xlarge-7 {
3247
- height: calc(58.33333% - 1.875rem); }
3248
- .grid-margin-y > .xlarge-8 {
3249
- height: calc(66.66667% - 1.875rem); }
3250
- .grid-margin-y > .xlarge-9 {
3251
- height: calc(75% - 1.875rem); }
3252
- .grid-margin-y > .xlarge-10 {
3253
- height: calc(83.33333% - 1.875rem); }
3254
- .grid-margin-y > .xlarge-11 {
3255
- height: calc(91.66667% - 1.875rem); }
3256
- .grid-margin-y > .xlarge-12 {
3257
- height: calc(100% - 1.875rem); } }
3258
- @media screen and (min-width: 90em) {
3259
- .grid-margin-y > .xxlarge-auto {
3260
- height: auto; }
3261
- .grid-margin-y > .xxlarge-shrink {
3262
- height: auto; }
3263
- .grid-margin-y > .xxlarge-1 {
3264
- height: calc(8.33333% - 1.875rem); }
3265
- .grid-margin-y > .xxlarge-2 {
3266
- height: calc(16.66667% - 1.875rem); }
3267
- .grid-margin-y > .xxlarge-3 {
3268
- height: calc(25% - 1.875rem); }
3269
- .grid-margin-y > .xxlarge-4 {
3270
- height: calc(33.33333% - 1.875rem); }
3271
- .grid-margin-y > .xxlarge-5 {
3272
- height: calc(41.66667% - 1.875rem); }
3273
- .grid-margin-y > .xxlarge-6 {
3274
- height: calc(50% - 1.875rem); }
3275
- .grid-margin-y > .xxlarge-7 {
3276
- height: calc(58.33333% - 1.875rem); }
3277
- .grid-margin-y > .xxlarge-8 {
3278
- height: calc(66.66667% - 1.875rem); }
3279
- .grid-margin-y > .xxlarge-9 {
3280
- height: calc(75% - 1.875rem); }
3281
- .grid-margin-y > .xxlarge-10 {
3282
- height: calc(83.33333% - 1.875rem); }
3283
- .grid-margin-y > .xxlarge-11 {
3284
- height: calc(91.66667% - 1.875rem); }
3285
- .grid-margin-y > .xxlarge-12 {
3286
- height: calc(100% - 1.875rem); } }
3287
- @media screen and (min-width: 100em) {
3288
- .grid-margin-y > .xxxlarge-auto {
3289
- height: auto; }
3290
- .grid-margin-y > .xxxlarge-shrink {
3291
- height: auto; }
3292
- .grid-margin-y > .xxxlarge-1 {
3293
- height: calc(8.33333% - 1.875rem); }
3294
- .grid-margin-y > .xxxlarge-2 {
3295
- height: calc(16.66667% - 1.875rem); }
3296
- .grid-margin-y > .xxxlarge-3 {
3297
- height: calc(25% - 1.875rem); }
3298
- .grid-margin-y > .xxxlarge-4 {
3299
- height: calc(33.33333% - 1.875rem); }
3300
- .grid-margin-y > .xxxlarge-5 {
3301
- height: calc(41.66667% - 1.875rem); }
3302
- .grid-margin-y > .xxxlarge-6 {
3303
- height: calc(50% - 1.875rem); }
3304
- .grid-margin-y > .xxxlarge-7 {
3305
- height: calc(58.33333% - 1.875rem); }
3306
- .grid-margin-y > .xxxlarge-8 {
3307
- height: calc(66.66667% - 1.875rem); }
3308
- .grid-margin-y > .xxxlarge-9 {
3309
- height: calc(75% - 1.875rem); }
3310
- .grid-margin-y > .xxxlarge-10 {
3311
- height: calc(83.33333% - 1.875rem); }
3312
- .grid-margin-y > .xxxlarge-11 {
3313
- height: calc(91.66667% - 1.875rem); }
3314
- .grid-margin-y > .xxxlarge-12 {
3315
- height: calc(100% - 1.875rem); } }
3316
-
3317
- .grid-frame.grid-margin-y {
3318
- height: calc(100vh + 1.875rem); }
3319
-
3320
- @media print, screen and (min-width: 40em) {
3321
- .grid-margin-y.medium-grid-frame {
3322
- height: calc(100vh + 1.875rem); } }
3323
-
3324
- @media print, screen and (min-width: 64em) {
3325
- .grid-margin-y.large-grid-frame {
3326
- height: calc(100vh + 1.875rem); } }
3327
-
3328
- @media screen and (min-width: 75em) {
3329
- .grid-margin-y.xlarge-grid-frame {
3330
- height: calc(100vh + 1.875rem); } }
3331
-
3332
- @media screen and (min-width: 90em) {
3333
- .grid-margin-y.xxlarge-grid-frame {
3334
- height: calc(100vh + 1.875rem); } }
3335
-
3336
- @media screen and (min-width: 100em) {
3337
- .grid-margin-y.xxxlarge-grid-frame {
3338
- height: calc(100vh + 1.875rem); } }
3339
-
3340
- .align-left {
3341
- justify-content: flex-start; }
3342
-
3343
- .align-right {
3344
- justify-content: flex-end; }
3345
-
3346
- .align-center {
3347
- justify-content: center; }
3348
-
3349
- .align-justify {
3350
- justify-content: space-between; }
3351
-
3352
- .align-spaced {
3353
- justify-content: space-around; }
3354
-
3355
- .align-left.vertical.menu > li > a {
3356
- justify-content: flex-start; }
3357
-
3358
- .align-right.vertical.menu > li > a {
3359
- justify-content: flex-end; }
3360
-
3361
- .align-center.vertical.menu > li > a {
3362
- justify-content: center; }
3363
-
3364
- .align-top {
3365
- align-items: flex-start; }
3366
-
3367
- .align-self-top {
3368
- align-self: flex-start; }
3369
-
3370
- .align-bottom {
3371
- align-items: flex-end; }
3372
-
3373
- .align-self-bottom {
3374
- align-self: flex-end; }
3375
-
3376
- .align-middle {
3377
- align-items: center; }
3378
-
3379
- .align-self-middle {
3380
- align-self: center; }
3381
-
3382
- .align-stretch {
3383
- align-items: stretch; }
3384
-
3385
- .align-self-stretch {
3386
- align-self: stretch; }
3387
-
3388
- .align-center-middle {
3389
- justify-content: center;
3390
- align-items: center;
3391
- align-content: center; }
3392
-
3393
- .small-order-1 {
3394
- order: 1; }
3395
-
3396
- .small-order-2 {
3397
- order: 2; }
3398
-
3399
- .small-order-3 {
3400
- order: 3; }
3401
-
3402
- .small-order-4 {
3403
- order: 4; }
3404
-
3405
- .small-order-5 {
3406
- order: 5; }
3407
-
3408
- .small-order-6 {
3409
- order: 6; }
3410
-
3411
- @media print, screen and (min-width: 40em) {
3412
- .medium-order-1 {
3413
- order: 1; }
3414
- .medium-order-2 {
3415
- order: 2; }
3416
- .medium-order-3 {
3417
- order: 3; }
3418
- .medium-order-4 {
3419
- order: 4; }
3420
- .medium-order-5 {
3421
- order: 5; }
3422
- .medium-order-6 {
3423
- order: 6; } }
3424
-
3425
- @media print, screen and (min-width: 64em) {
3426
- .large-order-1 {
3427
- order: 1; }
3428
- .large-order-2 {
3429
- order: 2; }
3430
- .large-order-3 {
3431
- order: 3; }
3432
- .large-order-4 {
3433
- order: 4; }
3434
- .large-order-5 {
3435
- order: 5; }
3436
- .large-order-6 {
3437
- order: 6; } }
3438
-
3439
- @media screen and (min-width: 75em) {
3440
- .xlarge-order-1 {
3441
- order: 1; }
3442
- .xlarge-order-2 {
3443
- order: 2; }
3444
- .xlarge-order-3 {
3445
- order: 3; }
3446
- .xlarge-order-4 {
3447
- order: 4; }
3448
- .xlarge-order-5 {
3449
- order: 5; }
3450
- .xlarge-order-6 {
3451
- order: 6; } }
3452
-
3453
- @media screen and (min-width: 90em) {
3454
- .xxlarge-order-1 {
3455
- order: 1; }
3456
- .xxlarge-order-2 {
3457
- order: 2; }
3458
- .xxlarge-order-3 {
3459
- order: 3; }
3460
- .xxlarge-order-4 {
3461
- order: 4; }
3462
- .xxlarge-order-5 {
3463
- order: 5; }
3464
- .xxlarge-order-6 {
3465
- order: 6; } }
3466
-
3467
- @media screen and (min-width: 100em) {
3468
- .xxxlarge-order-1 {
3469
- order: 1; }
3470
- .xxxlarge-order-2 {
3471
- order: 2; }
3472
- .xxxlarge-order-3 {
3473
- order: 3; }
3474
- .xxxlarge-order-4 {
3475
- order: 4; }
3476
- .xxxlarge-order-5 {
3477
- order: 5; }
3478
- .xxxlarge-order-6 {
3479
- order: 6; } }
3480
-
3481
- .flex-container {
3482
- display: flex; }
3483
-
3484
- .flex-child-auto {
3485
- flex: 1 1 auto; }
3486
-
3487
- .flex-child-grow {
3488
- flex: 1 0 auto; }
3489
-
3490
- .flex-child-shrink {
3491
- flex: 0 1 auto; }
3492
-
3493
- .flex-dir-row {
3494
- flex-direction: row; }
3495
-
3496
- .flex-dir-row-reverse {
3497
- flex-direction: row-reverse; }
3498
-
3499
- .flex-dir-column {
3500
- flex-direction: column; }
3501
-
3502
- .flex-dir-column-reverse {
3503
- flex-direction: column-reverse; }
3504
-
3505
- @media print, screen and (min-width: 40em) {
3506
- .medium-flex-container {
3507
- display: flex; }
3508
- .medium-flex-child-auto {
3509
- flex: 1 1 auto; }
3510
- .medium-flex-child-grow {
3511
- flex: 1 0 auto; }
3512
- .medium-flex-child-shrink {
3513
- flex: 0 1 auto; }
3514
- .medium-flex-dir-row {
3515
- flex-direction: row; }
3516
- .medium-flex-dir-row-reverse {
3517
- flex-direction: row-reverse; }
3518
- .medium-flex-dir-column {
3519
- flex-direction: column; }
3520
- .medium-flex-dir-column-reverse {
3521
- flex-direction: column-reverse; } }
3522
-
3523
- @media print, screen and (min-width: 64em) {
3524
- .large-flex-container {
3525
- display: flex; }
3526
- .large-flex-child-auto {
3527
- flex: 1 1 auto; }
3528
- .large-flex-child-grow {
3529
- flex: 1 0 auto; }
3530
- .large-flex-child-shrink {
3531
- flex: 0 1 auto; }
3532
- .large-flex-dir-row {
3533
- flex-direction: row; }
3534
- .large-flex-dir-row-reverse {
3535
- flex-direction: row-reverse; }
3536
- .large-flex-dir-column {
3537
- flex-direction: column; }
3538
- .large-flex-dir-column-reverse {
3539
- flex-direction: column-reverse; } }
3540
-
3541
- @media screen and (min-width: 75em) {
3542
- .xlarge-flex-container {
3543
- display: flex; }
3544
- .xlarge-flex-child-auto {
3545
- flex: 1 1 auto; }
3546
- .xlarge-flex-child-grow {
3547
- flex: 1 0 auto; }
3548
- .xlarge-flex-child-shrink {
3549
- flex: 0 1 auto; }
3550
- .xlarge-flex-dir-row {
3551
- flex-direction: row; }
3552
- .xlarge-flex-dir-row-reverse {
3553
- flex-direction: row-reverse; }
3554
- .xlarge-flex-dir-column {
3555
- flex-direction: column; }
3556
- .xlarge-flex-dir-column-reverse {
3557
- flex-direction: column-reverse; } }
3558
-
3559
- @media screen and (min-width: 90em) {
3560
- .xxlarge-flex-container {
3561
- display: flex; }
3562
- .xxlarge-flex-child-auto {
3563
- flex: 1 1 auto; }
3564
- .xxlarge-flex-child-grow {
3565
- flex: 1 0 auto; }
3566
- .xxlarge-flex-child-shrink {
3567
- flex: 0 1 auto; }
3568
- .xxlarge-flex-dir-row {
3569
- flex-direction: row; }
3570
- .xxlarge-flex-dir-row-reverse {
3571
- flex-direction: row-reverse; }
3572
- .xxlarge-flex-dir-column {
3573
- flex-direction: column; }
3574
- .xxlarge-flex-dir-column-reverse {
3575
- flex-direction: column-reverse; } }
3576
-
3577
- @media screen and (min-width: 100em) {
3578
- .xxxlarge-flex-container {
3579
- display: flex; }
3580
- .xxxlarge-flex-child-auto {
3581
- flex: 1 1 auto; }
3582
- .xxxlarge-flex-child-grow {
3583
- flex: 1 0 auto; }
3584
- .xxxlarge-flex-child-shrink {
3585
- flex: 0 1 auto; }
3586
- .xxxlarge-flex-dir-row {
3587
- flex-direction: row; }
3588
- .xxxlarge-flex-dir-row-reverse {
3589
- flex-direction: row-reverse; }
3590
- .xxxlarge-flex-dir-column {
3591
- flex-direction: column; }
3592
- .xxxlarge-flex-dir-column-reverse {
3593
- flex-direction: column-reverse; } }
3594
-
3595
- .hide {
3596
- display: none !important; }
3597
-
3598
- .invisible {
3599
- visibility: hidden; }
3600
-
3601
- @media print, screen and (max-width: 39.99875em) {
3602
- .hide-for-small-only {
3603
- display: none !important; } }
3604
-
3605
- @media screen and (max-width: 0em), screen and (min-width: 40em) {
3606
- .show-for-small-only {
3607
- display: none !important; } }
3608
-
3609
- @media print, screen and (min-width: 40em) {
3610
- .hide-for-medium {
3611
- display: none !important; } }
3612
-
3613
- @media screen and (max-width: 39.99875em) {
3614
- .show-for-medium {
3615
- display: none !important; } }
3616
-
3617
- @media print, screen and (min-width: 40em) and (max-width: 63.99875em) {
3618
- .hide-for-medium-only {
3619
- display: none !important; } }
3620
-
3621
- @media screen and (max-width: 39.99875em), screen and (min-width: 64em) {
3622
- .show-for-medium-only {
3623
- display: none !important; } }
3624
-
3625
- @media print, screen and (min-width: 64em) {
3626
- .hide-for-large {
3627
- display: none !important; } }
3628
-
3629
- @media screen and (max-width: 63.99875em) {
3630
- .show-for-large {
3631
- display: none !important; } }
3632
-
3633
- @media print, screen and (min-width: 64em) and (max-width: 74.99875em) {
3634
- .hide-for-large-only {
3635
- display: none !important; } }
3636
-
3637
- @media screen and (max-width: 63.99875em), screen and (min-width: 75em) {
3638
- .show-for-large-only {
3639
- display: none !important; } }
3640
-
3641
- @media screen and (min-width: 75em) {
3642
- .hide-for-xlarge {
3643
- display: none !important; } }
3644
-
3645
- @media screen and (max-width: 74.99875em) {
3646
- .show-for-xlarge {
3647
- display: none !important; } }
3648
-
3649
- @media screen and (min-width: 75em) and (max-width: 89.99875em) {
3650
- .hide-for-xlarge-only {
3651
- display: none !important; } }
3652
-
3653
- @media screen and (max-width: 74.99875em), screen and (min-width: 90em) {
3654
- .show-for-xlarge-only {
3655
- display: none !important; } }
3656
-
3657
- @media screen and (min-width: 90em) {
3658
- .hide-for-xxlarge {
3659
- display: none !important; } }
3660
-
3661
- @media screen and (max-width: 89.99875em) {
3662
- .show-for-xxlarge {
3663
- display: none !important; } }
3664
-
3665
- @media screen and (min-width: 90em) and (max-width: 99.99875em) {
3666
- .hide-for-xxlarge-only {
3667
- display: none !important; } }
3668
-
3669
- @media screen and (max-width: 89.99875em), screen and (min-width: 100em) {
3670
- .show-for-xxlarge-only {
3671
- display: none !important; } }
3672
-
3673
- @media screen and (min-width: 100em) {
3674
- .hide-for-xxxlarge {
3675
- display: none !important; } }
3676
-
3677
- @media screen and (max-width: 99.99875em) {
3678
- .show-for-xxxlarge {
3679
- display: none !important; } }
3680
-
3681
- @media screen and (min-width: 100em) {
3682
- .hide-for-xxxlarge-only {
3683
- display: none !important; } }
3684
-
3685
- @media screen and (max-width: 99.99875em) {
3686
- .show-for-xxxlarge-only {
3687
- display: none !important; } }
3688
-
3689
- .show-for-sr,
3690
- .show-on-focus {
3691
- position: absolute !important;
3692
- width: 1px !important;
3693
- height: 1px !important;
3694
- padding: 0 !important;
3695
- overflow: hidden !important;
3696
- clip: rect(0, 0, 0, 0) !important;
3697
- white-space: nowrap !important;
3698
- border: 0 !important; }
3699
-
3700
- .show-on-focus:active, .show-on-focus:focus {
3701
- position: static !important;
3702
- width: auto !important;
3703
- height: auto !important;
3704
- overflow: visible !important;
3705
- clip: auto !important;
3706
- white-space: normal !important; }
3707
-
3708
- .show-for-landscape,
3709
- .hide-for-portrait {
3710
- display: block !important; }
3711
- @media screen and (orientation: landscape) {
3712
- .show-for-landscape,
3713
- .hide-for-portrait {
3714
- display: block !important; } }
3715
- @media screen and (orientation: portrait) {
3716
- .show-for-landscape,
3717
- .hide-for-portrait {
3718
- display: none !important; } }
3719
-
3720
- .hide-for-landscape,
3721
- .show-for-portrait {
3722
- display: none !important; }
3723
- @media screen and (orientation: landscape) {
3724
- .hide-for-landscape,
3725
- .show-for-portrait {
3726
- display: none !important; } }
3727
- @media screen and (orientation: portrait) {
3728
- .hide-for-landscape,
3729
- .show-for-portrait {
3730
- display: block !important; } }
3731
-
3732
- .margin-0 {
3733
- margin: 0rem !important; }
3734
-
3735
- .margin-top-0 {
3736
- margin-top: 0rem !important; }
3737
-
3738
- .margin-right-0 {
3739
- margin-right: 0rem !important; }
3740
-
3741
- .margin-bottom-0 {
3742
- margin-bottom: 0rem !important; }
3743
-
3744
- .margin-left-0 {
3745
- margin-left: 0rem !important; }
3746
-
3747
- .margin-horizontal-0 {
3748
- margin-right: 0rem !important;
3749
- margin-left: 0rem !important; }
3750
-
3751
- .margin-vertical-0 {
3752
- margin-top: 0rem !important;
3753
- margin-bottom: 0rem !important; }
3754
-
3755
- .padding-0 {
3756
- padding: 0rem !important; }
3757
-
3758
- .padding-top-0 {
3759
- padding-top: 0rem !important; }
3760
-
3761
- .padding-right-0 {
3762
- padding-right: 0rem !important; }
3763
-
3764
- .padding-bottom-0 {
3765
- padding-bottom: 0rem !important; }
3766
-
3767
- .padding-left-0 {
3768
- padding-left: 0rem !important; }
3769
-
3770
- .padding-horizontal-0 {
3771
- padding-right: 0rem !important;
3772
- padding-left: 0rem !important; }
3773
-
3774
- .padding-vertical-0 {
3775
- padding-top: 0rem !important;
3776
- padding-bottom: 0rem !important; }
3777
-
3778
- .margin-1 {
3779
- margin: 1rem !important; }
3780
-
3781
- .margin-top-1 {
3782
- margin-top: 1rem !important; }
3783
-
3784
- .margin-right-1 {
3785
- margin-right: 1rem !important; }
3786
-
3787
- .margin-bottom-1 {
3788
- margin-bottom: 1rem !important; }
3789
-
3790
- .margin-left-1 {
3791
- margin-left: 1rem !important; }
3792
-
3793
- .margin-horizontal-1 {
3794
- margin-right: 1rem !important;
3795
- margin-left: 1rem !important; }
3796
-
3797
- .margin-vertical-1 {
3798
- margin-top: 1rem !important;
3799
- margin-bottom: 1rem !important; }
3800
-
3801
- .padding-1 {
3802
- padding: 1rem !important; }
3803
-
3804
- .padding-top-1 {
3805
- padding-top: 1rem !important; }
3806
-
3807
- .padding-right-1 {
3808
- padding-right: 1rem !important; }
3809
-
3810
- .padding-bottom-1 {
3811
- padding-bottom: 1rem !important; }
3812
-
3813
- .padding-left-1 {
3814
- padding-left: 1rem !important; }
3815
-
3816
- .padding-horizontal-1 {
3817
- padding-right: 1rem !important;
3818
- padding-left: 1rem !important; }
3819
-
3820
- .padding-vertical-1 {
3821
- padding-top: 1rem !important;
3822
- padding-bottom: 1rem !important; }
3823
-
3824
- .margin-2 {
3825
- margin: 2rem !important; }
3826
-
3827
- .margin-top-2 {
3828
- margin-top: 2rem !important; }
3829
-
3830
- .margin-right-2 {
3831
- margin-right: 2rem !important; }
3832
-
3833
- .margin-bottom-2 {
3834
- margin-bottom: 2rem !important; }
3835
-
3836
- .margin-left-2 {
3837
- margin-left: 2rem !important; }
3838
-
3839
- .margin-horizontal-2 {
3840
- margin-right: 2rem !important;
3841
- margin-left: 2rem !important; }
3842
-
3843
- .margin-vertical-2 {
3844
- margin-top: 2rem !important;
3845
- margin-bottom: 2rem !important; }
3846
-
3847
- .padding-2 {
3848
- padding: 2rem !important; }
3849
-
3850
- .padding-top-2 {
3851
- padding-top: 2rem !important; }
3852
-
3853
- .padding-right-2 {
3854
- padding-right: 2rem !important; }
3855
-
3856
- .padding-bottom-2 {
3857
- padding-bottom: 2rem !important; }
3858
-
3859
- .padding-left-2 {
3860
- padding-left: 2rem !important; }
3861
-
3862
- .padding-horizontal-2 {
3863
- padding-right: 2rem !important;
3864
- padding-left: 2rem !important; }
3865
-
3866
- .padding-vertical-2 {
3867
- padding-top: 2rem !important;
3868
- padding-bottom: 2rem !important; }
3869
-
3870
- .margin-3 {
3871
- margin: 3rem !important; }
3872
-
3873
- .margin-top-3 {
3874
- margin-top: 3rem !important; }
3875
-
3876
- .margin-right-3 {
3877
- margin-right: 3rem !important; }
3878
-
3879
- .margin-bottom-3 {
3880
- margin-bottom: 3rem !important; }
3881
-
3882
- .margin-left-3 {
3883
- margin-left: 3rem !important; }
3884
-
3885
- .margin-horizontal-3 {
3886
- margin-right: 3rem !important;
3887
- margin-left: 3rem !important; }
3888
-
3889
- .margin-vertical-3 {
3890
- margin-top: 3rem !important;
3891
- margin-bottom: 3rem !important; }
3892
-
3893
- .padding-3 {
3894
- padding: 3rem !important; }
3895
-
3896
- .padding-top-3 {
3897
- padding-top: 3rem !important; }
3898
-
3899
- .padding-right-3 {
3900
- padding-right: 3rem !important; }
3901
-
3902
- .padding-bottom-3 {
3903
- padding-bottom: 3rem !important; }
3904
-
3905
- .padding-left-3 {
3906
- padding-left: 3rem !important; }
3907
-
3908
- .padding-horizontal-3 {
3909
- padding-right: 3rem !important;
3910
- padding-left: 3rem !important; }
3911
-
3912
- .padding-vertical-3 {
3913
- padding-top: 3rem !important;
3914
- padding-bottom: 3rem !important; }
3915
-
3916
- /* Font Awesome 5 Pro; Uncomment if you want to use it */
3917
- /*!
3918
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
3919
- * License - https://fontawesome.com/license (Commercial License)
3920
- */
3921
- .fa,
3922
- .fas,
3923
- .far,
3924
- .fal,
3925
- .fad,
3926
- .fab {
3927
- -moz-osx-font-smoothing: grayscale;
3928
- -webkit-font-smoothing: antialiased;
3929
- display: inline-block;
3930
- font-style: normal;
3931
- font-variant: normal;
3932
- text-rendering: auto;
3933
- line-height: 1; }
3934
-
3935
- .fa-lg {
3936
- font-size: 1.33333em;
3937
- line-height: 0.75em;
3938
- vertical-align: -.0667em; }
3939
-
3940
- .fa-xs {
3941
- font-size: .75em; }
3942
-
3943
- .fa-sm {
3944
- font-size: .875em; }
3945
-
3946
- .fa-1x {
3947
- font-size: 1em; }
3948
-
3949
- .fa-2x {
3950
- font-size: 2em; }
3951
-
3952
- .fa-3x {
3953
- font-size: 3em; }
3954
-
3955
- .fa-4x {
3956
- font-size: 4em; }
3957
-
3958
- .fa-5x {
3959
- font-size: 5em; }
3960
-
3961
- .fa-6x {
3962
- font-size: 6em; }
3963
-
3964
- .fa-7x {
3965
- font-size: 7em; }
3966
-
3967
- .fa-8x {
3968
- font-size: 8em; }
3969
-
3970
- .fa-9x {
3971
- font-size: 9em; }
3972
-
3973
- .fa-10x {
3974
- font-size: 10em; }
3975
-
3976
- .fa-fw {
3977
- text-align: center;
3978
- width: 1.25em; }
3979
-
3980
- .fa-ul {
3981
- list-style-type: none;
3982
- margin-left: 2.5em;
3983
- padding-left: 0; }
3984
- .fa-ul > li {
3985
- position: relative; }
3986
-
3987
- .fa-li {
3988
- left: -2em;
3989
- position: absolute;
3990
- text-align: center;
3991
- width: 2em;
3992
- line-height: inherit; }
3993
-
3994
- .fa-border {
3995
- border: solid 0.08em #eee;
3996
- border-radius: .1em;
3997
- padding: .2em .25em .15em; }
3998
-
3999
- .fa-pull-left {
4000
- float: left; }
4001
-
4002
- .fa-pull-right {
4003
- float: right; }
4004
-
4005
- .fa.fa-pull-left,
4006
- .fas.fa-pull-left,
4007
- .far.fa-pull-left,
4008
- .fal.fa-pull-left,
4009
- .fab.fa-pull-left {
4010
- margin-right: .3em; }
4011
-
4012
- .fa.fa-pull-right,
4013
- .fas.fa-pull-right,
4014
- .far.fa-pull-right,
4015
- .fal.fa-pull-right,
4016
- .fab.fa-pull-right {
4017
- margin-left: .3em; }
4018
-
4019
- .fa-spin {
4020
- animation: fa-spin 2s infinite linear; }
4021
-
4022
- .fa-pulse {
4023
- animation: fa-spin 1s infinite steps(8); }
4024
-
4025
- @keyframes fa-spin {
4026
- 0% {
4027
- transform: rotate(0deg); }
4028
- 100% {
4029
- transform: rotate(360deg); } }
4030
-
4031
- .fa-rotate-90 {
4032
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";
4033
- transform: rotate(90deg); }
4034
-
4035
- .fa-rotate-180 {
4036
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";
4037
- transform: rotate(180deg); }
4038
-
4039
- .fa-rotate-270 {
4040
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";
4041
- transform: rotate(270deg); }
4042
-
4043
- .fa-flip-horizontal {
4044
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";
4045
- transform: scale(-1, 1); }
4046
-
4047
- .fa-flip-vertical {
4048
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
4049
- transform: scale(1, -1); }
4050
-
4051
- .fa-flip-both, .fa-flip-horizontal.fa-flip-vertical {
4052
- -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";
4053
- transform: scale(-1, -1); }
4054
-
4055
- :root .fa-rotate-90,
4056
- :root .fa-rotate-180,
4057
- :root .fa-rotate-270,
4058
- :root .fa-flip-horizontal,
4059
- :root .fa-flip-vertical,
4060
- :root .fa-flip-both {
4061
- filter: none; }
4062
-
4063
- .fa-stack {
4064
- display: inline-block;
4065
- height: 2em;
4066
- line-height: 2em;
4067
- position: relative;
4068
- vertical-align: middle;
4069
- width: 2.5em; }
4070
-
4071
- .fa-stack-1x,
4072
- .fa-stack-2x {
4073
- left: 0;
4074
- position: absolute;
4075
- text-align: center;
4076
- width: 100%; }
4077
-
4078
- .fa-stack-1x {
4079
- line-height: inherit; }
4080
-
4081
- .fa-stack-2x {
4082
- font-size: 2em; }
4083
-
4084
- .fa-inverse {
4085
- color: #fff; }
4086
-
4087
- /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
4088
- readers do not read off random characters that represent icons */
4089
- .fa-500px:before {
4090
- content: "\f26e"; }
4091
-
4092
- .fa-abacus:before {
4093
- content: "\f640"; }
4094
-
4095
- .fa-accessible-icon:before {
4096
- content: "\f368"; }
4097
-
4098
- .fa-accusoft:before {
4099
- content: "\f369"; }
4100
-
4101
- .fa-acorn:before {
4102
- content: "\f6ae"; }
4103
-
4104
- .fa-acquisitions-incorporated:before {
4105
- content: "\f6af"; }
4106
-
4107
- .fa-ad:before {
4108
- content: "\f641"; }
4109
-
4110
- .fa-address-book:before {
4111
- content: "\f2b9"; }
4112
-
4113
- .fa-address-card:before {
4114
- content: "\f2bb"; }
4115
-
4116
- .fa-adjust:before {
4117
- content: "\f042"; }
4118
-
4119
- .fa-adn:before {
4120
- content: "\f170"; }
4121
-
4122
- .fa-adversal:before {
4123
- content: "\f36a"; }
4124
-
4125
- .fa-affiliatetheme:before {
4126
- content: "\f36b"; }
4127
-
4128
- .fa-air-conditioner:before {
4129
- content: "\f8f4"; }
4130
-
4131
- .fa-air-freshener:before {
4132
- content: "\f5d0"; }
4133
-
4134
- .fa-airbnb:before {
4135
- content: "\f834"; }
4136
-
4137
- .fa-alarm-clock:before {
4138
- content: "\f34e"; }
4139
-
4140
- .fa-alarm-exclamation:before {
4141
- content: "\f843"; }
4142
-
4143
- .fa-alarm-plus:before {
4144
- content: "\f844"; }
4145
-
4146
- .fa-alarm-snooze:before {
4147
- content: "\f845"; }
4148
-
4149
- .fa-album:before {
4150
- content: "\f89f"; }
4151
-
4152
- .fa-album-collection:before {
4153
- content: "\f8a0"; }
4154
-
4155
- .fa-algolia:before {
4156
- content: "\f36c"; }
4157
-
4158
- .fa-alicorn:before {
4159
- content: "\f6b0"; }
4160
-
4161
- .fa-alien:before {
4162
- content: "\f8f5"; }
4163
-
4164
- .fa-alien-monster:before {
4165
- content: "\f8f6"; }
4166
-
4167
- .fa-align-center:before {
4168
- content: "\f037"; }
4169
-
4170
- .fa-align-justify:before {
4171
- content: "\f039"; }
4172
-
4173
- .fa-align-left:before {
4174
- content: "\f036"; }
4175
-
4176
- .fa-align-right:before {
4177
- content: "\f038"; }
4178
-
4179
- .fa-align-slash:before {
4180
- content: "\f846"; }
4181
-
4182
- .fa-alipay:before {
4183
- content: "\f642"; }
4184
-
4185
- .fa-allergies:before {
4186
- content: "\f461"; }
4187
-
4188
- .fa-amazon:before {
4189
- content: "\f270"; }
4190
-
4191
- .fa-amazon-pay:before {
4192
- content: "\f42c"; }
4193
-
4194
- .fa-ambulance:before {
4195
- content: "\f0f9"; }
4196
-
4197
- .fa-american-sign-language-interpreting:before {
4198
- content: "\f2a3"; }
4199
-
4200
- .fa-amilia:before {
4201
- content: "\f36d"; }
4202
-
4203
- .fa-amp-guitar:before {
4204
- content: "\f8a1"; }
4205
-
4206
- .fa-analytics:before {
4207
- content: "\f643"; }
4208
-
4209
- .fa-anchor:before {
4210
- content: "\f13d"; }
4211
-
4212
- .fa-android:before {
4213
- content: "\f17b"; }
4214
-
4215
- .fa-angel:before {
4216
- content: "\f779"; }
4217
-
4218
- .fa-angellist:before {
4219
- content: "\f209"; }
4220
-
4221
- .fa-angle-double-down:before {
4222
- content: "\f103"; }
4223
-
4224
- .fa-angle-double-left:before {
4225
- content: "\f100"; }
4226
-
4227
- .fa-angle-double-right:before {
4228
- content: "\f101"; }
4229
-
4230
- .fa-angle-double-up:before {
4231
- content: "\f102"; }
4232
-
4233
- .fa-angle-down:before {
4234
- content: "\f107"; }
4235
-
4236
- .fa-angle-left:before {
4237
- content: "\f104"; }
4238
-
4239
- .fa-angle-right:before {
4240
- content: "\f105"; }
4241
-
4242
- .fa-angle-up:before {
4243
- content: "\f106"; }
4244
-
4245
- .fa-angry:before {
4246
- content: "\f556"; }
4247
-
4248
- .fa-angrycreative:before {
4249
- content: "\f36e"; }
4250
-
4251
- .fa-angular:before {
4252
- content: "\f420"; }
4253
-
4254
- .fa-ankh:before {
4255
- content: "\f644"; }
4256
-
4257
- .fa-app-store:before {
4258
- content: "\f36f"; }
4259
-
4260
- .fa-app-store-ios:before {
4261
- content: "\f370"; }
4262
-
4263
- .fa-apper:before {
4264
- content: "\f371"; }
4265
-
4266
- .fa-apple:before {
4267
- content: "\f179"; }
4268
-
4269
- .fa-apple-alt:before {
4270
- content: "\f5d1"; }
4271
-
4272
- .fa-apple-crate:before {
4273
- content: "\f6b1"; }
4274
-
4275
- .fa-apple-pay:before {
4276
- content: "\f415"; }
4277
-
4278
- .fa-archive:before {
4279
- content: "\f187"; }
4280
-
4281
- .fa-archway:before {
4282
- content: "\f557"; }
4283
-
4284
- .fa-arrow-alt-circle-down:before {
4285
- content: "\f358"; }
4286
-
4287
- .fa-arrow-alt-circle-left:before {
4288
- content: "\f359"; }
4289
-
4290
- .fa-arrow-alt-circle-right:before {
4291
- content: "\f35a"; }
4292
-
4293
- .fa-arrow-alt-circle-up:before {
4294
- content: "\f35b"; }
4295
-
4296
- .fa-arrow-alt-down:before {
4297
- content: "\f354"; }
4298
-
4299
- .fa-arrow-alt-from-bottom:before {
4300
- content: "\f346"; }
4301
-
4302
- .fa-arrow-alt-from-left:before {
4303
- content: "\f347"; }
4304
-
4305
- .fa-arrow-alt-from-right:before {
4306
- content: "\f348"; }
4307
-
4308
- .fa-arrow-alt-from-top:before {
4309
- content: "\f349"; }
4310
-
4311
- .fa-arrow-alt-left:before {
4312
- content: "\f355"; }
4313
-
4314
- .fa-arrow-alt-right:before {
4315
- content: "\f356"; }
4316
-
4317
- .fa-arrow-alt-square-down:before {
4318
- content: "\f350"; }
4319
-
4320
- .fa-arrow-alt-square-left:before {
4321
- content: "\f351"; }
4322
-
4323
- .fa-arrow-alt-square-right:before {
4324
- content: "\f352"; }
4325
-
4326
- .fa-arrow-alt-square-up:before {
4327
- content: "\f353"; }
4328
-
4329
- .fa-arrow-alt-to-bottom:before {
4330
- content: "\f34a"; }
4331
-
4332
- .fa-arrow-alt-to-left:before {
4333
- content: "\f34b"; }
4334
-
4335
- .fa-arrow-alt-to-right:before {
4336
- content: "\f34c"; }
4337
-
4338
- .fa-arrow-alt-to-top:before {
4339
- content: "\f34d"; }
4340
-
4341
- .fa-arrow-alt-up:before {
4342
- content: "\f357"; }
4343
-
4344
- .fa-arrow-circle-down:before {
4345
- content: "\f0ab"; }
4346
-
4347
- .fa-arrow-circle-left:before {
4348
- content: "\f0a8"; }
4349
-
4350
- .fa-arrow-circle-right:before {
4351
- content: "\f0a9"; }
4352
-
4353
- .fa-arrow-circle-up:before {
4354
- content: "\f0aa"; }
4355
-
4356
- .fa-arrow-down:before {
4357
- content: "\f063"; }
4358
-
4359
- .fa-arrow-from-bottom:before {
4360
- content: "\f342"; }
4361
-
4362
- .fa-arrow-from-left:before {
4363
- content: "\f343"; }
4364
-
4365
- .fa-arrow-from-right:before {
4366
- content: "\f344"; }
4367
-
4368
- .fa-arrow-from-top:before {
4369
- content: "\f345"; }
4370
-
4371
- .fa-arrow-left:before {
4372
- content: "\f060"; }
4373
-
4374
- .fa-arrow-right:before {
4375
- content: "\f061"; }
4376
-
4377
- .fa-arrow-square-down:before {
4378
- content: "\f339"; }
4379
-
4380
- .fa-arrow-square-left:before {
4381
- content: "\f33a"; }
4382
-
4383
- .fa-arrow-square-right:before {
4384
- content: "\f33b"; }
4385
-
4386
- .fa-arrow-square-up:before {
4387
- content: "\f33c"; }
4388
-
4389
- .fa-arrow-to-bottom:before {
4390
- content: "\f33d"; }
4391
-
4392
- .fa-arrow-to-left:before {
4393
- content: "\f33e"; }
4394
-
4395
- .fa-arrow-to-right:before {
4396
- content: "\f340"; }
4397
-
4398
- .fa-arrow-to-top:before {
4399
- content: "\f341"; }
4400
-
4401
- .fa-arrow-up:before {
4402
- content: "\f062"; }
4403
-
4404
- .fa-arrows:before {
4405
- content: "\f047"; }
4406
-
4407
- .fa-arrows-alt:before {
4408
- content: "\f0b2"; }
4409
-
4410
- .fa-arrows-alt-h:before {
4411
- content: "\f337"; }
4412
-
4413
- .fa-arrows-alt-v:before {
4414
- content: "\f338"; }
4415
-
4416
- .fa-arrows-h:before {
4417
- content: "\f07e"; }
4418
-
4419
- .fa-arrows-v:before {
4420
- content: "\f07d"; }
4421
-
4422
- .fa-artstation:before {
4423
- content: "\f77a"; }
4424
-
4425
- .fa-assistive-listening-systems:before {
4426
- content: "\f2a2"; }
4427
-
4428
- .fa-asterisk:before {
4429
- content: "\f069"; }
4430
-
4431
- .fa-asymmetrik:before {
4432
- content: "\f372"; }
4433
-
4434
- .fa-at:before {
4435
- content: "\f1fa"; }
4436
-
4437
- .fa-atlas:before {
4438
- content: "\f558"; }
4439
-
4440
- .fa-atlassian:before {
4441
- content: "\f77b"; }
4442
-
4443
- .fa-atom:before {
4444
- content: "\f5d2"; }
4445
-
4446
- .fa-atom-alt:before {
4447
- content: "\f5d3"; }
4448
-
4449
- .fa-audible:before {
4450
- content: "\f373"; }
4451
-
4452
- .fa-audio-description:before {
4453
- content: "\f29e"; }
4454
-
4455
- .fa-autoprefixer:before {
4456
- content: "\f41c"; }
4457
-
4458
- .fa-avianex:before {
4459
- content: "\f374"; }
4460
-
4461
- .fa-aviato:before {
4462
- content: "\f421"; }
4463
-
4464
- .fa-award:before {
4465
- content: "\f559"; }
4466
-
4467
- .fa-aws:before {
4468
- content: "\f375"; }
4469
-
4470
- .fa-axe:before {
4471
- content: "\f6b2"; }
4472
-
4473
- .fa-axe-battle:before {
4474
- content: "\f6b3"; }
4475
-
4476
- .fa-baby:before {
4477
- content: "\f77c"; }
4478
-
4479
- .fa-baby-carriage:before {
4480
- content: "\f77d"; }
4481
-
4482
- .fa-backpack:before {
4483
- content: "\f5d4"; }
4484
-
4485
- .fa-backspace:before {
4486
- content: "\f55a"; }
4487
-
4488
- .fa-backward:before {
4489
- content: "\f04a"; }
4490
-
4491
- .fa-bacon:before {
4492
- content: "\f7e5"; }
4493
-
4494
- .fa-bacteria:before {
4495
- content: "\e059"; }
4496
-
4497
- .fa-bacterium:before {
4498
- content: "\e05a"; }
4499
-
4500
- .fa-badge:before {
4501
- content: "\f335"; }
4502
-
4503
- .fa-badge-check:before {
4504
- content: "\f336"; }
4505
-
4506
- .fa-badge-dollar:before {
4507
- content: "\f645"; }
4508
-
4509
- .fa-badge-percent:before {
4510
- content: "\f646"; }
4511
-
4512
- .fa-badge-sheriff:before {
4513
- content: "\f8a2"; }
4514
-
4515
- .fa-badger-honey:before {
4516
- content: "\f6b4"; }
4517
-
4518
- .fa-bags-shopping:before {
4519
- content: "\f847"; }
4520
-
4521
- .fa-bahai:before {
4522
- content: "\f666"; }
4523
-
4524
- .fa-balance-scale:before {
4525
- content: "\f24e"; }
4526
-
4527
- .fa-balance-scale-left:before {
4528
- content: "\f515"; }
4529
-
4530
- .fa-balance-scale-right:before {
4531
- content: "\f516"; }
4532
-
4533
- .fa-ball-pile:before {
4534
- content: "\f77e"; }
4535
-
4536
- .fa-ballot:before {
4537
- content: "\f732"; }
4538
-
4539
- .fa-ballot-check:before {
4540
- content: "\f733"; }
4541
-
4542
- .fa-ban:before {
4543
- content: "\f05e"; }
4544
-
4545
- .fa-band-aid:before {
4546
- content: "\f462"; }
4547
-
4548
- .fa-bandcamp:before {
4549
- content: "\f2d5"; }
4550
-
4551
- .fa-banjo:before {
4552
- content: "\f8a3"; }
4553
-
4554
- .fa-barcode:before {
4555
- content: "\f02a"; }
4556
-
4557
- .fa-barcode-alt:before {
4558
- content: "\f463"; }
4559
-
4560
- .fa-barcode-read:before {
4561
- content: "\f464"; }
4562
-
4563
- .fa-barcode-scan:before {
4564
- content: "\f465"; }
4565
-
4566
- .fa-bars:before {
4567
- content: "\f0c9"; }
4568
-
4569
- .fa-baseball:before {
4570
- content: "\f432"; }
4571
-
4572
- .fa-baseball-ball:before {
4573
- content: "\f433"; }
4574
-
4575
- .fa-basketball-ball:before {
4576
- content: "\f434"; }
4577
-
4578
- .fa-basketball-hoop:before {
4579
- content: "\f435"; }
4580
-
4581
- .fa-bat:before {
4582
- content: "\f6b5"; }
4583
-
4584
- .fa-bath:before {
4585
- content: "\f2cd"; }
4586
-
4587
- .fa-battery-bolt:before {
4588
- content: "\f376"; }
4589
-
4590
- .fa-battery-empty:before {
4591
- content: "\f244"; }
4592
-
4593
- .fa-battery-full:before {
4594
- content: "\f240"; }
4595
-
4596
- .fa-battery-half:before {
4597
- content: "\f242"; }
4598
-
4599
- .fa-battery-quarter:before {
4600
- content: "\f243"; }
4601
-
4602
- .fa-battery-slash:before {
4603
- content: "\f377"; }
4604
-
4605
- .fa-battery-three-quarters:before {
4606
- content: "\f241"; }
4607
-
4608
- .fa-battle-net:before {
4609
- content: "\f835"; }
4610
-
4611
- .fa-bed:before {
4612
- content: "\f236"; }
4613
-
4614
- .fa-bed-alt:before {
4615
- content: "\f8f7"; }
4616
-
4617
- .fa-bed-bunk:before {
4618
- content: "\f8f8"; }
4619
-
4620
- .fa-bed-empty:before {
4621
- content: "\f8f9"; }
4622
-
4623
- .fa-beer:before {
4624
- content: "\f0fc"; }
4625
-
4626
- .fa-behance:before {
4627
- content: "\f1b4"; }
4628
-
4629
- .fa-behance-square:before {
4630
- content: "\f1b5"; }
4631
-
4632
- .fa-bell:before {
4633
- content: "\f0f3"; }
4634
-
4635
- .fa-bell-exclamation:before {
4636
- content: "\f848"; }
4637
-
4638
- .fa-bell-on:before {
4639
- content: "\f8fa"; }
4640
-
4641
- .fa-bell-plus:before {
4642
- content: "\f849"; }
4643
-
4644
- .fa-bell-school:before {
4645
- content: "\f5d5"; }
4646
-
4647
- .fa-bell-school-slash:before {
4648
- content: "\f5d6"; }
4649
-
4650
- .fa-bell-slash:before {
4651
- content: "\f1f6"; }
4652
-
4653
- .fa-bells:before {
4654
- content: "\f77f"; }
4655
-
4656
- .fa-betamax:before {
4657
- content: "\f8a4"; }
4658
-
4659
- .fa-bezier-curve:before {
4660
- content: "\f55b"; }
4661
-
4662
- .fa-bible:before {
4663
- content: "\f647"; }
4664
-
4665
- .fa-bicycle:before {
4666
- content: "\f206"; }
4667
-
4668
- .fa-biking:before {
4669
- content: "\f84a"; }
4670
-
4671
- .fa-biking-mountain:before {
4672
- content: "\f84b"; }
4673
-
4674
- .fa-bimobject:before {
4675
- content: "\f378"; }
4676
-
4677
- .fa-binoculars:before {
4678
- content: "\f1e5"; }
4679
-
4680
- .fa-biohazard:before {
4681
- content: "\f780"; }
4682
-
4683
- .fa-birthday-cake:before {
4684
- content: "\f1fd"; }
4685
-
4686
- .fa-bitbucket:before {
4687
- content: "\f171"; }
4688
-
4689
- .fa-bitcoin:before {
4690
- content: "\f379"; }
4691
-
4692
- .fa-bity:before {
4693
- content: "\f37a"; }
4694
-
4695
- .fa-black-tie:before {
4696
- content: "\f27e"; }
4697
-
4698
- .fa-blackberry:before {
4699
- content: "\f37b"; }
4700
-
4701
- .fa-blanket:before {
4702
- content: "\f498"; }
4703
-
4704
- .fa-blender:before {
4705
- content: "\f517"; }
4706
-
4707
- .fa-blender-phone:before {
4708
- content: "\f6b6"; }
4709
-
4710
- .fa-blind:before {
4711
- content: "\f29d"; }
4712
-
4713
- .fa-blinds:before {
4714
- content: "\f8fb"; }
4715
-
4716
- .fa-blinds-open:before {
4717
- content: "\f8fc"; }
4718
-
4719
- .fa-blinds-raised:before {
4720
- content: "\f8fd"; }
4721
-
4722
- .fa-blog:before {
4723
- content: "\f781"; }
4724
-
4725
- .fa-blogger:before {
4726
- content: "\f37c"; }
4727
-
4728
- .fa-blogger-b:before {
4729
- content: "\f37d"; }
4730
-
4731
- .fa-bluetooth:before {
4732
- content: "\f293"; }
4733
-
4734
- .fa-bluetooth-b:before {
4735
- content: "\f294"; }
4736
-
4737
- .fa-bold:before {
4738
- content: "\f032"; }
4739
-
4740
- .fa-bolt:before {
4741
- content: "\f0e7"; }
4742
-
4743
- .fa-bomb:before {
4744
- content: "\f1e2"; }
4745
-
4746
- .fa-bone:before {
4747
- content: "\f5d7"; }
4748
-
4749
- .fa-bone-break:before {
4750
- content: "\f5d8"; }
4751
-
4752
- .fa-bong:before {
4753
- content: "\f55c"; }
4754
-
4755
- .fa-book:before {
4756
- content: "\f02d"; }
4757
-
4758
- .fa-book-alt:before {
4759
- content: "\f5d9"; }
4760
-
4761
- .fa-book-dead:before {
4762
- content: "\f6b7"; }
4763
-
4764
- .fa-book-heart:before {
4765
- content: "\f499"; }
4766
-
4767
- .fa-book-medical:before {
4768
- content: "\f7e6"; }
4769
-
4770
- .fa-book-open:before {
4771
- content: "\f518"; }
4772
-
4773
- .fa-book-reader:before {
4774
- content: "\f5da"; }
4775
-
4776
- .fa-book-spells:before {
4777
- content: "\f6b8"; }
4778
-
4779
- .fa-book-user:before {
4780
- content: "\f7e7"; }
4781
-
4782
- .fa-bookmark:before {
4783
- content: "\f02e"; }
4784
-
4785
- .fa-books:before {
4786
- content: "\f5db"; }
4787
-
4788
- .fa-books-medical:before {
4789
- content: "\f7e8"; }
4790
-
4791
- .fa-boombox:before {
4792
- content: "\f8a5"; }
4793
-
4794
- .fa-boot:before {
4795
- content: "\f782"; }
4796
-
4797
- .fa-booth-curtain:before {
4798
- content: "\f734"; }
4799
-
4800
- .fa-bootstrap:before {
4801
- content: "\f836"; }
4802
-
4803
- .fa-border-all:before {
4804
- content: "\f84c"; }
4805
-
4806
- .fa-border-bottom:before {
4807
- content: "\f84d"; }
4808
-
4809
- .fa-border-center-h:before {
4810
- content: "\f89c"; }
4811
-
4812
- .fa-border-center-v:before {
4813
- content: "\f89d"; }
4814
-
4815
- .fa-border-inner:before {
4816
- content: "\f84e"; }
4817
-
4818
- .fa-border-left:before {
4819
- content: "\f84f"; }
4820
-
4821
- .fa-border-none:before {
4822
- content: "\f850"; }
4823
-
4824
- .fa-border-outer:before {
4825
- content: "\f851"; }
4826
-
4827
- .fa-border-right:before {
4828
- content: "\f852"; }
4829
-
4830
- .fa-border-style:before {
4831
- content: "\f853"; }
4832
-
4833
- .fa-border-style-alt:before {
4834
- content: "\f854"; }
4835
-
4836
- .fa-border-top:before {
4837
- content: "\f855"; }
4838
-
4839
- .fa-bow-arrow:before {
4840
- content: "\f6b9"; }
4841
-
4842
- .fa-bowling-ball:before {
4843
- content: "\f436"; }
4844
-
4845
- .fa-bowling-pins:before {
4846
- content: "\f437"; }
4847
-
4848
- .fa-box:before {
4849
- content: "\f466"; }
4850
-
4851
- .fa-box-alt:before {
4852
- content: "\f49a"; }
4853
-
4854
- .fa-box-ballot:before {
4855
- content: "\f735"; }
4856
-
4857
- .fa-box-check:before {
4858
- content: "\f467"; }
4859
-
4860
- .fa-box-fragile:before {
4861
- content: "\f49b"; }
4862
-
4863
- .fa-box-full:before {
4864
- content: "\f49c"; }
4865
-
4866
- .fa-box-heart:before {
4867
- content: "\f49d"; }
4868
-
4869
- .fa-box-open:before {
4870
- content: "\f49e"; }
4871
-
4872
- .fa-box-tissue:before {
4873
- content: "\e05b"; }
4874
-
4875
- .fa-box-up:before {
4876
- content: "\f49f"; }
4877
-
4878
- .fa-box-usd:before {
4879
- content: "\f4a0"; }
4880
-
4881
- .fa-boxes:before {
4882
- content: "\f468"; }
4883
-
4884
- .fa-boxes-alt:before {
4885
- content: "\f4a1"; }
4886
-
4887
- .fa-boxing-glove:before {
4888
- content: "\f438"; }
4889
-
4890
- .fa-brackets:before {
4891
- content: "\f7e9"; }
4892
-
4893
- .fa-brackets-curly:before {
4894
- content: "\f7ea"; }
4895
-
4896
- .fa-braille:before {
4897
- content: "\f2a1"; }
4898
-
4899
- .fa-brain:before {
4900
- content: "\f5dc"; }
4901
-
4902
- .fa-bread-loaf:before {
4903
- content: "\f7eb"; }
4904
-
4905
- .fa-bread-slice:before {
4906
- content: "\f7ec"; }
4907
-
4908
- .fa-briefcase:before {
4909
- content: "\f0b1"; }
4910
-
4911
- .fa-briefcase-medical:before {
4912
- content: "\f469"; }
4913
-
4914
- .fa-bring-forward:before {
4915
- content: "\f856"; }
4916
-
4917
- .fa-bring-front:before {
4918
- content: "\f857"; }
4919
-
4920
- .fa-broadcast-tower:before {
4921
- content: "\f519"; }
4922
-
4923
- .fa-broom:before {
4924
- content: "\f51a"; }
4925
-
4926
- .fa-browser:before {
4927
- content: "\f37e"; }
4928
-
4929
- .fa-brush:before {
4930
- content: "\f55d"; }
4931
-
4932
- .fa-btc:before {
4933
- content: "\f15a"; }
4934
-
4935
- .fa-buffer:before {
4936
- content: "\f837"; }
4937
-
4938
- .fa-bug:before {
4939
- content: "\f188"; }
4940
-
4941
- .fa-building:before {
4942
- content: "\f1ad"; }
4943
-
4944
- .fa-bullhorn:before {
4945
- content: "\f0a1"; }
4946
-
4947
- .fa-bullseye:before {
4948
- content: "\f140"; }
4949
-
4950
- .fa-bullseye-arrow:before {
4951
- content: "\f648"; }
4952
-
4953
- .fa-bullseye-pointer:before {
4954
- content: "\f649"; }
4955
-
4956
- .fa-burger-soda:before {
4957
- content: "\f858"; }
4958
-
4959
- .fa-burn:before {
4960
- content: "\f46a"; }
4961
-
4962
- .fa-buromobelexperte:before {
4963
- content: "\f37f"; }
4964
-
4965
- .fa-burrito:before {
4966
- content: "\f7ed"; }
4967
-
4968
- .fa-bus:before {
4969
- content: "\f207"; }
4970
-
4971
- .fa-bus-alt:before {
4972
- content: "\f55e"; }
4973
-
4974
- .fa-bus-school:before {
4975
- content: "\f5dd"; }
4976
-
4977
- .fa-business-time:before {
4978
- content: "\f64a"; }
4979
-
4980
- .fa-buy-n-large:before {
4981
- content: "\f8a6"; }
4982
-
4983
- .fa-buysellads:before {
4984
- content: "\f20d"; }
4985
-
4986
- .fa-cabinet-filing:before {
4987
- content: "\f64b"; }
4988
-
4989
- .fa-cactus:before {
4990
- content: "\f8a7"; }
4991
-
4992
- .fa-calculator:before {
4993
- content: "\f1ec"; }
4994
-
4995
- .fa-calculator-alt:before {
4996
- content: "\f64c"; }
4997
-
4998
- .fa-calendar:before {
4999
- content: "\f133"; }
5000
-
5001
- .fa-calendar-alt:before {
5002
- content: "\f073"; }
5003
-
5004
- .fa-calendar-check:before {
5005
- content: "\f274"; }
5006
-
5007
- .fa-calendar-day:before {
5008
- content: "\f783"; }
5009
-
5010
- .fa-calendar-edit:before {
5011
- content: "\f333"; }
5012
-
5013
- .fa-calendar-exclamation:before {
5014
- content: "\f334"; }
5015
-
5016
- .fa-calendar-minus:before {
5017
- content: "\f272"; }
5018
-
5019
- .fa-calendar-plus:before {
5020
- content: "\f271"; }
5021
-
5022
- .fa-calendar-star:before {
5023
- content: "\f736"; }
5024
-
5025
- .fa-calendar-times:before {
5026
- content: "\f273"; }
5027
-
5028
- .fa-calendar-week:before {
5029
- content: "\f784"; }
5030
-
5031
- .fa-camcorder:before {
5032
- content: "\f8a8"; }
5033
-
5034
- .fa-camera:before {
5035
- content: "\f030"; }
5036
-
5037
- .fa-camera-alt:before {
5038
- content: "\f332"; }
5039
-
5040
- .fa-camera-home:before {
5041
- content: "\f8fe"; }
5042
-
5043
- .fa-camera-movie:before {
5044
- content: "\f8a9"; }
5045
-
5046
- .fa-camera-polaroid:before {
5047
- content: "\f8aa"; }
5048
-
5049
- .fa-camera-retro:before {
5050
- content: "\f083"; }
5051
-
5052
- .fa-campfire:before {
5053
- content: "\f6ba"; }
5054
-
5055
- .fa-campground:before {
5056
- content: "\f6bb"; }
5057
-
5058
- .fa-canadian-maple-leaf:before {
5059
- content: "\f785"; }
5060
-
5061
- .fa-candle-holder:before {
5062
- content: "\f6bc"; }
5063
-
5064
- .fa-candy-cane:before {
5065
- content: "\f786"; }
5066
-
5067
- .fa-candy-corn:before {
5068
- content: "\f6bd"; }
5069
-
5070
- .fa-cannabis:before {
5071
- content: "\f55f"; }
5072
-
5073
- .fa-capsules:before {
5074
- content: "\f46b"; }
5075
-
5076
- .fa-car:before {
5077
- content: "\f1b9"; }
5078
-
5079
- .fa-car-alt:before {
5080
- content: "\f5de"; }
5081
-
5082
- .fa-car-battery:before {
5083
- content: "\f5df"; }
5084
-
5085
- .fa-car-building:before {
5086
- content: "\f859"; }
5087
-
5088
- .fa-car-bump:before {
5089
- content: "\f5e0"; }
5090
-
5091
- .fa-car-bus:before {
5092
- content: "\f85a"; }
5093
-
5094
- .fa-car-crash:before {
5095
- content: "\f5e1"; }
5096
-
5097
- .fa-car-garage:before {
5098
- content: "\f5e2"; }
5099
-
5100
- .fa-car-mechanic:before {
5101
- content: "\f5e3"; }
5102
-
5103
- .fa-car-side:before {
5104
- content: "\f5e4"; }
5105
-
5106
- .fa-car-tilt:before {
5107
- content: "\f5e5"; }
5108
-
5109
- .fa-car-wash:before {
5110
- content: "\f5e6"; }
5111
-
5112
- .fa-caravan:before {
5113
- content: "\f8ff"; }
5114
-
5115
- .fa-caravan-alt:before {
5116
- content: "\e000"; }
5117
-
5118
- .fa-caret-circle-down:before {
5119
- content: "\f32d"; }
5120
-
5121
- .fa-caret-circle-left:before {
5122
- content: "\f32e"; }
5123
-
5124
- .fa-caret-circle-right:before {
5125
- content: "\f330"; }
5126
-
5127
- .fa-caret-circle-up:before {
5128
- content: "\f331"; }
5129
-
5130
- .fa-caret-down:before {
5131
- content: "\f0d7"; }
5132
-
5133
- .fa-caret-left:before {
5134
- content: "\f0d9"; }
5135
-
5136
- .fa-caret-right:before {
5137
- content: "\f0da"; }
5138
-
5139
- .fa-caret-square-down:before {
5140
- content: "\f150"; }
5141
-
5142
- .fa-caret-square-left:before {
5143
- content: "\f191"; }
5144
-
5145
- .fa-caret-square-right:before {
5146
- content: "\f152"; }
5147
-
5148
- .fa-caret-square-up:before {
5149
- content: "\f151"; }
5150
-
5151
- .fa-caret-up:before {
5152
- content: "\f0d8"; }
5153
-
5154
- .fa-carrot:before {
5155
- content: "\f787"; }
5156
-
5157
- .fa-cars:before {
5158
- content: "\f85b"; }
5159
-
5160
- .fa-cart-arrow-down:before {
5161
- content: "\f218"; }
5162
-
5163
- .fa-cart-plus:before {
5164
- content: "\f217"; }
5165
-
5166
- .fa-cash-register:before {
5167
- content: "\f788"; }
5168
-
5169
- .fa-cassette-tape:before {
5170
- content: "\f8ab"; }
5171
-
5172
- .fa-cat:before {
5173
- content: "\f6be"; }
5174
-
5175
- .fa-cat-space:before {
5176
- content: "\e001"; }
5177
-
5178
- .fa-cauldron:before {
5179
- content: "\f6bf"; }
5180
-
5181
- .fa-cc-amazon-pay:before {
5182
- content: "\f42d"; }
5183
-
5184
- .fa-cc-amex:before {
5185
- content: "\f1f3"; }
5186
-
5187
- .fa-cc-apple-pay:before {
5188
- content: "\f416"; }
5189
-
5190
- .fa-cc-diners-club:before {
5191
- content: "\f24c"; }
5192
-
5193
- .fa-cc-discover:before {
5194
- content: "\f1f2"; }
5195
-
5196
- .fa-cc-jcb:before {
5197
- content: "\f24b"; }
5198
-
5199
- .fa-cc-mastercard:before {
5200
- content: "\f1f1"; }
5201
-
5202
- .fa-cc-paypal:before {
5203
- content: "\f1f4"; }
5204
-
5205
- .fa-cc-stripe:before {
5206
- content: "\f1f5"; }
5207
-
5208
- .fa-cc-visa:before {
5209
- content: "\f1f0"; }
5210
-
5211
- .fa-cctv:before {
5212
- content: "\f8ac"; }
5213
-
5214
- .fa-centercode:before {
5215
- content: "\f380"; }
5216
-
5217
- .fa-centos:before {
5218
- content: "\f789"; }
5219
-
5220
- .fa-certificate:before {
5221
- content: "\f0a3"; }
5222
-
5223
- .fa-chair:before {
5224
- content: "\f6c0"; }
5225
-
5226
- .fa-chair-office:before {
5227
- content: "\f6c1"; }
5228
-
5229
- .fa-chalkboard:before {
5230
- content: "\f51b"; }
5231
-
5232
- .fa-chalkboard-teacher:before {
5233
- content: "\f51c"; }
5234
-
5235
- .fa-charging-station:before {
5236
- content: "\f5e7"; }
5237
-
5238
- .fa-chart-area:before {
5239
- content: "\f1fe"; }
5240
-
5241
- .fa-chart-bar:before {
5242
- content: "\f080"; }
5243
-
5244
- .fa-chart-line:before {
5245
- content: "\f201"; }
5246
-
5247
- .fa-chart-line-down:before {
5248
- content: "\f64d"; }
5249
-
5250
- .fa-chart-network:before {
5251
- content: "\f78a"; }
5252
-
5253
- .fa-chart-pie:before {
5254
- content: "\f200"; }
5255
-
5256
- .fa-chart-pie-alt:before {
5257
- content: "\f64e"; }
5258
-
5259
- .fa-chart-scatter:before {
5260
- content: "\f7ee"; }
5261
-
5262
- .fa-check:before {
5263
- content: "\f00c"; }
5264
-
5265
- .fa-check-circle:before {
5266
- content: "\f058"; }
5267
-
5268
- .fa-check-double:before {
5269
- content: "\f560"; }
5270
-
5271
- .fa-check-square:before {
5272
- content: "\f14a"; }
5273
-
5274
- .fa-cheese:before {
5275
- content: "\f7ef"; }
5276
-
5277
- .fa-cheese-swiss:before {
5278
- content: "\f7f0"; }
5279
-
5280
- .fa-cheeseburger:before {
5281
- content: "\f7f1"; }
5282
-
5283
- .fa-chess:before {
5284
- content: "\f439"; }
5285
-
5286
- .fa-chess-bishop:before {
5287
- content: "\f43a"; }
5288
-
5289
- .fa-chess-bishop-alt:before {
5290
- content: "\f43b"; }
5291
-
5292
- .fa-chess-board:before {
5293
- content: "\f43c"; }
5294
-
5295
- .fa-chess-clock:before {
5296
- content: "\f43d"; }
5297
-
5298
- .fa-chess-clock-alt:before {
5299
- content: "\f43e"; }
5300
-
5301
- .fa-chess-king:before {
5302
- content: "\f43f"; }
5303
-
5304
- .fa-chess-king-alt:before {
5305
- content: "\f440"; }
5306
-
5307
- .fa-chess-knight:before {
5308
- content: "\f441"; }
5309
-
5310
- .fa-chess-knight-alt:before {
5311
- content: "\f442"; }
5312
-
5313
- .fa-chess-pawn:before {
5314
- content: "\f443"; }
5315
-
5316
- .fa-chess-pawn-alt:before {
5317
- content: "\f444"; }
5318
-
5319
- .fa-chess-queen:before {
5320
- content: "\f445"; }
5321
-
5322
- .fa-chess-queen-alt:before {
5323
- content: "\f446"; }
5324
-
5325
- .fa-chess-rook:before {
5326
- content: "\f447"; }
5327
-
5328
- .fa-chess-rook-alt:before {
5329
- content: "\f448"; }
5330
-
5331
- .fa-chevron-circle-down:before {
5332
- content: "\f13a"; }
5333
-
5334
- .fa-chevron-circle-left:before {
5335
- content: "\f137"; }
5336
-
5337
- .fa-chevron-circle-right:before {
5338
- content: "\f138"; }
5339
-
5340
- .fa-chevron-circle-up:before {
5341
- content: "\f139"; }
5342
-
5343
- .fa-chevron-double-down:before {
5344
- content: "\f322"; }
5345
-
5346
- .fa-chevron-double-left:before {
5347
- content: "\f323"; }
5348
-
5349
- .fa-chevron-double-right:before {
5350
- content: "\f324"; }
5351
-
5352
- .fa-chevron-double-up:before {
5353
- content: "\f325"; }
5354
-
5355
- .fa-chevron-down:before {
5356
- content: "\f078"; }
5357
-
5358
- .fa-chevron-left:before {
5359
- content: "\f053"; }
5360
-
5361
- .fa-chevron-right:before {
5362
- content: "\f054"; }
5363
-
5364
- .fa-chevron-square-down:before {
5365
- content: "\f329"; }
5366
-
5367
- .fa-chevron-square-left:before {
5368
- content: "\f32a"; }
5369
-
5370
- .fa-chevron-square-right:before {
5371
- content: "\f32b"; }
5372
-
5373
- .fa-chevron-square-up:before {
5374
- content: "\f32c"; }
5375
-
5376
- .fa-chevron-up:before {
5377
- content: "\f077"; }
5378
-
5379
- .fa-child:before {
5380
- content: "\f1ae"; }
5381
-
5382
- .fa-chimney:before {
5383
- content: "\f78b"; }
5384
-
5385
- .fa-chrome:before {
5386
- content: "\f268"; }
5387
-
5388
- .fa-chromecast:before {
5389
- content: "\f838"; }
5390
-
5391
- .fa-church:before {
5392
- content: "\f51d"; }
5393
-
5394
- .fa-circle:before {
5395
- content: "\f111"; }
5396
-
5397
- .fa-circle-notch:before {
5398
- content: "\f1ce"; }
5399
-
5400
- .fa-city:before {
5401
- content: "\f64f"; }
5402
-
5403
- .fa-clarinet:before {
5404
- content: "\f8ad"; }
5405
-
5406
- .fa-claw-marks:before {
5407
- content: "\f6c2"; }
5408
-
5409
- .fa-clinic-medical:before {
5410
- content: "\f7f2"; }
5411
-
5412
- .fa-clipboard:before {
5413
- content: "\f328"; }
5414
-
5415
- .fa-clipboard-check:before {
5416
- content: "\f46c"; }
5417
-
5418
- .fa-clipboard-list:before {
5419
- content: "\f46d"; }
5420
-
5421
- .fa-clipboard-list-check:before {
5422
- content: "\f737"; }
5423
-
5424
- .fa-clipboard-prescription:before {
5425
- content: "\f5e8"; }
5426
-
5427
- .fa-clipboard-user:before {
5428
- content: "\f7f3"; }
5429
-
5430
- .fa-clock:before {
5431
- content: "\f017"; }
5432
-
5433
- .fa-clone:before {
5434
- content: "\f24d"; }
5435
-
5436
- .fa-closed-captioning:before {
5437
- content: "\f20a"; }
5438
-
5439
- .fa-cloud:before {
5440
- content: "\f0c2"; }
5441
-
5442
- .fa-cloud-download:before {
5443
- content: "\f0ed"; }
5444
-
5445
- .fa-cloud-download-alt:before {
5446
- content: "\f381"; }
5447
-
5448
- .fa-cloud-drizzle:before {
5449
- content: "\f738"; }
5450
-
5451
- .fa-cloud-hail:before {
5452
- content: "\f739"; }
5453
-
5454
- .fa-cloud-hail-mixed:before {
5455
- content: "\f73a"; }
5456
-
5457
- .fa-cloud-meatball:before {
5458
- content: "\f73b"; }
5459
-
5460
- .fa-cloud-moon:before {
5461
- content: "\f6c3"; }
5462
-
5463
- .fa-cloud-moon-rain:before {
5464
- content: "\f73c"; }
5465
-
5466
- .fa-cloud-music:before {
5467
- content: "\f8ae"; }
5468
-
5469
- .fa-cloud-rain:before {
5470
- content: "\f73d"; }
5471
-
5472
- .fa-cloud-rainbow:before {
5473
- content: "\f73e"; }
5474
-
5475
- .fa-cloud-showers:before {
5476
- content: "\f73f"; }
5477
-
5478
- .fa-cloud-showers-heavy:before {
5479
- content: "\f740"; }
5480
-
5481
- .fa-cloud-sleet:before {
5482
- content: "\f741"; }
5483
-
5484
- .fa-cloud-snow:before {
5485
- content: "\f742"; }
5486
-
5487
- .fa-cloud-sun:before {
5488
- content: "\f6c4"; }
5489
-
5490
- .fa-cloud-sun-rain:before {
5491
- content: "\f743"; }
5492
-
5493
- .fa-cloud-upload:before {
5494
- content: "\f0ee"; }
5495
-
5496
- .fa-cloud-upload-alt:before {
5497
- content: "\f382"; }
5498
-
5499
- .fa-cloudflare:before {
5500
- content: "\e07d"; }
5501
-
5502
- .fa-clouds:before {
5503
- content: "\f744"; }
5504
-
5505
- .fa-clouds-moon:before {
5506
- content: "\f745"; }
5507
-
5508
- .fa-clouds-sun:before {
5509
- content: "\f746"; }
5510
-
5511
- .fa-cloudscale:before {
5512
- content: "\f383"; }
5513
-
5514
- .fa-cloudsmith:before {
5515
- content: "\f384"; }
5516
-
5517
- .fa-cloudversify:before {
5518
- content: "\f385"; }
5519
-
5520
- .fa-club:before {
5521
- content: "\f327"; }
5522
-
5523
- .fa-cocktail:before {
5524
- content: "\f561"; }
5525
-
5526
- .fa-code:before {
5527
- content: "\f121"; }
5528
-
5529
- .fa-code-branch:before {
5530
- content: "\f126"; }
5531
-
5532
- .fa-code-commit:before {
5533
- content: "\f386"; }
5534
-
5535
- .fa-code-merge:before {
5536
- content: "\f387"; }
5537
-
5538
- .fa-codepen:before {
5539
- content: "\f1cb"; }
5540
-
5541
- .fa-codiepie:before {
5542
- content: "\f284"; }
5543
-
5544
- .fa-coffee:before {
5545
- content: "\f0f4"; }
5546
-
5547
- .fa-coffee-pot:before {
5548
- content: "\e002"; }
5549
-
5550
- .fa-coffee-togo:before {
5551
- content: "\f6c5"; }
5552
-
5553
- .fa-coffin:before {
5554
- content: "\f6c6"; }
5555
-
5556
- .fa-coffin-cross:before {
5557
- content: "\e051"; }
5558
-
5559
- .fa-cog:before {
5560
- content: "\f013"; }
5561
-
5562
- .fa-cogs:before {
5563
- content: "\f085"; }
5564
-
5565
- .fa-coin:before {
5566
- content: "\f85c"; }
5567
-
5568
- .fa-coins:before {
5569
- content: "\f51e"; }
5570
-
5571
- .fa-columns:before {
5572
- content: "\f0db"; }
5573
-
5574
- .fa-comet:before {
5575
- content: "\e003"; }
5576
-
5577
- .fa-comment:before {
5578
- content: "\f075"; }
5579
-
5580
- .fa-comment-alt:before {
5581
- content: "\f27a"; }
5582
-
5583
- .fa-comment-alt-check:before {
5584
- content: "\f4a2"; }
5585
-
5586
- .fa-comment-alt-dollar:before {
5587
- content: "\f650"; }
5588
-
5589
- .fa-comment-alt-dots:before {
5590
- content: "\f4a3"; }
5591
-
5592
- .fa-comment-alt-edit:before {
5593
- content: "\f4a4"; }
5594
-
5595
- .fa-comment-alt-exclamation:before {
5596
- content: "\f4a5"; }
5597
-
5598
- .fa-comment-alt-lines:before {
5599
- content: "\f4a6"; }
5600
-
5601
- .fa-comment-alt-medical:before {
5602
- content: "\f7f4"; }
5603
-
5604
- .fa-comment-alt-minus:before {
5605
- content: "\f4a7"; }
5606
-
5607
- .fa-comment-alt-music:before {
5608
- content: "\f8af"; }
5609
-
5610
- .fa-comment-alt-plus:before {
5611
- content: "\f4a8"; }
5612
-
5613
- .fa-comment-alt-slash:before {
5614
- content: "\f4a9"; }
5615
-
5616
- .fa-comment-alt-smile:before {
5617
- content: "\f4aa"; }
5618
-
5619
- .fa-comment-alt-times:before {
5620
- content: "\f4ab"; }
5621
-
5622
- .fa-comment-check:before {
5623
- content: "\f4ac"; }
5624
-
5625
- .fa-comment-dollar:before {
5626
- content: "\f651"; }
5627
-
5628
- .fa-comment-dots:before {
5629
- content: "\f4ad"; }
5630
-
5631
- .fa-comment-edit:before {
5632
- content: "\f4ae"; }
5633
-
5634
- .fa-comment-exclamation:before {
5635
- content: "\f4af"; }
5636
-
5637
- .fa-comment-lines:before {
5638
- content: "\f4b0"; }
5639
-
5640
- .fa-comment-medical:before {
5641
- content: "\f7f5"; }
5642
-
5643
- .fa-comment-minus:before {
5644
- content: "\f4b1"; }
5645
-
5646
- .fa-comment-music:before {
5647
- content: "\f8b0"; }
5648
-
5649
- .fa-comment-plus:before {
5650
- content: "\f4b2"; }
5651
-
5652
- .fa-comment-slash:before {
5653
- content: "\f4b3"; }
5654
-
5655
- .fa-comment-smile:before {
5656
- content: "\f4b4"; }
5657
-
5658
- .fa-comment-times:before {
5659
- content: "\f4b5"; }
5660
-
5661
- .fa-comments:before {
5662
- content: "\f086"; }
5663
-
5664
- .fa-comments-alt:before {
5665
- content: "\f4b6"; }
5666
-
5667
- .fa-comments-alt-dollar:before {
5668
- content: "\f652"; }
5669
-
5670
- .fa-comments-dollar:before {
5671
- content: "\f653"; }
5672
-
5673
- .fa-compact-disc:before {
5674
- content: "\f51f"; }
5675
-
5676
- .fa-compass:before {
5677
- content: "\f14e"; }
5678
-
5679
- .fa-compass-slash:before {
5680
- content: "\f5e9"; }
5681
-
5682
- .fa-compress:before {
5683
- content: "\f066"; }
5684
-
5685
- .fa-compress-alt:before {
5686
- content: "\f422"; }
5687
-
5688
- .fa-compress-arrows-alt:before {
5689
- content: "\f78c"; }
5690
-
5691
- .fa-compress-wide:before {
5692
- content: "\f326"; }
5693
-
5694
- .fa-computer-classic:before {
5695
- content: "\f8b1"; }
5696
-
5697
- .fa-computer-speaker:before {
5698
- content: "\f8b2"; }
5699
-
5700
- .fa-concierge-bell:before {
5701
- content: "\f562"; }
5702
-
5703
- .fa-confluence:before {
5704
- content: "\f78d"; }
5705
-
5706
- .fa-connectdevelop:before {
5707
- content: "\f20e"; }
5708
-
5709
- .fa-construction:before {
5710
- content: "\f85d"; }
5711
-
5712
- .fa-container-storage:before {
5713
- content: "\f4b7"; }
5714
-
5715
- .fa-contao:before {
5716
- content: "\f26d"; }
5717
-
5718
- .fa-conveyor-belt:before {
5719
- content: "\f46e"; }
5720
-
5721
- .fa-conveyor-belt-alt:before {
5722
- content: "\f46f"; }
5723
-
5724
- .fa-cookie:before {
5725
- content: "\f563"; }
5726
-
5727
- .fa-cookie-bite:before {
5728
- content: "\f564"; }
5729
-
5730
- .fa-copy:before {
5731
- content: "\f0c5"; }
5732
-
5733
- .fa-copyright:before {
5734
- content: "\f1f9"; }
5735
-
5736
- .fa-corn:before {
5737
- content: "\f6c7"; }
5738
-
5739
- .fa-cotton-bureau:before {
5740
- content: "\f89e"; }
5741
-
5742
- .fa-couch:before {
5743
- content: "\f4b8"; }
5744
-
5745
- .fa-cow:before {
5746
- content: "\f6c8"; }
5747
-
5748
- .fa-cowbell:before {
5749
- content: "\f8b3"; }
5750
-
5751
- .fa-cowbell-more:before {
5752
- content: "\f8b4"; }
5753
-
5754
- .fa-cpanel:before {
5755
- content: "\f388"; }
5756
-
5757
- .fa-creative-commons:before {
5758
- content: "\f25e"; }
5759
-
5760
- .fa-creative-commons-by:before {
5761
- content: "\f4e7"; }
5762
-
5763
- .fa-creative-commons-nc:before {
5764
- content: "\f4e8"; }
5765
-
5766
- .fa-creative-commons-nc-eu:before {
5767
- content: "\f4e9"; }
5768
-
5769
- .fa-creative-commons-nc-jp:before {
5770
- content: "\f4ea"; }
5771
-
5772
- .fa-creative-commons-nd:before {
5773
- content: "\f4eb"; }
5774
-
5775
- .fa-creative-commons-pd:before {
5776
- content: "\f4ec"; }
5777
-
5778
- .fa-creative-commons-pd-alt:before {
5779
- content: "\f4ed"; }
5780
-
5781
- .fa-creative-commons-remix:before {
5782
- content: "\f4ee"; }
5783
-
5784
- .fa-creative-commons-sa:before {
5785
- content: "\f4ef"; }
5786
-
5787
- .fa-creative-commons-sampling:before {
5788
- content: "\f4f0"; }
5789
-
5790
- .fa-creative-commons-sampling-plus:before {
5791
- content: "\f4f1"; }
5792
-
5793
- .fa-creative-commons-share:before {
5794
- content: "\f4f2"; }
5795
-
5796
- .fa-creative-commons-zero:before {
5797
- content: "\f4f3"; }
5798
-
5799
- .fa-credit-card:before {
5800
- content: "\f09d"; }
5801
-
5802
- .fa-credit-card-blank:before {
5803
- content: "\f389"; }
5804
-
5805
- .fa-credit-card-front:before {
5806
- content: "\f38a"; }
5807
-
5808
- .fa-cricket:before {
5809
- content: "\f449"; }
5810
-
5811
- .fa-critical-role:before {
5812
- content: "\f6c9"; }
5813
-
5814
- .fa-croissant:before {
5815
- content: "\f7f6"; }
5816
-
5817
- .fa-crop:before {
5818
- content: "\f125"; }
5819
-
5820
- .fa-crop-alt:before {
5821
- content: "\f565"; }
5822
-
5823
- .fa-cross:before {
5824
- content: "\f654"; }
5825
-
5826
- .fa-crosshairs:before {
5827
- content: "\f05b"; }
5828
-
5829
- .fa-crow:before {
5830
- content: "\f520"; }
5831
-
5832
- .fa-crown:before {
5833
- content: "\f521"; }
5834
-
5835
- .fa-crutch:before {
5836
- content: "\f7f7"; }
5837
-
5838
- .fa-crutches:before {
5839
- content: "\f7f8"; }
5840
-
5841
- .fa-css3:before {
5842
- content: "\f13c"; }
5843
-
5844
- .fa-css3-alt:before {
5845
- content: "\f38b"; }
5846
-
5847
- .fa-cube:before {
5848
- content: "\f1b2"; }
5849
-
5850
- .fa-cubes:before {
5851
- content: "\f1b3"; }
5852
-
5853
- .fa-curling:before {
5854
- content: "\f44a"; }
5855
-
5856
- .fa-cut:before {
5857
- content: "\f0c4"; }
5858
-
5859
- .fa-cuttlefish:before {
5860
- content: "\f38c"; }
5861
-
5862
- .fa-d-and-d:before {
5863
- content: "\f38d"; }
5864
-
5865
- .fa-d-and-d-beyond:before {
5866
- content: "\f6ca"; }
5867
-
5868
- .fa-dagger:before {
5869
- content: "\f6cb"; }
5870
-
5871
- .fa-dailymotion:before {
5872
- content: "\e052"; }
5873
-
5874
- .fa-dashcube:before {
5875
- content: "\f210"; }
5876
-
5877
- .fa-database:before {
5878
- content: "\f1c0"; }
5879
-
5880
- .fa-deaf:before {
5881
- content: "\f2a4"; }
5882
-
5883
- .fa-debug:before {
5884
- content: "\f7f9"; }
5885
-
5886
- .fa-deer:before {
5887
- content: "\f78e"; }
5888
-
5889
- .fa-deer-rudolph:before {
5890
- content: "\f78f"; }
5891
-
5892
- .fa-deezer:before {
5893
- content: "\e077"; }
5894
-
5895
- .fa-delicious:before {
5896
- content: "\f1a5"; }
5897
-
5898
- .fa-democrat:before {
5899
- content: "\f747"; }
5900
-
5901
- .fa-deploydog:before {
5902
- content: "\f38e"; }
5903
-
5904
- .fa-deskpro:before {
5905
- content: "\f38f"; }
5906
-
5907
- .fa-desktop:before {
5908
- content: "\f108"; }
5909
-
5910
- .fa-desktop-alt:before {
5911
- content: "\f390"; }
5912
-
5913
- .fa-dev:before {
5914
- content: "\f6cc"; }
5915
-
5916
- .fa-deviantart:before {
5917
- content: "\f1bd"; }
5918
-
5919
- .fa-dewpoint:before {
5920
- content: "\f748"; }
5921
-
5922
- .fa-dharmachakra:before {
5923
- content: "\f655"; }
5924
-
5925
- .fa-dhl:before {
5926
- content: "\f790"; }
5927
-
5928
- .fa-diagnoses:before {
5929
- content: "\f470"; }
5930
-
5931
- .fa-diamond:before {
5932
- content: "\f219"; }
5933
-
5934
- .fa-diaspora:before {
5935
- content: "\f791"; }
5936
-
5937
- .fa-dice:before {
5938
- content: "\f522"; }
5939
-
5940
- .fa-dice-d10:before {
5941
- content: "\f6cd"; }
5942
-
5943
- .fa-dice-d12:before {
5944
- content: "\f6ce"; }
5945
-
5946
- .fa-dice-d20:before {
5947
- content: "\f6cf"; }
5948
-
5949
- .fa-dice-d4:before {
5950
- content: "\f6d0"; }
5951
-
5952
- .fa-dice-d6:before {
5953
- content: "\f6d1"; }
5954
-
5955
- .fa-dice-d8:before {
5956
- content: "\f6d2"; }
5957
-
5958
- .fa-dice-five:before {
5959
- content: "\f523"; }
5960
-
5961
- .fa-dice-four:before {
5962
- content: "\f524"; }
5963
-
5964
- .fa-dice-one:before {
5965
- content: "\f525"; }
5966
-
5967
- .fa-dice-six:before {
5968
- content: "\f526"; }
5969
-
5970
- .fa-dice-three:before {
5971
- content: "\f527"; }
5972
-
5973
- .fa-dice-two:before {
5974
- content: "\f528"; }
5975
-
5976
- .fa-digg:before {
5977
- content: "\f1a6"; }
5978
-
5979
- .fa-digging:before {
5980
- content: "\f85e"; }
5981
-
5982
- .fa-digital-ocean:before {
5983
- content: "\f391"; }
5984
-
5985
- .fa-digital-tachograph:before {
5986
- content: "\f566"; }
5987
-
5988
- .fa-diploma:before {
5989
- content: "\f5ea"; }
5990
-
5991
- .fa-directions:before {
5992
- content: "\f5eb"; }
5993
-
5994
- .fa-disc-drive:before {
5995
- content: "\f8b5"; }
5996
-
5997
- .fa-discord:before {
5998
- content: "\f392"; }
5999
-
6000
- .fa-discourse:before {
6001
- content: "\f393"; }
6002
-
6003
- .fa-disease:before {
6004
- content: "\f7fa"; }
6005
-
6006
- .fa-divide:before {
6007
- content: "\f529"; }
6008
-
6009
- .fa-dizzy:before {
6010
- content: "\f567"; }
6011
-
6012
- .fa-dna:before {
6013
- content: "\f471"; }
6014
-
6015
- .fa-do-not-enter:before {
6016
- content: "\f5ec"; }
6017
-
6018
- .fa-dochub:before {
6019
- content: "\f394"; }
6020
-
6021
- .fa-docker:before {
6022
- content: "\f395"; }
6023
-
6024
- .fa-dog:before {
6025
- content: "\f6d3"; }
6026
-
6027
- .fa-dog-leashed:before {
6028
- content: "\f6d4"; }
6029
-
6030
- .fa-dollar-sign:before {
6031
- content: "\f155"; }
6032
-
6033
- .fa-dolly:before {
6034
- content: "\f472"; }
6035
-
6036
- .fa-dolly-empty:before {
6037
- content: "\f473"; }
6038
-
6039
- .fa-dolly-flatbed:before {
6040
- content: "\f474"; }
6041
-
6042
- .fa-dolly-flatbed-alt:before {
6043
- content: "\f475"; }
6044
-
6045
- .fa-dolly-flatbed-empty:before {
6046
- content: "\f476"; }
6047
-
6048
- .fa-donate:before {
6049
- content: "\f4b9"; }
6050
-
6051
- .fa-door-closed:before {
6052
- content: "\f52a"; }
6053
-
6054
- .fa-door-open:before {
6055
- content: "\f52b"; }
6056
-
6057
- .fa-dot-circle:before {
6058
- content: "\f192"; }
6059
-
6060
- .fa-dove:before {
6061
- content: "\f4ba"; }
6062
-
6063
- .fa-download:before {
6064
- content: "\f019"; }
6065
-
6066
- .fa-draft2digital:before {
6067
- content: "\f396"; }
6068
-
6069
- .fa-drafting-compass:before {
6070
- content: "\f568"; }
6071
-
6072
- .fa-dragon:before {
6073
- content: "\f6d5"; }
6074
-
6075
- .fa-draw-circle:before {
6076
- content: "\f5ed"; }
6077
-
6078
- .fa-draw-polygon:before {
6079
- content: "\f5ee"; }
6080
-
6081
- .fa-draw-square:before {
6082
- content: "\f5ef"; }
6083
-
6084
- .fa-dreidel:before {
6085
- content: "\f792"; }
6086
-
6087
- .fa-dribbble:before {
6088
- content: "\f17d"; }
6089
-
6090
- .fa-dribbble-square:before {
6091
- content: "\f397"; }
6092
-
6093
- .fa-drone:before {
6094
- content: "\f85f"; }
6095
-
6096
- .fa-drone-alt:before {
6097
- content: "\f860"; }
6098
-
6099
- .fa-dropbox:before {
6100
- content: "\f16b"; }
6101
-
6102
- .fa-drum:before {
6103
- content: "\f569"; }
6104
-
6105
- .fa-drum-steelpan:before {
6106
- content: "\f56a"; }
6107
-
6108
- .fa-drumstick:before {
6109
- content: "\f6d6"; }
6110
-
6111
- .fa-drumstick-bite:before {
6112
- content: "\f6d7"; }
6113
-
6114
- .fa-drupal:before {
6115
- content: "\f1a9"; }
6116
-
6117
- .fa-dryer:before {
6118
- content: "\f861"; }
6119
-
6120
- .fa-dryer-alt:before {
6121
- content: "\f862"; }
6122
-
6123
- .fa-duck:before {
6124
- content: "\f6d8"; }
6125
-
6126
- .fa-dumbbell:before {
6127
- content: "\f44b"; }
6128
-
6129
- .fa-dumpster:before {
6130
- content: "\f793"; }
6131
-
6132
- .fa-dumpster-fire:before {
6133
- content: "\f794"; }
6134
-
6135
- .fa-dungeon:before {
6136
- content: "\f6d9"; }
6137
-
6138
- .fa-dyalog:before {
6139
- content: "\f399"; }
6140
-
6141
- .fa-ear:before {
6142
- content: "\f5f0"; }
6143
-
6144
- .fa-ear-muffs:before {
6145
- content: "\f795"; }
6146
-
6147
- .fa-earlybirds:before {
6148
- content: "\f39a"; }
6149
-
6150
- .fa-ebay:before {
6151
- content: "\f4f4"; }
6152
-
6153
- .fa-eclipse:before {
6154
- content: "\f749"; }
6155
-
6156
- .fa-eclipse-alt:before {
6157
- content: "\f74a"; }
6158
-
6159
- .fa-edge:before {
6160
- content: "\f282"; }
6161
-
6162
- .fa-edge-legacy:before {
6163
- content: "\e078"; }
6164
-
6165
- .fa-edit:before {
6166
- content: "\f044"; }
6167
-
6168
- .fa-egg:before {
6169
- content: "\f7fb"; }
6170
-
6171
- .fa-egg-fried:before {
6172
- content: "\f7fc"; }
6173
-
6174
- .fa-eject:before {
6175
- content: "\f052"; }
6176
-
6177
- .fa-elementor:before {
6178
- content: "\f430"; }
6179
-
6180
- .fa-elephant:before {
6181
- content: "\f6da"; }
6182
-
6183
- .fa-ellipsis-h:before {
6184
- content: "\f141"; }
6185
-
6186
- .fa-ellipsis-h-alt:before {
6187
- content: "\f39b"; }
6188
-
6189
- .fa-ellipsis-v:before {
6190
- content: "\f142"; }
6191
-
6192
- .fa-ellipsis-v-alt:before {
6193
- content: "\f39c"; }
6194
-
6195
- .fa-ello:before {
6196
- content: "\f5f1"; }
6197
-
6198
- .fa-ember:before {
6199
- content: "\f423"; }
6200
-
6201
- .fa-empire:before {
6202
- content: "\f1d1"; }
6203
-
6204
- .fa-empty-set:before {
6205
- content: "\f656"; }
6206
-
6207
- .fa-engine-warning:before {
6208
- content: "\f5f2"; }
6209
-
6210
- .fa-envelope:before {
6211
- content: "\f0e0"; }
6212
-
6213
- .fa-envelope-open:before {
6214
- content: "\f2b6"; }
6215
-
6216
- .fa-envelope-open-dollar:before {
6217
- content: "\f657"; }
6218
-
6219
- .fa-envelope-open-text:before {
6220
- content: "\f658"; }
6221
-
6222
- .fa-envelope-square:before {
6223
- content: "\f199"; }
6224
-
6225
- .fa-envira:before {
6226
- content: "\f299"; }
6227
-
6228
- .fa-equals:before {
6229
- content: "\f52c"; }
6230
-
6231
- .fa-eraser:before {
6232
- content: "\f12d"; }
6233
-
6234
- .fa-erlang:before {
6235
- content: "\f39d"; }
6236
-
6237
- .fa-ethereum:before {
6238
- content: "\f42e"; }
6239
-
6240
- .fa-ethernet:before {
6241
- content: "\f796"; }
6242
-
6243
- .fa-etsy:before {
6244
- content: "\f2d7"; }
6245
-
6246
- .fa-euro-sign:before {
6247
- content: "\f153"; }
6248
-
6249
- .fa-evernote:before {
6250
- content: "\f839"; }
6251
-
6252
- .fa-exchange:before {
6253
- content: "\f0ec"; }
6254
-
6255
- .fa-exchange-alt:before {
6256
- content: "\f362"; }
6257
-
6258
- .fa-exclamation:before {
6259
- content: "\f12a"; }
6260
-
6261
- .fa-exclamation-circle:before {
6262
- content: "\f06a"; }
6263
-
6264
- .fa-exclamation-square:before {
6265
- content: "\f321"; }
6266
-
6267
- .fa-exclamation-triangle:before {
6268
- content: "\f071"; }
6269
-
6270
- .fa-expand:before {
6271
- content: "\f065"; }
6272
-
6273
- .fa-expand-alt:before {
6274
- content: "\f424"; }
6275
-
6276
- .fa-expand-arrows:before {
6277
- content: "\f31d"; }
6278
-
6279
- .fa-expand-arrows-alt:before {
6280
- content: "\f31e"; }
6281
-
6282
- .fa-expand-wide:before {
6283
- content: "\f320"; }
6284
-
6285
- .fa-expeditedssl:before {
6286
- content: "\f23e"; }
6287
-
6288
- .fa-external-link:before {
6289
- content: "\f08e"; }
6290
-
6291
- .fa-external-link-alt:before {
6292
- content: "\f35d"; }
6293
-
6294
- .fa-external-link-square:before {
6295
- content: "\f14c"; }
6296
-
6297
- .fa-external-link-square-alt:before {
6298
- content: "\f360"; }
6299
-
6300
- .fa-eye:before {
6301
- content: "\f06e"; }
6302
-
6303
- .fa-eye-dropper:before {
6304
- content: "\f1fb"; }
6305
-
6306
- .fa-eye-evil:before {
6307
- content: "\f6db"; }
6308
-
6309
- .fa-eye-slash:before {
6310
- content: "\f070"; }
6311
-
6312
- .fa-facebook:before {
6313
- content: "\f09a"; }
6314
-
6315
- .fa-facebook-f:before {
6316
- content: "\f39e"; }
6317
-
6318
- .fa-facebook-messenger:before {
6319
- content: "\f39f"; }
6320
-
6321
- .fa-facebook-square:before {
6322
- content: "\f082"; }
6323
-
6324
- .fa-fan:before {
6325
- content: "\f863"; }
6326
-
6327
- .fa-fan-table:before {
6328
- content: "\e004"; }
6329
-
6330
- .fa-fantasy-flight-games:before {
6331
- content: "\f6dc"; }
6332
-
6333
- .fa-farm:before {
6334
- content: "\f864"; }
6335
-
6336
- .fa-fast-backward:before {
6337
- content: "\f049"; }
6338
-
6339
- .fa-fast-forward:before {
6340
- content: "\f050"; }
6341
-
6342
- .fa-faucet:before {
6343
- content: "\e005"; }
6344
-
6345
- .fa-faucet-drip:before {
6346
- content: "\e006"; }
6347
-
6348
- .fa-fax:before {
6349
- content: "\f1ac"; }
6350
-
6351
- .fa-feather:before {
6352
- content: "\f52d"; }
6353
-
6354
- .fa-feather-alt:before {
6355
- content: "\f56b"; }
6356
-
6357
- .fa-fedex:before {
6358
- content: "\f797"; }
6359
-
6360
- .fa-fedora:before {
6361
- content: "\f798"; }
6362
-
6363
- .fa-female:before {
6364
- content: "\f182"; }
6365
-
6366
- .fa-field-hockey:before {
6367
- content: "\f44c"; }
6368
-
6369
- .fa-fighter-jet:before {
6370
- content: "\f0fb"; }
6371
-
6372
- .fa-figma:before {
6373
- content: "\f799"; }
6374
-
6375
- .fa-file:before {
6376
- content: "\f15b"; }
6377
-
6378
- .fa-file-alt:before {
6379
- content: "\f15c"; }
6380
-
6381
- .fa-file-archive:before {
6382
- content: "\f1c6"; }
6383
-
6384
- .fa-file-audio:before {
6385
- content: "\f1c7"; }
6386
-
6387
- .fa-file-certificate:before {
6388
- content: "\f5f3"; }
6389
-
6390
- .fa-file-chart-line:before {
6391
- content: "\f659"; }
6392
-
6393
- .fa-file-chart-pie:before {
6394
- content: "\f65a"; }
6395
-
6396
- .fa-file-check:before {
6397
- content: "\f316"; }
6398
-
6399
- .fa-file-code:before {
6400
- content: "\f1c9"; }
6401
-
6402
- .fa-file-contract:before {
6403
- content: "\f56c"; }
6404
-
6405
- .fa-file-csv:before {
6406
- content: "\f6dd"; }
6407
-
6408
- .fa-file-download:before {
6409
- content: "\f56d"; }
6410
-
6411
- .fa-file-edit:before {
6412
- content: "\f31c"; }
6413
-
6414
- .fa-file-excel:before {
6415
- content: "\f1c3"; }
6416
-
6417
- .fa-file-exclamation:before {
6418
- content: "\f31a"; }
6419
-
6420
- .fa-file-export:before {
6421
- content: "\f56e"; }
6422
-
6423
- .fa-file-image:before {
6424
- content: "\f1c5"; }
6425
-
6426
- .fa-file-import:before {
6427
- content: "\f56f"; }
6428
-
6429
- .fa-file-invoice:before {
6430
- content: "\f570"; }
6431
-
6432
- .fa-file-invoice-dollar:before {
6433
- content: "\f571"; }
6434
-
6435
- .fa-file-medical:before {
6436
- content: "\f477"; }
6437
-
6438
- .fa-file-medical-alt:before {
6439
- content: "\f478"; }
6440
-
6441
- .fa-file-minus:before {
6442
- content: "\f318"; }
6443
-
6444
- .fa-file-music:before {
6445
- content: "\f8b6"; }
6446
-
6447
- .fa-file-pdf:before {
6448
- content: "\f1c1"; }
6449
-
6450
- .fa-file-plus:before {
6451
- content: "\f319"; }
6452
-
6453
- .fa-file-powerpoint:before {
6454
- content: "\f1c4"; }
6455
-
6456
- .fa-file-prescription:before {
6457
- content: "\f572"; }
6458
-
6459
- .fa-file-search:before {
6460
- content: "\f865"; }
6461
-
6462
- .fa-file-signature:before {
6463
- content: "\f573"; }
6464
-
6465
- .fa-file-spreadsheet:before {
6466
- content: "\f65b"; }
6467
-
6468
- .fa-file-times:before {
6469
- content: "\f317"; }
6470
-
6471
- .fa-file-upload:before {
6472
- content: "\f574"; }
6473
-
6474
- .fa-file-user:before {
6475
- content: "\f65c"; }
6476
-
6477
- .fa-file-video:before {
6478
- content: "\f1c8"; }
6479
-
6480
- .fa-file-word:before {
6481
- content: "\f1c2"; }
6482
-
6483
- .fa-files-medical:before {
6484
- content: "\f7fd"; }
6485
-
6486
- .fa-fill:before {
6487
- content: "\f575"; }
6488
-
6489
- .fa-fill-drip:before {
6490
- content: "\f576"; }
6491
-
6492
- .fa-film:before {
6493
- content: "\f008"; }
6494
-
6495
- .fa-film-alt:before {
6496
- content: "\f3a0"; }
6497
-
6498
- .fa-film-canister:before {
6499
- content: "\f8b7"; }
6500
-
6501
- .fa-filter:before {
6502
- content: "\f0b0"; }
6503
-
6504
- .fa-fingerprint:before {
6505
- content: "\f577"; }
6506
-
6507
- .fa-fire:before {
6508
- content: "\f06d"; }
6509
-
6510
- .fa-fire-alt:before {
6511
- content: "\f7e4"; }
6512
-
6513
- .fa-fire-extinguisher:before {
6514
- content: "\f134"; }
6515
-
6516
- .fa-fire-smoke:before {
6517
- content: "\f74b"; }
6518
-
6519
- .fa-firefox:before {
6520
- content: "\f269"; }
6521
-
6522
- .fa-firefox-browser:before {
6523
- content: "\e007"; }
6524
-
6525
- .fa-fireplace:before {
6526
- content: "\f79a"; }
6527
-
6528
- .fa-first-aid:before {
6529
- content: "\f479"; }
6530
-
6531
- .fa-first-order:before {
6532
- content: "\f2b0"; }
6533
-
6534
- .fa-first-order-alt:before {
6535
- content: "\f50a"; }
6536
-
6537
- .fa-firstdraft:before {
6538
- content: "\f3a1"; }
6539
-
6540
- .fa-fish:before {
6541
- content: "\f578"; }
6542
-
6543
- .fa-fish-cooked:before {
6544
- content: "\f7fe"; }
6545
-
6546
- .fa-fist-raised:before {
6547
- content: "\f6de"; }
6548
-
6549
- .fa-flag:before {
6550
- content: "\f024"; }
6551
-
6552
- .fa-flag-alt:before {
6553
- content: "\f74c"; }
6554
-
6555
- .fa-flag-checkered:before {
6556
- content: "\f11e"; }
6557
-
6558
- .fa-flag-usa:before {
6559
- content: "\f74d"; }
6560
-
6561
- .fa-flame:before {
6562
- content: "\f6df"; }
6563
-
6564
- .fa-flashlight:before {
6565
- content: "\f8b8"; }
6566
-
6567
- .fa-flask:before {
6568
- content: "\f0c3"; }
6569
-
6570
- .fa-flask-poison:before {
6571
- content: "\f6e0"; }
6572
-
6573
- .fa-flask-potion:before {
6574
- content: "\f6e1"; }
6575
-
6576
- .fa-flickr:before {
6577
- content: "\f16e"; }
6578
-
6579
- .fa-flipboard:before {
6580
- content: "\f44d"; }
6581
-
6582
- .fa-flower:before {
6583
- content: "\f7ff"; }
6584
-
6585
- .fa-flower-daffodil:before {
6586
- content: "\f800"; }
6587
-
6588
- .fa-flower-tulip:before {
6589
- content: "\f801"; }
6590
-
6591
- .fa-flushed:before {
6592
- content: "\f579"; }
6593
-
6594
- .fa-flute:before {
6595
- content: "\f8b9"; }
6596
-
6597
- .fa-flux-capacitor:before {
6598
- content: "\f8ba"; }
6599
-
6600
- .fa-fly:before {
6601
- content: "\f417"; }
6602
-
6603
- .fa-fog:before {
6604
- content: "\f74e"; }
6605
-
6606
- .fa-folder:before {
6607
- content: "\f07b"; }
6608
-
6609
- .fa-folder-download:before {
6610
- content: "\e053"; }
6611
-
6612
- .fa-folder-minus:before {
6613
- content: "\f65d"; }
6614
-
6615
- .fa-folder-open:before {
6616
- content: "\f07c"; }
6617
-
6618
- .fa-folder-plus:before {
6619
- content: "\f65e"; }
6620
-
6621
- .fa-folder-times:before {
6622
- content: "\f65f"; }
6623
-
6624
- .fa-folder-tree:before {
6625
- content: "\f802"; }
6626
-
6627
- .fa-folder-upload:before {
6628
- content: "\e054"; }
6629
-
6630
- .fa-folders:before {
6631
- content: "\f660"; }
6632
-
6633
- .fa-font:before {
6634
- content: "\f031"; }
6635
-
6636
- .fa-font-awesome:before {
6637
- content: "\f2b4"; }
6638
-
6639
- .fa-font-awesome-alt:before {
6640
- content: "\f35c"; }
6641
-
6642
- .fa-font-awesome-flag:before {
6643
- content: "\f425"; }
6644
-
6645
- .fa-font-awesome-logo-full:before {
6646
- content: "\f4e6"; }
6647
-
6648
- .fa-font-case:before {
6649
- content: "\f866"; }
6650
-
6651
- .fa-fonticons:before {
6652
- content: "\f280"; }
6653
-
6654
- .fa-fonticons-fi:before {
6655
- content: "\f3a2"; }
6656
-
6657
- .fa-football-ball:before {
6658
- content: "\f44e"; }
6659
-
6660
- .fa-football-helmet:before {
6661
- content: "\f44f"; }
6662
-
6663
- .fa-forklift:before {
6664
- content: "\f47a"; }
6665
-
6666
- .fa-fort-awesome:before {
6667
- content: "\f286"; }
6668
-
6669
- .fa-fort-awesome-alt:before {
6670
- content: "\f3a3"; }
6671
-
6672
- .fa-forumbee:before {
6673
- content: "\f211"; }
6674
-
6675
- .fa-forward:before {
6676
- content: "\f04e"; }
6677
-
6678
- .fa-foursquare:before {
6679
- content: "\f180"; }
6680
-
6681
- .fa-fragile:before {
6682
- content: "\f4bb"; }
6683
-
6684
- .fa-free-code-camp:before {
6685
- content: "\f2c5"; }
6686
-
6687
- .fa-freebsd:before {
6688
- content: "\f3a4"; }
6689
-
6690
- .fa-french-fries:before {
6691
- content: "\f803"; }
6692
-
6693
- .fa-frog:before {
6694
- content: "\f52e"; }
6695
-
6696
- .fa-frosty-head:before {
6697
- content: "\f79b"; }
6698
-
6699
- .fa-frown:before {
6700
- content: "\f119"; }
6701
-
6702
- .fa-frown-open:before {
6703
- content: "\f57a"; }
6704
-
6705
- .fa-fulcrum:before {
6706
- content: "\f50b"; }
6707
-
6708
- .fa-function:before {
6709
- content: "\f661"; }
6710
-
6711
- .fa-funnel-dollar:before {
6712
- content: "\f662"; }
6713
-
6714
- .fa-futbol:before {
6715
- content: "\f1e3"; }
6716
-
6717
- .fa-galactic-republic:before {
6718
- content: "\f50c"; }
6719
-
6720
- .fa-galactic-senate:before {
6721
- content: "\f50d"; }
6722
-
6723
- .fa-galaxy:before {
6724
- content: "\e008"; }
6725
-
6726
- .fa-game-board:before {
6727
- content: "\f867"; }
6728
-
6729
- .fa-game-board-alt:before {
6730
- content: "\f868"; }
6731
-
6732
- .fa-game-console-handheld:before {
6733
- content: "\f8bb"; }
6734
-
6735
- .fa-gamepad:before {
6736
- content: "\f11b"; }
6737
-
6738
- .fa-gamepad-alt:before {
6739
- content: "\f8bc"; }
6740
-
6741
- .fa-garage:before {
6742
- content: "\e009"; }
6743
-
6744
- .fa-garage-car:before {
6745
- content: "\e00a"; }
6746
-
6747
- .fa-garage-open:before {
6748
- content: "\e00b"; }
6749
-
6750
- .fa-gas-pump:before {
6751
- content: "\f52f"; }
6752
-
6753
- .fa-gas-pump-slash:before {
6754
- content: "\f5f4"; }
6755
-
6756
- .fa-gavel:before {
6757
- content: "\f0e3"; }
6758
-
6759
- .fa-gem:before {
6760
- content: "\f3a5"; }
6761
-
6762
- .fa-genderless:before {
6763
- content: "\f22d"; }
6764
-
6765
- .fa-get-pocket:before {
6766
- content: "\f265"; }
6767
-
6768
- .fa-gg:before {
6769
- content: "\f260"; }
6770
-
6771
- .fa-gg-circle:before {
6772
- content: "\f261"; }
6773
-
6774
- .fa-ghost:before {
6775
- content: "\f6e2"; }
6776
-
6777
- .fa-gift:before {
6778
- content: "\f06b"; }
6779
-
6780
- .fa-gift-card:before {
6781
- content: "\f663"; }
6782
-
6783
- .fa-gifts:before {
6784
- content: "\f79c"; }
6785
-
6786
- .fa-gingerbread-man:before {
6787
- content: "\f79d"; }
6788
-
6789
- .fa-git:before {
6790
- content: "\f1d3"; }
6791
-
6792
- .fa-git-alt:before {
6793
- content: "\f841"; }
6794
-
6795
- .fa-git-square:before {
6796
- content: "\f1d2"; }
6797
-
6798
- .fa-github:before {
6799
- content: "\f09b"; }
6800
-
6801
- .fa-github-alt:before {
6802
- content: "\f113"; }
6803
-
6804
- .fa-github-square:before {
6805
- content: "\f092"; }
6806
-
6807
- .fa-gitkraken:before {
6808
- content: "\f3a6"; }
6809
-
6810
- .fa-gitlab:before {
6811
- content: "\f296"; }
6812
-
6813
- .fa-gitter:before {
6814
- content: "\f426"; }
6815
-
6816
- .fa-glass:before {
6817
- content: "\f804"; }
6818
-
6819
- .fa-glass-champagne:before {
6820
- content: "\f79e"; }
6821
-
6822
- .fa-glass-cheers:before {
6823
- content: "\f79f"; }
6824
-
6825
- .fa-glass-citrus:before {
6826
- content: "\f869"; }
6827
-
6828
- .fa-glass-martini:before {
6829
- content: "\f000"; }
6830
-
6831
- .fa-glass-martini-alt:before {
6832
- content: "\f57b"; }
6833
-
6834
- .fa-glass-whiskey:before {
6835
- content: "\f7a0"; }
6836
-
6837
- .fa-glass-whiskey-rocks:before {
6838
- content: "\f7a1"; }
6839
-
6840
- .fa-glasses:before {
6841
- content: "\f530"; }
6842
-
6843
- .fa-glasses-alt:before {
6844
- content: "\f5f5"; }
6845
-
6846
- .fa-glide:before {
6847
- content: "\f2a5"; }
6848
-
6849
- .fa-glide-g:before {
6850
- content: "\f2a6"; }
6851
-
6852
- .fa-globe:before {
6853
- content: "\f0ac"; }
6854
-
6855
- .fa-globe-africa:before {
6856
- content: "\f57c"; }
6857
-
6858
- .fa-globe-americas:before {
6859
- content: "\f57d"; }
6860
-
6861
- .fa-globe-asia:before {
6862
- content: "\f57e"; }
6863
-
6864
- .fa-globe-europe:before {
6865
- content: "\f7a2"; }
6866
-
6867
- .fa-globe-snow:before {
6868
- content: "\f7a3"; }
6869
-
6870
- .fa-globe-stand:before {
6871
- content: "\f5f6"; }
6872
-
6873
- .fa-gofore:before {
6874
- content: "\f3a7"; }
6875
-
6876
- .fa-golf-ball:before {
6877
- content: "\f450"; }
6878
-
6879
- .fa-golf-club:before {
6880
- content: "\f451"; }
6881
-
6882
- .fa-goodreads:before {
6883
- content: "\f3a8"; }
6884
-
6885
- .fa-goodreads-g:before {
6886
- content: "\f3a9"; }
6887
-
6888
- .fa-google:before {
6889
- content: "\f1a0"; }
6890
-
6891
- .fa-google-drive:before {
6892
- content: "\f3aa"; }
6893
-
6894
- .fa-google-pay:before {
6895
- content: "\e079"; }
6896
-
6897
- .fa-google-play:before {
6898
- content: "\f3ab"; }
6899
-
6900
- .fa-google-plus:before {
6901
- content: "\f2b3"; }
6902
-
6903
- .fa-google-plus-g:before {
6904
- content: "\f0d5"; }
6905
-
6906
- .fa-google-plus-square:before {
6907
- content: "\f0d4"; }
6908
-
6909
- .fa-google-wallet:before {
6910
- content: "\f1ee"; }
6911
-
6912
- .fa-gopuram:before {
6913
- content: "\f664"; }
6914
-
6915
- .fa-graduation-cap:before {
6916
- content: "\f19d"; }
6917
-
6918
- .fa-gramophone:before {
6919
- content: "\f8bd"; }
6920
-
6921
- .fa-gratipay:before {
6922
- content: "\f184"; }
6923
-
6924
- .fa-grav:before {
6925
- content: "\f2d6"; }
6926
-
6927
- .fa-greater-than:before {
6928
- content: "\f531"; }
6929
-
6930
- .fa-greater-than-equal:before {
6931
- content: "\f532"; }
6932
-
6933
- .fa-grimace:before {
6934
- content: "\f57f"; }
6935
-
6936
- .fa-grin:before {
6937
- content: "\f580"; }
6938
-
6939
- .fa-grin-alt:before {
6940
- content: "\f581"; }
6941
-
6942
- .fa-grin-beam:before {
6943
- content: "\f582"; }
6944
-
6945
- .fa-grin-beam-sweat:before {
6946
- content: "\f583"; }
6947
-
6948
- .fa-grin-hearts:before {
6949
- content: "\f584"; }
6950
-
6951
- .fa-grin-squint:before {
6952
- content: "\f585"; }
6953
-
6954
- .fa-grin-squint-tears:before {
6955
- content: "\f586"; }
6956
-
6957
- .fa-grin-stars:before {
6958
- content: "\f587"; }
6959
-
6960
- .fa-grin-tears:before {
6961
- content: "\f588"; }
6962
-
6963
- .fa-grin-tongue:before {
6964
- content: "\f589"; }
6965
-
6966
- .fa-grin-tongue-squint:before {
6967
- content: "\f58a"; }
6968
-
6969
- .fa-grin-tongue-wink:before {
6970
- content: "\f58b"; }
6971
-
6972
- .fa-grin-wink:before {
6973
- content: "\f58c"; }
6974
-
6975
- .fa-grip-horizontal:before {
6976
- content: "\f58d"; }
6977
-
6978
- .fa-grip-lines:before {
6979
- content: "\f7a4"; }
6980
-
6981
- .fa-grip-lines-vertical:before {
6982
- content: "\f7a5"; }
6983
-
6984
- .fa-grip-vertical:before {
6985
- content: "\f58e"; }
6986
-
6987
- .fa-gripfire:before {
6988
- content: "\f3ac"; }
6989
-
6990
- .fa-grunt:before {
6991
- content: "\f3ad"; }
6992
-
6993
- .fa-guilded:before {
6994
- content: "\e07e"; }
6995
-
6996
- .fa-guitar:before {
6997
- content: "\f7a6"; }
6998
-
6999
- .fa-guitar-electric:before {
7000
- content: "\f8be"; }
7001
-
7002
- .fa-guitars:before {
7003
- content: "\f8bf"; }
7004
-
7005
- .fa-gulp:before {
7006
- content: "\f3ae"; }
7007
-
7008
- .fa-h-square:before {
7009
- content: "\f0fd"; }
7010
-
7011
- .fa-h1:before {
7012
- content: "\f313"; }
7013
-
7014
- .fa-h2:before {
7015
- content: "\f314"; }
7016
-
7017
- .fa-h3:before {
7018
- content: "\f315"; }
7019
-
7020
- .fa-h4:before {
7021
- content: "\f86a"; }
7022
-
7023
- .fa-hacker-news:before {
7024
- content: "\f1d4"; }
7025
-
7026
- .fa-hacker-news-square:before {
7027
- content: "\f3af"; }
7028
-
7029
- .fa-hackerrank:before {
7030
- content: "\f5f7"; }
7031
-
7032
- .fa-hamburger:before {
7033
- content: "\f805"; }
7034
-
7035
- .fa-hammer:before {
7036
- content: "\f6e3"; }
7037
-
7038
- .fa-hammer-war:before {
7039
- content: "\f6e4"; }
7040
-
7041
- .fa-hamsa:before {
7042
- content: "\f665"; }
7043
-
7044
- .fa-hand-heart:before {
7045
- content: "\f4bc"; }
7046
-
7047
- .fa-hand-holding:before {
7048
- content: "\f4bd"; }
7049
-
7050
- .fa-hand-holding-box:before {
7051
- content: "\f47b"; }
7052
-
7053
- .fa-hand-holding-heart:before {
7054
- content: "\f4be"; }
7055
-
7056
- .fa-hand-holding-magic:before {
7057
- content: "\f6e5"; }
7058
-
7059
- .fa-hand-holding-medical:before {
7060
- content: "\e05c"; }
7061
-
7062
- .fa-hand-holding-seedling:before {
7063
- content: "\f4bf"; }
7064
-
7065
- .fa-hand-holding-usd:before {
7066
- content: "\f4c0"; }
7067
-
7068
- .fa-hand-holding-water:before {
7069
- content: "\f4c1"; }
7070
-
7071
- .fa-hand-lizard:before {
7072
- content: "\f258"; }
7073
-
7074
- .fa-hand-middle-finger:before {
7075
- content: "\f806"; }
7076
-
7077
- .fa-hand-paper:before {
7078
- content: "\f256"; }
7079
-
7080
- .fa-hand-peace:before {
7081
- content: "\f25b"; }
7082
-
7083
- .fa-hand-point-down:before {
7084
- content: "\f0a7"; }
7085
-
7086
- .fa-hand-point-left:before {
7087
- content: "\f0a5"; }
7088
-
7089
- .fa-hand-point-right:before {
7090
- content: "\f0a4"; }
7091
-
7092
- .fa-hand-point-up:before {
7093
- content: "\f0a6"; }
7094
-
7095
- .fa-hand-pointer:before {
7096
- content: "\f25a"; }
7097
-
7098
- .fa-hand-receiving:before {
7099
- content: "\f47c"; }
7100
-
7101
- .fa-hand-rock:before {
7102
- content: "\f255"; }
7103
-
7104
- .fa-hand-scissors:before {
7105
- content: "\f257"; }
7106
-
7107
- .fa-hand-sparkles:before {
7108
- content: "\e05d"; }
7109
-
7110
- .fa-hand-spock:before {
7111
- content: "\f259"; }
7112
-
7113
- .fa-hands:before {
7114
- content: "\f4c2"; }
7115
-
7116
- .fa-hands-heart:before {
7117
- content: "\f4c3"; }
7118
-
7119
- .fa-hands-helping:before {
7120
- content: "\f4c4"; }
7121
-
7122
- .fa-hands-usd:before {
7123
- content: "\f4c5"; }
7124
-
7125
- .fa-hands-wash:before {
7126
- content: "\e05e"; }
7127
-
7128
- .fa-handshake:before {
7129
- content: "\f2b5"; }
7130
-
7131
- .fa-handshake-alt:before {
7132
- content: "\f4c6"; }
7133
-
7134
- .fa-handshake-alt-slash:before {
7135
- content: "\e05f"; }
7136
-
7137
- .fa-handshake-slash:before {
7138
- content: "\e060"; }
7139
-
7140
- .fa-hanukiah:before {
7141
- content: "\f6e6"; }
7142
-
7143
- .fa-hard-hat:before {
7144
- content: "\f807"; }
7145
-
7146
- .fa-hashtag:before {
7147
- content: "\f292"; }
7148
-
7149
- .fa-hat-chef:before {
7150
- content: "\f86b"; }
7151
-
7152
- .fa-hat-cowboy:before {
7153
- content: "\f8c0"; }
7154
-
7155
- .fa-hat-cowboy-side:before {
7156
- content: "\f8c1"; }
7157
-
7158
- .fa-hat-santa:before {
7159
- content: "\f7a7"; }
7160
-
7161
- .fa-hat-winter:before {
7162
- content: "\f7a8"; }
7163
-
7164
- .fa-hat-witch:before {
7165
- content: "\f6e7"; }
7166
-
7167
- .fa-hat-wizard:before {
7168
- content: "\f6e8"; }
7169
-
7170
- .fa-hdd:before {
7171
- content: "\f0a0"; }
7172
-
7173
- .fa-head-side:before {
7174
- content: "\f6e9"; }
7175
-
7176
- .fa-head-side-brain:before {
7177
- content: "\f808"; }
7178
-
7179
- .fa-head-side-cough:before {
7180
- content: "\e061"; }
7181
-
7182
- .fa-head-side-cough-slash:before {
7183
- content: "\e062"; }
7184
-
7185
- .fa-head-side-headphones:before {
7186
- content: "\f8c2"; }
7187
-
7188
- .fa-head-side-mask:before {
7189
- content: "\e063"; }
7190
-
7191
- .fa-head-side-medical:before {
7192
- content: "\f809"; }
7193
-
7194
- .fa-head-side-virus:before {
7195
- content: "\e064"; }
7196
-
7197
- .fa-head-vr:before {
7198
- content: "\f6ea"; }
7199
-
7200
- .fa-heading:before {
7201
- content: "\f1dc"; }
7202
-
7203
- .fa-headphones:before {
7204
- content: "\f025"; }
7205
-
7206
- .fa-headphones-alt:before {
7207
- content: "\f58f"; }
7208
-
7209
- .fa-headset:before {
7210
- content: "\f590"; }
7211
-
7212
- .fa-heart:before {
7213
- content: "\f004"; }
7214
-
7215
- .fa-heart-broken:before {
7216
- content: "\f7a9"; }
7217
-
7218
- .fa-heart-circle:before {
7219
- content: "\f4c7"; }
7220
-
7221
- .fa-heart-rate:before {
7222
- content: "\f5f8"; }
7223
-
7224
- .fa-heart-square:before {
7225
- content: "\f4c8"; }
7226
-
7227
- .fa-heartbeat:before {
7228
- content: "\f21e"; }
7229
-
7230
- .fa-heat:before {
7231
- content: "\e00c"; }
7232
-
7233
- .fa-helicopter:before {
7234
- content: "\f533"; }
7235
-
7236
- .fa-helmet-battle:before {
7237
- content: "\f6eb"; }
7238
-
7239
- .fa-hexagon:before {
7240
- content: "\f312"; }
7241
-
7242
- .fa-highlighter:before {
7243
- content: "\f591"; }
7244
-
7245
- .fa-hiking:before {
7246
- content: "\f6ec"; }
7247
-
7248
- .fa-hippo:before {
7249
- content: "\f6ed"; }
7250
-
7251
- .fa-hips:before {
7252
- content: "\f452"; }
7253
-
7254
- .fa-hire-a-helper:before {
7255
- content: "\f3b0"; }
7256
-
7257
- .fa-history:before {
7258
- content: "\f1da"; }
7259
-
7260
- .fa-hive:before {
7261
- content: "\e07f"; }
7262
-
7263
- .fa-hockey-mask:before {
7264
- content: "\f6ee"; }
7265
-
7266
- .fa-hockey-puck:before {
7267
- content: "\f453"; }
7268
-
7269
- .fa-hockey-sticks:before {
7270
- content: "\f454"; }
7271
-
7272
- .fa-holly-berry:before {
7273
- content: "\f7aa"; }
7274
-
7275
- .fa-home:before {
7276
- content: "\f015"; }
7277
-
7278
- .fa-home-alt:before {
7279
- content: "\f80a"; }
7280
-
7281
- .fa-home-heart:before {
7282
- content: "\f4c9"; }
7283
-
7284
- .fa-home-lg:before {
7285
- content: "\f80b"; }
7286
-
7287
- .fa-home-lg-alt:before {
7288
- content: "\f80c"; }
7289
-
7290
- .fa-hood-cloak:before {
7291
- content: "\f6ef"; }
7292
-
7293
- .fa-hooli:before {
7294
- content: "\f427"; }
7295
-
7296
- .fa-horizontal-rule:before {
7297
- content: "\f86c"; }
7298
-
7299
- .fa-hornbill:before {
7300
- content: "\f592"; }
7301
-
7302
- .fa-horse:before {
7303
- content: "\f6f0"; }
7304
-
7305
- .fa-horse-head:before {
7306
- content: "\f7ab"; }
7307
-
7308
- .fa-horse-saddle:before {
7309
- content: "\f8c3"; }
7310
-
7311
- .fa-hospital:before {
7312
- content: "\f0f8"; }
7313
-
7314
- .fa-hospital-alt:before {
7315
- content: "\f47d"; }
7316
-
7317
- .fa-hospital-symbol:before {
7318
- content: "\f47e"; }
7319
-
7320
- .fa-hospital-user:before {
7321
- content: "\f80d"; }
7322
-
7323
- .fa-hospitals:before {
7324
- content: "\f80e"; }
7325
-
7326
- .fa-hot-tub:before {
7327
- content: "\f593"; }
7328
-
7329
- .fa-hotdog:before {
7330
- content: "\f80f"; }
7331
-
7332
- .fa-hotel:before {
7333
- content: "\f594"; }
7334
-
7335
- .fa-hotjar:before {
7336
- content: "\f3b1"; }
7337
-
7338
- .fa-hourglass:before {
7339
- content: "\f254"; }
7340
-
7341
- .fa-hourglass-end:before {
7342
- content: "\f253"; }
7343
-
7344
- .fa-hourglass-half:before {
7345
- content: "\f252"; }
7346
-
7347
- .fa-hourglass-start:before {
7348
- content: "\f251"; }
7349
-
7350
- .fa-house:before {
7351
- content: "\e00d"; }
7352
-
7353
- .fa-house-damage:before {
7354
- content: "\f6f1"; }
7355
-
7356
- .fa-house-day:before {
7357
- content: "\e00e"; }
7358
-
7359
- .fa-house-flood:before {
7360
- content: "\f74f"; }
7361
-
7362
- .fa-house-leave:before {
7363
- content: "\e00f"; }
7364
-
7365
- .fa-house-night:before {
7366
- content: "\e010"; }
7367
-
7368
- .fa-house-return:before {
7369
- content: "\e011"; }
7370
-
7371
- .fa-house-signal:before {
7372
- content: "\e012"; }
7373
-
7374
- .fa-house-user:before {
7375
- content: "\e065"; }
7376
-
7377
- .fa-houzz:before {
7378
- content: "\f27c"; }
7379
-
7380
- .fa-hryvnia:before {
7381
- content: "\f6f2"; }
7382
-
7383
- .fa-html5:before {
7384
- content: "\f13b"; }
7385
-
7386
- .fa-hubspot:before {
7387
- content: "\f3b2"; }
7388
-
7389
- .fa-humidity:before {
7390
- content: "\f750"; }
7391
-
7392
- .fa-hurricane:before {
7393
- content: "\f751"; }
7394
-
7395
- .fa-i-cursor:before {
7396
- content: "\f246"; }
7397
-
7398
- .fa-ice-cream:before {
7399
- content: "\f810"; }
7400
-
7401
- .fa-ice-skate:before {
7402
- content: "\f7ac"; }
7403
-
7404
- .fa-icicles:before {
7405
- content: "\f7ad"; }
7406
-
7407
- .fa-icons:before {
7408
- content: "\f86d"; }
7409
-
7410
- .fa-icons-alt:before {
7411
- content: "\f86e"; }
7412
-
7413
- .fa-id-badge:before {
7414
- content: "\f2c1"; }
7415
-
7416
- .fa-id-card:before {
7417
- content: "\f2c2"; }
7418
-
7419
- .fa-id-card-alt:before {
7420
- content: "\f47f"; }
7421
-
7422
- .fa-ideal:before {
7423
- content: "\e013"; }
7424
-
7425
- .fa-igloo:before {
7426
- content: "\f7ae"; }
7427
-
7428
- .fa-image:before {
7429
- content: "\f03e"; }
7430
-
7431
- .fa-image-polaroid:before {
7432
- content: "\f8c4"; }
7433
-
7434
- .fa-images:before {
7435
- content: "\f302"; }
7436
-
7437
- .fa-imdb:before {
7438
- content: "\f2d8"; }
7439
-
7440
- .fa-inbox:before {
7441
- content: "\f01c"; }
7442
-
7443
- .fa-inbox-in:before {
7444
- content: "\f310"; }
7445
-
7446
- .fa-inbox-out:before {
7447
- content: "\f311"; }
7448
-
7449
- .fa-indent:before {
7450
- content: "\f03c"; }
7451
-
7452
- .fa-industry:before {
7453
- content: "\f275"; }
7454
-
7455
- .fa-industry-alt:before {
7456
- content: "\f3b3"; }
7457
-
7458
- .fa-infinity:before {
7459
- content: "\f534"; }
7460
-
7461
- .fa-info:before {
7462
- content: "\f129"; }
7463
-
7464
- .fa-info-circle:before {
7465
- content: "\f05a"; }
7466
-
7467
- .fa-info-square:before {
7468
- content: "\f30f"; }
7469
-
7470
- .fa-inhaler:before {
7471
- content: "\f5f9"; }
7472
-
7473
- .fa-innosoft:before {
7474
- content: "\e080"; }
7475
-
7476
- .fa-instagram:before {
7477
- content: "\f16d"; }
7478
-
7479
- .fa-instagram-square:before {
7480
- content: "\e055"; }
7481
-
7482
- .fa-instalod:before {
7483
- content: "\e081"; }
7484
-
7485
- .fa-integral:before {
7486
- content: "\f667"; }
7487
-
7488
- .fa-intercom:before {
7489
- content: "\f7af"; }
7490
-
7491
- .fa-internet-explorer:before {
7492
- content: "\f26b"; }
7493
-
7494
- .fa-intersection:before {
7495
- content: "\f668"; }
7496
-
7497
- .fa-inventory:before {
7498
- content: "\f480"; }
7499
-
7500
- .fa-invision:before {
7501
- content: "\f7b0"; }
7502
-
7503
- .fa-ioxhost:before {
7504
- content: "\f208"; }
7505
-
7506
- .fa-island-tropical:before {
7507
- content: "\f811"; }
7508
-
7509
- .fa-italic:before {
7510
- content: "\f033"; }
7511
-
7512
- .fa-itch-io:before {
7513
- content: "\f83a"; }
7514
-
7515
- .fa-itunes:before {
7516
- content: "\f3b4"; }
7517
-
7518
- .fa-itunes-note:before {
7519
- content: "\f3b5"; }
7520
-
7521
- .fa-jack-o-lantern:before {
7522
- content: "\f30e"; }
7523
-
7524
- .fa-java:before {
7525
- content: "\f4e4"; }
7526
-
7527
- .fa-jedi:before {
7528
- content: "\f669"; }
7529
-
7530
- .fa-jedi-order:before {
7531
- content: "\f50e"; }
7532
-
7533
- .fa-jenkins:before {
7534
- content: "\f3b6"; }
7535
-
7536
- .fa-jira:before {
7537
- content: "\f7b1"; }
7538
-
7539
- .fa-joget:before {
7540
- content: "\f3b7"; }
7541
-
7542
- .fa-joint:before {
7543
- content: "\f595"; }
7544
-
7545
- .fa-joomla:before {
7546
- content: "\f1aa"; }
7547
-
7548
- .fa-journal-whills:before {
7549
- content: "\f66a"; }
7550
-
7551
- .fa-joystick:before {
7552
- content: "\f8c5"; }
7553
-
7554
- .fa-js:before {
7555
- content: "\f3b8"; }
7556
-
7557
- .fa-js-square:before {
7558
- content: "\f3b9"; }
7559
-
7560
- .fa-jsfiddle:before {
7561
- content: "\f1cc"; }
7562
-
7563
- .fa-jug:before {
7564
- content: "\f8c6"; }
7565
-
7566
- .fa-kaaba:before {
7567
- content: "\f66b"; }
7568
-
7569
- .fa-kaggle:before {
7570
- content: "\f5fa"; }
7571
-
7572
- .fa-kazoo:before {
7573
- content: "\f8c7"; }
7574
-
7575
- .fa-kerning:before {
7576
- content: "\f86f"; }
7577
-
7578
- .fa-key:before {
7579
- content: "\f084"; }
7580
-
7581
- .fa-key-skeleton:before {
7582
- content: "\f6f3"; }
7583
-
7584
- .fa-keybase:before {
7585
- content: "\f4f5"; }
7586
-
7587
- .fa-keyboard:before {
7588
- content: "\f11c"; }
7589
-
7590
- .fa-keycdn:before {
7591
- content: "\f3ba"; }
7592
-
7593
- .fa-keynote:before {
7594
- content: "\f66c"; }
7595
-
7596
- .fa-khanda:before {
7597
- content: "\f66d"; }
7598
-
7599
- .fa-kickstarter:before {
7600
- content: "\f3bb"; }
7601
-
7602
- .fa-kickstarter-k:before {
7603
- content: "\f3bc"; }
7604
-
7605
- .fa-kidneys:before {
7606
- content: "\f5fb"; }
7607
-
7608
- .fa-kiss:before {
7609
- content: "\f596"; }
7610
-
7611
- .fa-kiss-beam:before {
7612
- content: "\f597"; }
7613
-
7614
- .fa-kiss-wink-heart:before {
7615
- content: "\f598"; }
7616
-
7617
- .fa-kite:before {
7618
- content: "\f6f4"; }
7619
-
7620
- .fa-kiwi-bird:before {
7621
- content: "\f535"; }
7622
-
7623
- .fa-knife-kitchen:before {
7624
- content: "\f6f5"; }
7625
-
7626
- .fa-korvue:before {
7627
- content: "\f42f"; }
7628
-
7629
- .fa-lambda:before {
7630
- content: "\f66e"; }
7631
-
7632
- .fa-lamp:before {
7633
- content: "\f4ca"; }
7634
-
7635
- .fa-lamp-desk:before {
7636
- content: "\e014"; }
7637
-
7638
- .fa-lamp-floor:before {
7639
- content: "\e015"; }
7640
-
7641
- .fa-landmark:before {
7642
- content: "\f66f"; }
7643
-
7644
- .fa-landmark-alt:before {
7645
- content: "\f752"; }
7646
-
7647
- .fa-language:before {
7648
- content: "\f1ab"; }
7649
-
7650
- .fa-laptop:before {
7651
- content: "\f109"; }
7652
-
7653
- .fa-laptop-code:before {
7654
- content: "\f5fc"; }
7655
-
7656
- .fa-laptop-house:before {
7657
- content: "\e066"; }
7658
-
7659
- .fa-laptop-medical:before {
7660
- content: "\f812"; }
7661
-
7662
- .fa-laravel:before {
7663
- content: "\f3bd"; }
7664
-
7665
- .fa-lasso:before {
7666
- content: "\f8c8"; }
7667
-
7668
- .fa-lastfm:before {
7669
- content: "\f202"; }
7670
-
7671
- .fa-lastfm-square:before {
7672
- content: "\f203"; }
7673
-
7674
- .fa-laugh:before {
7675
- content: "\f599"; }
7676
-
7677
- .fa-laugh-beam:before {
7678
- content: "\f59a"; }
7679
-
7680
- .fa-laugh-squint:before {
7681
- content: "\f59b"; }
7682
-
7683
- .fa-laugh-wink:before {
7684
- content: "\f59c"; }
7685
-
7686
- .fa-layer-group:before {
7687
- content: "\f5fd"; }
7688
-
7689
- .fa-layer-minus:before {
7690
- content: "\f5fe"; }
7691
-
7692
- .fa-layer-plus:before {
7693
- content: "\f5ff"; }
7694
-
7695
- .fa-leaf:before {
7696
- content: "\f06c"; }
7697
-
7698
- .fa-leaf-heart:before {
7699
- content: "\f4cb"; }
7700
-
7701
- .fa-leaf-maple:before {
7702
- content: "\f6f6"; }
7703
-
7704
- .fa-leaf-oak:before {
7705
- content: "\f6f7"; }
7706
-
7707
- .fa-leanpub:before {
7708
- content: "\f212"; }
7709
-
7710
- .fa-lemon:before {
7711
- content: "\f094"; }
7712
-
7713
- .fa-less:before {
7714
- content: "\f41d"; }
7715
-
7716
- .fa-less-than:before {
7717
- content: "\f536"; }
7718
-
7719
- .fa-less-than-equal:before {
7720
- content: "\f537"; }
7721
-
7722
- .fa-level-down:before {
7723
- content: "\f149"; }
7724
-
7725
- .fa-level-down-alt:before {
7726
- content: "\f3be"; }
7727
-
7728
- .fa-level-up:before {
7729
- content: "\f148"; }
7730
-
7731
- .fa-level-up-alt:before {
7732
- content: "\f3bf"; }
7733
-
7734
- .fa-life-ring:before {
7735
- content: "\f1cd"; }
7736
-
7737
- .fa-light-ceiling:before {
7738
- content: "\e016"; }
7739
-
7740
- .fa-light-switch:before {
7741
- content: "\e017"; }
7742
-
7743
- .fa-light-switch-off:before {
7744
- content: "\e018"; }
7745
-
7746
- .fa-light-switch-on:before {
7747
- content: "\e019"; }
7748
-
7749
- .fa-lightbulb:before {
7750
- content: "\f0eb"; }
7751
-
7752
- .fa-lightbulb-dollar:before {
7753
- content: "\f670"; }
7754
-
7755
- .fa-lightbulb-exclamation:before {
7756
- content: "\f671"; }
7757
-
7758
- .fa-lightbulb-on:before {
7759
- content: "\f672"; }
7760
-
7761
- .fa-lightbulb-slash:before {
7762
- content: "\f673"; }
7763
-
7764
- .fa-lights-holiday:before {
7765
- content: "\f7b2"; }
7766
-
7767
- .fa-line:before {
7768
- content: "\f3c0"; }
7769
-
7770
- .fa-line-columns:before {
7771
- content: "\f870"; }
7772
-
7773
- .fa-line-height:before {
7774
- content: "\f871"; }
7775
-
7776
- .fa-link:before {
7777
- content: "\f0c1"; }
7778
-
7779
- .fa-linkedin:before {
7780
- content: "\f08c"; }
7781
-
7782
- .fa-linkedin-in:before {
7783
- content: "\f0e1"; }
7784
-
7785
- .fa-linode:before {
7786
- content: "\f2b8"; }
7787
-
7788
- .fa-linux:before {
7789
- content: "\f17c"; }
7790
-
7791
- .fa-lips:before {
7792
- content: "\f600"; }
7793
-
7794
- .fa-lira-sign:before {
7795
- content: "\f195"; }
7796
-
7797
- .fa-list:before {
7798
- content: "\f03a"; }
7799
-
7800
- .fa-list-alt:before {
7801
- content: "\f022"; }
7802
-
7803
- .fa-list-music:before {
7804
- content: "\f8c9"; }
7805
-
7806
- .fa-list-ol:before {
7807
- content: "\f0cb"; }
7808
-
7809
- .fa-list-ul:before {
7810
- content: "\f0ca"; }
7811
-
7812
- .fa-location:before {
7813
- content: "\f601"; }
7814
-
7815
- .fa-location-arrow:before {
7816
- content: "\f124"; }
7817
-
7818
- .fa-location-circle:before {
7819
- content: "\f602"; }
7820
-
7821
- .fa-location-slash:before {
7822
- content: "\f603"; }
7823
-
7824
- .fa-lock:before {
7825
- content: "\f023"; }
7826
-
7827
- .fa-lock-alt:before {
7828
- content: "\f30d"; }
7829
-
7830
- .fa-lock-open:before {
7831
- content: "\f3c1"; }
7832
-
7833
- .fa-lock-open-alt:before {
7834
- content: "\f3c2"; }
7835
-
7836
- .fa-long-arrow-alt-down:before {
7837
- content: "\f309"; }
7838
-
7839
- .fa-long-arrow-alt-left:before {
7840
- content: "\f30a"; }
7841
-
7842
- .fa-long-arrow-alt-right:before {
7843
- content: "\f30b"; }
7844
-
7845
- .fa-long-arrow-alt-up:before {
7846
- content: "\f30c"; }
7847
-
7848
- .fa-long-arrow-down:before {
7849
- content: "\f175"; }
7850
-
7851
- .fa-long-arrow-left:before {
7852
- content: "\f177"; }
7853
-
7854
- .fa-long-arrow-right:before {
7855
- content: "\f178"; }
7856
-
7857
- .fa-long-arrow-up:before {
7858
- content: "\f176"; }
7859
-
7860
- .fa-loveseat:before {
7861
- content: "\f4cc"; }
7862
-
7863
- .fa-low-vision:before {
7864
- content: "\f2a8"; }
7865
-
7866
- .fa-luchador:before {
7867
- content: "\f455"; }
7868
-
7869
- .fa-luggage-cart:before {
7870
- content: "\f59d"; }
7871
-
7872
- .fa-lungs:before {
7873
- content: "\f604"; }
7874
-
7875
- .fa-lungs-virus:before {
7876
- content: "\e067"; }
7877
-
7878
- .fa-lyft:before {
7879
- content: "\f3c3"; }
7880
-
7881
- .fa-mace:before {
7882
- content: "\f6f8"; }
7883
-
7884
- .fa-magento:before {
7885
- content: "\f3c4"; }
7886
-
7887
- .fa-magic:before {
7888
- content: "\f0d0"; }
7889
-
7890
- .fa-magnet:before {
7891
- content: "\f076"; }
7892
-
7893
- .fa-mail-bulk:before {
7894
- content: "\f674"; }
7895
-
7896
- .fa-mailbox:before {
7897
- content: "\f813"; }
7898
-
7899
- .fa-mailchimp:before {
7900
- content: "\f59e"; }
7901
-
7902
- .fa-male:before {
7903
- content: "\f183"; }
7904
-
7905
- .fa-mandalorian:before {
7906
- content: "\f50f"; }
7907
-
7908
- .fa-mandolin:before {
7909
- content: "\f6f9"; }
7910
-
7911
- .fa-map:before {
7912
- content: "\f279"; }
7913
-
7914
- .fa-map-marked:before {
7915
- content: "\f59f"; }
7916
-
7917
- .fa-map-marked-alt:before {
7918
- content: "\f5a0"; }
7919
-
7920
- .fa-map-marker:before {
7921
- content: "\f041"; }
7922
-
7923
- .fa-map-marker-alt:before {
7924
- content: "\f3c5"; }
7925
-
7926
- .fa-map-marker-alt-slash:before {
7927
- content: "\f605"; }
7928
-
7929
- .fa-map-marker-check:before {
7930
- content: "\f606"; }
7931
-
7932
- .fa-map-marker-edit:before {
7933
- content: "\f607"; }
7934
-
7935
- .fa-map-marker-exclamation:before {
7936
- content: "\f608"; }
7937
-
7938
- .fa-map-marker-minus:before {
7939
- content: "\f609"; }
7940
-
7941
- .fa-map-marker-plus:before {
7942
- content: "\f60a"; }
7943
-
7944
- .fa-map-marker-question:before {
7945
- content: "\f60b"; }
7946
-
7947
- .fa-map-marker-slash:before {
7948
- content: "\f60c"; }
7949
-
7950
- .fa-map-marker-smile:before {
7951
- content: "\f60d"; }
7952
-
7953
- .fa-map-marker-times:before {
7954
- content: "\f60e"; }
7955
-
7956
- .fa-map-pin:before {
7957
- content: "\f276"; }
7958
-
7959
- .fa-map-signs:before {
7960
- content: "\f277"; }
7961
-
7962
- .fa-markdown:before {
7963
- content: "\f60f"; }
7964
-
7965
- .fa-marker:before {
7966
- content: "\f5a1"; }
7967
-
7968
- .fa-mars:before {
7969
- content: "\f222"; }
7970
-
7971
- .fa-mars-double:before {
7972
- content: "\f227"; }
7973
-
7974
- .fa-mars-stroke:before {
7975
- content: "\f229"; }
7976
-
7977
- .fa-mars-stroke-h:before {
7978
- content: "\f22b"; }
7979
-
7980
- .fa-mars-stroke-v:before {
7981
- content: "\f22a"; }
7982
-
7983
- .fa-mask:before {
7984
- content: "\f6fa"; }
7985
-
7986
- .fa-mastodon:before {
7987
- content: "\f4f6"; }
7988
-
7989
- .fa-maxcdn:before {
7990
- content: "\f136"; }
7991
-
7992
- .fa-mdb:before {
7993
- content: "\f8ca"; }
7994
-
7995
- .fa-meat:before {
7996
- content: "\f814"; }
7997
-
7998
- .fa-medal:before {
7999
- content: "\f5a2"; }
8000
-
8001
- .fa-medapps:before {
8002
- content: "\f3c6"; }
8003
-
8004
- .fa-medium:before {
8005
- content: "\f23a"; }
8006
-
8007
- .fa-medium-m:before {
8008
- content: "\f3c7"; }
8009
-
8010
- .fa-medkit:before {
8011
- content: "\f0fa"; }
8012
-
8013
- .fa-medrt:before {
8014
- content: "\f3c8"; }
8015
-
8016
- .fa-meetup:before {
8017
- content: "\f2e0"; }
8018
-
8019
- .fa-megaphone:before {
8020
- content: "\f675"; }
8021
-
8022
- .fa-megaport:before {
8023
- content: "\f5a3"; }
8024
-
8025
- .fa-meh:before {
8026
- content: "\f11a"; }
8027
-
8028
- .fa-meh-blank:before {
8029
- content: "\f5a4"; }
8030
-
8031
- .fa-meh-rolling-eyes:before {
8032
- content: "\f5a5"; }
8033
-
8034
- .fa-memory:before {
8035
- content: "\f538"; }
8036
-
8037
- .fa-mendeley:before {
8038
- content: "\f7b3"; }
8039
-
8040
- .fa-menorah:before {
8041
- content: "\f676"; }
8042
-
8043
- .fa-mercury:before {
8044
- content: "\f223"; }
8045
-
8046
- .fa-meteor:before {
8047
- content: "\f753"; }
8048
-
8049
- .fa-microblog:before {
8050
- content: "\e01a"; }
8051
-
8052
- .fa-microchip:before {
8053
- content: "\f2db"; }
8054
-
8055
- .fa-microphone:before {
8056
- content: "\f130"; }
8057
-
8058
- .fa-microphone-alt:before {
8059
- content: "\f3c9"; }
8060
-
8061
- .fa-microphone-alt-slash:before {
8062
- content: "\f539"; }
8063
-
8064
- .fa-microphone-slash:before {
8065
- content: "\f131"; }
8066
-
8067
- .fa-microphone-stand:before {
8068
- content: "\f8cb"; }
8069
-
8070
- .fa-microscope:before {
8071
- content: "\f610"; }
8072
-
8073
- .fa-microsoft:before {
8074
- content: "\f3ca"; }
8075
-
8076
- .fa-microwave:before {
8077
- content: "\e01b"; }
8078
-
8079
- .fa-mind-share:before {
8080
- content: "\f677"; }
8081
-
8082
- .fa-minus:before {
8083
- content: "\f068"; }
8084
-
8085
- .fa-minus-circle:before {
8086
- content: "\f056"; }
8087
-
8088
- .fa-minus-hexagon:before {
8089
- content: "\f307"; }
8090
-
8091
- .fa-minus-octagon:before {
8092
- content: "\f308"; }
8093
-
8094
- .fa-minus-square:before {
8095
- content: "\f146"; }
8096
-
8097
- .fa-mistletoe:before {
8098
- content: "\f7b4"; }
8099
-
8100
- .fa-mitten:before {
8101
- content: "\f7b5"; }
8102
-
8103
- .fa-mix:before {
8104
- content: "\f3cb"; }
8105
-
8106
- .fa-mixcloud:before {
8107
- content: "\f289"; }
8108
-
8109
- .fa-mixer:before {
8110
- content: "\e056"; }
8111
-
8112
- .fa-mizuni:before {
8113
- content: "\f3cc"; }
8114
-
8115
- .fa-mobile:before {
8116
- content: "\f10b"; }
8117
-
8118
- .fa-mobile-alt:before {
8119
- content: "\f3cd"; }
8120
-
8121
- .fa-mobile-android:before {
8122
- content: "\f3ce"; }
8123
-
8124
- .fa-mobile-android-alt:before {
8125
- content: "\f3cf"; }
8126
-
8127
- .fa-modx:before {
8128
- content: "\f285"; }
8129
-
8130
- .fa-monero:before {
8131
- content: "\f3d0"; }
8132
-
8133
- .fa-money-bill:before {
8134
- content: "\f0d6"; }
8135
-
8136
- .fa-money-bill-alt:before {
8137
- content: "\f3d1"; }
8138
-
8139
- .fa-money-bill-wave:before {
8140
- content: "\f53a"; }
8141
-
8142
- .fa-money-bill-wave-alt:before {
8143
- content: "\f53b"; }
8144
-
8145
- .fa-money-check:before {
8146
- content: "\f53c"; }
8147
-
8148
- .fa-money-check-alt:before {
8149
- content: "\f53d"; }
8150
-
8151
- .fa-money-check-edit:before {
8152
- content: "\f872"; }
8153
-
8154
- .fa-money-check-edit-alt:before {
8155
- content: "\f873"; }
8156
-
8157
- .fa-monitor-heart-rate:before {
8158
- content: "\f611"; }
8159
-
8160
- .fa-monkey:before {
8161
- content: "\f6fb"; }
8162
-
8163
- .fa-monument:before {
8164
- content: "\f5a6"; }
8165
-
8166
- .fa-moon:before {
8167
- content: "\f186"; }
8168
-
8169
- .fa-moon-cloud:before {
8170
- content: "\f754"; }
8171
-
8172
- .fa-moon-stars:before {
8173
- content: "\f755"; }
8174
-
8175
- .fa-mortar-pestle:before {
8176
- content: "\f5a7"; }
8177
-
8178
- .fa-mosque:before {
8179
- content: "\f678"; }
8180
-
8181
- .fa-motorcycle:before {
8182
- content: "\f21c"; }
8183
-
8184
- .fa-mountain:before {
8185
- content: "\f6fc"; }
8186
-
8187
- .fa-mountains:before {
8188
- content: "\f6fd"; }
8189
-
8190
- .fa-mouse:before {
8191
- content: "\f8cc"; }
8192
-
8193
- .fa-mouse-alt:before {
8194
- content: "\f8cd"; }
8195
-
8196
- .fa-mouse-pointer:before {
8197
- content: "\f245"; }
8198
-
8199
- .fa-mp3-player:before {
8200
- content: "\f8ce"; }
8201
-
8202
- .fa-mug:before {
8203
- content: "\f874"; }
8204
-
8205
- .fa-mug-hot:before {
8206
- content: "\f7b6"; }
8207
-
8208
- .fa-mug-marshmallows:before {
8209
- content: "\f7b7"; }
8210
-
8211
- .fa-mug-tea:before {
8212
- content: "\f875"; }
8213
-
8214
- .fa-music:before {
8215
- content: "\f001"; }
8216
-
8217
- .fa-music-alt:before {
8218
- content: "\f8cf"; }
8219
-
8220
- .fa-music-alt-slash:before {
8221
- content: "\f8d0"; }
8222
-
8223
- .fa-music-slash:before {
8224
- content: "\f8d1"; }
8225
-
8226
- .fa-napster:before {
8227
- content: "\f3d2"; }
8228
-
8229
- .fa-narwhal:before {
8230
- content: "\f6fe"; }
8231
-
8232
- .fa-neos:before {
8233
- content: "\f612"; }
8234
-
8235
- .fa-network-wired:before {
8236
- content: "\f6ff"; }
8237
-
8238
- .fa-neuter:before {
8239
- content: "\f22c"; }
8240
-
8241
- .fa-newspaper:before {
8242
- content: "\f1ea"; }
8243
-
8244
- .fa-nimblr:before {
8245
- content: "\f5a8"; }
8246
-
8247
- .fa-node:before {
8248
- content: "\f419"; }
8249
-
8250
- .fa-node-js:before {
8251
- content: "\f3d3"; }
8252
-
8253
- .fa-not-equal:before {
8254
- content: "\f53e"; }
8255
-
8256
- .fa-notes-medical:before {
8257
- content: "\f481"; }
8258
-
8259
- .fa-npm:before {
8260
- content: "\f3d4"; }
8261
-
8262
- .fa-ns8:before {
8263
- content: "\f3d5"; }
8264
-
8265
- .fa-nutritionix:before {
8266
- content: "\f3d6"; }
8267
-
8268
- .fa-object-group:before {
8269
- content: "\f247"; }
8270
-
8271
- .fa-object-ungroup:before {
8272
- content: "\f248"; }
8273
-
8274
- .fa-octagon:before {
8275
- content: "\f306"; }
8276
-
8277
- .fa-octopus-deploy:before {
8278
- content: "\e082"; }
8279
-
8280
- .fa-odnoklassniki:before {
8281
- content: "\f263"; }
8282
-
8283
- .fa-odnoklassniki-square:before {
8284
- content: "\f264"; }
8285
-
8286
- .fa-oil-can:before {
8287
- content: "\f613"; }
8288
-
8289
- .fa-oil-temp:before {
8290
- content: "\f614"; }
8291
-
8292
- .fa-old-republic:before {
8293
- content: "\f510"; }
8294
-
8295
- .fa-om:before {
8296
- content: "\f679"; }
8297
-
8298
- .fa-omega:before {
8299
- content: "\f67a"; }
8300
-
8301
- .fa-opencart:before {
8302
- content: "\f23d"; }
8303
-
8304
- .fa-openid:before {
8305
- content: "\f19b"; }
8306
-
8307
- .fa-opera:before {
8308
- content: "\f26a"; }
8309
-
8310
- .fa-optin-monster:before {
8311
- content: "\f23c"; }
8312
-
8313
- .fa-orcid:before {
8314
- content: "\f8d2"; }
8315
-
8316
- .fa-ornament:before {
8317
- content: "\f7b8"; }
8318
-
8319
- .fa-osi:before {
8320
- content: "\f41a"; }
8321
-
8322
- .fa-otter:before {
8323
- content: "\f700"; }
8324
-
8325
- .fa-outdent:before {
8326
- content: "\f03b"; }
8327
-
8328
- .fa-outlet:before {
8329
- content: "\e01c"; }
8330
-
8331
- .fa-oven:before {
8332
- content: "\e01d"; }
8333
-
8334
- .fa-overline:before {
8335
- content: "\f876"; }
8336
-
8337
- .fa-page-break:before {
8338
- content: "\f877"; }
8339
-
8340
- .fa-page4:before {
8341
- content: "\f3d7"; }
8342
-
8343
- .fa-pagelines:before {
8344
- content: "\f18c"; }
8345
-
8346
- .fa-pager:before {
8347
- content: "\f815"; }
8348
-
8349
- .fa-paint-brush:before {
8350
- content: "\f1fc"; }
8351
-
8352
- .fa-paint-brush-alt:before {
8353
- content: "\f5a9"; }
8354
-
8355
- .fa-paint-roller:before {
8356
- content: "\f5aa"; }
8357
-
8358
- .fa-palette:before {
8359
- content: "\f53f"; }
8360
-
8361
- .fa-palfed:before {
8362
- content: "\f3d8"; }
8363
-
8364
- .fa-pallet:before {
8365
- content: "\f482"; }
8366
-
8367
- .fa-pallet-alt:before {
8368
- content: "\f483"; }
8369
-
8370
- .fa-paper-plane:before {
8371
- content: "\f1d8"; }
8372
-
8373
- .fa-paperclip:before {
8374
- content: "\f0c6"; }
8375
-
8376
- .fa-parachute-box:before {
8377
- content: "\f4cd"; }
8378
-
8379
- .fa-paragraph:before {
8380
- content: "\f1dd"; }
8381
-
8382
- .fa-paragraph-rtl:before {
8383
- content: "\f878"; }
8384
-
8385
- .fa-parking:before {
8386
- content: "\f540"; }
8387
-
8388
- .fa-parking-circle:before {
8389
- content: "\f615"; }
8390
-
8391
- .fa-parking-circle-slash:before {
8392
- content: "\f616"; }
8393
-
8394
- .fa-parking-slash:before {
8395
- content: "\f617"; }
8396
-
8397
- .fa-passport:before {
8398
- content: "\f5ab"; }
8399
-
8400
- .fa-pastafarianism:before {
8401
- content: "\f67b"; }
8402
-
8403
- .fa-paste:before {
8404
- content: "\f0ea"; }
8405
-
8406
- .fa-patreon:before {
8407
- content: "\f3d9"; }
8408
-
8409
- .fa-pause:before {
8410
- content: "\f04c"; }
8411
-
8412
- .fa-pause-circle:before {
8413
- content: "\f28b"; }
8414
-
8415
- .fa-paw:before {
8416
- content: "\f1b0"; }
8417
-
8418
- .fa-paw-alt:before {
8419
- content: "\f701"; }
8420
-
8421
- .fa-paw-claws:before {
8422
- content: "\f702"; }
8423
-
8424
- .fa-paypal:before {
8425
- content: "\f1ed"; }
8426
-
8427
- .fa-peace:before {
8428
- content: "\f67c"; }
8429
-
8430
- .fa-pegasus:before {
8431
- content: "\f703"; }
8432
-
8433
- .fa-pen:before {
8434
- content: "\f304"; }
8435
-
8436
- .fa-pen-alt:before {
8437
- content: "\f305"; }
8438
-
8439
- .fa-pen-fancy:before {
8440
- content: "\f5ac"; }
8441
-
8442
- .fa-pen-nib:before {
8443
- content: "\f5ad"; }
8444
-
8445
- .fa-pen-square:before {
8446
- content: "\f14b"; }
8447
-
8448
- .fa-pencil:before {
8449
- content: "\f040"; }
8450
-
8451
- .fa-pencil-alt:before {
8452
- content: "\f303"; }
8453
-
8454
- .fa-pencil-paintbrush:before {
8455
- content: "\f618"; }
8456
-
8457
- .fa-pencil-ruler:before {
8458
- content: "\f5ae"; }
8459
-
8460
- .fa-pennant:before {
8461
- content: "\f456"; }
8462
-
8463
- .fa-penny-arcade:before {
8464
- content: "\f704"; }
8465
-
8466
- .fa-people-arrows:before {
8467
- content: "\e068"; }
8468
-
8469
- .fa-people-carry:before {
8470
- content: "\f4ce"; }
8471
-
8472
- .fa-pepper-hot:before {
8473
- content: "\f816"; }
8474
-
8475
- .fa-perbyte:before {
8476
- content: "\e083"; }
8477
-
8478
- .fa-percent:before {
8479
- content: "\f295"; }
8480
-
8481
- .fa-percentage:before {
8482
- content: "\f541"; }
8483
-
8484
- .fa-periscope:before {
8485
- content: "\f3da"; }
8486
-
8487
- .fa-person-booth:before {
8488
- content: "\f756"; }
8489
-
8490
- .fa-person-carry:before {
8491
- content: "\f4cf"; }
8492
-
8493
- .fa-person-dolly:before {
8494
- content: "\f4d0"; }
8495
-
8496
- .fa-person-dolly-empty:before {
8497
- content: "\f4d1"; }
8498
-
8499
- .fa-person-sign:before {
8500
- content: "\f757"; }
8501
-
8502
- .fa-phabricator:before {
8503
- content: "\f3db"; }
8504
-
8505
- .fa-phoenix-framework:before {
8506
- content: "\f3dc"; }
8507
-
8508
- .fa-phoenix-squadron:before {
8509
- content: "\f511"; }
8510
-
8511
- .fa-phone:before {
8512
- content: "\f095"; }
8513
-
8514
- .fa-phone-alt:before {
8515
- content: "\f879"; }
8516
-
8517
- .fa-phone-laptop:before {
8518
- content: "\f87a"; }
8519
-
8520
- .fa-phone-office:before {
8521
- content: "\f67d"; }
8522
-
8523
- .fa-phone-plus:before {
8524
- content: "\f4d2"; }
8525
-
8526
- .fa-phone-rotary:before {
8527
- content: "\f8d3"; }
8528
-
8529
- .fa-phone-slash:before {
8530
- content: "\f3dd"; }
8531
-
8532
- .fa-phone-square:before {
8533
- content: "\f098"; }
8534
-
8535
- .fa-phone-square-alt:before {
8536
- content: "\f87b"; }
8537
-
8538
- .fa-phone-volume:before {
8539
- content: "\f2a0"; }
8540
-
8541
- .fa-photo-video:before {
8542
- content: "\f87c"; }
8543
-
8544
- .fa-php:before {
8545
- content: "\f457"; }
8546
-
8547
- .fa-pi:before {
8548
- content: "\f67e"; }
8549
-
8550
- .fa-piano:before {
8551
- content: "\f8d4"; }
8552
-
8553
- .fa-piano-keyboard:before {
8554
- content: "\f8d5"; }
8555
-
8556
- .fa-pie:before {
8557
- content: "\f705"; }
8558
-
8559
- .fa-pied-piper:before {
8560
- content: "\f2ae"; }
8561
-
8562
- .fa-pied-piper-alt:before {
8563
- content: "\f1a8"; }
8564
-
8565
- .fa-pied-piper-hat:before {
8566
- content: "\f4e5"; }
8567
-
8568
- .fa-pied-piper-pp:before {
8569
- content: "\f1a7"; }
8570
-
8571
- .fa-pied-piper-square:before {
8572
- content: "\e01e"; }
8573
-
8574
- .fa-pig:before {
8575
- content: "\f706"; }
8576
-
8577
- .fa-piggy-bank:before {
8578
- content: "\f4d3"; }
8579
-
8580
- .fa-pills:before {
8581
- content: "\f484"; }
8582
-
8583
- .fa-pinterest:before {
8584
- content: "\f0d2"; }
8585
-
8586
- .fa-pinterest-p:before {
8587
- content: "\f231"; }
8588
-
8589
- .fa-pinterest-square:before {
8590
- content: "\f0d3"; }
8591
-
8592
- .fa-pizza:before {
8593
- content: "\f817"; }
8594
-
8595
- .fa-pizza-slice:before {
8596
- content: "\f818"; }
8597
-
8598
- .fa-place-of-worship:before {
8599
- content: "\f67f"; }
8600
-
8601
- .fa-plane:before {
8602
- content: "\f072"; }
8603
-
8604
- .fa-plane-alt:before {
8605
- content: "\f3de"; }
8606
-
8607
- .fa-plane-arrival:before {
8608
- content: "\f5af"; }
8609
-
8610
- .fa-plane-departure:before {
8611
- content: "\f5b0"; }
8612
-
8613
- .fa-plane-slash:before {
8614
- content: "\e069"; }
8615
-
8616
- .fa-planet-moon:before {
8617
- content: "\e01f"; }
8618
-
8619
- .fa-planet-ringed:before {
8620
- content: "\e020"; }
8621
-
8622
- .fa-play:before {
8623
- content: "\f04b"; }
8624
-
8625
- .fa-play-circle:before {
8626
- content: "\f144"; }
8627
-
8628
- .fa-playstation:before {
8629
- content: "\f3df"; }
8630
-
8631
- .fa-plug:before {
8632
- content: "\f1e6"; }
8633
-
8634
- .fa-plus:before {
8635
- content: "\f067"; }
8636
-
8637
- .fa-plus-circle:before {
8638
- content: "\f055"; }
8639
-
8640
- .fa-plus-hexagon:before {
8641
- content: "\f300"; }
8642
-
8643
- .fa-plus-octagon:before {
8644
- content: "\f301"; }
8645
-
8646
- .fa-plus-square:before {
8647
- content: "\f0fe"; }
8648
-
8649
- .fa-podcast:before {
8650
- content: "\f2ce"; }
8651
-
8652
- .fa-podium:before {
8653
- content: "\f680"; }
8654
-
8655
- .fa-podium-star:before {
8656
- content: "\f758"; }
8657
-
8658
- .fa-police-box:before {
8659
- content: "\e021"; }
8660
-
8661
- .fa-poll:before {
8662
- content: "\f681"; }
8663
-
8664
- .fa-poll-h:before {
8665
- content: "\f682"; }
8666
-
8667
- .fa-poll-people:before {
8668
- content: "\f759"; }
8669
-
8670
- .fa-poo:before {
8671
- content: "\f2fe"; }
8672
-
8673
- .fa-poo-storm:before {
8674
- content: "\f75a"; }
8675
-
8676
- .fa-poop:before {
8677
- content: "\f619"; }
8678
-
8679
- .fa-popcorn:before {
8680
- content: "\f819"; }
8681
-
8682
- .fa-portal-enter:before {
8683
- content: "\e022"; }
8684
-
8685
- .fa-portal-exit:before {
8686
- content: "\e023"; }
8687
-
8688
- .fa-portrait:before {
8689
- content: "\f3e0"; }
8690
-
8691
- .fa-pound-sign:before {
8692
- content: "\f154"; }
8693
-
8694
- .fa-power-off:before {
8695
- content: "\f011"; }
8696
-
8697
- .fa-pray:before {
8698
- content: "\f683"; }
8699
-
8700
- .fa-praying-hands:before {
8701
- content: "\f684"; }
8702
-
8703
- .fa-prescription:before {
8704
- content: "\f5b1"; }
8705
-
8706
- .fa-prescription-bottle:before {
8707
- content: "\f485"; }
8708
-
8709
- .fa-prescription-bottle-alt:before {
8710
- content: "\f486"; }
8711
-
8712
- .fa-presentation:before {
8713
- content: "\f685"; }
8714
-
8715
- .fa-print:before {
8716
- content: "\f02f"; }
8717
-
8718
- .fa-print-search:before {
8719
- content: "\f81a"; }
8720
-
8721
- .fa-print-slash:before {
8722
- content: "\f686"; }
8723
-
8724
- .fa-procedures:before {
8725
- content: "\f487"; }
8726
-
8727
- .fa-product-hunt:before {
8728
- content: "\f288"; }
8729
-
8730
- .fa-project-diagram:before {
8731
- content: "\f542"; }
8732
-
8733
- .fa-projector:before {
8734
- content: "\f8d6"; }
8735
-
8736
- .fa-pump-medical:before {
8737
- content: "\e06a"; }
8738
-
8739
- .fa-pump-soap:before {
8740
- content: "\e06b"; }
8741
-
8742
- .fa-pumpkin:before {
8743
- content: "\f707"; }
8744
-
8745
- .fa-pushed:before {
8746
- content: "\f3e1"; }
8747
-
8748
- .fa-puzzle-piece:before {
8749
- content: "\f12e"; }
8750
-
8751
- .fa-python:before {
8752
- content: "\f3e2"; }
8753
-
8754
- .fa-qq:before {
8755
- content: "\f1d6"; }
8756
-
8757
- .fa-qrcode:before {
8758
- content: "\f029"; }
8759
-
8760
- .fa-question:before {
8761
- content: "\f128"; }
8762
-
8763
- .fa-question-circle:before {
8764
- content: "\f059"; }
8765
-
8766
- .fa-question-square:before {
8767
- content: "\f2fd"; }
8768
-
8769
- .fa-quidditch:before {
8770
- content: "\f458"; }
8771
-
8772
- .fa-quinscape:before {
8773
- content: "\f459"; }
8774
-
8775
- .fa-quora:before {
8776
- content: "\f2c4"; }
8777
-
8778
- .fa-quote-left:before {
8779
- content: "\f10d"; }
8780
-
8781
- .fa-quote-right:before {
8782
- content: "\f10e"; }
8783
-
8784
- .fa-quran:before {
8785
- content: "\f687"; }
8786
-
8787
- .fa-r-project:before {
8788
- content: "\f4f7"; }
8789
-
8790
- .fa-rabbit:before {
8791
- content: "\f708"; }
8792
-
8793
- .fa-rabbit-fast:before {
8794
- content: "\f709"; }
8795
-
8796
- .fa-racquet:before {
8797
- content: "\f45a"; }
8798
-
8799
- .fa-radar:before {
8800
- content: "\e024"; }
8801
-
8802
- .fa-radiation:before {
8803
- content: "\f7b9"; }
8804
-
8805
- .fa-radiation-alt:before {
8806
- content: "\f7ba"; }
8807
-
8808
- .fa-radio:before {
8809
- content: "\f8d7"; }
8810
-
8811
- .fa-radio-alt:before {
8812
- content: "\f8d8"; }
8813
-
8814
- .fa-rainbow:before {
8815
- content: "\f75b"; }
8816
-
8817
- .fa-raindrops:before {
8818
- content: "\f75c"; }
8819
-
8820
- .fa-ram:before {
8821
- content: "\f70a"; }
8822
-
8823
- .fa-ramp-loading:before {
8824
- content: "\f4d4"; }
8825
-
8826
- .fa-random:before {
8827
- content: "\f074"; }
8828
-
8829
- .fa-raspberry-pi:before {
8830
- content: "\f7bb"; }
8831
-
8832
- .fa-ravelry:before {
8833
- content: "\f2d9"; }
8834
-
8835
- .fa-raygun:before {
8836
- content: "\e025"; }
8837
-
8838
- .fa-react:before {
8839
- content: "\f41b"; }
8840
-
8841
- .fa-reacteurope:before {
8842
- content: "\f75d"; }
8843
-
8844
- .fa-readme:before {
8845
- content: "\f4d5"; }
8846
-
8847
- .fa-rebel:before {
8848
- content: "\f1d0"; }
8849
-
8850
- .fa-receipt:before {
8851
- content: "\f543"; }
8852
-
8853
- .fa-record-vinyl:before {
8854
- content: "\f8d9"; }
8855
-
8856
- .fa-rectangle-landscape:before {
8857
- content: "\f2fa"; }
8858
-
8859
- .fa-rectangle-portrait:before {
8860
- content: "\f2fb"; }
8861
-
8862
- .fa-rectangle-wide:before {
8863
- content: "\f2fc"; }
8864
-
8865
- .fa-recycle:before {
8866
- content: "\f1b8"; }
8867
-
8868
- .fa-red-river:before {
8869
- content: "\f3e3"; }
8870
-
8871
- .fa-reddit:before {
8872
- content: "\f1a1"; }
8873
-
8874
- .fa-reddit-alien:before {
8875
- content: "\f281"; }
8876
-
8877
- .fa-reddit-square:before {
8878
- content: "\f1a2"; }
8879
-
8880
- .fa-redhat:before {
8881
- content: "\f7bc"; }
8882
-
8883
- .fa-redo:before {
8884
- content: "\f01e"; }
8885
-
8886
- .fa-redo-alt:before {
8887
- content: "\f2f9"; }
8888
-
8889
- .fa-refrigerator:before {
8890
- content: "\e026"; }
8891
-
8892
- .fa-registered:before {
8893
- content: "\f25d"; }
8894
-
8895
- .fa-remove-format:before {
8896
- content: "\f87d"; }
8897
-
8898
- .fa-renren:before {
8899
- content: "\f18b"; }
8900
-
8901
- .fa-repeat:before {
8902
- content: "\f363"; }
8903
-
8904
- .fa-repeat-1:before {
8905
- content: "\f365"; }
8906
-
8907
- .fa-repeat-1-alt:before {
8908
- content: "\f366"; }
8909
-
8910
- .fa-repeat-alt:before {
8911
- content: "\f364"; }
8912
-
8913
- .fa-reply:before {
8914
- content: "\f3e5"; }
8915
-
8916
- .fa-reply-all:before {
8917
- content: "\f122"; }
8918
-
8919
- .fa-replyd:before {
8920
- content: "\f3e6"; }
8921
-
8922
- .fa-republican:before {
8923
- content: "\f75e"; }
8924
-
8925
- .fa-researchgate:before {
8926
- content: "\f4f8"; }
8927
-
8928
- .fa-resolving:before {
8929
- content: "\f3e7"; }
8930
-
8931
- .fa-restroom:before {
8932
- content: "\f7bd"; }
8933
-
8934
- .fa-retweet:before {
8935
- content: "\f079"; }
8936
-
8937
- .fa-retweet-alt:before {
8938
- content: "\f361"; }
8939
-
8940
- .fa-rev:before {
8941
- content: "\f5b2"; }
8942
-
8943
- .fa-ribbon:before {
8944
- content: "\f4d6"; }
8945
-
8946
- .fa-ring:before {
8947
- content: "\f70b"; }
8948
-
8949
- .fa-rings-wedding:before {
8950
- content: "\f81b"; }
8951
-
8952
- .fa-road:before {
8953
- content: "\f018"; }
8954
-
8955
- .fa-robot:before {
8956
- content: "\f544"; }
8957
-
8958
- .fa-rocket:before {
8959
- content: "\f135"; }
8960
-
8961
- .fa-rocket-launch:before {
8962
- content: "\e027"; }
8963
-
8964
- .fa-rocketchat:before {
8965
- content: "\f3e8"; }
8966
-
8967
- .fa-rockrms:before {
8968
- content: "\f3e9"; }
8969
-
8970
- .fa-route:before {
8971
- content: "\f4d7"; }
8972
-
8973
- .fa-route-highway:before {
8974
- content: "\f61a"; }
8975
-
8976
- .fa-route-interstate:before {
8977
- content: "\f61b"; }
8978
-
8979
- .fa-router:before {
8980
- content: "\f8da"; }
8981
-
8982
- .fa-rss:before {
8983
- content: "\f09e"; }
8984
-
8985
- .fa-rss-square:before {
8986
- content: "\f143"; }
8987
-
8988
- .fa-ruble-sign:before {
8989
- content: "\f158"; }
8990
-
8991
- .fa-ruler:before {
8992
- content: "\f545"; }
8993
-
8994
- .fa-ruler-combined:before {
8995
- content: "\f546"; }
8996
-
8997
- .fa-ruler-horizontal:before {
8998
- content: "\f547"; }
8999
-
9000
- .fa-ruler-triangle:before {
9001
- content: "\f61c"; }
9002
-
9003
- .fa-ruler-vertical:before {
9004
- content: "\f548"; }
9005
-
9006
- .fa-running:before {
9007
- content: "\f70c"; }
9008
-
9009
- .fa-rupee-sign:before {
9010
- content: "\f156"; }
9011
-
9012
- .fa-rust:before {
9013
- content: "\e07a"; }
9014
-
9015
- .fa-rv:before {
9016
- content: "\f7be"; }
9017
-
9018
- .fa-sack:before {
9019
- content: "\f81c"; }
9020
-
9021
- .fa-sack-dollar:before {
9022
- content: "\f81d"; }
9023
-
9024
- .fa-sad-cry:before {
9025
- content: "\f5b3"; }
9026
-
9027
- .fa-sad-tear:before {
9028
- content: "\f5b4"; }
9029
-
9030
- .fa-safari:before {
9031
- content: "\f267"; }
9032
-
9033
- .fa-salad:before {
9034
- content: "\f81e"; }
9035
-
9036
- .fa-salesforce:before {
9037
- content: "\f83b"; }
9038
-
9039
- .fa-sandwich:before {
9040
- content: "\f81f"; }
9041
-
9042
- .fa-sass:before {
9043
- content: "\f41e"; }
9044
-
9045
- .fa-satellite:before {
9046
- content: "\f7bf"; }
9047
-
9048
- .fa-satellite-dish:before {
9049
- content: "\f7c0"; }
9050
-
9051
- .fa-sausage:before {
9052
- content: "\f820"; }
9053
-
9054
- .fa-save:before {
9055
- content: "\f0c7"; }
9056
-
9057
- .fa-sax-hot:before {
9058
- content: "\f8db"; }
9059
-
9060
- .fa-saxophone:before {
9061
- content: "\f8dc"; }
9062
-
9063
- .fa-scalpel:before {
9064
- content: "\f61d"; }
9065
-
9066
- .fa-scalpel-path:before {
9067
- content: "\f61e"; }
9068
-
9069
- .fa-scanner:before {
9070
- content: "\f488"; }
9071
-
9072
- .fa-scanner-image:before {
9073
- content: "\f8f3"; }
9074
-
9075
- .fa-scanner-keyboard:before {
9076
- content: "\f489"; }
9077
-
9078
- .fa-scanner-touchscreen:before {
9079
- content: "\f48a"; }
9080
-
9081
- .fa-scarecrow:before {
9082
- content: "\f70d"; }
9083
-
9084
- .fa-scarf:before {
9085
- content: "\f7c1"; }
9086
-
9087
- .fa-schlix:before {
9088
- content: "\f3ea"; }
9089
-
9090
- .fa-school:before {
9091
- content: "\f549"; }
9092
-
9093
- .fa-screwdriver:before {
9094
- content: "\f54a"; }
9095
-
9096
- .fa-scribd:before {
9097
- content: "\f28a"; }
9098
-
9099
- .fa-scroll:before {
9100
- content: "\f70e"; }
9101
-
9102
- .fa-scroll-old:before {
9103
- content: "\f70f"; }
9104
-
9105
- .fa-scrubber:before {
9106
- content: "\f2f8"; }
9107
-
9108
- .fa-scythe:before {
9109
- content: "\f710"; }
9110
-
9111
- .fa-sd-card:before {
9112
- content: "\f7c2"; }
9113
-
9114
- .fa-search:before {
9115
- content: "\f002"; }
9116
-
9117
- .fa-search-dollar:before {
9118
- content: "\f688"; }
9119
-
9120
- .fa-search-location:before {
9121
- content: "\f689"; }
9122
-
9123
- .fa-search-minus:before {
9124
- content: "\f010"; }
9125
-
9126
- .fa-search-plus:before {
9127
- content: "\f00e"; }
9128
-
9129
- .fa-searchengin:before {
9130
- content: "\f3eb"; }
9131
-
9132
- .fa-seedling:before {
9133
- content: "\f4d8"; }
9134
-
9135
- .fa-sellcast:before {
9136
- content: "\f2da"; }
9137
-
9138
- .fa-sellsy:before {
9139
- content: "\f213"; }
9140
-
9141
- .fa-send-back:before {
9142
- content: "\f87e"; }
9143
-
9144
- .fa-send-backward:before {
9145
- content: "\f87f"; }
9146
-
9147
- .fa-sensor:before {
9148
- content: "\e028"; }
9149
-
9150
- .fa-sensor-alert:before {
9151
- content: "\e029"; }
9152
-
9153
- .fa-sensor-fire:before {
9154
- content: "\e02a"; }
9155
-
9156
- .fa-sensor-on:before {
9157
- content: "\e02b"; }
9158
-
9159
- .fa-sensor-smoke:before {
9160
- content: "\e02c"; }
9161
-
9162
- .fa-server:before {
9163
- content: "\f233"; }
9164
-
9165
- .fa-servicestack:before {
9166
- content: "\f3ec"; }
9167
-
9168
- .fa-shapes:before {
9169
- content: "\f61f"; }
9170
-
9171
- .fa-share:before {
9172
- content: "\f064"; }
9173
-
9174
- .fa-share-all:before {
9175
- content: "\f367"; }
9176
-
9177
- .fa-share-alt:before {
9178
- content: "\f1e0"; }
9179
-
9180
- .fa-share-alt-square:before {
9181
- content: "\f1e1"; }
9182
-
9183
- .fa-share-square:before {
9184
- content: "\f14d"; }
9185
-
9186
- .fa-sheep:before {
9187
- content: "\f711"; }
9188
-
9189
- .fa-shekel-sign:before {
9190
- content: "\f20b"; }
9191
-
9192
- .fa-shield:before {
9193
- content: "\f132"; }
9194
-
9195
- .fa-shield-alt:before {
9196
- content: "\f3ed"; }
9197
-
9198
- .fa-shield-check:before {
9199
- content: "\f2f7"; }
9200
-
9201
- .fa-shield-cross:before {
9202
- content: "\f712"; }
9203
-
9204
- .fa-shield-virus:before {
9205
- content: "\e06c"; }
9206
-
9207
- .fa-ship:before {
9208
- content: "\f21a"; }
9209
-
9210
- .fa-shipping-fast:before {
9211
- content: "\f48b"; }
9212
-
9213
- .fa-shipping-timed:before {
9214
- content: "\f48c"; }
9215
-
9216
- .fa-shirtsinbulk:before {
9217
- content: "\f214"; }
9218
-
9219
- .fa-shish-kebab:before {
9220
- content: "\f821"; }
9221
-
9222
- .fa-shoe-prints:before {
9223
- content: "\f54b"; }
9224
-
9225
- .fa-shopify:before {
9226
- content: "\e057"; }
9227
-
9228
- .fa-shopping-bag:before {
9229
- content: "\f290"; }
9230
-
9231
- .fa-shopping-basket:before {
9232
- content: "\f291"; }
9233
-
9234
- .fa-shopping-cart:before {
9235
- content: "\f07a"; }
9236
-
9237
- .fa-shopware:before {
9238
- content: "\f5b5"; }
9239
-
9240
- .fa-shovel:before {
9241
- content: "\f713"; }
9242
-
9243
- .fa-shovel-snow:before {
9244
- content: "\f7c3"; }
9245
-
9246
- .fa-shower:before {
9247
- content: "\f2cc"; }
9248
-
9249
- .fa-shredder:before {
9250
- content: "\f68a"; }
9251
-
9252
- .fa-shuttle-van:before {
9253
- content: "\f5b6"; }
9254
-
9255
- .fa-shuttlecock:before {
9256
- content: "\f45b"; }
9257
-
9258
- .fa-sickle:before {
9259
- content: "\f822"; }
9260
-
9261
- .fa-sigma:before {
9262
- content: "\f68b"; }
9263
-
9264
- .fa-sign:before {
9265
- content: "\f4d9"; }
9266
-
9267
- .fa-sign-in:before {
9268
- content: "\f090"; }
9269
-
9270
- .fa-sign-in-alt:before {
9271
- content: "\f2f6"; }
9272
-
9273
- .fa-sign-language:before {
9274
- content: "\f2a7"; }
9275
-
9276
- .fa-sign-out:before {
9277
- content: "\f08b"; }
9278
-
9279
- .fa-sign-out-alt:before {
9280
- content: "\f2f5"; }
9281
-
9282
- .fa-signal:before {
9283
- content: "\f012"; }
9284
-
9285
- .fa-signal-1:before {
9286
- content: "\f68c"; }
9287
-
9288
- .fa-signal-2:before {
9289
- content: "\f68d"; }
9290
-
9291
- .fa-signal-3:before {
9292
- content: "\f68e"; }
9293
-
9294
- .fa-signal-4:before {
9295
- content: "\f68f"; }
9296
-
9297
- .fa-signal-alt:before {
9298
- content: "\f690"; }
9299
-
9300
- .fa-signal-alt-1:before {
9301
- content: "\f691"; }
9302
-
9303
- .fa-signal-alt-2:before {
9304
- content: "\f692"; }
9305
-
9306
- .fa-signal-alt-3:before {
9307
- content: "\f693"; }
9308
-
9309
- .fa-signal-alt-slash:before {
9310
- content: "\f694"; }
9311
-
9312
- .fa-signal-slash:before {
9313
- content: "\f695"; }
9314
-
9315
- .fa-signal-stream:before {
9316
- content: "\f8dd"; }
9317
-
9318
- .fa-signature:before {
9319
- content: "\f5b7"; }
9320
-
9321
- .fa-sim-card:before {
9322
- content: "\f7c4"; }
9323
-
9324
- .fa-simplybuilt:before {
9325
- content: "\f215"; }
9326
-
9327
- .fa-sink:before {
9328
- content: "\e06d"; }
9329
-
9330
- .fa-siren:before {
9331
- content: "\e02d"; }
9332
-
9333
- .fa-siren-on:before {
9334
- content: "\e02e"; }
9335
-
9336
- .fa-sistrix:before {
9337
- content: "\f3ee"; }
9338
-
9339
- .fa-sitemap:before {
9340
- content: "\f0e8"; }
9341
-
9342
- .fa-sith:before {
9343
- content: "\f512"; }
9344
-
9345
- .fa-skating:before {
9346
- content: "\f7c5"; }
9347
-
9348
- .fa-skeleton:before {
9349
- content: "\f620"; }
9350
-
9351
- .fa-sketch:before {
9352
- content: "\f7c6"; }
9353
-
9354
- .fa-ski-jump:before {
9355
- content: "\f7c7"; }
9356
-
9357
- .fa-ski-lift:before {
9358
- content: "\f7c8"; }
9359
-
9360
- .fa-skiing:before {
9361
- content: "\f7c9"; }
9362
-
9363
- .fa-skiing-nordic:before {
9364
- content: "\f7ca"; }
9365
-
9366
- .fa-skull:before {
9367
- content: "\f54c"; }
9368
-
9369
- .fa-skull-cow:before {
9370
- content: "\f8de"; }
9371
-
9372
- .fa-skull-crossbones:before {
9373
- content: "\f714"; }
9374
-
9375
- .fa-skyatlas:before {
9376
- content: "\f216"; }
9377
-
9378
- .fa-skype:before {
9379
- content: "\f17e"; }
9380
-
9381
- .fa-slack:before {
9382
- content: "\f198"; }
9383
-
9384
- .fa-slack-hash:before {
9385
- content: "\f3ef"; }
9386
-
9387
- .fa-slash:before {
9388
- content: "\f715"; }
9389
-
9390
- .fa-sledding:before {
9391
- content: "\f7cb"; }
9392
-
9393
- .fa-sleigh:before {
9394
- content: "\f7cc"; }
9395
-
9396
- .fa-sliders-h:before {
9397
- content: "\f1de"; }
9398
-
9399
- .fa-sliders-h-square:before {
9400
- content: "\f3f0"; }
9401
-
9402
- .fa-sliders-v:before {
9403
- content: "\f3f1"; }
9404
-
9405
- .fa-sliders-v-square:before {
9406
- content: "\f3f2"; }
9407
-
9408
- .fa-slideshare:before {
9409
- content: "\f1e7"; }
9410
-
9411
- .fa-smile:before {
9412
- content: "\f118"; }
9413
-
9414
- .fa-smile-beam:before {
9415
- content: "\f5b8"; }
9416
-
9417
- .fa-smile-plus:before {
9418
- content: "\f5b9"; }
9419
-
9420
- .fa-smile-wink:before {
9421
- content: "\f4da"; }
9422
-
9423
- .fa-smog:before {
9424
- content: "\f75f"; }
9425
-
9426
- .fa-smoke:before {
9427
- content: "\f760"; }
9428
-
9429
- .fa-smoking:before {
9430
- content: "\f48d"; }
9431
-
9432
- .fa-smoking-ban:before {
9433
- content: "\f54d"; }
9434
-
9435
- .fa-sms:before {
9436
- content: "\f7cd"; }
9437
-
9438
- .fa-snake:before {
9439
- content: "\f716"; }
9440
-
9441
- .fa-snapchat:before {
9442
- content: "\f2ab"; }
9443
-
9444
- .fa-snapchat-ghost:before {
9445
- content: "\f2ac"; }
9446
-
9447
- .fa-snapchat-square:before {
9448
- content: "\f2ad"; }
9449
-
9450
- .fa-snooze:before {
9451
- content: "\f880"; }
9452
-
9453
- .fa-snow-blowing:before {
9454
- content: "\f761"; }
9455
-
9456
- .fa-snowboarding:before {
9457
- content: "\f7ce"; }
9458
-
9459
- .fa-snowflake:before {
9460
- content: "\f2dc"; }
9461
-
9462
- .fa-snowflakes:before {
9463
- content: "\f7cf"; }
9464
-
9465
- .fa-snowman:before {
9466
- content: "\f7d0"; }
9467
-
9468
- .fa-snowmobile:before {
9469
- content: "\f7d1"; }
9470
-
9471
- .fa-snowplow:before {
9472
- content: "\f7d2"; }
9473
-
9474
- .fa-soap:before {
9475
- content: "\e06e"; }
9476
-
9477
- .fa-socks:before {
9478
- content: "\f696"; }
9479
-
9480
- .fa-solar-panel:before {
9481
- content: "\f5ba"; }
9482
-
9483
- .fa-solar-system:before {
9484
- content: "\e02f"; }
9485
-
9486
- .fa-sort:before {
9487
- content: "\f0dc"; }
9488
-
9489
- .fa-sort-alpha-down:before {
9490
- content: "\f15d"; }
9491
-
9492
- .fa-sort-alpha-down-alt:before {
9493
- content: "\f881"; }
9494
-
9495
- .fa-sort-alpha-up:before {
9496
- content: "\f15e"; }
9497
-
9498
- .fa-sort-alpha-up-alt:before {
9499
- content: "\f882"; }
9500
-
9501
- .fa-sort-alt:before {
9502
- content: "\f883"; }
9503
-
9504
- .fa-sort-amount-down:before {
9505
- content: "\f160"; }
9506
-
9507
- .fa-sort-amount-down-alt:before {
9508
- content: "\f884"; }
9509
-
9510
- .fa-sort-amount-up:before {
9511
- content: "\f161"; }
9512
-
9513
- .fa-sort-amount-up-alt:before {
9514
- content: "\f885"; }
9515
-
9516
- .fa-sort-circle:before {
9517
- content: "\e030"; }
9518
-
9519
- .fa-sort-circle-down:before {
9520
- content: "\e031"; }
9521
-
9522
- .fa-sort-circle-up:before {
9523
- content: "\e032"; }
9524
-
9525
- .fa-sort-down:before {
9526
- content: "\f0dd"; }
9527
-
9528
- .fa-sort-numeric-down:before {
9529
- content: "\f162"; }
9530
-
9531
- .fa-sort-numeric-down-alt:before {
9532
- content: "\f886"; }
9533
-
9534
- .fa-sort-numeric-up:before {
9535
- content: "\f163"; }
9536
-
9537
- .fa-sort-numeric-up-alt:before {
9538
- content: "\f887"; }
9539
-
9540
- .fa-sort-shapes-down:before {
9541
- content: "\f888"; }
9542
-
9543
- .fa-sort-shapes-down-alt:before {
9544
- content: "\f889"; }
9545
-
9546
- .fa-sort-shapes-up:before {
9547
- content: "\f88a"; }
9548
-
9549
- .fa-sort-shapes-up-alt:before {
9550
- content: "\f88b"; }
9551
-
9552
- .fa-sort-size-down:before {
9553
- content: "\f88c"; }
9554
-
9555
- .fa-sort-size-down-alt:before {
9556
- content: "\f88d"; }
9557
-
9558
- .fa-sort-size-up:before {
9559
- content: "\f88e"; }
9560
-
9561
- .fa-sort-size-up-alt:before {
9562
- content: "\f88f"; }
9563
-
9564
- .fa-sort-up:before {
9565
- content: "\f0de"; }
9566
-
9567
- .fa-soundcloud:before {
9568
- content: "\f1be"; }
9569
-
9570
- .fa-soup:before {
9571
- content: "\f823"; }
9572
-
9573
- .fa-sourcetree:before {
9574
- content: "\f7d3"; }
9575
-
9576
- .fa-spa:before {
9577
- content: "\f5bb"; }
9578
-
9579
- .fa-space-shuttle:before {
9580
- content: "\f197"; }
9581
-
9582
- .fa-space-station-moon:before {
9583
- content: "\e033"; }
9584
-
9585
- .fa-space-station-moon-alt:before {
9586
- content: "\e034"; }
9587
-
9588
- .fa-spade:before {
9589
- content: "\f2f4"; }
9590
-
9591
- .fa-sparkles:before {
9592
- content: "\f890"; }
9593
-
9594
- .fa-speakap:before {
9595
- content: "\f3f3"; }
9596
-
9597
- .fa-speaker:before {
9598
- content: "\f8df"; }
9599
-
9600
- .fa-speaker-deck:before {
9601
- content: "\f83c"; }
9602
-
9603
- .fa-speakers:before {
9604
- content: "\f8e0"; }
9605
-
9606
- .fa-spell-check:before {
9607
- content: "\f891"; }
9608
-
9609
- .fa-spider:before {
9610
- content: "\f717"; }
9611
-
9612
- .fa-spider-black-widow:before {
9613
- content: "\f718"; }
9614
-
9615
- .fa-spider-web:before {
9616
- content: "\f719"; }
9617
-
9618
- .fa-spinner:before {
9619
- content: "\f110"; }
9620
-
9621
- .fa-spinner-third:before {
9622
- content: "\f3f4"; }
9623
-
9624
- .fa-splotch:before {
9625
- content: "\f5bc"; }
9626
-
9627
- .fa-spotify:before {
9628
- content: "\f1bc"; }
9629
-
9630
- .fa-spray-can:before {
9631
- content: "\f5bd"; }
9632
-
9633
- .fa-sprinkler:before {
9634
- content: "\e035"; }
9635
-
9636
- .fa-square:before {
9637
- content: "\f0c8"; }
9638
-
9639
- .fa-square-full:before {
9640
- content: "\f45c"; }
9641
-
9642
- .fa-square-root:before {
9643
- content: "\f697"; }
9644
-
9645
- .fa-square-root-alt:before {
9646
- content: "\f698"; }
9647
-
9648
- .fa-squarespace:before {
9649
- content: "\f5be"; }
9650
-
9651
- .fa-squirrel:before {
9652
- content: "\f71a"; }
9653
-
9654
- .fa-stack-exchange:before {
9655
- content: "\f18d"; }
9656
-
9657
- .fa-stack-overflow:before {
9658
- content: "\f16c"; }
9659
-
9660
- .fa-stackpath:before {
9661
- content: "\f842"; }
9662
-
9663
- .fa-staff:before {
9664
- content: "\f71b"; }
9665
-
9666
- .fa-stamp:before {
9667
- content: "\f5bf"; }
9668
-
9669
- .fa-star:before {
9670
- content: "\f005"; }
9671
-
9672
- .fa-star-and-crescent:before {
9673
- content: "\f699"; }
9674
-
9675
- .fa-star-christmas:before {
9676
- content: "\f7d4"; }
9677
-
9678
- .fa-star-exclamation:before {
9679
- content: "\f2f3"; }
9680
-
9681
- .fa-star-half:before {
9682
- content: "\f089"; }
9683
-
9684
- .fa-star-half-alt:before {
9685
- content: "\f5c0"; }
9686
-
9687
- .fa-star-of-david:before {
9688
- content: "\f69a"; }
9689
-
9690
- .fa-star-of-life:before {
9691
- content: "\f621"; }
9692
-
9693
- .fa-star-shooting:before {
9694
- content: "\e036"; }
9695
-
9696
- .fa-starfighter:before {
9697
- content: "\e037"; }
9698
-
9699
- .fa-starfighter-alt:before {
9700
- content: "\e038"; }
9701
-
9702
- .fa-stars:before {
9703
- content: "\f762"; }
9704
-
9705
- .fa-starship:before {
9706
- content: "\e039"; }
9707
-
9708
- .fa-starship-freighter:before {
9709
- content: "\e03a"; }
9710
-
9711
- .fa-staylinked:before {
9712
- content: "\f3f5"; }
9713
-
9714
- .fa-steak:before {
9715
- content: "\f824"; }
9716
-
9717
- .fa-steam:before {
9718
- content: "\f1b6"; }
9719
-
9720
- .fa-steam-square:before {
9721
- content: "\f1b7"; }
9722
-
9723
- .fa-steam-symbol:before {
9724
- content: "\f3f6"; }
9725
-
9726
- .fa-steering-wheel:before {
9727
- content: "\f622"; }
9728
-
9729
- .fa-step-backward:before {
9730
- content: "\f048"; }
9731
-
9732
- .fa-step-forward:before {
9733
- content: "\f051"; }
9734
-
9735
- .fa-stethoscope:before {
9736
- content: "\f0f1"; }
9737
-
9738
- .fa-sticker-mule:before {
9739
- content: "\f3f7"; }
9740
-
9741
- .fa-sticky-note:before {
9742
- content: "\f249"; }
9743
-
9744
- .fa-stocking:before {
9745
- content: "\f7d5"; }
9746
-
9747
- .fa-stomach:before {
9748
- content: "\f623"; }
9749
-
9750
- .fa-stop:before {
9751
- content: "\f04d"; }
9752
-
9753
- .fa-stop-circle:before {
9754
- content: "\f28d"; }
9755
-
9756
- .fa-stopwatch:before {
9757
- content: "\f2f2"; }
9758
-
9759
- .fa-stopwatch-20:before {
9760
- content: "\e06f"; }
9761
-
9762
- .fa-store:before {
9763
- content: "\f54e"; }
9764
-
9765
- .fa-store-alt:before {
9766
- content: "\f54f"; }
9767
-
9768
- .fa-store-alt-slash:before {
9769
- content: "\e070"; }
9770
-
9771
- .fa-store-slash:before {
9772
- content: "\e071"; }
9773
-
9774
- .fa-strava:before {
9775
- content: "\f428"; }
9776
-
9777
- .fa-stream:before {
9778
- content: "\f550"; }
9779
-
9780
- .fa-street-view:before {
9781
- content: "\f21d"; }
9782
-
9783
- .fa-stretcher:before {
9784
- content: "\f825"; }
9785
-
9786
- .fa-strikethrough:before {
9787
- content: "\f0cc"; }
9788
-
9789
- .fa-stripe:before {
9790
- content: "\f429"; }
9791
-
9792
- .fa-stripe-s:before {
9793
- content: "\f42a"; }
9794
-
9795
- .fa-stroopwafel:before {
9796
- content: "\f551"; }
9797
-
9798
- .fa-studiovinari:before {
9799
- content: "\f3f8"; }
9800
-
9801
- .fa-stumbleupon:before {
9802
- content: "\f1a4"; }
9803
-
9804
- .fa-stumbleupon-circle:before {
9805
- content: "\f1a3"; }
9806
-
9807
- .fa-subscript:before {
9808
- content: "\f12c"; }
9809
-
9810
- .fa-subway:before {
9811
- content: "\f239"; }
9812
-
9813
- .fa-suitcase:before {
9814
- content: "\f0f2"; }
9815
-
9816
- .fa-suitcase-rolling:before {
9817
- content: "\f5c1"; }
9818
-
9819
- .fa-sun:before {
9820
- content: "\f185"; }
9821
-
9822
- .fa-sun-cloud:before {
9823
- content: "\f763"; }
9824
-
9825
- .fa-sun-dust:before {
9826
- content: "\f764"; }
9827
-
9828
- .fa-sun-haze:before {
9829
- content: "\f765"; }
9830
-
9831
- .fa-sunglasses:before {
9832
- content: "\f892"; }
9833
-
9834
- .fa-sunrise:before {
9835
- content: "\f766"; }
9836
-
9837
- .fa-sunset:before {
9838
- content: "\f767"; }
9839
-
9840
- .fa-superpowers:before {
9841
- content: "\f2dd"; }
9842
-
9843
- .fa-superscript:before {
9844
- content: "\f12b"; }
9845
-
9846
- .fa-supple:before {
9847
- content: "\f3f9"; }
9848
-
9849
- .fa-surprise:before {
9850
- content: "\f5c2"; }
9851
-
9852
- .fa-suse:before {
9853
- content: "\f7d6"; }
9854
-
9855
- .fa-swatchbook:before {
9856
- content: "\f5c3"; }
9857
-
9858
- .fa-swift:before {
9859
- content: "\f8e1"; }
9860
-
9861
- .fa-swimmer:before {
9862
- content: "\f5c4"; }
9863
-
9864
- .fa-swimming-pool:before {
9865
- content: "\f5c5"; }
9866
-
9867
- .fa-sword:before {
9868
- content: "\f71c"; }
9869
-
9870
- .fa-sword-laser:before {
9871
- content: "\e03b"; }
9872
-
9873
- .fa-sword-laser-alt:before {
9874
- content: "\e03c"; }
9875
-
9876
- .fa-swords:before {
9877
- content: "\f71d"; }
9878
-
9879
- .fa-swords-laser:before {
9880
- content: "\e03d"; }
9881
-
9882
- .fa-symfony:before {
9883
- content: "\f83d"; }
9884
-
9885
- .fa-synagogue:before {
9886
- content: "\f69b"; }
9887
-
9888
- .fa-sync:before {
9889
- content: "\f021"; }
9890
-
9891
- .fa-sync-alt:before {
9892
- content: "\f2f1"; }
9893
-
9894
- .fa-syringe:before {
9895
- content: "\f48e"; }
9896
-
9897
- .fa-table:before {
9898
- content: "\f0ce"; }
9899
-
9900
- .fa-table-tennis:before {
9901
- content: "\f45d"; }
9902
-
9903
- .fa-tablet:before {
9904
- content: "\f10a"; }
9905
-
9906
- .fa-tablet-alt:before {
9907
- content: "\f3fa"; }
9908
-
9909
- .fa-tablet-android:before {
9910
- content: "\f3fb"; }
9911
-
9912
- .fa-tablet-android-alt:before {
9913
- content: "\f3fc"; }
9914
-
9915
- .fa-tablet-rugged:before {
9916
- content: "\f48f"; }
9917
-
9918
- .fa-tablets:before {
9919
- content: "\f490"; }
9920
-
9921
- .fa-tachometer:before {
9922
- content: "\f0e4"; }
9923
-
9924
- .fa-tachometer-alt:before {
9925
- content: "\f3fd"; }
9926
-
9927
- .fa-tachometer-alt-average:before {
9928
- content: "\f624"; }
9929
-
9930
- .fa-tachometer-alt-fast:before {
9931
- content: "\f625"; }
9932
-
9933
- .fa-tachometer-alt-fastest:before {
9934
- content: "\f626"; }
9935
-
9936
- .fa-tachometer-alt-slow:before {
9937
- content: "\f627"; }
9938
-
9939
- .fa-tachometer-alt-slowest:before {
9940
- content: "\f628"; }
9941
-
9942
- .fa-tachometer-average:before {
9943
- content: "\f629"; }
9944
-
9945
- .fa-tachometer-fast:before {
9946
- content: "\f62a"; }
9947
-
9948
- .fa-tachometer-fastest:before {
9949
- content: "\f62b"; }
9950
-
9951
- .fa-tachometer-slow:before {
9952
- content: "\f62c"; }
9953
-
9954
- .fa-tachometer-slowest:before {
9955
- content: "\f62d"; }
9956
-
9957
- .fa-taco:before {
9958
- content: "\f826"; }
9959
-
9960
- .fa-tag:before {
9961
- content: "\f02b"; }
9962
-
9963
- .fa-tags:before {
9964
- content: "\f02c"; }
9965
-
9966
- .fa-tally:before {
9967
- content: "\f69c"; }
9968
-
9969
- .fa-tanakh:before {
9970
- content: "\f827"; }
9971
-
9972
- .fa-tape:before {
9973
- content: "\f4db"; }
9974
-
9975
- .fa-tasks:before {
9976
- content: "\f0ae"; }
9977
-
9978
- .fa-tasks-alt:before {
9979
- content: "\f828"; }
9980
-
9981
- .fa-taxi:before {
9982
- content: "\f1ba"; }
9983
-
9984
- .fa-teamspeak:before {
9985
- content: "\f4f9"; }
9986
-
9987
- .fa-teeth:before {
9988
- content: "\f62e"; }
9989
-
9990
- .fa-teeth-open:before {
9991
- content: "\f62f"; }
9992
-
9993
- .fa-telegram:before {
9994
- content: "\f2c6"; }
9995
-
9996
- .fa-telegram-plane:before {
9997
- content: "\f3fe"; }
9998
-
9999
- .fa-telescope:before {
10000
- content: "\e03e"; }
10001
-
10002
- .fa-temperature-down:before {
10003
- content: "\e03f"; }
10004
-
10005
- .fa-temperature-frigid:before {
10006
- content: "\f768"; }
10007
-
10008
- .fa-temperature-high:before {
10009
- content: "\f769"; }
10010
-
10011
- .fa-temperature-hot:before {
10012
- content: "\f76a"; }
10013
-
10014
- .fa-temperature-low:before {
10015
- content: "\f76b"; }
10016
-
10017
- .fa-temperature-up:before {
10018
- content: "\e040"; }
10019
-
10020
- .fa-tencent-weibo:before {
10021
- content: "\f1d5"; }
10022
-
10023
- .fa-tenge:before {
10024
- content: "\f7d7"; }
10025
-
10026
- .fa-tennis-ball:before {
10027
- content: "\f45e"; }
10028
-
10029
- .fa-terminal:before {
10030
- content: "\f120"; }
10031
-
10032
- .fa-text:before {
10033
- content: "\f893"; }
10034
-
10035
- .fa-text-height:before {
10036
- content: "\f034"; }
10037
-
10038
- .fa-text-size:before {
10039
- content: "\f894"; }
10040
-
10041
- .fa-text-width:before {
10042
- content: "\f035"; }
10043
-
10044
- .fa-th:before {
10045
- content: "\f00a"; }
10046
-
10047
- .fa-th-large:before {
10048
- content: "\f009"; }
10049
-
10050
- .fa-th-list:before {
10051
- content: "\f00b"; }
10052
-
10053
- .fa-the-red-yeti:before {
10054
- content: "\f69d"; }
10055
-
10056
- .fa-theater-masks:before {
10057
- content: "\f630"; }
10058
-
10059
- .fa-themeco:before {
10060
- content: "\f5c6"; }
10061
-
10062
- .fa-themeisle:before {
10063
- content: "\f2b2"; }
10064
-
10065
- .fa-thermometer:before {
10066
- content: "\f491"; }
10067
-
10068
- .fa-thermometer-empty:before {
10069
- content: "\f2cb"; }
10070
-
10071
- .fa-thermometer-full:before {
10072
- content: "\f2c7"; }
10073
-
10074
- .fa-thermometer-half:before {
10075
- content: "\f2c9"; }
10076
-
10077
- .fa-thermometer-quarter:before {
10078
- content: "\f2ca"; }
10079
-
10080
- .fa-thermometer-three-quarters:before {
10081
- content: "\f2c8"; }
10082
-
10083
- .fa-theta:before {
10084
- content: "\f69e"; }
10085
-
10086
- .fa-think-peaks:before {
10087
- content: "\f731"; }
10088
-
10089
- .fa-thumbs-down:before {
10090
- content: "\f165"; }
10091
-
10092
- .fa-thumbs-up:before {
10093
- content: "\f164"; }
10094
-
10095
- .fa-thumbtack:before {
10096
- content: "\f08d"; }
10097
-
10098
- .fa-thunderstorm:before {
10099
- content: "\f76c"; }
10100
-
10101
- .fa-thunderstorm-moon:before {
10102
- content: "\f76d"; }
10103
-
10104
- .fa-thunderstorm-sun:before {
10105
- content: "\f76e"; }
10106
-
10107
- .fa-ticket:before {
10108
- content: "\f145"; }
10109
-
10110
- .fa-ticket-alt:before {
10111
- content: "\f3ff"; }
10112
-
10113
- .fa-tiktok:before {
10114
- content: "\e07b"; }
10115
-
10116
- .fa-tilde:before {
10117
- content: "\f69f"; }
10118
-
10119
- .fa-times:before {
10120
- content: "\f00d"; }
10121
-
10122
- .fa-times-circle:before {
10123
- content: "\f057"; }
10124
-
10125
- .fa-times-hexagon:before {
10126
- content: "\f2ee"; }
10127
-
10128
- .fa-times-octagon:before {
10129
- content: "\f2f0"; }
10130
-
10131
- .fa-times-square:before {
10132
- content: "\f2d3"; }
10133
-
10134
- .fa-tint:before {
10135
- content: "\f043"; }
10136
-
10137
- .fa-tint-slash:before {
10138
- content: "\f5c7"; }
10139
-
10140
- .fa-tire:before {
10141
- content: "\f631"; }
10142
-
10143
- .fa-tire-flat:before {
10144
- content: "\f632"; }
10145
-
10146
- .fa-tire-pressure-warning:before {
10147
- content: "\f633"; }
10148
-
10149
- .fa-tire-rugged:before {
10150
- content: "\f634"; }
10151
-
10152
- .fa-tired:before {
10153
- content: "\f5c8"; }
10154
-
10155
- .fa-toggle-off:before {
10156
- content: "\f204"; }
10157
-
10158
- .fa-toggle-on:before {
10159
- content: "\f205"; }
10160
-
10161
- .fa-toilet:before {
10162
- content: "\f7d8"; }
10163
-
10164
- .fa-toilet-paper:before {
10165
- content: "\f71e"; }
10166
-
10167
- .fa-toilet-paper-alt:before {
10168
- content: "\f71f"; }
10169
-
10170
- .fa-toilet-paper-slash:before {
10171
- content: "\e072"; }
10172
-
10173
- .fa-tombstone:before {
10174
- content: "\f720"; }
10175
-
10176
- .fa-tombstone-alt:before {
10177
- content: "\f721"; }
10178
-
10179
- .fa-toolbox:before {
10180
- content: "\f552"; }
10181
-
10182
- .fa-tools:before {
10183
- content: "\f7d9"; }
10184
-
10185
- .fa-tooth:before {
10186
- content: "\f5c9"; }
10187
-
10188
- .fa-toothbrush:before {
10189
- content: "\f635"; }
10190
-
10191
- .fa-torah:before {
10192
- content: "\f6a0"; }
10193
-
10194
- .fa-torii-gate:before {
10195
- content: "\f6a1"; }
10196
-
10197
- .fa-tornado:before {
10198
- content: "\f76f"; }
10199
-
10200
- .fa-tractor:before {
10201
- content: "\f722"; }
10202
-
10203
- .fa-trade-federation:before {
10204
- content: "\f513"; }
10205
-
10206
- .fa-trademark:before {
10207
- content: "\f25c"; }
10208
-
10209
- .fa-traffic-cone:before {
10210
- content: "\f636"; }
10211
-
10212
- .fa-traffic-light:before {
10213
- content: "\f637"; }
10214
-
10215
- .fa-traffic-light-go:before {
10216
- content: "\f638"; }
10217
-
10218
- .fa-traffic-light-slow:before {
10219
- content: "\f639"; }
10220
-
10221
- .fa-traffic-light-stop:before {
10222
- content: "\f63a"; }
10223
-
10224
- .fa-trailer:before {
10225
- content: "\e041"; }
10226
-
10227
- .fa-train:before {
10228
- content: "\f238"; }
10229
-
10230
- .fa-tram:before {
10231
- content: "\f7da"; }
10232
-
10233
- .fa-transgender:before {
10234
- content: "\f224"; }
10235
-
10236
- .fa-transgender-alt:before {
10237
- content: "\f225"; }
10238
-
10239
- .fa-transporter:before {
10240
- content: "\e042"; }
10241
-
10242
- .fa-transporter-1:before {
10243
- content: "\e043"; }
10244
-
10245
- .fa-transporter-2:before {
10246
- content: "\e044"; }
10247
-
10248
- .fa-transporter-3:before {
10249
- content: "\e045"; }
10250
-
10251
- .fa-transporter-empty:before {
10252
- content: "\e046"; }
10253
-
10254
- .fa-trash:before {
10255
- content: "\f1f8"; }
10256
-
10257
- .fa-trash-alt:before {
10258
- content: "\f2ed"; }
10259
-
10260
- .fa-trash-restore:before {
10261
- content: "\f829"; }
10262
-
10263
- .fa-trash-restore-alt:before {
10264
- content: "\f82a"; }
10265
-
10266
- .fa-trash-undo:before {
10267
- content: "\f895"; }
10268
-
10269
- .fa-trash-undo-alt:before {
10270
- content: "\f896"; }
10271
-
10272
- .fa-treasure-chest:before {
10273
- content: "\f723"; }
10274
-
10275
- .fa-tree:before {
10276
- content: "\f1bb"; }
10277
-
10278
- .fa-tree-alt:before {
10279
- content: "\f400"; }
10280
-
10281
- .fa-tree-christmas:before {
10282
- content: "\f7db"; }
10283
-
10284
- .fa-tree-decorated:before {
10285
- content: "\f7dc"; }
10286
-
10287
- .fa-tree-large:before {
10288
- content: "\f7dd"; }
10289
-
10290
- .fa-tree-palm:before {
10291
- content: "\f82b"; }
10292
-
10293
- .fa-trees:before {
10294
- content: "\f724"; }
10295
-
10296
- .fa-trello:before {
10297
- content: "\f181"; }
10298
-
10299
- .fa-triangle:before {
10300
- content: "\f2ec"; }
10301
-
10302
- .fa-triangle-music:before {
10303
- content: "\f8e2"; }
10304
-
10305
- .fa-trophy:before {
10306
- content: "\f091"; }
10307
-
10308
- .fa-trophy-alt:before {
10309
- content: "\f2eb"; }
10310
-
10311
- .fa-truck:before {
10312
- content: "\f0d1"; }
10313
-
10314
- .fa-truck-container:before {
10315
- content: "\f4dc"; }
10316
-
10317
- .fa-truck-couch:before {
10318
- content: "\f4dd"; }
10319
-
10320
- .fa-truck-loading:before {
10321
- content: "\f4de"; }
10322
-
10323
- .fa-truck-monster:before {
10324
- content: "\f63b"; }
10325
-
10326
- .fa-truck-moving:before {
10327
- content: "\f4df"; }
10328
-
10329
- .fa-truck-pickup:before {
10330
- content: "\f63c"; }
10331
-
10332
- .fa-truck-plow:before {
10333
- content: "\f7de"; }
10334
-
10335
- .fa-truck-ramp:before {
10336
- content: "\f4e0"; }
10337
-
10338
- .fa-trumpet:before {
10339
- content: "\f8e3"; }
10340
-
10341
- .fa-tshirt:before {
10342
- content: "\f553"; }
10343
-
10344
- .fa-tty:before {
10345
- content: "\f1e4"; }
10346
-
10347
- .fa-tumblr:before {
10348
- content: "\f173"; }
10349
-
10350
- .fa-tumblr-square:before {
10351
- content: "\f174"; }
10352
-
10353
- .fa-turkey:before {
10354
- content: "\f725"; }
10355
-
10356
- .fa-turntable:before {
10357
- content: "\f8e4"; }
10358
-
10359
- .fa-turtle:before {
10360
- content: "\f726"; }
10361
-
10362
- .fa-tv:before {
10363
- content: "\f26c"; }
10364
-
10365
- .fa-tv-alt:before {
10366
- content: "\f8e5"; }
10367
-
10368
- .fa-tv-music:before {
10369
- content: "\f8e6"; }
10370
-
10371
- .fa-tv-retro:before {
10372
- content: "\f401"; }
10373
-
10374
- .fa-twitch:before {
10375
- content: "\f1e8"; }
10376
-
10377
- .fa-twitter:before {
10378
- content: "\f099"; }
10379
-
10380
- .fa-twitter-square:before {
10381
- content: "\f081"; }
10382
-
10383
- .fa-typewriter:before {
10384
- content: "\f8e7"; }
10385
-
10386
- .fa-typo3:before {
10387
- content: "\f42b"; }
10388
-
10389
- .fa-uber:before {
10390
- content: "\f402"; }
10391
-
10392
- .fa-ubuntu:before {
10393
- content: "\f7df"; }
10394
-
10395
- .fa-ufo:before {
10396
- content: "\e047"; }
10397
-
10398
- .fa-ufo-beam:before {
10399
- content: "\e048"; }
10400
-
10401
- .fa-uikit:before {
10402
- content: "\f403"; }
10403
-
10404
- .fa-umbraco:before {
10405
- content: "\f8e8"; }
10406
-
10407
- .fa-umbrella:before {
10408
- content: "\f0e9"; }
10409
-
10410
- .fa-umbrella-beach:before {
10411
- content: "\f5ca"; }
10412
-
10413
- .fa-uncharted:before {
10414
- content: "\e084"; }
10415
-
10416
- .fa-underline:before {
10417
- content: "\f0cd"; }
10418
-
10419
- .fa-undo:before {
10420
- content: "\f0e2"; }
10421
-
10422
- .fa-undo-alt:before {
10423
- content: "\f2ea"; }
10424
-
10425
- .fa-unicorn:before {
10426
- content: "\f727"; }
10427
-
10428
- .fa-union:before {
10429
- content: "\f6a2"; }
10430
-
10431
- .fa-uniregistry:before {
10432
- content: "\f404"; }
10433
-
10434
- .fa-unity:before {
10435
- content: "\e049"; }
10436
-
10437
- .fa-universal-access:before {
10438
- content: "\f29a"; }
10439
-
10440
- .fa-university:before {
10441
- content: "\f19c"; }
10442
-
10443
- .fa-unlink:before {
10444
- content: "\f127"; }
10445
-
10446
- .fa-unlock:before {
10447
- content: "\f09c"; }
10448
-
10449
- .fa-unlock-alt:before {
10450
- content: "\f13e"; }
10451
-
10452
- .fa-unsplash:before {
10453
- content: "\e07c"; }
10454
-
10455
- .fa-untappd:before {
10456
- content: "\f405"; }
10457
-
10458
- .fa-upload:before {
10459
- content: "\f093"; }
10460
-
10461
- .fa-ups:before {
10462
- content: "\f7e0"; }
10463
-
10464
- .fa-usb:before {
10465
- content: "\f287"; }
10466
-
10467
- .fa-usb-drive:before {
10468
- content: "\f8e9"; }
10469
-
10470
- .fa-usd-circle:before {
10471
- content: "\f2e8"; }
10472
-
10473
- .fa-usd-square:before {
10474
- content: "\f2e9"; }
10475
-
10476
- .fa-user:before {
10477
- content: "\f007"; }
10478
-
10479
- .fa-user-alien:before {
10480
- content: "\e04a"; }
10481
-
10482
- .fa-user-alt:before {
10483
- content: "\f406"; }
10484
-
10485
- .fa-user-alt-slash:before {
10486
- content: "\f4fa"; }
10487
-
10488
- .fa-user-astronaut:before {
10489
- content: "\f4fb"; }
10490
-
10491
- .fa-user-chart:before {
10492
- content: "\f6a3"; }
10493
-
10494
- .fa-user-check:before {
10495
- content: "\f4fc"; }
10496
-
10497
- .fa-user-circle:before {
10498
- content: "\f2bd"; }
10499
-
10500
- .fa-user-clock:before {
10501
- content: "\f4fd"; }
10502
-
10503
- .fa-user-cog:before {
10504
- content: "\f4fe"; }
10505
-
10506
- .fa-user-cowboy:before {
10507
- content: "\f8ea"; }
10508
-
10509
- .fa-user-crown:before {
10510
- content: "\f6a4"; }
10511
-
10512
- .fa-user-edit:before {
10513
- content: "\f4ff"; }
10514
-
10515
- .fa-user-friends:before {
10516
- content: "\f500"; }
10517
-
10518
- .fa-user-graduate:before {
10519
- content: "\f501"; }
10520
-
10521
- .fa-user-hard-hat:before {
10522
- content: "\f82c"; }
10523
-
10524
- .fa-user-headset:before {
10525
- content: "\f82d"; }
10526
-
10527
- .fa-user-injured:before {
10528
- content: "\f728"; }
10529
-
10530
- .fa-user-lock:before {
10531
- content: "\f502"; }
10532
-
10533
- .fa-user-md:before {
10534
- content: "\f0f0"; }
10535
-
10536
- .fa-user-md-chat:before {
10537
- content: "\f82e"; }
10538
-
10539
- .fa-user-minus:before {
10540
- content: "\f503"; }
10541
-
10542
- .fa-user-music:before {
10543
- content: "\f8eb"; }
10544
-
10545
- .fa-user-ninja:before {
10546
- content: "\f504"; }
10547
-
10548
- .fa-user-nurse:before {
10549
- content: "\f82f"; }
10550
-
10551
- .fa-user-plus:before {
10552
- content: "\f234"; }
10553
-
10554
- .fa-user-robot:before {
10555
- content: "\e04b"; }
10556
-
10557
- .fa-user-secret:before {
10558
- content: "\f21b"; }
10559
-
10560
- .fa-user-shield:before {
10561
- content: "\f505"; }
10562
-
10563
- .fa-user-slash:before {
10564
- content: "\f506"; }
10565
-
10566
- .fa-user-tag:before {
10567
- content: "\f507"; }
10568
-
10569
- .fa-user-tie:before {
10570
- content: "\f508"; }
10571
-
10572
- .fa-user-times:before {
10573
- content: "\f235"; }
10574
-
10575
- .fa-user-unlock:before {
10576
- content: "\e058"; }
10577
-
10578
- .fa-user-visor:before {
10579
- content: "\e04c"; }
10580
-
10581
- .fa-users:before {
10582
- content: "\f0c0"; }
10583
-
10584
- .fa-users-class:before {
10585
- content: "\f63d"; }
10586
-
10587
- .fa-users-cog:before {
10588
- content: "\f509"; }
10589
-
10590
- .fa-users-crown:before {
10591
- content: "\f6a5"; }
10592
-
10593
- .fa-users-medical:before {
10594
- content: "\f830"; }
10595
-
10596
- .fa-users-slash:before {
10597
- content: "\e073"; }
10598
-
10599
- .fa-usps:before {
10600
- content: "\f7e1"; }
10601
-
10602
- .fa-ussunnah:before {
10603
- content: "\f407"; }
10604
-
10605
- .fa-utensil-fork:before {
10606
- content: "\f2e3"; }
10607
-
10608
- .fa-utensil-knife:before {
10609
- content: "\f2e4"; }
10610
-
10611
- .fa-utensil-spoon:before {
10612
- content: "\f2e5"; }
10613
-
10614
- .fa-utensils:before {
10615
- content: "\f2e7"; }
10616
-
10617
- .fa-utensils-alt:before {
10618
- content: "\f2e6"; }
10619
-
10620
- .fa-vaadin:before {
10621
- content: "\f408"; }
10622
-
10623
- .fa-vacuum:before {
10624
- content: "\e04d"; }
10625
-
10626
- .fa-vacuum-robot:before {
10627
- content: "\e04e"; }
10628
-
10629
- .fa-value-absolute:before {
10630
- content: "\f6a6"; }
10631
-
10632
- .fa-vector-square:before {
10633
- content: "\f5cb"; }
10634
-
10635
- .fa-venus:before {
10636
- content: "\f221"; }
10637
-
10638
- .fa-venus-double:before {
10639
- content: "\f226"; }
10640
-
10641
- .fa-venus-mars:before {
10642
- content: "\f228"; }
10643
-
10644
- .fa-vest:before {
10645
- content: "\e085"; }
10646
-
10647
- .fa-vest-patches:before {
10648
- content: "\e086"; }
10649
-
10650
- .fa-vhs:before {
10651
- content: "\f8ec"; }
10652
-
10653
- .fa-viacoin:before {
10654
- content: "\f237"; }
10655
-
10656
- .fa-viadeo:before {
10657
- content: "\f2a9"; }
10658
-
10659
- .fa-viadeo-square:before {
10660
- content: "\f2aa"; }
10661
-
10662
- .fa-vial:before {
10663
- content: "\f492"; }
10664
-
10665
- .fa-vials:before {
10666
- content: "\f493"; }
10667
-
10668
- .fa-viber:before {
10669
- content: "\f409"; }
10670
-
10671
- .fa-video:before {
10672
- content: "\f03d"; }
10673
-
10674
- .fa-video-plus:before {
10675
- content: "\f4e1"; }
10676
-
10677
- .fa-video-slash:before {
10678
- content: "\f4e2"; }
10679
-
10680
- .fa-vihara:before {
10681
- content: "\f6a7"; }
10682
-
10683
- .fa-vimeo:before {
10684
- content: "\f40a"; }
10685
-
10686
- .fa-vimeo-square:before {
10687
- content: "\f194"; }
10688
-
10689
- .fa-vimeo-v:before {
10690
- content: "\f27d"; }
10691
-
10692
- .fa-vine:before {
10693
- content: "\f1ca"; }
10694
-
10695
- .fa-violin:before {
10696
- content: "\f8ed"; }
10697
-
10698
- .fa-virus:before {
10699
- content: "\e074"; }
10700
-
10701
- .fa-virus-slash:before {
10702
- content: "\e075"; }
10703
-
10704
- .fa-viruses:before {
10705
- content: "\e076"; }
10706
-
10707
- .fa-vk:before {
10708
- content: "\f189"; }
10709
-
10710
- .fa-vnv:before {
10711
- content: "\f40b"; }
10712
-
10713
- .fa-voicemail:before {
10714
- content: "\f897"; }
10715
-
10716
- .fa-volcano:before {
10717
- content: "\f770"; }
10718
-
10719
- .fa-volleyball-ball:before {
10720
- content: "\f45f"; }
10721
-
10722
- .fa-volume:before {
10723
- content: "\f6a8"; }
10724
-
10725
- .fa-volume-down:before {
10726
- content: "\f027"; }
10727
-
10728
- .fa-volume-mute:before {
10729
- content: "\f6a9"; }
10730
-
10731
- .fa-volume-off:before {
10732
- content: "\f026"; }
10733
-
10734
- .fa-volume-slash:before {
10735
- content: "\f2e2"; }
10736
-
10737
- .fa-volume-up:before {
10738
- content: "\f028"; }
10739
-
10740
- .fa-vote-nay:before {
10741
- content: "\f771"; }
10742
-
10743
- .fa-vote-yea:before {
10744
- content: "\f772"; }
10745
-
10746
- .fa-vr-cardboard:before {
10747
- content: "\f729"; }
10748
-
10749
- .fa-vuejs:before {
10750
- content: "\f41f"; }
10751
-
10752
- .fa-wagon-covered:before {
10753
- content: "\f8ee"; }
10754
-
10755
- .fa-walker:before {
10756
- content: "\f831"; }
10757
-
10758
- .fa-walkie-talkie:before {
10759
- content: "\f8ef"; }
10760
-
10761
- .fa-walking:before {
10762
- content: "\f554"; }
10763
-
10764
- .fa-wallet:before {
10765
- content: "\f555"; }
10766
-
10767
- .fa-wand:before {
10768
- content: "\f72a"; }
10769
-
10770
- .fa-wand-magic:before {
10771
- content: "\f72b"; }
10772
-
10773
- .fa-warehouse:before {
10774
- content: "\f494"; }
10775
-
10776
- .fa-warehouse-alt:before {
10777
- content: "\f495"; }
10778
-
10779
- .fa-washer:before {
10780
- content: "\f898"; }
10781
-
10782
- .fa-watch:before {
10783
- content: "\f2e1"; }
10784
-
10785
- .fa-watch-calculator:before {
10786
- content: "\f8f0"; }
10787
-
10788
- .fa-watch-fitness:before {
10789
- content: "\f63e"; }
10790
-
10791
- .fa-watchman-monitoring:before {
10792
- content: "\e087"; }
10793
-
10794
- .fa-water:before {
10795
- content: "\f773"; }
10796
-
10797
- .fa-water-lower:before {
10798
- content: "\f774"; }
10799
-
10800
- .fa-water-rise:before {
10801
- content: "\f775"; }
10802
-
10803
- .fa-wave-sine:before {
10804
- content: "\f899"; }
10805
-
10806
- .fa-wave-square:before {
10807
- content: "\f83e"; }
10808
-
10809
- .fa-wave-triangle:before {
10810
- content: "\f89a"; }
10811
-
10812
- .fa-waveform:before {
10813
- content: "\f8f1"; }
10814
-
10815
- .fa-waveform-path:before {
10816
- content: "\f8f2"; }
10817
-
10818
- .fa-waze:before {
10819
- content: "\f83f"; }
10820
-
10821
- .fa-webcam:before {
10822
- content: "\f832"; }
10823
-
10824
- .fa-webcam-slash:before {
10825
- content: "\f833"; }
10826
-
10827
- .fa-weebly:before {
10828
- content: "\f5cc"; }
10829
-
10830
- .fa-weibo:before {
10831
- content: "\f18a"; }
10832
-
10833
- .fa-weight:before {
10834
- content: "\f496"; }
10835
-
10836
- .fa-weight-hanging:before {
10837
- content: "\f5cd"; }
10838
-
10839
- .fa-weixin:before {
10840
- content: "\f1d7"; }
10841
-
10842
- .fa-whale:before {
10843
- content: "\f72c"; }
10844
-
10845
- .fa-whatsapp:before {
10846
- content: "\f232"; }
10847
-
10848
- .fa-whatsapp-square:before {
10849
- content: "\f40c"; }
10850
-
10851
- .fa-wheat:before {
10852
- content: "\f72d"; }
10853
-
10854
- .fa-wheelchair:before {
10855
- content: "\f193"; }
10856
-
10857
- .fa-whistle:before {
10858
- content: "\f460"; }
10859
-
10860
- .fa-whmcs:before {
10861
- content: "\f40d"; }
10862
-
10863
- .fa-wifi:before {
10864
- content: "\f1eb"; }
10865
-
10866
- .fa-wifi-1:before {
10867
- content: "\f6aa"; }
10868
-
10869
- .fa-wifi-2:before {
10870
- content: "\f6ab"; }
10871
-
10872
- .fa-wifi-slash:before {
10873
- content: "\f6ac"; }
10874
-
10875
- .fa-wikipedia-w:before {
10876
- content: "\f266"; }
10877
-
10878
- .fa-wind:before {
10879
- content: "\f72e"; }
10880
-
10881
- .fa-wind-turbine:before {
10882
- content: "\f89b"; }
10883
-
10884
- .fa-wind-warning:before {
10885
- content: "\f776"; }
10886
-
10887
- .fa-window:before {
10888
- content: "\f40e"; }
10889
-
10890
- .fa-window-alt:before {
10891
- content: "\f40f"; }
10892
-
10893
- .fa-window-close:before {
10894
- content: "\f410"; }
10895
-
10896
- .fa-window-frame:before {
10897
- content: "\e04f"; }
10898
-
10899
- .fa-window-frame-open:before {
10900
- content: "\e050"; }
10901
-
10902
- .fa-window-maximize:before {
10903
- content: "\f2d0"; }
10904
-
10905
- .fa-window-minimize:before {
10906
- content: "\f2d1"; }
10907
-
10908
- .fa-window-restore:before {
10909
- content: "\f2d2"; }
10910
-
10911
- .fa-windows:before {
10912
- content: "\f17a"; }
10913
-
10914
- .fa-windsock:before {
10915
- content: "\f777"; }
10916
-
10917
- .fa-wine-bottle:before {
10918
- content: "\f72f"; }
10919
-
10920
- .fa-wine-glass:before {
10921
- content: "\f4e3"; }
10922
-
10923
- .fa-wine-glass-alt:before {
10924
- content: "\f5ce"; }
10925
-
10926
- .fa-wix:before {
10927
- content: "\f5cf"; }
10928
-
10929
- .fa-wizards-of-the-coast:before {
10930
- content: "\f730"; }
10931
-
10932
- .fa-wodu:before {
10933
- content: "\e088"; }
10934
-
10935
- .fa-wolf-pack-battalion:before {
10936
- content: "\f514"; }
10937
-
10938
- .fa-won-sign:before {
10939
- content: "\f159"; }
10940
-
10941
- .fa-wordpress:before {
10942
- content: "\f19a"; }
10943
-
10944
- .fa-wordpress-simple:before {
10945
- content: "\f411"; }
10946
-
10947
- .fa-wpbeginner:before {
10948
- content: "\f297"; }
10949
-
10950
- .fa-wpexplorer:before {
10951
- content: "\f2de"; }
10952
-
10953
- .fa-wpforms:before {
10954
- content: "\f298"; }
10955
-
10956
- .fa-wpressr:before {
10957
- content: "\f3e4"; }
10958
-
10959
- .fa-wreath:before {
10960
- content: "\f7e2"; }
10961
-
10962
- .fa-wrench:before {
10963
- content: "\f0ad"; }
10964
-
10965
- .fa-x-ray:before {
10966
- content: "\f497"; }
10967
-
10968
- .fa-xbox:before {
10969
- content: "\f412"; }
10970
-
10971
- .fa-xing:before {
10972
- content: "\f168"; }
10973
-
10974
- .fa-xing-square:before {
10975
- content: "\f169"; }
10976
-
10977
- .fa-y-combinator:before {
10978
- content: "\f23b"; }
10979
-
10980
- .fa-yahoo:before {
10981
- content: "\f19e"; }
10982
-
10983
- .fa-yammer:before {
10984
- content: "\f840"; }
10985
-
10986
- .fa-yandex:before {
10987
- content: "\f413"; }
10988
-
10989
- .fa-yandex-international:before {
10990
- content: "\f414"; }
10991
-
10992
- .fa-yarn:before {
10993
- content: "\f7e3"; }
10994
-
10995
- .fa-yelp:before {
10996
- content: "\f1e9"; }
10997
-
10998
- .fa-yen-sign:before {
10999
- content: "\f157"; }
11000
-
11001
- .fa-yin-yang:before {
11002
- content: "\f6ad"; }
11003
-
11004
- .fa-yoast:before {
11005
- content: "\f2b1"; }
11006
-
11007
- .fa-youtube:before {
11008
- content: "\f167"; }
11009
-
11010
- .fa-youtube-square:before {
11011
- content: "\f431"; }
11012
-
11013
- .fa-zhihu:before {
11014
- content: "\f63f"; }
11015
-
11016
- .sr-only {
11017
- border: 0;
11018
- clip: rect(0, 0, 0, 0);
11019
- height: 1px;
11020
- margin: -1px;
11021
- overflow: hidden;
11022
- padding: 0;
11023
- position: absolute;
11024
- width: 1px; }
11025
-
11026
- .sr-only-focusable:active, .sr-only-focusable:focus {
11027
- clip: auto;
11028
- height: auto;
11029
- margin: 0;
11030
- overflow: visible;
11031
- position: static;
11032
- width: auto; }
11033
-
11034
- /*!
11035
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11036
- * License - https://fontawesome.com/license (Commercial License)
11037
- */
11038
- @font-face {
11039
- font-family: 'Font Awesome 5 Pro';
11040
- font-style: normal;
11041
- font-weight: 900;
11042
- font-display: swap;
11043
- src: url("../fonts/fa-solid-900.eot");
11044
- src: url("../fonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-solid-900.woff2") format("woff2"), url("../fonts/fa-solid-900.woff") format("woff"), url("../fonts/fa-solid-900.ttf") format("truetype"), url("../fonts/fa-solid-900.svg#fontawesome") format("svg"); }
11045
-
11046
- .fa,
11047
- .fas {
11048
- font-family: 'Font Awesome 5 Pro';
11049
- font-weight: 900; }
11050
-
11051
- /*!
11052
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11053
- * License - https://fontawesome.com/license (Commercial License)
11054
- */
11055
- @font-face {
11056
- font-family: 'Font Awesome 5 Pro';
11057
- font-style: normal;
11058
- font-weight: 400;
11059
- font-display: swap;
11060
- src: url("../fonts/fa-regular-400.eot");
11061
- src: url("../fonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-regular-400.woff2") format("woff2"), url("../fonts/fa-regular-400.woff") format("woff"), url("../fonts/fa-regular-400.ttf") format("truetype"), url("../fonts/fa-regular-400.svg#fontawesome") format("svg"); }
11062
-
11063
- .far {
11064
- font-family: 'Font Awesome 5 Pro';
11065
- font-weight: 400; }
11066
-
11067
- /*!
11068
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11069
- * License - https://fontawesome.com/license (Commercial License)
11070
- */
11071
- @font-face {
11072
- font-family: 'Font Awesome 5 Pro';
11073
- font-style: normal;
11074
- font-weight: 300;
11075
- font-display: swap;
11076
- src: url("../fonts/fa-light-300.eot");
11077
- src: url("../fonts/fa-light-300.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-light-300.woff2") format("woff2"), url("../fonts/fa-light-300.woff") format("woff"), url("../fonts/fa-light-300.ttf") format("truetype"), url("../fonts/fa-light-300.svg#fontawesome") format("svg"); }
11078
-
11079
- .fal {
11080
- font-family: 'Font Awesome 5 Pro';
11081
- font-weight: 300; }
11082
-
11083
- /*!
11084
- * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
11085
- * License - https://fontawesome.com/license (Commercial License)
11086
- */
11087
- @font-face {
11088
- font-family: 'Font Awesome 5 Brands';
11089
- font-style: normal;
11090
- font-weight: 400;
11091
- font-display: swap;
11092
- src: url("../fonts/fa-brands-400.eot");
11093
- src: url("../fonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../fonts/fa-brands-400.woff2") format("woff2"), url("../fonts/fa-brands-400.woff") format("woff"), url("../fonts/fa-brands-400.ttf") format("truetype"), url("../fonts/fa-brands-400.svg#fontawesome") format("svg"); }
11094
-
11095
- .fab {
11096
- font-family: 'Font Awesome 5 Brands';
11097
- font-weight: 400; }
11098
 
11099
  /* Shared (styles used in both website and editor) */
11100
  /* Modules */
@@ -13617,4 +3262,4 @@ body.fts.wpgdprc {
13617
  .wp-gdpr-fts__footer {
13618
  margin: 1rem auto 0; }
13619
 
13620
- /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4uY3NzIiwic291cmNlcyI6WyJhZG1pbi5zY3NzIiwiZ2xvYmFsL19mb250cy5zY3NzIiwic2V0dGluZ3MvX2NvbG9ycy5zY3NzIiwic2V0dGluZ3MvX3NldHRpbmdzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3V0aWwuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3ZhbHVlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2RpcmVjdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19zZWxlY3Rvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL192YXJpYWJsZXMuc2NzcyIsInNldHRpbmdzL19taXhpbnMuc2NzcyIsImdsb2JhbC9fcmVzZXQuc2NzcyIsImdsb2JhbC9fc2NyZWVuLXJlYWRlci10ZXh0LnNjc3MiLCJnbG9iYWwvX2FuaW1hdGlvbnMuc2NzcyIsImdsb2JhbC9fZ2xvYmFsLnNjc3MiLCJnbG9iYWwvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy92ZW5kb3Ivbm9ybWFsaXplLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX21pc3NpbmctZGVwZW5kZW5jaWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvX3RydWUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19jb250YWluLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fcHVyZ2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZW1vdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL19yZXBsYWNlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9fdG8tbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19mb3Jtcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19yYW5nZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fcHJvZ3Jlc3Muc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX21ldGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2Jhc2Uuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fcHJpbnQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL194eS1ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2d1dHRlcnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jZWxsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jb2xsYXBzZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXNwb25zaXZlLWVtYmVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190aXRsZS1iYXIuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdG9wLWJhci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19wcm90b3R5cGUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19yZWxhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2JveC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdGF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtdXRpbGl0aWVzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fdGV4dC10cmFuc2Zvcm1hdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3RleHQtZGVjb3JhdGlvbi5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2ZvbnQtc3R5bGluZy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2xpc3Qtc3R5bGUtdHlwZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3JvdW5kZWQuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXJlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX3NoYWRvdy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9wcm90b3R5cGUvX2Fycm93LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fc2VwYXJhdG9yLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fb3ZlcmZsb3cuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19kaXNwbGF5LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fcG9zaXRpb24uc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19ib3JkZXItYm94LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3Byb3RvdHlwZS9fYm9yZGVyLW5vbmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zaXppbmcuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvcHJvdG90eXBlL19zcGFjaW5nLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2ZvbnRhd2Vzb21lLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtcHJvL3Njc3MvX21peGlucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fbGFyZ2VyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19maXhlZC13aWR0aC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fbGlzdC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fYm9yZGVyZWQtcHVsbGVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19hbmltYXRlZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fcm90YXRlZC1mbGlwcGVkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19zdGFja2VkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL19pY29ucy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9zb2xpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1wcm8vc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2xpZ2h0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXByby9zY3NzL2JyYW5kcy5zY3NzIiwibW9kdWxlcy9fY29kZW1pcnJvci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2NvZGVtaXJyb3IvbGliL2NvZGVtaXJyb3IuY3NzIiwiY29tcG9uZW50cy9fZm9ybXMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCJjb21wb25lbnRzL19idXR0b24uc2NzcyIsImNvbXBvbmVudHMvX2xpbmsuc2NzcyIsImNvbXBvbmVudHMvX3N3aXRjaC5zY3NzIiwiY29tcG9uZW50cy9fbWVzc2FnZS5zY3NzIiwiY29tcG9uZW50cy9fdGlsZS5zY3NzIiwiY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsImNvbXBvbmVudHMvX3RleHQuc2NzcyIsImNvbXBvbmVudHMvX2NvbnNlbnQtYmFyLnNjc3MiLCJjb21wb25lbnRzL190ZXh0LXdpdGgtaWNvbi5zY3NzIiwiY29tcG9uZW50cy9fc3Bpbm5lci5zY3NzIiwiYWRtaW4vX2RlYnVnLnNjc3MiLCJhZG1pbi9faW50ZWdyYXRpb24taXRlbS5zY3NzIiwiYWRtaW4vX2Jhbm5lci1pdGVtLnNjc3MiLCJhZG1pbi9fcmVxdWVzdC1pdGVtLnNjc3MiLCJhZG1pbi9fc2VjdGlvbi5zY3NzIiwiYWRtaW4vX3RpbGVzLnNjc3MiLCJhZG1pbi9fdGFicy5zY3NzIiwiYWRtaW4vX2Jhbm5lci5zY3NzIiwiYWRtaW4vX3dlbGNvbWUuc2NzcyIsImFkbWluL19tYWluLnNjc3MiLCJhZG1pbi9faGVhZGVyLnNjc3MiLCJhZG1pbi9fY29udGFpbmVyLnNjc3MiLCJhZG1pbi9fY29udGVudC5zY3NzIiwiYWRtaW4vX3NpZGViYXIuc2NzcyIsImFkbWluL19mb290ZXIuc2NzcyIsImFkbWluL193aXphcmQuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFkbWluLW9ubHkgc3R5bGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLypcbiAqIFlvdSBjYW4gdXNlIHRoaXMgdmFyaWFibGUgaW4gb3RoZXIgU2FzcyBmaWxlcyB0byBvbmx5IGFwcGx5XG4gKiBjZXJ0YWluIENTUyBpbnNpZGUgQWRtaW4gb3IgdGhlIG90aGVyIHdheSBhcm91bmQuXG4gKi9cbiRhZG1pbjogdHJ1ZTtcblxuLyogU2V0dGluZ3MgKi9cbkBpbXBvcnQgJ2dsb2JhbC9mb250cyc7XG5AaW1wb3J0ICdzZXR0aW5ncy9jb2xvcnMnO1xuQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuQGltcG9ydCAnc2V0dGluZ3MvdmFyaWFibGVzJztcbkBpbXBvcnQgJ3NldHRpbmdzL21peGlucyc7XG5cbi8qIEdsb2JhbCAqL1xuQGltcG9ydCAnZ2xvYmFsL3Jlc2V0JztcbkBpbXBvcnQgJ2dsb2JhbC9zY3JlZW4tcmVhZGVyLXRleHQnO1xuQGltcG9ydCAnZ2xvYmFsL2FuaW1hdGlvbnMnO1xuQGltcG9ydCAnZ2xvYmFsL2dsb2JhbCc7XG5AaW1wb3J0ICdnbG9iYWwvdHlwb2dyYXBoeSc7XG5cbi8qIEZvdW5kYXRpb247IFRoZSBYWSBHcmlkIGlzIGluY2x1ZGVkIGJ5IGRlZmF1bHQ7IERvY3VtZW50YXRpb24gYXQgPGh0dHA6Ly9mb3VuZGF0aW9uLnp1cmIuY29tL3NpdGVzL2RvY3MvPiAqL1xuQGltcG9ydCAnZm91bmRhdGlvbic7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXh5LWdyaWQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zcGFjaW5nO1xuXG4vKiBGb250IEF3ZXNvbWUgNSBQcm87IFVuY29tbWVudCBpZiB5b3Ugd2FudCB0byB1c2UgaXQgKi9cbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL2ZvbnRhd2Vzb21lJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL3NvbGlkJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL3JlZ3VsYXInO1xuQGltcG9ydCAnZm9udGF3ZXNvbWUtcHJvL3Njc3MvbGlnaHQnO1xuLy9AaW1wb3J0ICdmb250YXdlc29tZS1wcm8vc2Nzcy9kdW90b25lJztcbkBpbXBvcnQgJ2ZvbnRhd2Vzb21lLXByby9zY3NzL2JyYW5kcyc7XG5cbi8qIFNoYXJlZCAoc3R5bGVzIHVzZWQgaW4gYm90aCB3ZWJzaXRlIGFuZCBlZGl0b3IpICovXG4vL0BpbXBvcnQgJ3NoYXJlZCc7XG5cbi8qIE1vZHVsZXMgKi9cbkBpbXBvcnQgJ21vZHVsZXMvY29kZW1pcnJvcic7XG5cbi8qIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mb3JtJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9saW5rJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVzc2FnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpbGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jb25zZW50LWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RleHQtd2l0aC1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3Bpbm5lcic7XG5cbi8qIEFkbWluIENvbXBvbmVudHMgKi9cbkBpbXBvcnQgJ2FkbWluL2RlYnVnJztcblxuLy8gQ29tcG9uZW50XG5AaW1wb3J0ICdhZG1pbi9pbnRlZ3JhdGlvbi1pdGVtJztcbkBpbXBvcnQgJ2FkbWluL2Jhbm5lci1pdGVtJztcbkBpbXBvcnQgJ2FkbWluL3JlcXVlc3QtaXRlbSc7XG5cbi8vIEJsb2Nrc1xuQGltcG9ydCAnYWRtaW4vc2VjdGlvbic7XG5AaW1wb3J0ICdhZG1pbi90aWxlcyc7XG5AaW1wb3J0ICdhZG1pbi90YWJzJztcbkBpbXBvcnQgJ2FkbWluL2Jhbm5lcic7XG5AaW1wb3J0IFwiYWRtaW4vd2VsY29tZVwiO1xuXG4vLyBTZWN0aW9uc1xuQGltcG9ydCAnYWRtaW4vbWFpbic7XG5AaW1wb3J0ICdhZG1pbi9oZWFkZXInO1xuQGltcG9ydCAnYWRtaW4vY29udGFpbmVyJztcbkBpbXBvcnQgJ2FkbWluL2NvbnRlbnQnO1xuQGltcG9ydCAnYWRtaW4vc2lkZWJhcic7XG5AaW1wb3J0ICdhZG1pbi9mb290ZXInO1xuQGltcG9ydCAnYWRtaW4vd2l6YXJkJztcbiIsIi8qKlxuICogQ3VzdG9tIGZvbnRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiRmb250LXByaW1hcnk6ICdTb2ZpYSBQcm8nLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vIFJlZ3VsYXJcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb2ZpYSBQcm8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG59XG5cbi8vIEl0YWxpY1xuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NvZmlhIFBybyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLUl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLUl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBNZWRpdW1cblxuQGZvbnQtZmFjZSB7XG5cdGZvbnQtZmFtaWx5OiAnU29maWEgUHJvJztcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLU1lZGl1bS53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcblx0dXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1NZWRpdW0ud29mZicpIGZvcm1hdCgnd29mZicpO1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG4vLyBTZW1pQm9sZFxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ1NvZmlhIFBybyc7XG4gICAgc3JjOiB1cmwoJy4uL2ZvbnRzL3NvZmlhL1NvZmlhUHJvLVNlbWlCb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tU2VtaUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbn1cblxuLy8gU2VtaUJvbGQgSXRhbGljXG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnU29maWEgUHJvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tU2VtaUJvbGRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1TZW1pQm9sZEl0YWxpYy53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuXG5cbi8vIEJvbGRcblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdTb2ZpYSBQcm8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9zb2ZpYS9Tb2ZpYVByby1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvc29maWEvU29maWFQcm8tQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xufVxuIiwiLyoqXG4gKiBDb2xvciBzY2hlbWVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuJGNvbG9yLWdyYXk6ICNGMUYxRjE7XG4kY29sb3ItZ3JheS1saWdodDogI0Y4RjhGOTtcbiRjb2xvci1ncmF5LWxpZ2h0LXg6ICNEOEQ4RDg7XG4kY29sb3ItZ3JheS1saWdodC14eDogI0FGQUZBRjtcbiRjb2xvci1ncmF5LW1lZGl1bTogIzg4ODg4ODtcbiRjb2xvci1ncmF5LWRhcms6ICM1QTVBNUE7XG5cbiRjb2xvci1ibGFjazogIzAwMDAwMDtcbiRjb2xvci13aGl0ZTogI2ZmZmZmZjtcblxuJGNvbG9yLXB1cnBsZTogIzU4NDNCRTtcbiRjb2xvci1wdXJwbGUtbGlnaHQ6ICNGNkY0RkY7XG4kY29sb3ItdHVycXVvaXNlOiAjM0VDREI3O1xuJGNvbG9yLWdyZWVuOiAjMTc2RjNFO1xuJGNvbG9yLWdyZWVuLWxpZ2h0OiAjQzFFRUQ1O1xuJGNvbG9yLXJlZDogI0QwMzM0MztcbiRjb2xvci1yZWQtbWVkaXVtOiAjRjFDRUM2O1xuJGNvbG9yLXJlZC1kYXJrOiAjNjAwNDA0O1xuJGNvbG9yLXJlZC1saWdodDogI0ZGRUJFRDsgLyogQExleCwgbWF5YmUgZmluZCBiZXR0ZXIgY29sb3I/ICovXG4kY29sb3ItYmx1ZTogIzNDN0M5NjtcbiRjb2xvci1ibHVlLWxpZ2h0OiAjRUNGM0Y2O1xuJGNvbG9yLWJsdWUtbWVkaXVtOiAjQURDQkQ4O1xuJGNvbG9yLW9yYW5nZTogI0ZBQTIxQjtcbiRjb2xvci1vcmFuZ2UtZGFyazogIzczMzMxMjtcbiRjb2xvci1vcmFuZ2UtbWVkaXVtOiAjRjZFMUMwO1xuJGNvbG9yLW9yYW5nZS1saWdodDogI0ZFRjhFQTtcblxuJGNvbG9yLXByaW1hcnk6ICRjb2xvci1ibHVlO1xuJGNvbG9yLXByaW1hcnktbGlnaHQ6ICRjb2xvci1ibHVlLWxpZ2h0O1xuJGNvbG9yLXByaW1hcnktbWVkaXVtOiAkY29sb3ItYmx1ZS1tZWRpdW07XG4kY29sb3Itc2Vjb25kYXJ5OiAjNzY3Njc2O1xuJGNvbG9yLXN1Y2Nlc3M6ICRjb2xvci1ncmVlbjtcbiRjb2xvci13YXJuaW5nOiAjZmZhZTAwO1xuJGNvbG9yLWFsZXJ0OiAkY29sb3ItcmVkO1xuIiwiLyoqXG4gKiBTZXR0aW5nc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8qIEdsb2JhbCAqL1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XG5cbi8qIEJyZWFrcG9pbnRzICovXG4kYnJlYWtwb2ludHM6IChcblx0XHRzbWFsbDogMCxcblx0XHRtZWRpdW06IDY0MHB4LFxuXHRcdGxhcmdlOiAxMDI0cHgsXG5cdFx0eGxhcmdlOiAxMjAwcHgsXG5cdFx0eHhsYXJnZTogMTQ0MHB4LFxuXHRcdHh4eGxhcmdlOiAxNjAwcHhcbik7XG4kcHJpbnQtYnJlYWtwb2ludDogbGFyZ2U7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSB4eGxhcmdlIHh4eGxhcmdlKTtcblxuLyogVHlwb2dyYXBoeSAqL1xuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtcHJpbWFyeTtcbiRoZWFkaW5nLWZvbnQtZmFtaWx5OiAkZm9udC1wcmltYXJ5O1xuXG4vKiBYWSBHcmlkICovXG4keHktZ3JpZDogdHJ1ZTtcbiRncmlkLWNvbnRhaW5lcjogJGdsb2JhbC13aWR0aDtcbiRncmlkLWNvbHVtbnM6IDEyO1xuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IHJlbS1jYWxjKDMwKTtcbiRncmlkLXBhZGRpbmctZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItcGFkZGluZzogJGdyaWQtcGFkZGluZy1ndXR0ZXJzO1xuJGdyaWQtY29udGFpbmVyLW1heDogJGdsb2JhbC13aWR0aDtcbiR4eS1ibG9jay1ncmlkLW1heDogODtcbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5AaW1wb3J0ICd1bml0JztcbkBpbXBvcnQgJ3ZhbHVlJztcbkBpbXBvcnQgJ2RpcmVjdGlvbic7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICdzZWxlY3Rvcic7XG5AaW1wb3J0ICdmbGV4JztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gRmluZHMgdGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yIG9mIHR3byBpbnRlZ2Vycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYSAtIEZpcnN0IG51bWJlciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYiAtIFNlY29uZCBudW1iZXIgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvci5cbkBmdW5jdGlvbiBnY2QoJGEsICRiKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9HcmVhdGVzdF9jb21tb25fZGl2aXNvciNKYXZhU2NyaXB0XG4gIEBpZiAoJGIgIT0gMCkge1xuICAgIEByZXR1cm4gZ2NkKCRiLCAkYSAlICRiKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBhYnMoJGEpO1xuICB9XG59XG5cbi8vLyBIYW5kbGVzIGRlY2ltYWwgZXhwb25lbnRzIGJ5IHRyeWluZyB0byBjb252ZXJ0IHRoZW0gaW50byBhIGZyYWN0aW9uIGFuZCB0aGVuIHVzZSBhIG50aC1yb290LWFsZ29yaXRobSBmb3IgcGFydHMgb2YgdGhlIGNhbGN1bGF0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgYmFzZSBudW1iZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRleHBvbmVudCAtIFRoZSBleHBvbmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBwcm9kdWN0IG9mIHRoZSBleHBvbmVudGlhdGlvbi5cbkBmdW5jdGlvbiBwb3coJGJhc2UsICRleHBvbmVudCwgJHByZWM6IDE2KSB7XG4gIEBpZiAoZmxvb3IoJGV4cG9uZW50KSAhPSAkZXhwb25lbnQpIHtcbiAgICAkcHJlYzIgOiBwb3coMTAsICRwcmVjKTtcbiAgICAkZXhwb25lbnQ6IHJvdW5kKCRleHBvbmVudCAqICRwcmVjMik7XG4gICAgJGRlbm9taW5hdG9yOiBnY2QoJGV4cG9uZW50LCAkcHJlYzIpO1xuICAgIEByZXR1cm4gbnRoLXJvb3QocG93KCRiYXNlLCAkZXhwb25lbnQgLyAkZGVub21pbmF0b3IpLCAkcHJlYzIgLyAkZGVub21pbmF0b3IsICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgLyAkYmFzZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIG50aC1yb290KCRudW0sICRuOiAyLCAkcHJlYzogMTIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL050aF9yb290I0phdmFTY3JpcHRcbiAgJHg6IDE7XG5cbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkcHJlYyB7XG4gICAgJHg6IDEgLyAkbiAqICgoJG4gLSAxKSAqICR4ICsgKCRudW0gLyBwb3coJHgsICRuIC0gMSkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHg7XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBoZWlnaHQgYXMgYSBwZXJjZW50YWdlIG9mIHRoZSB3aWR0aCBmb3IgYSBnaXZlbiByYXRpby5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IHJlbGF0aXZlIHRvIHRoZSB3aWR0aCBvZiBhIHJlc3BvbnNpdmUgY29udGFpbmVyLlxuQGZ1bmN0aW9uIHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gUGFyc2UgdGhlIGdpdmVuIGAkZnJhY3Rpb25gIHRvIG51bWVyYXRvcnMgYW5kIGRlbnVtZXJhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJGZyYWN0aW9uIC0gVmFsdWUgcmVwcmVzZW50aW5nIGEgZnJhY3Rpb24gdG8gcGFyc2UuIEl0IGNhbiBiZSBmb3JtYXR0ZWQgYXMgYDUwJWAsIGAxIG9mIDJgLCBgMS8yYCBvciBgNTBgIChubyBkZW5vbWluYXRvciB3b3VsZCBiZSByZXR1cm5lZCkuXG4vLy9cbi8vLyBAcmV0dXJuIHtMaXN0fSBMaXN0IG9mIHBhcnNlZCB2YWx1ZXMgd2l0aCBudW1lcmF0b3IgYXQgZmlyc3QgcG9zaXRpb24gYW5kIGRlbnVtZXJhdG9yIGFzIHNlY29uZC4gVGhlc2UgdmFsdWVzIG1heSBiZSBudWxsLlxuQGZ1bmN0aW9uIHpmLXBhcnNlLWZyYWN0aW9uKCRmcmFjdGlvbikge1xuXG4gIEBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ251bWJlcicge1xuICAgIC8vIFwiNTAlXCJcbiAgICBAaWYgdW5pdCgkZnJhY3Rpb24pID09ICclJyB7XG4gICAgICBAcmV0dXJuIChzdHJpcC11bml0KCRmcmFjdGlvbiksIDEwMCk7XG4gICAgfVxuICAgIEBlbHNlIGlmICh1bml0KCRmcmFjdGlvbikgPT0gJycpIHtcbiAgICAgIC8vIFwiMC41XCJcbiAgICAgIEBpZiAkZnJhY3Rpb24gPCAxIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uICogMTAwLCAxMDApO1xuICAgICAgfVxuICAgICAgLy8gXCI1MFwiXG4gICAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRmcmFjdGlvbiwgbnVsbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgdHlwZS1vZigkZnJhY3Rpb24pID09ICdsaXN0JyB7XG4gICAgLy8gXCI1MCBvZiAxMDBcIiwgXCI1MC8xMDBcIi4uLlxuICAgIEBpZiBsZW5ndGgoJGZyYWN0aW9uKSA9PSAzXG4gICAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICAgIGFuZCB0eXBlLW9mKG50aCgkZnJhY3Rpb24sIDMpID09ICdudW1iZXInKSB7XG4gICAgICBAcmV0dXJuIChudGgoJGZyYWN0aW9uLCAxKSwgbnRoKCRmcmFjdGlvbiwgMykpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gKG51bGwsIG51bGwpO1xufVxuXG4vLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24uIFN1cHBvcnRzIGZvcm1hdHMgbGlrZSBgNTAlYCwgYDEgb2YgMmAsIGAxIHBlciAyYCBvciBgMS8yYC5cbi8vL1xuLy8vIEBwYXJhbSB7Kn0gJHZhbHVlIC0gVmFsdWUgdG8gdGVzdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhbGxvdy1uby1kZW5vbWluYXRvciBbZmFsc2VdIC0gSWYgYHRydWVgLCBzaW1wbGUgbnVtYmVycyB3aXRob3V0IGRlbm9taW5hdG9ycyBsaWtlIGA1MGAgYXJlIHN1cHBvcnRlZC5cbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbHVlYCByZXByZXNlbnRzIGEgZnJhY3Rpb24sIGBmYWxzZWAgb3RoZXJ3aXNlLlxuQGZ1bmN0aW9uIHpmLWlzLWZyYWN0aW9uKCR2YWx1ZSwgJGFsbG93LW5vLWRlbm9taW5hdG9yOiBmYWxzZSkge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkdmFsdWUpO1xuICBAcmV0dXJuIG5vdChudGgoJHBhcnNlZCwgMSkgPT0gbnVsbFxuICAgIG9yIChudGgoJHBhcnNlZCwgMikgPT0gbnVsbCBhbmQgJGFsbG93LW5vLWRlbm9taW5hdG9yID09IGZhbHNlKSk7XG59XG5cbi8vLyBDYWxjdWxhdGUgYSBwZXJjZW50YWdlIGZyb20gYSBnaXZlbiBmcmFjdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRmcmFjdGlvbiAtIFZhbHVlIHJlcHJlc2VudGluZyBhIGZyYWN0aW9uIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIHBlcmNlbnRhZ2UsIGZvcm1hdHRlZCBhcyBgNTBgIChyZWxhdGl2ZSB0byBgJGRlbm9taW5hdG9yYCksIGA1MCVgLCBgMSBvZiAyYCBvciBgMS8yYC5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZGVub21pbmF0b3IgLSBEZWZhdWx0IHZhbHVlIHRvIHVzZSBhcyBkZW5vbWluYXRvciB3aGVuIGAkZnJhY3Rpb25gIHJlcHJlc2VudHMgYW4gYWJzb2x1dGUgdmFsdWUuXG5AZnVuY3Rpb24gZnJhY3Rpb24tdG8tcGVyY2VudGFnZShcbiAgJGZyYWN0aW9uLFxuICAkZGVub21pbmF0b3I6IG51bGxcbikge1xuICAkcGFyc2VkOiB6Zi1wYXJzZS1mcmFjdGlvbigkZnJhY3Rpb24pO1xuICAkcGFyc2VkLW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDEpO1xuICAkcGFyc2VkLWRlbm9taW5hdG9yOiBudGgoJHBhcnNlZCwgMik7XG5cbiAgQGlmICRwYXJzZWQtbm9taW5hdG9yID09IG51bGwge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIgLyBcIm4vblwiLic7XG4gIH1cbiAgQGlmICRwYXJzZWQtZGVub21pbmF0b3IgPT0gbnVsbCB7XG4gICAgQGlmIHR5cGUtb2YoJGRlbm9taW5hdG9yKSA9PSAnbnVtYmVyJyB7XG4gICAgICAkcGFyc2VkLWRlbm9taW5hdG9yOiAkZGVub21pbmF0b3I7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBlcnJvciAnRXJyb3Igd2l0aCBcImZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoKVwiLiBBIGRlZmF1bHQgXCIkZGVub21pbmF0b3JcIiBpcyByZXF1aXJlZCB0byBzdXBwb3J0IGFic29sdXRlIHZhbHVlcyc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBwZXJjZW50YWdlKCRwYXJzZWQtbm9taW5hdG9yIC8gJHBhcnNlZC1kZW5vbWluYXRvcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gZW0gaW50byByZW0gaWYgc29tZW9uZSBoYW5kcyBvdmVyICdlbSdzXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ2VtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW0gb3IgZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmIHVuaXQoJGJhc2UpID09ICdlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICAvLyBOb3cgbGV0J3MgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVyIHRoYW4gMTAgYXJlIG1lYW50IHRvIGJlIGFic29sdXRlIGluICdweCdcbiAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICgkdmFsdWUgPiAxMCkge1xuICAgIEByZXR1cm4gJHZhbHVlIC8gc3RyaXAtdW5pdCgkYmFzZSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIERldGVybWluZSBpZiBhIHZhbHVlIGlzIG5vdCBmYWxzZXksIGluIENTUyB0ZXJtcy4gRmFsc2V5IHZhbHVlcyBhcmUgYG51bGxgLCBgbm9uZWAsIGAwYCB3aXRoIGFueSB1bml0LCBvciBhbiBlbXB0eSBsaXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJHZhbCAtIFZhbHVlIHRvIGNoZWNrLlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IGB0cnVlYCBpZiBgJHZhbGAgaXMgbm90IGZhbHNleS5cbkBmdW5jdGlvbiBoYXMtdmFsdWUoJHZhbCkge1xuICBAaWYgJHZhbCA9PSBudWxsIG9yICR2YWwgPT0gbm9uZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAaWYgdHlwZS1vZigkdmFsKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkdmFsKSA9PSAwIHtcbiAgICBAcmV0dXJuIGZhbHNlO1xuICB9XG4gIEBpZiB0eXBlLW9mKCR2YWwpID09ICdsaXN0JyBhbmQgbGVuZ3RoKCR2YWwpID09IDAge1xuICAgIEByZXR1cm4gZmFsc2U7XG4gIH1cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gRGV0ZXJtaW5lIGEgdG9wL3JpZ2h0L2JvdHRvbS9yaWdodCB2YWx1ZSBvbiBhIHBhZGRpbmcsIG1hcmdpbiwgZXRjLiBwcm9wZXJ0eSwgbm8gbWF0dGVyIGhvdyBtYW55IHZhbHVlcyB3ZXJlIHBhc3NlZCBpbi4gVXNlIHRoaXMgZnVuY3Rpb24gaWYgeW91IG5lZWQgdG8ga25vdyB0aGUgc3BlY2lmaWMgc2lkZSBvZiBhIHZhbHVlLCBidXQgZG9uJ3Qga25vdyBpZiB0aGUgdmFsdWUgaXMgdXNpbmcgYSBzaG9ydGhhbmQgZm9ybWF0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fE51bWJlcn0gJHZhbCAtIFZhbHVlIHRvIGFuYWx5emUuIFNob3VsZCBiZSBhIHNob3J0aGFuZCBzaXppbmcgcHJvcGVydHksIGUuZy4gXCIxZW0gMmVtIDFlbVwiXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdG8gcmV0dXJuLiBTaG91bGQgYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIHNpbmdsZSB2YWx1ZSBiYXNlZCBvbiBgJHZhbGAgYW5kIGAkc2lkZWAuXG5AZnVuY3Rpb24gZ2V0LXNpZGUoJHZhbCwgJHNpZGUpIHtcbiAgJGxlbmd0aDogbGVuZ3RoKCR2YWwpO1xuXG4gIEBpZiAkbGVuZ3RoID09IDEge1xuICAgIEByZXR1cm4gJHZhbDtcbiAgfVxuICBAaWYgJGxlbmd0aCA9PSAyIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoKFxuICAgICAgdG9wOiBudGgoJHZhbCwgMSksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgKSwgJHNpZGUpO1xuICB9XG4gIEBpZiAkbGVuZ3RoID09IDMge1xuICAgIEByZXR1cm4gbWFwLWdldCgoXG4gICAgICB0b3A6IG50aCgkdmFsLCAxKSxcbiAgICAgIGxlZnQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIHJpZ2h0OiBudGgoJHZhbCwgMiksXG4gICAgICBib3R0b206IG50aCgkdmFsLCAzKSxcbiAgICApLCAkc2lkZSk7XG4gIH1cbiAgQGlmICRsZW5ndGggPT0gNCB7XG4gICAgQHJldHVybiBtYXAtZ2V0KChcbiAgICAgIHRvcDogbnRoKCR2YWwsIDEpLFxuICAgICAgcmlnaHQ6IG50aCgkdmFsLCAyKSxcbiAgICAgIGJvdHRvbTogbnRoKCR2YWwsIDMpLFxuICAgICAgbGVmdDogbnRoKCR2YWwsIDQpLFxuICAgICksICRzaWRlKTtcbiAgfVxufVxuXG4vLy8gR2l2ZW4gYm9yZGVyICR2YWwsIGZpbmQgYSBzcGVjaWZpYyBlbGVtZW50IG9mIHRoZSBib3JkZXIsIHdoaWNoIGlzICRlbGVtLiBUaGUgcG9zc2libGUgdmFsdWVzIGZvciAkZWxlbSBhcmUgd2lkdGgsIHN0eWxlLCBhbmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICR2YWwgLSBCb3JkZXIgdmFsdWUgdG8gZmluZCBhIHZhbHVlIGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gLSBCb3JkZXIgY29tcG9uZW50IHRvIGV4dHJhY3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IElmIHRoZSB2YWx1ZSBleGlzdHMsIHJldHVybnMgdGhlIHZhbHVlLiBJZiB0aGUgdmFsdWUgaXMgbm90IGluIHRoZSBib3JkZXIgZGVmaW5pdGlvbiwgdGhlIGZ1bmN0aW9uIHdpbGwgcmV0dXJuIGEgMHB4IHdpZHRoLCBzb2xpZCBzdHlsZSwgb3IgYmxhY2sgYm9yZGVyLlxuQGZ1bmN0aW9uIGdldC1ib3JkZXItdmFsdWUoJHZhbCwgJGVsZW0pIHtcbiAgLy8gRmluZCB0aGUgd2lkdGgsIHN0eWxlLCBvciBjb2xvciBhbmQgcmV0dXJuIGl0XG4gIEBlYWNoICR2IGluICR2YWwge1xuICAgICR0eXBlOiB0eXBlLW9mKCR2KTtcbiAgICBAaWYgJGVsZW0gPT0gd2lkdGggYW5kICR0eXBlID09ICdudW1iZXInIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICAgIEBpZiAkZWxlbSA9PSBzdHlsZSBhbmQgJHR5cGUgPT0gJ3N0cmluZycge1xuICAgICAgQHJldHVybiAkdjtcbiAgICB9XG4gICAgQGlmICRlbGVtID09IGNvbG9yIGFuZCAkdHlwZSA9PSAnY29sb3InIHtcbiAgICAgIEByZXR1cm4gJHY7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmYXVsdHNcbiAgJGRlZmF1bHRzOiAoXG4gICAgd2lkdGg6IDAsXG4gICAgc3R5bGU6IHNvbGlkLFxuICAgIGNvbG9yOiAjMDAwLFxuICApO1xuXG4gIEByZXR1cm4gbWFwLWdldCgkZGVmYXVsdHMsICRlbGVtKTtcbn1cblxuLy8vIEZpbmRzIGEgdmFsdWUgaW4gYSBuZXN0ZWQgbWFwLlxuLy8vIEBsaW5rIGh0dHBzOi8vY3NzLXRyaWNrcy5jb20vc25pcHBldHMvc2Fzcy9kZWVwLWdldHNldC1tYXBzLyBEZWVwIEdldC9TZXQgaW4gTWFwc1xuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gcHVsbCBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXlzLi4uIC0gS2V5cyB0byB1c2Ugd2hlbiBsb29raW5nIGZvciBhIHZhbHVlLlxuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvdW5kIGluIHRoZSBtYXAuXG5AZnVuY3Rpb24gbWFwLWRlZXAtZ2V0KCRtYXAsICRrZXlzLi4uKSB7XG4gIEBlYWNoICRrZXkgaW4gJGtleXMge1xuICAgICRtYXA6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gIH1cbiAgQHJldHVybiAkbWFwO1xufVxuXG4vLy8gQ2FzdHMgYSBtYXAgaW50byBhIGxpc3QuXG4vLy8gQGxpbmsgaHR0cDovL2h1Z29naXJhdWRlbC5jb20vMjAxNC8wNC8yOC9jYXN0aW5nLW1hcC1pbnRvLWxpc3QvXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBwdWxsIGEgdmFsdWUgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBEZXBlbmRpbmcgb24gdGhlIGZsYWcsIHJldHVybnMgZWl0aGVyICRrZXlzIG9yICR2YWx1ZXMgb3IgYm90aC5cbkBmdW5jdGlvbiBtYXAtdG8tbGlzdCgkbWFwLCAka2VlcDogJ2JvdGgnKSB7XG4gICRrZWVwOiBpZihpbmRleCgna2V5cycgJ3ZhbHVlcycsICRrZWVwKSwgJGtlZXAsICdib3RoJyk7XG5cbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgICRrZXlzOiAoKTtcbiAgICAkdmFsdWVzOiAoKTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJG1hcCB7XG4gICAgICAka2V5czogYXBwZW5kKCRrZXlzLCAka2V5KTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdmFsKTtcbiAgICB9XG5cbiAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiB6aXAoJGtleXMsICR2YWx1ZXMpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gaWYodHlwZS1vZigkbWFwKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJG1hcCk7XG5cbn1cblxuLy8vIFJldHVybiBhIGpvaW4gb2YgdGhlIHR3byBnaXZlbiBzdHJpbmdzIGAkc3RyMWAgYW5kIGAkc3RyMmAuXG4vLy8gSWYgdGhlIHR3byBzdHJpbmdzIGFyZSBub3QgZW1wdHksIHRoZXkgYXJlIHNlcGFyYXRlZCBieSBgJGRlbGltaXRlcmAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0cjEgW251bGxdIC0gRmlyc3Qgc3RyaW5nIHRvIGpvaW4uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHIxIFtudWxsXSAtIFNlY29uZCBzdHJpbmcgdG8gam9pbi5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlbGltaXRlciBbbnVsbF0gLSBEZWxpbWlldGVyIGJldHdlZW4gYCRzdHIxYCBhbmQgYCRzdHIyYC5cbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IEpvaW4gb2YgYCRzdHIxYCwgYCRkZWxpbWl0ZXJgIGFuZCBgJHN0cjJgLlxuQGZ1bmN0aW9uIHpmLXN0ci1qb2luKFxuICAkc3RyMTogbnVsbCxcbiAgJHN0cjI6IG51bGwsXG4gICRkZWxpbWl0ZXI6IG51bGxcbikge1xuICAkcmV0OiAnJztcblxuICBAaWYgJHN0cjEgYW5kIHN0ci1sZW5ndGgoJHN0cjEpID4gMCB7XG4gICAgJHJldDogJHJldCArICRzdHIxO1xuXG4gICAgQGlmICRkZWxpbWl0ZXIgYW5kIHN0ci1sZW5ndGgoJGRlbGltaXRlcikgPiAwIGFuZCAkc3RyMiBhbmQgc3RyLWxlbmd0aCgkc3RyMikgPiAwIHtcbiAgICAgICRyZXQ6ICRyZXQgKyAkZGVsaW1pdGVyO1xuICAgIH1cbiAgfVxuICBAaWYgJHN0cjIgYW5kIHN0ci1sZW5ndGgoJHN0cjIpID4gMCB7XG4gICAgJHJldDogJHJldCArICRzdHIyO1xuICB9XG5cbiAgQHJldHVybiAkcmV0O1xufVxuXG4vLy8gU2FmZWx5IHJldHVybiBhIHZhbHVlIGZyb20gYSBtYXAuXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byByZXRyaWV2ZSBhIHZhbHVlIGZyb20uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIHRoZSBtYXAga2V5LlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEZvdW5kIHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1zYWZlLWdldCgkbWFwLCAka2V5KSB7XG4gIEBpZiAodHlwZS1vZigkbWFwKSA9PSAnbWFwJyBvciAodHlwZS1vZigkbWFwKSA9PSAnbGlzdCcgYW5kIGxlbmd0aCgkbWFwKSA9PSAwKSkge1xuICAgIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yICdLZXk6IGAjeyRrZXl9YCBpcyBub3QgYXZhaWxhYmxlIGluIGAjeyRtYXB9YCc7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2AjeyRtYXB9YCBpcyBub3QgYSB2YWxpZCBtYXAnO1xuICB9XG59XG5cbi8vLyBDb252ZXJ0IHRoZSBnaXZlbiBgJHZhbGAgdG8gYSBCb29sZWFuLiBFbXB0eSB2YWx1ZXMgYXJlIGNvbnNpZGVyZWQgYXMgZmFsc2UuXG4vLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWwgLSBWYWx1ZSB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge0Jvb2xlYW59IENvbnZlcnRlZCBCb29sZWFuIHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1ib29sKCR2YWwpIHtcbiAgQHJldHVybiAkdmFsICE9IGZhbHNlIGFuZCBoYXMtdmFsdWUoJHZhbCk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24gb2YgJGRpclxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gVXNlZCBkaXJlY3Rpb24gYmV0d2VlbiBcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIgYW5kIFwibGVmdFwiLlxuLy8vIEByZXR1cm4ge0tleXdvcmR9IE9wcG9zaXRlIGRpcmVjdGlvbiBvZiAkZGlyXG5AZnVuY3Rpb24gZGlyZWN0aW9uLW9wcG9zaXRlKFxuICAkZGlyXG4pIHtcbiAgJGRpcnM6ICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQpO1xuICAkcGxhY2U6IGluZGV4KCRkaXJzLCAkZGlyKTtcblxuICBAaWYgJHBsYWNlID09IG51bGwge1xuICAgIEBlcnJvciAnZGlyZWN0aW9uLW9wcG9zaXRlOiBJbnZhbGlkICRkaXIgcGFyYW1ldGVyLCBleHBlY3RlZCBhIHZhbHVlIGZyb20gXCIjeyRkaXJzfVwiLCBmb3VuZCBcIiN7JGRpcn1cIi4nO1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSB0aGUgb3Bwb3NpdGUgcGxhY2UgaW4gYSBjaXJjbGUsIHdpdGggYSBzdGFydGluZyBpbmRleCBvZiAxXG4gICRsZW5ndGg6IGxlbmd0aCgkZGlycyk7XG4gICRkZW1pOiAkbGVuZ3RoIC8gMjtcbiAgJG9wcG9zaXRlLXBsYWNlOiAoKCRwbGFjZSArICRkZW1pIC0gMSkgJSAkbGVuZ3RoKSArIDE7XG5cbiAgQHJldHVybiBudGgoJGRpcnMsICRvcHBvc2l0ZS1wbGFjZSk7XG59XG5cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnbWF0aCc7XG5cbiRjb250cmFzdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYXNlIC0gQ29sb3IgdG8gY2hlY2sgbHVtaW5hbmNlLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGNvbG9ycyBbKCR3aGl0ZSwgJGJsYWNrKV0gLSBDb2xvcnMgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvbGVyYW5jZSBbJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZV0gLSBDb250cmFzdCB0b2xlcmFuY2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6ICRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2UpIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdC13YXJuaW5ncyBhbmQgJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHByaW1hcnktY29sb3I6ICMxNzc5YmEgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzZWNvbmRhcnktY29sb3I6ICM3Njc2NzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICRzdWNjZXNzLWNvbG9yOiAjM2FkYjc2ICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkd2FybmluZy1jb2xvcjogI2ZmYWUwMCAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJGFsZXJ0LWNvbG9yOiAjY2M0YjM3ICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEdlbmVyYXRlcyBhIHNlbGVjdG9yIHdpdGggZXZlcnkgdGV4dCBpbnB1dCB0eXBlLiBZb3UgY2FuIGFsc28gZmlsdGVyIHRoZSBsaXN0IHRvIG9ubHkgb3V0cHV0IGEgc3Vic2V0IG9mIHRob3NlIHNlbGVjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdHxLZXl3b3JkfSAkdHlwZXMgWygpXSAtIEEgbGlzdCBvZiB0ZXh0IGlucHV0IHR5cGVzIHRvIHVzZS4gTGVhdmUgYmxhbmsgdG8gdXNlIGFsbCBvZiB0aGVtLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJG1vZGlmaWVyIFsnJ10gLSBBIG1vZGlmaWVyIHRvIGJlIGFwcGxpZWQgdG8gZWFjaCB0ZXh0IGlucHV0IHR5cGUgKGUuZy4gYSBjbGFzcyBvciBhIHBzZXVkby1jbGFzcykuIExlYXZlIGJsYW5rIHRvIGlnbm9yZS5cbkBmdW5jdGlvbiB0ZXh0LWlucHV0cygkdHlwZXM6ICgpLCAkbW9kaWZpZXI6ICcnKSB7XG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdHlwZXM6XG4gICAgdGV4dFxuICAgIHBhc3N3b3JkXG4gICAgZGF0ZVxuICAgIGRhdGV0aW1lXG4gICAgZGF0ZXRpbWUtbG9jYWxcbiAgICBtb250aFxuICAgIHdlZWtcbiAgICBlbWFpbFxuICAgIG51bWJlclxuICAgIHNlYXJjaFxuICAgIHRlbFxuICAgIHRpbWVcbiAgICB1cmxcbiAgICBjb2xvcjtcblxuICBAaWYgbm90IGhhcy12YWx1ZSgkdHlwZXMpIHtcbiAgICAkdHlwZXM6ICRhbGwtdHlwZXM7XG4gIH1cblxuICBAZWFjaCAkdHlwZSBpbiAkdHlwZXMge1xuICAgICRyZXR1cm46IGFwcGVuZCgkcmV0dXJuLCB1bnF1b3RlKCdbdHlwZT1cXCcjeyR0eXBlfVxcJ10jeyRtb2RpZmllcn0nKSwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkcmV0dXJuO1xufVxuIiwiQGZ1bmN0aW9uIC16Zi1mbGV4LWp1c3RpZnkoJHRleHQtZGlyZWN0aW9uKXtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBoaWRwaS0xOiAxLFxuICBoaWRwaS0xLTU6IDEuNSxcbiAgaGlkcGktMjogMixcbiAgcmV0aW5hOiAyLFxuICBoaWRwaS0zOiAzXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1RoZSBmaXJzdCBrZXkgaW4gdGhlICRicmVha3BvaW50cyBtYXAgbXVzdCBoYXZlIGEgdmFsdWUgb2YgXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFdlYiBzdGFuZGFyZCBQaXhlbHMgcGVyIGluY2guICgxZGRweCAvICRzdGQtd2ViLWRwaSkgPSAxZHBpXG4gIC8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXZhbHVlcy0zLyNhYnNvbHV0ZS1sZW5ndGhzXG4gICRzdGQtd2ViLWRwaTogOTY7XG5cbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBvZiB0aGUgZm9sbG93aW5nIGJyZWFrcG9pbnRcbiAgJGJwLW5leHQ6IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWluOiBudWxsO1xuICAvLyBWYWx1ZSBmb3IgbWluLXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogbnVsbDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIElmIG5hbWVkLCBuYW1lIG9mIHRoZSBicmVha3BvaW50XG4gICRuYW1lOiBudWxsO1xuICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIEhpRFBJIGJyZWFrcG9pbnRcbiAgJGhpZHBpOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cblxuICAvLyBJZiBhIGJyZWFrcG9pbnQgbmFtZSBpcyBnaXZlbiwgZ2V0IGl0cyB2YWx1ZSBmcm9tIHRoZSAkYnJlYWtwb2ludHMvJGJyZWFrcG9pbnRzLWhpZHBpIG1hcC5cbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICAkbmFtZTogJGJwO1xuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgICAgJGJwLW5leHQ6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLWhpZHBpLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLWhpZHBpLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0LW51bWJlcigkYnJlYWtwb2ludHMtaGlkcGksICRicCk7XG4gICAgICAkaGlkcGk6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgYCRicmVha3BvaW50c2Agb3IgYCRicmVha3BvaW50cy1oaWRwaWAgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBub3QgJG5hbWUgYW5kICRkaXIgPT0gJ29ubHknIHtcbiAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG5cbiAgLy8gT25seSAnb25seScgYW5kICd1cCcgaGF2ZSBhIG1pbiBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ3VwJyB7XG4gICAgJGJwLW1pbjogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgfVxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ2Rvd24nIGhhdmUgYSBtYXggbGltaXQuXG4gIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgYSB2YWx1ZSwgdXNlIGl0IGFzIG1heCBsaW1pdC5cbiAgICBAaWYgbm90ICRuYW1lIHtcbiAgICAgICRicC1tYXg6IGlmKCRoaWRwaSwgc3RyaXAtdW5pdCgkYnApLCAtemYtYnAtdG8tZW0oJGJwKSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBicmVha3BvaW50IGlzIG5hbWVkLCB0aGUgbWF4IGxpbWl0IGlzIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludCAtIDFweC5cbiAgICBAZWxzZSBpZiAkYnAtbmV4dCB7XG4gICAgICAvLyBNYXggdmFsdWUgaXMgMC4ycHggdW5kZXIgdGhlIG5leHQgYnJlYWtwb2ludCAoMC4wMiAvIDE2ID0gMC4wMDEyNSkuXG4gICAgICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL2lzc3Vlcy8xMTMxM1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCAkYnAtbmV4dCAtICgxLyRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0X251bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dF9udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0X251bWJlcikge1xuICAgICAgJG5leHRfbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0X251bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZF9rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmRfa2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZF9rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbi8vLyBAbGluayBodHRwOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZShcbiAgJGVuZm9yY2U6IHRydWVcbikge1xuICAkaW1wb3J0YW50OiBpZigkZW5mb3JjZSwgJyFpbXBvcnRhbnQnLCBudWxsKTtcblxuICBwb3NpdGlvbjogYWJzb2x1dGUgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IDFweCAjeyRpbXBvcnRhbnR9O1xuICBwYWRkaW5nOiAwICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiBoaWRkZW4gI3skaW1wb3J0YW50fTtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKSAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwICN7JGltcG9ydGFudH07XG4gIGJvcmRlcjogMCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gUmV2ZXJzZXMgdGhlIENTUyBvdXRwdXQgY3JlYXRlZCBieSB0aGUgYGVsZW1lbnQtaW52aXNpYmxlKClgIG1peGluLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGVuZm9yY2UgLSBJZiBgdHJ1ZWAsIHVzZSBgIWltcG9ydGFudGAgb24gYXBwbGllZCBwcm9wZXJ0aWVzXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBzdGF0aWMgI3skaW1wb3J0YW50fTtcbiAgd2lkdGg6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgaGVpZ2h0OiBhdXRvICN7JGltcG9ydGFudH07XG4gIG92ZXJmbG93OiB2aXNpYmxlICN7JGltcG9ydGFudH07XG4gIGNsaXA6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAjeyRpbXBvcnRhbnR9O1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRhdXRvLWluc2VydC1icmVha3BvaW50cyBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBpdGVyYXRlIG92ZXIgYnJlYWtwb2ludHMgd2l0aG91dCBkb2luZyB0aGUgbWVkaWEgcXVlcnkgaXRzZWxmLiBVc2VmdWwgZm9yIG1vcmUgY29tcGxleCBtZWRpYSBxdWVyeSBnZW5lcmF0aW9uIGFzIGluIHRoZSBtYXJnaW4gZ3JpZC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KFxuICAkc21hbGw6IHRydWUsXG4gICRhdXRvLWluc2VydC1icmVha3BvaW50czogdHJ1ZVxuKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oYXV0bywgLXpmLWJvb2woJHNtYWxsKSwgLXpmLWJvb2woJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzKSkge1xuICAgIEBjb250ZW50XG4gIH07XG59XG5cbi8vLyBJdGVyYXRlcyB3aXRoIGBAY29udGVudGAgdGhyb3VnaCB0aGUgZ2l2ZW4gbGlzdCBvZiBicmVha3BvaW50cyBgJGJyZWFrcG9pbnRzYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRicmVha3BvaW50cyBbYXV0b10gLSBCcmVha3BvaW50cyB0byBpdGVyYXRlcyBvbi4gSXQgY2FuIGJlIGEgYnJlYWtwb2ludCBuYW1lLCBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIGBhdXRvYCBmb3IgYWxsIGJyZWFrcG9pbnRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbnxOdWxsfSAkemVyby1icmVha3BvaW50IFtudWxsXSAtIFdoZXRoZXIgdGhlIHplcm8tYnJlYWtwb2ludCAob2Z0ZW4gYHNtYWxsYCkgbXVzdCBiZSBpbmNsdWRlZC4gSWYgYHRydWVgLCBpdCB3aWxsIGFsd2F5cyBiZSBhZGRlZCB0byB0aGUgbGlzdCBpZiBub3QgYWxyZWFkeSB0aGVyZS4gSWYgYGZhbHNlYCwgaXQgd2lsbCBhbHdheXMgYmUgcmVtb3ZlZC4gRG9lcyBub3RoaW5nIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtCb29sZWFufEtleXdvcmR9ICRtZWRpYS1xdWVyaWVzIFt0cnVlXSAtIFdoZXRoZXIgbWVkaWEtcXVlcmllcyBtdXN0IGJlIGdlbmVyYXRlZC4gSWYgYGZvci1saXN0c2AsIG9ubHkgZ2VuZXJhdGUgbWVkaWEtcXVlcmllcyB3aGVuIGAkYnJlYWtwb2ludHNgIGlzIGEgbGlzdC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50LWluKFxuICAkYnJlYWtwb2ludHM6IGF1dG8sXG4gICR6ZXJvLWJyZWFrcG9pbnQ6IG51bGwsXG4gICRtZWRpYS1xdWVyaWVzOiB0cnVlXG4pIHtcbiAgJC1saXN0OiAoKTtcbiAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IHRydWU7XG5cbiAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYnJlYWtwb2ludChzKSB0byBpdGVyYXRlIG9uLlxuICBAaWYgJGJyZWFrcG9pbnRzID09IGF1dG8ge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ2xpc3QnIHtcbiAgICAkLWxpc3Q6ICRicmVha3BvaW50cztcbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRicmVha3BvaW50cykgPT0gJ3N0cmluZycge1xuICAgICQtbGlzdDogKCRicmVha3BvaW50cyk7XG4gICAgJC1icmVha3BvaW50cy1pcy1hLWxpc3Q6IGZhbHNlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCIkYnJlYWtwb2ludHNcIiBpbiBcIi16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oKVwiLiBHb3QgXCIjeyRicmVha3BvaW50c31cIiAoI3t0eXBlLW9mKCRicmVha3BvaW50cyl9KS4gRXhwZWN0ZWQgYSBicmVha3BvaW50IG5hbWUsIGEgbGlzdCBvZiBicmVha3BvaW50cyBvciBcImF1dG9cIic7XG4gIH1cblxuICAvLyBBZGQgb3IgcmVtb3ZlIHRoZSB6ZXJvIGJyZWFrcG9pbnQgYWNjb3JkaW5nIHRvIGAkemVyby1icmVha3BvaW50YFxuICBAaWYgJHplcm8tYnJlYWtwb2ludCA9PSB0cnVlIHtcbiAgICAkLWxpc3Q6IGpvaW4oKCQtemYtemVyby1icmVha3BvaW50KSwgc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpKTtcbiAgfVxuICBAZWxzZSBpZiAkemVyby1icmVha3BvaW50ID09IGZhbHNlIHtcbiAgICAkLWxpc3Q6IHNsLXJlbW92ZSgkLWxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIC8vIEl0ZXJhdGUgb24gYnJlYWtwb2ludChzKVxuICBAZWFjaCAkYnAgaW4gJC1saXN0IHtcbiAgICAkb2xkLXpmLXNpemU6IG51bGw7XG4gICAgQGlmIGdsb2JhbC12YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIHtcbiAgICAgICRvbGQtemYtc2l6ZTogJC16Zi1zaXplO1xuICAgIH1cbiAgICAkLXpmLXNpemU6ICRicCAhZ2xvYmFsO1xuXG4gICAgQGlmICgkbWVkaWEtcXVlcmllcyA9PSB0cnVlXG4gICAgICBvciAoJG1lZGlhLXF1ZXJpZXMgPT0gJ2Zvci1saXN0cycgYW5kICQtYnJlYWtwb2ludHMtaXMtYS1saXN0KSkge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSwgYnJlYWtwb2ludCBuYW1lLCBvciBsaXN0IG9mIGJyZWFrcG9pbnQgbmFtZXMgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJGJwLXZhbHVlOiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkbmFtZSk7XG4gICAgICBAaWYgJGJwLXZhbHVlICE9IG51bGwge1xuICAgICAgICAkbmFtZTogJGJwLXZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiQtemYtZm9udC1zdGFjazogKFxuICAnZ2VvcmdpYSc6IChHZW9yZ2lhLCBcIlVSVyBCb29rbWFuIExcIiwgc2VyaWYpLFxuICAnaGVsdmV0aWNhJzogKEhlbHZldGljYSwgQXJpYWwsIFwiTmltYnVzIFNhbnMgTFwiLCBzYW5zLXNlcmlmKSxcbiAgJ2x1Y2lkYS1ncmFuZGUnOiAoXCJMdWNpZGEgR3JhbmRlXCIsIFwiTHVjaWRhIFNhbnMgVW5pY29kZVwiLCBcIkJpdHN0cmVhbSBWZXJhIFNhbnNcIiwgc2Fucy1zZXJpZiksXG4gICdtb25vc3BhY2UnOiAoXCJDb3VyaWVyIE5ld1wiLCBDb3VyaWVyLCBcIk5pbWJ1cyBTYW5zIExcIiwgbW9ub3NwYWNlKSxcbiAgJ3N5c3RlbSc6ICgtYXBwbGUtc3lzdGVtLCBzeXN0ZW0tdWksIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYpLFxuICAndmVyZGFuYSc6IChWZXJkYW5hLCBHZW5ldmEsIFwiRGVqYVZ1IFNhbnNcIiwgc2Fucy1zZXJpZiksXG4pO1xuXG4vLy8gUmV0dXJuIGEgZm9udCBzdGFjayBsaXN0IGZyb20gYSBtYXAuIEVxdWl2YWxlbnQgdG8gYG1hcC1zYWZlLWdldCgkbmFtZSwgJC16Zi1mb250LXN0YWNrKWAuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0YWNrIC0gTmFtZSBvZiB0aGUgZm9udCBzdGFjay5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCBbJC16Zi1mb250LXN0YWNrXSAtIE1hcCBvZiBmb250IHN0YWNrcyB0byByZXRyaWV2ZSBhIGxpc3QgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBGb3VuZCBmb250IHN0YWNrLlxuQGZ1bmN0aW9uIGZvbnQtc3RhY2soJHN0YWNrLCAkbWFwOiAkLXpmLWZvbnQtc3RhY2spIHtcbiAgQHJldHVybiBtYXAtc2FmZS1nZXQoJG1hcCwgJHN0YWNrKTtcbn1cbiIsIi8qKlxuICogQ3VzdG9tIHZhcmlhYmxlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qIFRyYW5zaXRpb25zICovXG4kZHVyYXRpb246IDAuMjVzO1xuJGVhc2luZzogY3ViaWMtYmV6aWVyKDAsIDAuNiwgMC43LCAxKTtcbiR0cmFuc2l0aW9uOiAkZHVyYXRpb24gJGVhc2luZztcblxuLyogei1pbmRleCAqL1xuJHotaW5kZXgtbmVnYXRpdmU6IC0xO1xuJHotaW5kZXgtZGVmYXVsdDogMDtcbiR6LWluZGV4LW92ZXJsYXk6IDE7XG4kei1pbmRleC1zY3JlZW4tcmVhZGVyOiAxMDAwO1xuXG4vKiBGb250QXdlc29tZSAqL1xuJGZhLWZvbnQtcGF0aDogJy4uL2ZvbnRzJztcbiRmYS1mb250LWRpc3BsYXk6IHN3YXA7XG5cbi8qIFNwYWNpbmcgKi9cbiRzcGFjaW5nOiAwLjkzNzVyZW07XG4kc3BhY2luZy14czogJHNwYWNpbmcgKiAwLjI1O1xuJHNwYWNpbmctczogJHNwYWNpbmcgKiAwLjU7XG4kc3BhY2luZy1tOiAkc3BhY2luZyAqIDEuNTtcbiRzcGFjaW5nLWw6ICRzcGFjaW5nICogMjtcbiRzcGFjaW5nLXhsOiAkc3BhY2luZyAqIDM7XG4kc3BhY2luZy14eGw6ICRzcGFjaW5nICogNDtcbiRzcGFjaW5nLXh4eGw6ICRzcGFjaW5nICogNjtcblxuLyogQm9yZGVyICovXG4kYm9yZGVyOiByZW0tY2FsYygxKSBzb2xpZCAkY29sb3ItZ3JheS1saWdodC14O1xuXG4vKiBCb3JkZXIgUmFkaXVzICovXG4kcmFkaXVzOiAzcHg7XG4kcmFkaXVzLWw6IDVweDtcblxuLyogU2hhZG93ICovXG4kc2hhZG93LXM6IDAgMnB4IDVweCAwIHJnYmEoJGNvbG9yLWJsYWNrLCAwLjEpO1xuJHNoYWRvdzogMCAycHggNHB4IDAgcmdiYSgkY29sb3ItYmxhY2ssIDAuMik7XG4kc2hhZG93LWw6IDAgNXB4IDEwcHggMCByZ2JhKCRjb2xvci1ibGFjaywgMC4xKTtcblxuLyogV1AgYnJlYWtwb2ludHMgKi9cbiR3cC1tZWRpdW06IDc4MztcbiR3cC1sYXJnZTogOTYxO1xuXG4vKiBXUCBhZG1pbiBiYXIgKi9cbiR3cC1hZG1pbi1iYXItaGVpZ2h0LW1vYmlsZTogcmVtLWNhbGMoNDYpO1xuJHdwLWFkbWluLWJhci1oZWlnaHQtZGVza3RvcDogcmVtLWNhbGMoMzIpO1xuJHdwLWJyZWFrcG9pbnQtYWRtaW4tYmFyOiA3ODM7XG4iLCIvKipcbiAqIEN1c3RvbSBtaXhpbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFVzZWQgdG8gY29tcGlsZSBDU1MgdG8gZGlzcGxheSByZXRpbmEgaW1hZ2VzLlxuICpcbiAqIEV4YW1wbGU6XG4gKiBAaW5jbHVkZSBiYWNrZ3JvdW5kLWltYWdlLXJldGluYShsb2dvLCBwbmcsIDIxMHB4LCA3MHB4KTtcbiAqXG4gKi9cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlLXJldGluYSgkZmlsZSwgJHR5cGUsICR3aWR0aCwgJGhlaWdodCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImFzc2V0cy9pbWFnZXMvXCIgKyAkZmlsZSArIFwiLlwiICsgJHR5cGUpO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAoLW1vei1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgb25seSBzY3JlZW4gYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyIC8gMSksIG9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiYXNzZXRzL2ltYWdlcy9cIiArICRmaWxlICsgXCJAMnguXCIgKyAkdHlwZSk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgICAgICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogJHdpZHRoICRoZWlnaHQ7XG4gICAgICAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGggJGhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqXG4gKiBCdXR0b25cbiAqL1xuQG1peGluIHZvLWJ1dHRvbihcbiAgICAkY29sb3I6ICRjb2xvci13aGl0ZSxcbiAgICAkYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnksXG4gICAgJGNvbG9yLWhvdmVyOiAkY29sb3Itd2hpdGUsXG4gICAgJGJhY2tncm91bmQtY29sb3ItaG92ZXI6IGRhcmtlbigkYmFja2dyb3VuZC1jb2xvciwgMTAlKSxcbiAgICAkY29sb3Itb3V0bGluZTogJGJhY2tncm91bmQtY29sb3Jcbikge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDogKDE4LzE2KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMyAxOCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uO1xuXG4gICAgJi53cGdkcHJjLWJ1dHRvbi0tb3V0bGluZSB7XG4gICAgICAgICY6bm90KDpob3ZlciksXG4gICAgICAgICY6bm90KDpmb2N1cykge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vdXRsaW5lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3ItaG92ZXI7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICA6cm9vdCAmLndwZ2RwcmMtYnV0dG9uLS1hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1ob3ZlcjtcbiAgICB9XG59XG5cbi8qKlxuICogSGVhZGluZ3NcbiAqL1xuQG1peGluIGhlYWRpbmdzIHtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vKipcbiAqIEN1c3RvbSBwbGFjZWhvbGRlcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ldW5zdHlsZWQtbGlzdCB7XG4gICAgbWFyZ2luOiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9O1xuICAgIHBhZGRpbmc6IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIEhlYWRpbmdzXG5cbkBtaXhpbiBoMSgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDQ4KTtcbn1cblxuQG1peGluIGgyKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xufVxuXG5AbWl4aW4gaDMoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG59XG5cbkBtaXhpbiBoNCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbn1cblxuQG1peGluIGg1KCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xufVxuXG5AbWl4aW4gaDYoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG59XG5cblxuLy8gVGV4dCBzdHlsZXNcblxuQG1peGluIHRleHQteHhsKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xufVxuXG5AbWl4aW4gdGV4dC14bCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbn1cblxuQG1peGluIHRleHQtbCgpIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbn1cblxuQG1peGluIHRleHQoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbkBtaXhpbiB0ZXh0LXMoKSB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbkBtaXhpbiB0ZXh0LXhzKCkge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xufVxuXG4vLyBGb250IFdlaWdodFxuXG5AbWl4aW4gZm9udC13ZWlnaHQtbGlnaHQoKSB7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuQG1peGluIGZvbnQtd2VpZ2h0LW5vcm1hbCgpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gZm9udC13ZWlnaHQtbWVkaXVtKCkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBmb250LXdlaWdodC1zZW1pYm9sZCgpIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWl4aW4gZm9udC13ZWlnaHQtYm9sZCgpIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vLyBMaW5rXG5cbkBtaXhpbiBsaW5rKCRjb2xvcjogJGNvbG9yLXByaW1hcnksICRjb2xvci1ob3ZlcjogZGFya2VuKCRjb2xvciwgMTAlKSkge1xuICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0LWJvbGQoKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBhdXRvO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogcmVtLWNhbGMoMSk7XG5cblxuICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIH1cbn1cblxuLyoqXG4gKiBBZGQgc3R5bGluZyB0byByb290IChvcHRpb25hbClcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5AbWl4aW4gb3B0aW9uYWwtYXQtcm9vdCgkc2VsKSB7XG4gICAgQGF0LXJvb3QgI3tpZihub3QgJiwgJHNlbCwgc2VsZWN0b3ItYXBwZW5kKCYsICRzZWwpKX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8qKlxuICogRm9ybSBwbGFjZWhvbGRlciBzdHlsaW5nXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbW96LXBsYWNlaG9sZGVyJykge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi1tb3otcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbXMtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLyoqXG4gKiBBdXRvbWF0aWNhbGx5IGluY2x1ZGUgZm9jdXMgc3R5bGVzIHdpdGggaG92ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5AbWl4aW4gaG9jdXMge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8qKlxuICogUmVzZXQuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBBIHZlcnkgc2ltcGxlIHJlc2V0IHRoYXQgc2l0cyBvbiB0b3Agb2YgTm9ybWFsaXplLmNzcy5cbiAqL1xuLndwZ2RwcmMge1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2LFxuICAgIGJsb2NrcXVvdGUsXG4gICAgcCxcbiAgICBwcmUsXG4gICAgZGwsXG4gICAgZGQsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgZmlndXJlLFxuICAgIGhyLFxuICAgIGZpZWxkc2V0LFxuICAgIGxlZ2VuZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdHJhaWxpbmcgbWFyZ2lucyBmcm9tIG5lc3RlZCBsaXN0cy5cbiAgICAgKi9cblxuICAgIGxpID4ge1xuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSBkZWZhdWx0IHRhYmxlIHNwYWNpbmcuXG4gICAgICovXG5cbiAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIFJlc2V0IENocm9tZSBhbmQgRmlyZWZveCBiZWhhdmlvdXIgd2hpY2ggc2V0cyBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2BcbiAgICAgKiAgICBvbiBmaWVsZHNldHMuXG4gICAgICovXG5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIG1pbi13aWR0aDogMDsgLyogWzFdICovXG4gICAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAqIHtcbiAgICAgICAgJixcbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlc2V0IGJ1dHRvbiBzdHlsZXNcbiAgICAgKi9cbiAgICBbdHlwZT0nYnV0dG9uJ10sXG4gICAgW3R5cGU9J3Jlc2V0J10sXG4gICAgW3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIi8qKlxuICogU2NyZWVuIFJlYWRlciBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG59XG4iLCIvKipcbiAqIEFuaW1hdGlvbnMuXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGUtb3V0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLWRvd24ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbn1cblxuW2RhdGEtYW5pbWF0aW9uXSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgICZbZGF0YS1hbmltYXRpb24tYXBwZWFyaW5nXSB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlLWluO1xuICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGVhc2luZztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG5cbiAgICAgICAgJltkYXRhLWFuaW1hdGlvbj0nc2xpZGUtZG93biddIHtcbiAgICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS1kb3duO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0MCB7XG4gICAgICAgIFtkYXRhLWFuaW1hdGlvbl1bZGF0YS1hbmltYXRpb24tZGVsYXk9JyN7JGkgKiAxMDB9J11bZGF0YS1hbmltYXRpb24tZGVsYXk9JyN7JGkgKiAxMDB9J10ge1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAjeyRpIC8gMTB9cztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICBbZGF0YS1hbmltYXRpb25dIHtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjAwMXMgIWltcG9ydGFudDtcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjAwMXMgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYmFyYmVycG9sZSB7XG4gICAgMTAwJSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMTAwJTtcbiAgICB9XG59XG4iLCIvKipcbiAqIEdsb2JhbCBzdHlsZXMgYW5kIGVsZW1lbnRzIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZS5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ud3BnZHByYyB7XG4gICAgOjotbW96LXNlbGVjdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cblxuICAgIDo6c2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbjtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAubm8tYnVsbGV0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAudmlkZW8tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiB7XG4gICAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgICAgICBib3R0b206IDU2LjI1JTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb247XG5cbiAgICAgICAgaWZyYW1lIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICAgICAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICAgIH1cbn1cbiIsIi8qKlxuICogVHlwb2dyYXBoeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi53cGdkcHJjIHtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcblxuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxuXG4gICAgaDEsIC5oMSxcbiAgICBoMiwgLmgyLFxuICAgIGgzLCAuaDMsXG4gICAgaDQsIC5oNCxcbiAgICBoNSwgLmg1LFxuICAgIGg2LCAuaDYge1xuICAgICAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtd2VpZ2h0LWJvbGQoKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgICBAaW5jbHVkZSBoMSgpO1xuICAgIH1cblxuICAgIGgyLFxuICAgIC5oMiB7XG4gICAgICAgIEBpbmNsdWRlIGgyKCk7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgLmgzIHtcbiAgICAgICAgQGluY2x1ZGUgaDMoKTtcbiAgICB9XG5cbiAgICBoNCxcbiAgICAuaDQge1xuICAgICAgICBAaW5jbHVkZSBoNCgpO1xuICAgIH1cblxuICAgIGg1LFxuICAgIC5oNSB7XG4gICAgICAgIEBpbmNsdWRlIGg1KCk7XG4gICAgfVxuXG4gICAgaDYsXG4gICAgLmg2IHtcbiAgICAgICAgQGluY2x1ZGUgaDYoKTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgdGV4dCgpO1xuICAgICAgICBsaW5lLWhlaWdodDogKDI2IC8gMTYpO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtIDFyZW07XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfigJwnO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oCdJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGNpdGUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcms7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4gKiBWZXJzaW9uIDYuNi4zXG4gKiBodHRwczovL2dldC5mb3VuZGF0aW9uXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyAtLS0gRGVwZW5kZW5jaWVzIC0tLVxuQGltcG9ydCAndmVuZG9yL25vcm1hbGl6ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvbWlzc2luZy1kZXBlbmRlbmNpZXMnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL3RydWUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvY29udGFpbic7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gLS0tIFNldHRpbmdzIC0tLVxuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyAtLS0gQ29tcG9uZW50cyAtLS1cbi8vIFV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcbi8vIEdsb2JhbCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuXG4vLyBHcmlkc1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3h5LWdyaWQveHktZ3JpZCc7XG4vLyBHZW5lcmljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG4vLyBCYXNpYyBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FyZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG4vLyBDb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuXG4vLyBMYXlvdXQgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdwcm90b3R5cGUvcHJvdG90eXBlJztcblxuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKFxuICAkZmxleDogdHJ1ZSxcbiAgJHByb3RvdHlwZTogZmFsc2UsXG4gICR4eS1ncmlkOiAkeHktZ3JpZFxuKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaWYgJHh5LWdyaWQge1xuICAgICR4eS1ncmlkOiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICAvLyBHbG9iYWwgc3R5bGVzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuXG4gIC8vIEdyaWRzXG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmICR4eS1ncmlkIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmljIGNvbXBvbmVudHNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgLy8gQmFzaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG5cbiAgLy8gQ29udGFpbmVyc1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgLy8gTWVudS1iYXNlZCBjb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcblxuICAvLyBMYXlvdXQgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuICAvLyBIZWxwZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbiAgQGlmICRmbGV4IHsgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7IH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpZiAkcHJvdG90eXBlIHsgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlczsgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLy8gMlxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgY29kZSxcbiAga2JkLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8vIDFcbiAgICBmb250LXNpemU6IDFlbTsgLy8gMlxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogODAlO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gIC8vIGFsbCBicm93c2Vycy5cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIC8vIEVtYmVkZGVkIGNvbnRlbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuXG4gIGltZyB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gRm9ybXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMTAwJTsgLy8gMVxuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgLy8gMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cblxuICBidXR0b24sXG4gIGlucHV0IHsgLy8gMVxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gIC8vIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cblxuICBidXR0b24sXG4gIHNlbGVjdCB7IC8vIDFcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG5cbiAgYnV0dG9uLFxuICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgW3R5cGU9XCJyZXNldFwiXSxcbiAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG5cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cblxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGxlZ2VuZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDFcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cblxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gIC8vIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC5cblxuICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gMlxuICB9XG5cbiAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuXG4gIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG5cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cblxuICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIEludGVyYWN0aXZlXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUgMTArLCBhbmQgRmlyZWZveC5cblxuICBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cblxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gIH1cblxuICAvLyBNaXNjXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG5cbiAgW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8vL1xuLy8vIENoZWNrcyB3aGV0aGVyIGAkZnVuY3Rpb25zYCBleGlzdCBpbiBnbG9iYWwgc2NvcGUuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7QXJnTGlzdH0gJGZ1bmN0aW9ucyAtIGxpc3Qgb2YgZnVuY3Rpb25zIHRvIGNoZWNrIGZvclxuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH0gV2hldGhlciBvciBub3QgdGhlcmUgYXJlIG1pc3NpbmcgZGVwZW5kZW5jaWVzXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygkZnVuY3Rpb25zLi4uKSB7XG4gICRtaXNzaW5nLWRlcGVuZGVuY2llczogKCk7XG4gIFxuICBAZWFjaCAkZnVuY3Rpb24gaW4gJGZ1bmN0aW9ucyB7XG4gICAgQGlmIG5vdCBmdW5jdGlvbi1leGlzdHMoJGZ1bmN0aW9uKSB7XG4gICAgICAkbWlzc2luZy1kZXBlbmRlbmNpZXM6IGFwcGVuZCgkbWlzc2luZy1kZXBlbmRlbmNpZXMsICRmdW5jdGlvbiwgY29tbWEpO1xuICAgIH1cbiAgfVxuICBcbiAgQGlmIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMCB7XG4gICAgQGVycm9yICdVbm1ldCBkZXBlbmRlbmNpZXMhIFRoZSBmb2xsb3dpbmcgZnVuY3Rpb25zIGFyZSByZXF1aXJlZDogI3skbWlzc2luZy1kZXBlbmRlbmNpZXN9Lic7XG4gIH1cblxuICBAcmV0dXJuIGxlbmd0aCgkbWlzc2luZy1kZXBlbmRlbmNpZXMpID4gMDtcbn1cbiIsIi8vL1xuLy8vIFJldHVybnMgdHJ1dGhpbmVzcyBvZiBgJHZhbHVlYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjaGVja1xuLy8vXG4vLy8gQHJldHVybiB7Qm9vbH1cbi8vL1xuIFxuQGZ1bmN0aW9uIHNsLWlzLXRydWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gaWYoJHZhbHVlID09IG51bGwsIGZhbHNlLCAkdmFsdWUgYW5kICR2YWx1ZSAhPSBudWxsIGFuZCAkdmFsdWUgIT0gJycgYW5kICR2YWx1ZSAhPSAoKSk7XG59XG4iLCIvLy9cbi8vLyBSZXR1cm5zIHdoZXRoZXIgYCRsaXN0YCBjb250YWlucyBgJHZhbHVlYC5cbi8vL1xuLy8vIEBpZ25vcmUgRG9jdW1lbnRhdGlvbjogaHR0cDovL2F0LWltcG9ydC5naXRodWIuaW8vU2Fzc3lMaXN0cy9kb2N1bWVudGF0aW9uLyNmdW5jdGlvbi1zbC1jb250YWluXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICAgICRsaXN0ICAtIGxpc3QgdG8gY2hlY2tcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIHZhbHVlIHRvIGxvb2sgZm9yXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLWNvbnRhaW4oYSBiIGMsIGEpXG4vLy8gLy8gdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1jb250YWluKGEgYiBjLCB6KVxuLy8vIC8vIGZhbHNlXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sfVxuLy8vXG5cbkBmdW5jdGlvbiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBub3Qgbm90IGluZGV4KCRsaXN0LCAkdmFsdWUpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtY29udGFpblxuLy8vIEBhbGlhcyBzbC1jb250YWluXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1pbmNsdWRlKCRsaXN0LCAkdmFsdWUpIHtcbiAgQHJldHVybiBzbC1jb250YWluKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vIFJlbW92ZXMgYWxsIGZhbHNlIGFuZCBudWxsIHZhbHVlcyBmcm9tIGAkbGlzdGAuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtcHVyZ2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBsaXN0IHRvIHB1cmdlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXB1cmdlKG51bGwgYSBmYWxzZSBiKVxuLy8vIC8vIGEgYlxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtcHVyZ2UoJGxpc3QpIHtcbiAgJF86IHNsLW1pc3NpbmctZGVwZW5kZW5jaWVzKCdzbC1pcy10cnVlJywgJ3NsLXRvLWxpc3QnKTtcbiAgXG4gICRyZXN1bHQ6ICgpO1xuXG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgc2wtaXMtdHJ1ZSgkaXRlbSkge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICRpdGVtLCBsaXN0LXNlcGFyYXRvcigkbGlzdCkpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkcmVzdWx0KTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQGFsaWFzIHNsLXB1cmdlXG4vLy9cbiBcbkBmdW5jdGlvbiBzbC1jbGVhbigkbGlzdCkge1xuICBAcmV0dXJuIHNsLXB1cmdlKCRsaXN0KTtcbn1cbiIsIi8vL1xuLy8vIFJlbW92ZXMgdmFsdWUocykgYCR2YWx1ZWAgZnJvbSBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlbW92ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlcGxhY2Vcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgICAgICAtIGxpc3QgdG8gdXBkYXRlXG4vLy8gQHBhcmFtIHsqfSAgICAgICAkdmFsdWUgICAgIC0gdmFsdWUgdG8gcmVtb3ZlXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlbW92ZShhIGIgYywgYSlcbi8vLyAvLyBiIGNcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9XG4vLy9cblxuQGZ1bmN0aW9uIHNsLXJlbW92ZSgkbGlzdCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtcmVwbGFjZScpO1xuXG4gIEByZXR1cm4gc2wtcmVwbGFjZSgkbGlzdCwgJHZhbHVlLCBudWxsKTtcbn1cblxuLy8vXG4vLy8gQHJlcXVpcmVzIHNsLXJlbW92ZVxuLy8vIEBhbGlhcyBzbC1yZW1vdmVcbi8vL1xuXG5AZnVuY3Rpb24gc2wtd2l0aG91dCgkbGlzdCwgJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtcmVtb3ZlKCRsaXN0LCAkdmFsdWUpO1xufVxuIiwiLy8vXG4vLy8gUmVwbGFjZXMgYCRvbGRgIGJ5IGAkbmV3YCBpbiBgJGxpc3RgLlxuLy8vXG4vLy8gQGlnbm9yZSBEb2N1bWVudGF0aW9uOiBodHRwOi8vYXQtaW1wb3J0LmdpdGh1Yi5pby9TYXNzeUxpc3RzL2RvY3VtZW50YXRpb24vI2Z1bmN0aW9uLXNsLXJlcGxhY2Vcbi8vL1xuLy8vIEByZXF1aXJlcyBzbC1pcy10cnVlXG4vLy8gQHJlcXVpcmVzIHNsLXB1cmdlXG4vLy8gQHJlcXVpcmVzIHNsLXRvLWxpc3Rcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gICAgJGxpc3QgIC0gbGlzdCB0byB1cGRhdGVcbi8vLyBAcGFyYW0geyp9ICAgICAgICRvbGQgICAtIHZhbHVlIHRvIHJlcGxhY2Vcbi8vLyBAcGFyYW0geyp9ICAgICAgICR2YWx1ZSAtIG5ldyB2YWx1ZSBmb3IgJG9sZFxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC1yZXBsYWNlKGEgYiBjLCBiLCB6KVxuLy8vIC8vIGEgeiBjXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vIHNsLXJlcGxhY2UoYSBiIGMsIHksIHopXG4vLy8gLy8gYSBiIGNcbi8vLyBcbi8vLyBAcmV0dXJuIHtMaXN0fVxuLy8vXG4gXG5AZnVuY3Rpb24gc2wtcmVwbGFjZSgkbGlzdCwgJG9sZCwgJHZhbHVlKSB7XG4gICRfOiBzbC1taXNzaW5nLWRlcGVuZGVuY2llcygnc2wtaXMtdHJ1ZScsICdzbC1wdXJnZScsICdzbC10by1saXN0Jyk7XG5cbiAgJHJ1bm5pbmc6IHRydWU7XG5cbiAgQHdoaWxlICRydW5uaW5nIHtcbiAgICAkaW5kZXg6IGluZGV4KCRsaXN0LCAkb2xkKTtcblxuICAgIEBpZiBub3QgJGluZGV4IHtcbiAgICAgICRydW5uaW5nOiBmYWxzZTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkbGlzdDogc2V0LW50aCgkbGlzdCwgJGluZGV4LCAkdmFsdWUpO1xuICAgIH1cblxuICB9XG5cbiAgJGxpc3Q6IGlmKHNsLWlzLXRydWUoJHZhbHVlKSwgJGxpc3QsIHNsLXB1cmdlKCRsaXN0KSk7XG4gIFxuICBAcmV0dXJuIHNsLXRvLWxpc3QoJGxpc3QpO1xufVxuIiwiLy8vXG4vLy8gQ2FzdHMgYCR2YWx1ZWAgaW50byBhIGxpc3QuXG4vLy9cbi8vLyBAaWdub3JlIERvY3VtZW50YXRpb246IGh0dHA6Ly9hdC1pbXBvcnQuZ2l0aHViLmlvL1Nhc3N5TGlzdHMvZG9jdW1lbnRhdGlvbi8jZnVuY3Rpb24tc2wtdG8tbGlzdFxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkdmFsdWUgLSB2YWx1ZSB0byBjYXN0IHRvIGxpc3Rcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlcGFyYXRvciBbc3BhY2VdIC0gc2VwYXJhdG9yIHRvIHVzZVxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyBzbC10by1saXN0KGEgYiBjLCBjb21tYSlcbi8vLyAvLyBhLCBiLCBjXG4vLy8gXG4vLy8gQHJldHVybiB7TGlzdH1cbi8vL1xuXG5AZnVuY3Rpb24gc2wtdG8tbGlzdCgkdmFsdWUsICRzZXBhcmF0b3I6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZSkpIHtcbiAgQHJldHVybiBqb2luKCgpLCAkdmFsdWUsICRzZXBhcmF0b3IpO1xufVxuXG4vLy9cbi8vLyBAcmVxdWlyZXMgc2wtdG8tbGlzdFxuLy8vIEBhbGlhcyBzbC10by1saXN0XG4vLy9cblxuQGZ1bmN0aW9uIHNsLWxpc3RpZnkoJHZhbHVlKSB7XG4gIEByZXR1cm4gc2wtdG8tbGlzdCgkdmFsdWUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1jb2xvci1saXRlcmFscywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIGdsb2JhbFxuLy8vL1xuXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLy8gRm9udCBzaXplIGF0dHJpYnV0ZSBhcHBsaWVkIHRvIGA8aHRtbD5gIGFuZCBgPGJvZHk+YC4gV2UgdXNlIDEwMCUgYnkgZGVmYXVsdCBzbyB0aGUgdmFsdWUgaXMgaW5oZXJpdGVkIGZyb20gdGhlIHVzZXIncyBicm93c2VyIHNldHRpbmdzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgd2lkdGggb2YgeW91ciBzaXRlLiBVc2VkIGJ5IHRoZSBncmlkIHRvIGRldGVybWluZSByb3cgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMjAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGFsbCB0eXBlLiBgJGdsb2JhbC1saW5laGVpZ2h0YCBpcyAyNHB4IHdoaWxlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgaXMgMTZweFxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcnMgdXNlZCBmb3IgYnV0dG9ucywgY2FsbG91dHMsIGxpbmtzLCBldGMuIFRoZXJlIG11c3QgYWx3YXlzIGJlIGEgY29sb3IgY2FsbGVkIGBwcmltYXJ5YC5cbi8vLyBAdHlwZSBNYXBcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcG9zaXRpb25pbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgbWVudSBzdHlsZXMuIENhbiBiZSBvdmVyd3JpdHRlbiBhdCBpbmRpdmlkdWFsIG1lbnUgY29tcG9uZW50IGxldmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tZW51LXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gTmVzdGVkIG1hcmdpbiBmb3Igc3VibWVudS5cbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZWQgcmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgcHJvdG90eXBlcyBpZiBhcHBsaWNhYmxlXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnV0dG9uIGN1cnNvcidzIHZhbHVlLCBgYXV0b2AgYnkgZGVmYXVsdFxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtYnV0dG9uLWN1cnNvcjogYXV0byAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGUgdGhhdCBjb250YWlucyB0aGUgZmxleCBqdXN0aWZ5aW5nIG9wdGlvbnNcbiQtemYtZmxleC1qdXN0aWZ5OiAtemYtZmxleC1qdXN0aWZ5KCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24pO1xuXG4vLy8gR2xvYmFsIHRvbGVyYW5jZSBmb3IgY29sb3IgcGljayBjb250cmFzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2U6IDAgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIE1ha2UgcmVzZXQgaW5oZXJpdCBmb250LWZhbWlseSBpbnN0ZWFkIG9mIHNldHRpbmdzIHNhbnMtc2VyaWZcbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBHbG9iYWwgc3BhY2luZyBmb3IgZm9ybSBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuQGltcG9ydCAndGV4dCc7XG5AaW1wb3J0ICdjaGVja2JveCc7XG5AaW1wb3J0ICdsYWJlbCc7XG5AaW1wb3J0ICdoZWxwLXRleHQnO1xuQGltcG9ydCAnaW5wdXQtZ3JvdXAnO1xuQGltcG9ydCAnZmllbGRzZXQnO1xuQGltcG9ydCAnc2VsZWN0JztcbkBpbXBvcnQgJ3JhbmdlJztcbkBpbXBvcnQgJ3Byb2dyZXNzJztcbkBpbXBvcnQgJ21ldGVyJztcbkBpbXBvcnQgJ2Vycm9yJztcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybXMge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm0tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXg7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLXNlbGVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtLWVycm9yO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiB1bml0bGVzcy1jYWxjKCRpbnB1dC1saW5lLWhlaWdodCkpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKiAkaW5wdXQtbGluZS1oZWlnaHQpICsgKGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAndG9wJykgKyBnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ2JvdHRvbScpKSAtIHJlbS1jYWxjKDEpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDAsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgJiwgJi5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRpbnB1dC1yYWRpdXMgMCAwICRpbnB1dC1yYWRpdXMsIDAgJGlucHV0LXJhZGl1cyAkaW5wdXQtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuXG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG5cbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAuaW5wdXQtZ3JvdXAge1xuICAgICAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogdW5pdGxlc3MtY2FsYygkaW5wdXQtbGluZS1oZWlnaHQpKSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG4gICY6bm90KFttdWx0aXBsZV0pIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPSdyYW5nZSddIHsgIC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICRtYXJnaW46ICgkc2xpZGVyLWhhbmRsZS1oZWlnaHQgLSAkc2xpZGVyLWhlaWdodCkgLyAyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi10b3A6ICRtYXJnaW47XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbjtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgLy8gQ2hyb21lL1NhZmFyaVxuICAgICY6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm9ncmVzcy1iYXJcbi8vLy9cblxuLy8vIEhlaWdodCBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIncyBtZXRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtZWxlbWVudCB7XG4gIHByb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG5cbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHNldHMgdGhlIGZpbGwgd2l0aCBjb2xvclxuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgSUUgYW5kIEVkZ2VcbiAgICAmOjotbXMtZmlsbCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gICAgICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1ldGVyXG4vLy8vXG5cbi8vLyBIZWlnaHQgb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRtZXRlci1oZWlnaHQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1ldGVyIGZpbGwgZm9yIGFuIG9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtZ29vZDogJHN1Y2Nlc3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhbiBhdmVyYWdlIHZhbHVlIGluIGEgYDxtZXRlcj5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNZXRlciBmaWxsIGZvciBhIHN1Ym9wdGltYWwgdmFsdWUgaW4gYSBgPG1ldGVyPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBDb2xvclxuJG1ldGVyLWZpbGwtYmFkOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1ldGVyLWVsZW1lbnQge1xuICBtZXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkbWV0ZXItaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAvLyBEaXNhYmxlIGAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmVgIGZyb20gZ2V0dGluZyBwcmVmaXhlZCxcbiAgICAvLyBXZSBoYXZlIGRpc2FibGVkIGF1dG9wcmVmaXhlciBmaXJzdCBhbmQgYXJlIGp1c3Qgb25seSB1c2luZyBcbiAgICAvLyBgLW1vei1hcHBlYXJhbmNlOiBub25lYCBhcyBhIHByZWZpeCBhbmQgbmVnbGVjdGluZyB0aGUgd2Via2l0LlxuICAgIFxuICAgIC8qISBhdXRvcHJlZml4ZXI6IG9mZiAqL1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgIH1cblxuICAgIC8vIEZvciBGaXJlZm94XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuXG4gICAgLy8gQ2hyb21lL1NhZmFyaS9FZGdlXG4gICAgJjo6LXdlYmtpdC1tZXRlci1iYXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtbWV0ZXItaW5uZXItZWxlbWVudCB7XG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjotd2Via2l0LW1ldGVyLW9wdGltdW0tdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1zdWJvcHRpbXVtLXZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkbWV0ZXItcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtZXRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LXdlYmtpdC1tZXRlci1ldmVuLWxlc3MtZ29vZC12YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJG1ldGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkbWV0ZXItcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgICBAaWYgaGFzLXZhbHVlKCRtZXRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG1ldGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItb3B0aW11bTo6LW1vei1tZXRlci1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJG1ldGVyLWZpbGwtZ29vZDtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLW9wdGltdW06Oi1tb3otbWV0ZXItYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZXRlci1maWxsLW1lZGl1bTtcbiAgICB9XG5cbiAgICAmOi1tb3otbWV0ZXItc3ViLXN1Yi1vcHRpbXVtOjotbW96LW1ldGVyLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWV0ZXItZmlsbC1iYWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5XG4vLy8vXG5cbi8vIEJhc2UgdHlwb2dyYXBoeSBzdHlsZXMgKHRhZ3Mgb25seSlcbkBpbXBvcnQgJ2Jhc2UnO1xuXG4vLyBUeXBvZ3JhcGh5IGhlbHBlciBjbGFzc2VzIChjbGFzc2VzIG9ubHkpXG5AaW1wb3J0ICdoZWxwZXJzJztcblxuLy8gVGV4dCBhbGlnbm1lbnQgY2xhc3Nlc1xuQGltcG9ydCAnYWxpZ25tZW50JztcblxuLy8gUHJpbnQgc3R5bGVzXG5AaW1wb3J0ICdwcmludCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHkge1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJpbnQtc3R5bGVzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpO1xuICAgIH1cbiAgICAkaGVhZGVyLXN0eWxlczogbWFwLW1lcmdlKCRoZWFkZXItc3R5bGVzLCAoJHNpemU6ICRoZWFkZXItbWFwKSk7XG4gIH1cbiAgQHJldHVybiAkaGVhZGVyLXN0eWxlcztcbn1cblxuLy8gSWYgaXQgZXhpc3RzICRoZWFkZXJzLXNpemVzIGlzIHVzZWQgdG8gYnVpbGQgJGhlYWRlci1zdHlsZXMuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoaGVhZGVyLXNpemVzKSB7XG4gICRoZWFkZXItc3R5bGVzOiBidWlsZF9mcm9tX2hlYWRlci1zaXplcygkaGVhZGVyLXNpemVzKTtcbn1cblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFVzZSB0aGUgYC5jb2RlLWlubGluZWAgY29tcG9uZW50IGFzIGRlZmF1bHQgZm9yIGA8Y29kZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRlbmFibGUtY29kZS1pbmxpbmU6IHRydWU7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gVXNlIHRoZSBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudCBhcyBkZWZhdWx0IGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcblxuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU21hbGwgdGV4dFxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gSGVhZGluZ3NcbiAgaDEsIC5oMSxcbiAgaDIsIC5oMixcbiAgaDMsIC5oMyxcbiAgaDQsIC5oNCxcbiAgaDUsIC5oNSxcbiAgaDYsIC5oNiB7XG4gICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgZm9udC1zdHlsZTogJGhlYWRlci1mb250LXN0eWxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkaGVhZGVyLWNvbG9yO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkaGVhZGVyLXRleHQtcmVuZGVyaW5nO1xuXG4gICAgc21hbGwge1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogJGhlYWRlci1zbWFsbC1mb250LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc3R5bGVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXN0eWxlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGhlYWRlciwgJGhlYWRlci1kZWZzIGluICRoZWFkZXJzIHtcbiAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiAxcmVtO1xuICAgICAgICAjeyRoZWFkZXJ9LCAuI3skaGVhZGVyfSB7XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmb250LXNpemUpIHtcbiAgICAgICAgICAgICRmb250LXNpemUtdGVtcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGZvbnQtc2l6ZSkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGZzKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmcykpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtdGVtcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBsaW5lLWhlaWdodCksICRmb250LXNpemUtdGVtcCk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxoKSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGgpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMoJGhlYWRlci1saW5laGVpZ2h0LCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi10b3ApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG10KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbXQpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1hcmdpbi1ib3R0b20pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIG1iKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWIpKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKCRoZWFkZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGFuY2hvci1jb2xvci1ob3ZlcjtcbiAgICAgIEBpZiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3Jpem9udGFsIHJ1bGVcbiAgaHIge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogJGhyLW1hcmdpbjtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGlzdC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIElubGluZSBDaXRhdGlvbnNcbiAgQGlmICgkZW5hYmxlLWNpdGUtYmxvY2sgPT0gdHJ1ZSkge1xuICAgIGNpdGUge1xuICAgICAgLy8gRXh0ZW5kaW5nIGEgY2xhc3MgaXMgbm90IHJlY29tbWVuZGVkLlxuICAgICAgLy8gVE9ETzogQnJlYWsgdGhlIHR5cG9ncmFwaHktYmFzZS90eXBvZ3JhcGh5LWhlbHBlcnMgc2VwYXJhdGlvblxuICAgICAgQGV4dGVuZCAuY2l0ZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIGFiYnIsIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIEZpZ3VyZXNcbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiAoJGVuYWJsZS1jb2RlLWlubGluZSA9PSB0cnVlKSB7XG4gICAgY29kZSB7XG4gICAgICBAZXh0ZW5kIC5jb2RlLWlubGluZTtcbiAgICB9XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRrZXlzdHJva2UtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgLmNpdGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGAuY2l0ZS1ibG9ja2AgY29tcG9uZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBQc2V1ZG8gY29udGVudCBmb3IgYC5jaXRlLWJsb2NrYCBjb21wb25lbnQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gYC5jb2RlLWlubGluZWAgYW5kIGAuY29kZS1ibG9ja2AgY29tcG9uZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGAuY29kZS1pbmxpbmVgIGFuZCBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBgLmNvZGUtaW5saW5lYCBhbmQgYC5jb2RlLWJsb2NrYCBjb21wb25lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgdGhlIGAuY29kZS1pbmxpbmVgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIHVuZGVyIHRoZSBgLmNvZGUtYmxvY2tgIGNvbXBvbmVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b206IDEuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGNpdGUtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICRjaXRlLWNvbG9yO1xuICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZCBiYXNpYyBzdHlsZXMgZm9yIGEgY29kZSBoZWxwZXIuXG4vLy8gU2VlIGBjb2RlLWlubGluZWAgYW5kIGBjb2RlLWJsb2NrYCBtaXhpbnMuXG5AbWl4aW4gY29kZS1zdHlsZSB7XG4gIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGNvZGUtY29sb3I7XG59XG5cbi8vLyBNYWtlIGNvZGUgaGVscGVyIGZyb20gdGhlIGBjb2RlLXN0eWxlYCBtaXhpbiBpbmxpbmUuXG4vLy8gVXNlZCB0byBnZW5lcmF0ZSBgLmNvZGUtaW5saW5lYFxuQG1peGluIGNvZGUtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xufVxuXG4vLy8gTWFrZSBjb2RlIGhlbHBlciBmcm9tIHRoZSBgY29kZS1zdHlsZWAgbWl4aW4gYSBibG9jay5cbi8vLyBVc2VkIHRvIGdlbmVyYXRlIGAuY29kZS1ibG9ja2BcbkBtaXhpbiBjb2RlLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBhdXRvO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuXG4gIHBhZGRpbmc6ICRjb2RlLWJsb2NrLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRjb2RlLWJsb2NrLW1hcmdpbi1ib3R0b207XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG5cbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICB1bCwgb2wge1xuICAgIC8vIFVzZSB0byByZW1vdmUgbnVtYmVycyBmcm9tIG9yZGVyZWQgbGlzdCAmIGJ1bGxldHMgZnJvbSB1bm9yZGVyZWQgbGlzdFxuICAgICYubm8tYnVsbGV0IHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaXRlLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBjaXRlLWJsb2NrO1xuICB9XG5cbiAgLmNvZGUtaW5saW5lIHtcbiAgICBAaW5jbHVkZSBjb2RlLXN0eWxlO1xuICAgIEBpbmNsdWRlIGNvZGUtaW5saW5lO1xuICB9XG5cbiAgLmNvZGUtYmxvY2sge1xuICAgIEBpbmNsdWRlIGNvZGUtc3R5bGU7XG4gICAgQGluY2x1ZGUgY29kZS1ibG9jaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi10ZXh0LWFsaWdubWVudCB7XG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRhbGlnbiBpbiAobGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAudGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgZGlzcGxheXMgbmV4dCB0byBhbGwgbGlua3MgdGhlaXIgXCJocmVmXCIgd2hlbiBwcmludGVkLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgLy8gRW5zdXJlIGEgXCJibGFjay1vbi13aGl0ZVwiIHByaW50IGJ5IHJlbW92aW5nIGJhY2tncm91bmRzLFxuICAgICAgLy8gdXNpbmcgYmxhY2sgdGV4dCBldmVyeXdoZXJlIGFuZCBmb3JjaW5nIHRoZSBicm93c2VyIHRvIGVjb25vbWl6ZSBpbmsuXG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgICAgY29sb3ItYWRqdXN0OiBlY29ub215O1xuICAgICAgfVxuICAgICAgLy8gT3RoZXJ3aXNlLCBwcmV2ZW50IGFueSBlY29ub215IGJ5IHRoZSBicm93c2VyLlxuICAgICAgQGVsc2Uge1xuICAgICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBAaWYgJHByaW50LWhyZWZzIHtcbiAgICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG4gICAgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuXG4gICAgLy8gSGVscGVyIHRvIHJlLWFsbG93IHBhZ2UgYnJlYWtzIGluIHRoZSBtaWRkbGUgb2YgY2VydGFpbiBlbGVtZW50cyAoZS5nLiBwcmUsIGJsb2NrcXVvdGUsIHRyKVxuICAgIC5wcmludC1icmVhay1pbnNpZGUge1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gVGhlIG1heGltdW0gd2lkdGggb2YgYSByb3cuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgZGVmYXVsdCBjb2x1bW4gY291bnQgb2YgYSBncmlkLiBDaGFuZ2luZyB0aGlzIHZhbHVlIGFmZmVjdHMgdGhlIGxvZ2ljIG9mIHRoZSBncmlkIG1peGlucywgYW5kIHRoZSBudW1iZXIgb2YgQ1NTIGNsYXNzZXMgb3V0cHV0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29sdW1uLWNvdW50OiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiBjb2x1bW5zIGF0IGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4vLy8gQHNpbmNlIDYuMS4wXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgd2lsbCBhbGlnbiB0byB0aGUgb3Bwb3NpdGUgZWRnZSBvZiB0aGUgcm93LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRncmlkLWNvbHVtbi1hbGlnbi1lZGdlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgdXNlZCBmb3IgYW4gYWxpYXMgb2YgY29sdW1uICh3aXRoIEBleHRlbmQpLiBJZiBgZmFsc2VgLCBubyBhbGlhcyBpcyBjcmVhdGVkLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucycgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgaGlnaGVzdCBudW1iZXIgb2YgYC54LXVwYCBjbGFzc2VzIGF2YWlsYWJsZSB3aGVuIHVzaW5nIHRoZSBibG9jayBncmlkIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFsdWUgdG8gc3RvcmUgdGhlIGVuZCBjb2x1bW4gZmxvYXQgZGlyZWN0aW9uXG4kLXpmLWVuZC1mbG9hdDogaWYoJGdyaWQtY29sdW1uLWFsaWduLWVkZ2UsICRnbG9iYWwtcmlnaHQsICRnbG9iYWwtbGVmdCk7XG5cbkBpbXBvcnQgJ3Jvdyc7XG5AaW1wb3J0ICdjb2x1bW4nO1xuQGltcG9ydCAnc2l6ZSc7XG5AaW1wb3J0ICdwb3NpdGlvbic7XG5AaW1wb3J0ICdndXR0ZXInO1xuQGltcG9ydCAnY2xhc3Nlcyc7XG5AaW1wb3J0ICdsYXlvdXQnO1xuXG5AaW1wb3J0ICdmbGV4LWdyaWQnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIFBvc2l0aW9uXG4gIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhhdXRvKTtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG5cbiAgLy8gQ2VudGVyIHBvc2l0aW9uaW5nXG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIFwiY2VudGVyXCIgb3IgXCJhdXRvXCIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbihhdXRvKTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWd1dHRlcigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZ3V0dGVyXG5AbWl4aW4gZ3JpZC1jb2wtZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2V0cyBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucyB0byBtYXRjaCBndXR0ZXJzXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG1hcmdpbiBbYXV0b11cbi8vLyAgIFRoZSBib3R0b20gbWFyZ2luIG9uIGdyaWQgY29sdW1ucywgYWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgc2luZ2xlIHZhbHVlIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBicmVha3BvaW50IG5hbWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhlIGNvcnJlc3BvbmRpbmcgc2l6ZSBpbiB0aGUgJG1hcmdpbnMgbWFwLlxuLy8vICAgLSBcImF1dG9cIiB3aWxsIG1ha2UgdGhlIG1hcmdpbiByZXNwb25zaXZlLCB1c2luZyB0aGUgJG1hcmdpbnMgbWFwIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXJnaW5zIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLiBSZXNwb25zaXZlIGd1dHRlciBzZXR0aW5ncyBieSBkZWZhdWx0LlxuQG1peGluIGdyaWQtY29sdW1uLW1hcmdpbiAoXG4gICRtYXJnaW46IGF1dG8sXG4gICRtYXJnaW5zOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJG1hcmdpbiwgJG1hcmdpbnMpIHtcbiAgICAkbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoJC16Zi1icC12YWx1ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1ib3R0b207XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgQGlmICRwdXNoIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRwdWxsIHtcbiAgICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1bGx9LSN7JGl9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICBAaWYgJG9mZnNldCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1sYXlvdXQoJGksICcuI3skY29sdW1ufScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCQtemYtc2l6ZSk7IH1cbiAgICB9XG5cbiAgICAvLyBQb3NpdGlvbmluZ1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skY2VudGVyfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgJC1ndXR0ZXItdW5wb3Mtc2VsZWN0b3I6IChcbiAgICAgIGlmKCR1bmNlbnRlciwgJy4jeyQtemYtc2l6ZX0tI3skdW5jZW50ZXJ9JywgbnVsbCksXG4gICAgICBpZigkcHVzaCwgJy4jeyQtemYtc2l6ZX0tI3skcHVzaH0tMCcsIG51bGwpLFxuICAgICAgaWYoJHB1bGwsICcuI3skLXpmLXNpemV9LSN7JHB1bGx9LTAnLCBudWxsKSxcbiAgICApO1xuICAgIEBpZiAoJHVuY2VudGVyIG9yICRwdXNoIG9yICRwdWxsKSB7XG4gICAgICAjeyQtZ3V0dGVyLXVucG9zLXNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIGFuZCBoYXMtdmFsdWUoJGdyaWQtY29sdW1uLWFsaWFzKSB7XG4gICAgLiN7JGdyaWQtY29sdW1uLWFsaWFzfSB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTaXplcyBjaGlsZCBlbGVtZW50cyBzbyB0aGF0IGAkbmAgbnVtYmVyIG9mIGl0ZW1zIGFwcGVhciBvbiBlYWNoIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBlbGVtZW50cyB0byBkaXNwbGF5IHBlciByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJy5jb2x1bW4nXSAtIFNlbGVjdG9yKHMpIHRvIHVzZSBmb3IgY2hpbGQgZWxlbWVudHMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGd1dHRlclxuLy8vICAgVGhlIGd1dHRlciB0byBhcHBseSB0byBjaGlsZCBlbGVtZW50cy4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtICRncmlkLWNvbHVtbi1ndXR0ZXIgd2lsbCB1c2UgdGhlIHZhbHVlcyBpbiB0aGUgJGdyaWQtY29sdW1uLWd1dHRlciBtYXAsIGluY2x1ZGluZyBicmVha3BvaW50IHNpemVzLlxuLy8vICAgLSBBIGZpeGVkIG51bWVyaWMgdmFsdWUgd2lsbCBhcHBseSB0aGlzIGd1dHRlciB0byBhbGwgYnJlYWtwb2ludHMuXG5AbWl4aW4gZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJyxcbiAgJGd1dHRlcjogbnVsbFxuKSB7XG4gICYgPiAjeyRzZWxlY3Rvcn0ge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICAvLyBJZiBhICRndXR0ZXIgdmFsdWUgaXMgcGFzc2VkXG4gICAgQGlmKCRndXR0ZXIpIHtcbiAgICAgIC8vIEd1dHRlcnNcbiAgICAgIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoI3skbn1uKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBleHRyYSBDU1MgdG8gYmxvY2sgZ3JpZCBjaGlsZHJlbiBzbyB0aGUgbGFzdCBpdGVtcyBpbiB0aGUgcm93IGNlbnRlciBhdXRvbWF0aWNhbGx5LiBBcHBseSB0aGlzIHRvIHRoZSBjb2x1bW5zLCBub3QgdGhlIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBpdGVtcyB0aGF0IGFwcGVhciBpbiBlYWNoIHJvdy5cbkBtaXhpbiBncmlkLWxheW91dC1jZW50ZXItbGFzdCgkbikge1xuICBAZm9yICRpIGZyb20gMSB0byAkbiB7XG4gICAgQGlmICRpID09IDEge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJjpudGgtY2hpbGQoI3skbn1uKzEpOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBoYXZlIHJvdyB3cmFwcGluZyBiZWhhdmlvciBzZXQgdG8gbm93cmFwXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJHdyYXA6IHRydWUsXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGJhc2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgJHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYGV4cGFuZGAgKHRoZSBkZWZhdWx0KSB3aWxsIG1ha2UgdGhlIGNvbHVtbiBleHBhbmQgdG8gZmlsbCBzcGFjZS5cbi8vLyAgIC0gYHNocmlua2Agd2lsbCBtYWtlIHRoZSBjb2x1bW4gY29udHJhY3QsIHNvIGl0IG9ubHkgdGFrZXMgdXAgdGhlIGhvcml6b250YWwgc3BhY2UgaXQgbmVlZHMuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogZXhwYW5kKSB7XG4gICRmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBleHBhbmQge1xuICAgICRmbGV4OiAwIDAgZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG5cbiAgQHJldHVybiAkZmxleDtcbn1cblxuLy8vIENyZWF0ZXMgYSBjb2x1bW4gZm9yIGEgZmxleCBncmlkLiBCeSBkZWZhdWx0LCB0aGUgY29sdW1uIHdpbGwgc3RyZXRjaCB0byB0aGUgZnVsbCB3aWR0aCBvZiBpdHMgY29udGFpbmVyLCBidXQgdGhpcyBjYW4gYmUgb3ZlcnJpZGRlbiB3aXRoIHNpemluZyBjbGFzc2VzLCBvciBieSB1c2luZyB0aGUgYHVuc3RhY2tgIGNsYXNzIG9uIHRoZSBwYXJlbnQgZmxleCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbZXhwYW5kXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycyB3aWR0aC4gU2VlIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyYCBtaXhpbi5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uKFxuICAkY29sdW1uczogZXhwYW5kLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIC8vIEJhc2UgcHJvcGVydGllc1xuICBAaW5jbHVkZSBmbGV4LWdyaWQtc2l6ZSgkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXJzKTtcblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBleHBhbmQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGJsb2NrIGdyaWQgZm9yIGEgZmxleCBncmlkIHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbiAtIE51bWJlciBvZiBjb2x1bW5zIHRvIGRpc3BsYXkgb24gZWFjaCByb3cuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciAtIFNlbGVjdG9yIHRvIHVzZSB0byB0YXJnZXQgY29sdW1ucyB3aXRoaW4gdGhlIHJvdy5cbkBtaXhpbiBmbGV4LWdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbidcbikge1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICRwY3Q6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgICBmbGV4OiAwIDAgJHBjdDtcbiAgICBtYXgtd2lkdGg6ICRwY3Q7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHdpZHRoIGZsZXggZ3JpZCBjb2x1bW4uXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW2V4cGFuZF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGZsZXgtZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBmbGV4LWdyaWQtc2l6ZSgkY29sdW1uczogbnVsbCkge1xuICAkY29sdW1uczogJGNvbHVtbnMgb3IgZXhwYW5kO1xuXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIG1heC13aWR0aCBmaXhlcyBJRSAxMC8xMSBub3QgcmVzcGVjdGluZyB0aGUgZmxleC1iYXNpcyBwcm9wZXJ0eVxuICBAaWYgJGNvbHVtbnMgIT0gZXhwYW5kIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAucm93IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcblxuICAgICAgJi5jb2xsYXBzZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbmRvIG5lZ2F0aXZlIG1hcmdpbnNcbiAgICAvLyBGcm9tIGNvbGxhcHNlZCBjaGlsZFxuICAgICYuaXMtY29sbGFwc2UtY2hpbGQsXG4gICAgJi5jb2xsYXBzZSA+IC5jb2x1bW4gPiAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLnJvdyAuY29sdW1uLnJvdy5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1sYXlvdXQoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLy8gU2l6aW5nIChleHBhbmQpXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAuI3skLXpmLXNpemV9LWV4cGFuZCB7XG4gICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEF1dG8tc3RhY2tpbmcvdW5zdGFja2luZ1xuICAgICAgQGF0LXJvb3QgKHdpdGhvdXQ6IG1lZGlhKSB7XG4gICAgICAgIC5yb3cuI3skLXpmLXNpemV9LXVuc3RhY2sge1xuICAgICAgICAgID4gLmNvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKDEwMCUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS1jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZCBjb2x1bW5zXG4gIC5jb2x1bW4tYmxvY2sge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICBAZXh0ZW5kIC5jb2x1bW47IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIEVuYWJsZXMgdGhlIFhZIGdyaWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHh5LWdyaWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSB3aWR0aCBvZiBhIGdyaWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gVGhlIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFRoZSBhbW91bnQgb2YgbWFyZ2luIGJldHdlZW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBtYXJnaW4gZ3JpZC4gVG8gdXNlIGp1c3Qgb25lIHNpemUsIHNldCB0aGUgdmFyaWFibGUgdG8gYSBudW1iZXIgaW5zdGVhZCBvZiBhIG1hcC5cbi8vLyBAdHlwZSBNYXAgfCBMZW5ndGhcbiRncmlkLW1hcmdpbi1ndXR0ZXJzOiAoXG4gIHNtYWxsOiAyMHB4LFxuICBtZWRpdW06IDMwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgYW1vdW50IG9mIHBhZGRpbmcgaW4gY2VsbHMgYXQgZGlmZmVyZW50IHNjcmVlbiBzaXplcyB3aGVuIHVzaW5nIHRoZSBwYWRkaW5nIGdyaWQuIFRvIHVzZSBqdXN0IG9uZSBzaXplLCBzZXQgdGhlIHZhcmlhYmxlIHRvIGEgbnVtYmVyIGluc3RlYWQgb2YgYSBtYXAuXG4vLy8gQHR5cGUgTWFwIHwgTGVuZ3RoXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzICFkZWZhdWx0O1xuXG4vLy8gVGhlIGFtb3VudCBvZiBwYWRkaW5nIHRvIHVzZSB3aGVuIHBhZGRpbmcgdGhlIGdyaWQtY29udGFpbmVyLlxuLy8vIEB0eXBlIE1hcCB8IExlbmd0aFxuJGdyaWQtY29udGFpbmVyLXBhZGRpbmc6ICRncmlkLXBhZGRpbmctZ3V0dGVycyAhZGVmYXVsdDtcblxuLy8vIFRoZSBtYXhpbXVtIHdpZHRoIHRvIGFwcGx5IHRvIGEgZ3JpZCBjb250YWluZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRncmlkLWNvbnRhaW5lci1tYXg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgY2VsbHMgaW4gYW4gWFkgYmxvY2sgZ3JpZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR4eS1ibG9jay1ncmlkLW1heDogOCAhZGVmYXVsdDtcblxuQGltcG9ydCAnZ3V0dGVycyc7XG5AaW1wb3J0ICdncmlkJztcbkBpbXBvcnQgJ2NlbGwnO1xuQGltcG9ydCAnZnJhbWUnO1xuQGltcG9ydCAncG9zaXRpb24nO1xuQGltcG9ydCAnbGF5b3V0JztcbkBpbXBvcnQgJ2NvbGxhcHNlJztcbkBpbXBvcnQgJ2NsYXNzZXMnO1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAvIDI7XG5cbiAgICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgKHR5cGUtb2YoJGd1dHRlcnMpID09ICdudW1iZXInKSB7XG4gICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcnMpIC8gMjtcblxuICAgIC8vIExvb3AgdGhyb3VnaCBlYWNoIGd1dHRlciBwb3NpdGlvblxuICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBtYXggd2lkdGggY29udGFpbmVyLCBkZXNpZ25lZCB0byBob3VzZSB5b3VyIGdyaWQgY29udGVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLWNvbnRhaW5lcl0gLSBhIHdpZHRoIHRvIGxpbWl0IHRoZSBjb250YWluZXIgdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskZ3JpZC1jb250YWluZXItcGFkZGluZ10gLSBwYWRkaW5ncyBvZiB0aGUgY29udGFpbmVyLlxuQG1peGluIHh5LWdyaWQtY29udGFpbmVyKFxuICAkd2lkdGg6ICRncmlkLWNvbnRhaW5lcixcbiAgJHBhZGRpbmc6ICRncmlkLWNvbnRhaW5lci1wYWRkaW5nXG4pIHtcbiAgQGluY2x1ZGUgeHktZ3V0dGVycygkZ3V0dGVyczogJHBhZGRpbmcsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG5cbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciB5b3VyIGZsZXggY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2hvcml6b250YWxdIC0gRWl0aGVyIGhvcml6b250YWwgb3IgdmVydGljYWwgZGlyZWN0aW9uIG9mIGNlbGxzIHdpdGhpbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3cmFwIFt0cnVlXSAtIElmIHRoZSBjZWxscyB3aXRoaW4gc2hvdWxkIHdyYXAgb3Igbm90LlxuQG1peGluIHh5LWdyaWQoXG4gICRkaXJlY3Rpb246IGhvcml6b250YWwsXG4gICR3cmFwOiB0cnVlXG4pIHtcbiAgJGRpcmVjdGlvbjogaWYoJGRpcmVjdGlvbiA9PSAnaG9yaXpvbnRhbCcsIHJvdywgY29sdW1uKTtcbiAgJHdyYXA6IGlmKCR3cmFwLCB3cmFwLCBub3dyYXApO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgZmxleCB2YWx1ZSBmb3IgYSBjZWxsIGJhc2UuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBUaGUgY2VsbCBmbGV4IHByb3BlcnR5IHZhbHVlLlxuQGZ1bmN0aW9uIHh5LWNlbGwtYmFzZSgkc2l6ZTogZnVsbCkge1xuICBAaWYgKCRzaXplID09ICdhdXRvJykge1xuICAgIEByZXR1cm4gMSAxIDBweDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7cmVtLWNhbGMoJG1nKX0pKTtcbiAgICAgICRyZXNwb25zaXZlLWNzcy1zaXplczogbWFwLW1lcmdlKCRyZXNwb25zaXZlLWNzcy1zaXplcywgKCRicDogJHNpemUtY3NzKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gYSBzaW5nbGUgQ1NTIHNpemUuXG4gIEBlbHNlIHtcbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAje3JlbS1jYWxjKCRtYXJnaW4tZ3V0dGVyKX0pKTtcbiAgICBAcmV0dXJuICRjc3Mtc2l6ZTtcbiAgfVxufVxuXG4vLy8gU2V0cyBiYXNlIGZsZXggcHJvcGVydGllcyBmb3IgY2VsbHMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQWNjZXB0cyBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2AsIGBncm93YCwgb3IgYW55IG90aGVyIHZhbHVlIHJlcHJlc2VudGluZyBhIGNlbGwgc2l6ZSAoaXQgd2lsbCBiZSB0cmVhdGVkIGFzIGBzaHJpbmtgKS5cbkBtaXhpbiB4eS1jZWxsLWJhc2UoJHNpemU6IGZ1bGwpIHtcbiAgJGJhc2U6IHh5LWNlbGwtYmFzZSgkc2l6ZSk7XG5cbiAgZmxleDogI3skYmFzZX07XG5cbiAgLy8gU2V0IGJhc2Ugc3R5bGVzIGZvciBcImZ1bGxcIiBvbmx5XG4gIEBpZigkc2l6ZSA9PSAnZnVsbCcpIHtcbiAgICBtaW4taGVpZ2h0OiAwcHg7XG4gICAgbWluLXdpZHRoOiAwcHg7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8vIE1vZGlmaWVzIGEgZ3JpZCB0byBnaXZlIGl0IFwiZnJhbWVcIiBiZWhhdmlvciAobm8gb3ZlcmZsb3csIG5vIHdyYXAsIHN0cmV0Y2ggYmVoYXZpb3IpXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gSXMgZ3JpZCB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiBTaG91bGQgbWF0Y2ggZ3JpZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0ZWQgW2ZhbHNlXSAtIElzIGdyaWQgbmVzdGVkIG9yIG5vdC4gSWYgbmVzdGVkIGlzIHRydWUgdGhpcyBzZXRzIHRoZSBmcmFtZSB0byAxMDAlIGhlaWdodCwgb3RoZXJ3aXNlIHdpbGwgYmUgMTAwdmguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbbnVsbF0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5jbHVkZS1iYXNlIFt0cnVlXSAtIEluY2x1ZGUgdGhlIGJhc2Ugc3R5bGVzIHRoYXQgZG9uJ3QgdmFyeSBwZXIgYnJlYWtwb2ludC5cbkBtaXhpbiB4eS1ncmlkLWZyYW1lKFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkbmVzdGVkOiBmYWxzZSxcbiAgJGd1dHRlcnM6IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkaW5jbHVkZS1iYXNlOiB0cnVlXG4pIHtcblxuICBAaWYgJGluY2x1ZGUtYmFzZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cblxuICBAaWYgJGJyZWFrcG9pbnQgPT0gbnVsbCBhbmQgdHlwZS1vZigkZ3V0dGVycykgPT0gJ21hcCcge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKCR2ZXJ0aWNhbCwgJG5lc3RlZCwgJGd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gR2V0IG91ciBndXR0ZXJzIGlmIGFwcGxpY2FibGVcbiAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuXG4gICAgLy8gSWYgd2UgaGF2ZSBhIGd1dHRlciwgYWRkIGl0IHRvIHRoZSB3aWR0aC9oZWlnaHRcbiAgICBAaWYgJGd1dHRlciB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2aCk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICB3aWR0aDogY2FsYygjeyR1bml0fSArICN7JGd1dHRlcn0pO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgICAgICBoZWlnaHQ6IGlmKCRuZXN0ZWQgPT0gdHJ1ZSwgMTAwJSwgMTAwdmgpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHdpZHRoOiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZ3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIE1vZGlmaWVzIGEgY2VsbCB0byBnaXZlIGl0IFwiYmxvY2tcIiBiZWhhdmlvciAob3ZlcmZsb3cgYXV0bywgaW5lcnRpYWwgc2Nyb2xsaW5nKVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIElzIGdyaWQgdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gU2hvdWxkIG1hdGNoIGdyaWQuXG5AbWl4aW4geHktY2VsbC1ibG9jayhcbiAgJHZlcnRpY2FsOiBmYWxzZVxuKSB7XG4gICRwcm9wZXJ0eTogaWYoJHZlcnRpY2FsID09IHRydWUsICdvdmVyZmxvdy15JywgJ292ZXJmbG93LXgnKTtcblxuICBAaWYgJHZlcnRpY2FsID09IHRydWUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICB9IEBlbHNlIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG59XG5cbi8vLyBDb250YWluZXIgZm9yIGluc2lkZSBhIGdyaWQgZnJhbWUgY29udGFpbmluZyBtdWx0aXBsZSBibG9ja3MuIFR5cGljYWxseSB1c2VkXG4vLy8gYXMgYSBtb2RpZmllciBmb3IgYSBgLmNlbGxgIHRvIGFsbG93IHRoZSBjZWxsIHRvIHBhc3MgYWxvbmcgZmxleCBzaXppbmdcbi8vLyBjb25zdHJhaW50cyAvIGZyb20gcGFyZW50cyB0byBjaGlsZHJlbi5cbkBtaXhpbiB4eS1jZWxsLWJsb2NrLWNvbnRhaW5lcigpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICA+IC5ncmlkLXgge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYyh4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRicmVha3BvaW50KSAvIDIpO1xuICAgICRvZmZzZXQ6IGlmKCRndXR0ZXIgPT0gMCwgJHNpemUsIGNhbGMoI3skc2l6ZX0gKyAjeyRndXR0ZXJ9KSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICRuLFxuICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAkYnJlYWtwb2ludDogbnVsbCxcbiAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQsICRkZWZhdWx0OiAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCwgJ3RvcCcsICRnbG9iYWwtbGVmdCk7XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbigkYnJlYWtwb2ludCwgJG1lZGlhLXF1ZXJpZXM6ICdmb3ItbGlzdHMnKSB7XG4gICAgJG9mZnNldDogeHktY2VsbC1vZmZzZXQoJG4sICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUpO1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAjeyRvZmZzZXR9O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoMS8kbik7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1iYXNlLWdyaWQtY2xhc3NlcyB7XG5cbiAgLy8gR3JpZCBDb250YWluZXJcbiAgLmdyaWQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcjtcblxuICAgICYuZmx1aWQge1xuICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUsIDApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJhc2UgZ3JpZCBzdHlsZXNcbiAgLmdyaWQteCB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZDtcbiAgfVxuXG4gIC5jZWxsIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsKGZ1bGwsICRndXR0ZXItdHlwZTogbm9uZSk7XG5cbiAgICAmLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKGF1dG8pO1xuICAgIH1cblxuICAgICYuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgIH1cblxuICB9XG4gIC5ncmlkLXgge1xuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuXG4gICAgPiAuc2hyaW5rIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0byB3aWR0aFxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgJiBQUnMgZm9yIHRoZSBiYWNrc3Rvcnk6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMTY0XG4gICAgLmdyaWQteCB7XG4gICAgICAkc3RyOiBcIj4gLiN7JC16Zi1zaXplfS1zaHJpbmssID4gLiN7JC16Zi1zaXplfS1mdWxsXCI7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAkc3RyOiAkc3RyICsgXCIsID4gLiN7JC16Zi1zaXplfS0jeyRpfVwiXG4gICAgICB9XG4gICAgICAjeyRzdHJ9IHtcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgIC8vIFJlc3BvbnNpdmUgXCJhdXRvXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoYXV0bywgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1iYXNlKHNocmluayk7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBcInNocmlua1wiIG1vZGlmaWVyXG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LXNocmluayB7XG4gICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLWhvcml6b250YWwtI3skLXpmLXNpemV9O1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgd2lkdGggbW9kaWZpZXJzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC5ncmlkLXggPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCB3aWR0aCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teGAgbm90IG9uIGAuZ3JpZC14YFxuICAuZ3JpZC1tYXJnaW4teDpub3QoLmdyaWQteCkgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyBSZXNldCBoZWlnaHQgd2hlbiB1c2luZyBgLmdyaWQtbWFyZ2luLXlgIG5vdCBvbiBgLmdyaWQteWBcbiAgLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5AbWl4aW4gLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRjbGFzcy1icmVha3BvaW50LCAkZ3V0dGVyLWJyZWFrcG9pbnQsICR2ZXJ0aWNhbCkge1xuICAkcHJlZml4OiBpZigkY2xhc3MtYnJlYWtwb2ludCA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCwgJycsICcjeyRjbGFzcy1icmVha3BvaW50fS0nKTtcbiAgPiAuI3skcHJlZml4fWF1dG8ge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICA+IC4jeyRwcmVmaXh9c2hyaW5rIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAkY2xhc3NuYW1lOiBpZigkdmVydGljYWwsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nLCAnLiN7JGNsYXNzLWJyZWFrcG9pbnR9LSN7JGl9Jyk7XG5cbiAgICA+ICN7JGNsYXNzbmFtZX0ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkdmVydGljYWw6ICR2ZXJ0aWNhbCk7XG4gICAgfVxuICB9XG59XG5cbi8vIE1hcmdpbiBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBsZWZ0IHJpZ2h0LFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkd3JhcHBpbmctc2VsZWN0b3I6ICcuZ3JpZC1tYXJnaW4teCdcbil7XG4gICN7JHdyYXBwaW5nLXNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUsICRndXR0ZXItcG9zaXRpb246ICRndXR0ZXItcG9zaXRpb24pO1xuXG4gICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgIH1cblxuICAgIC8vIGJhc2Ugc3R5bGVzIG5lZWQgdG8gYWxsIGJlIGJlZm9yZSB0aGUgYXV0byBhbmQgc2hyaW5rIHN0eWxlc1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICBAaWYodHlwZS1vZigkZ3JpZC1tYXJnaW4tZ3V0dGVycykgPT0gJ21hcCcgYW5kIG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkLXpmLXNpemUpIGFuZCAkLXpmLXNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgPiAuY2VsbCB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgkdmVydGljYWw6ICR2ZXJ0aWNhbCwgJG91dHB1dDogKHNpemUgZ3V0dGVycykpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcblxuICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgIC8vIGZvciBhbGwgcHJpb3IgYnJlYWtwb2ludHMuXG4gICAgICAvLyBBcyB0aGVpciBndXR0ZXIgaXMgZGVmaW5lZCB3aXRoIHRoZWlyIHdpZHRoL2hlaWdodCwgZXZlbiBicmVha3BvaW50IHdpdGhvdXQgYSBuZXcgbWFyZ2luIG11c3QgYmVcbiAgICAgIC8vIGdlbmVyYXRlZCB0byBub3QgaGF2aW5nIHRoZWlyIHdpZHRoL2hlaWdodCBvdmVycmlkZWQgYnkgcmUtYWRqdXN0ZWQgc21hbGxlciBicmVha3BvaW50cy5cbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgQGVhY2ggJGJwIGluIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJC16Zi1zaXplKSB7XG4gICAgICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCRicCwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIC14eS1icmVha3BvaW50LWNlbGwtY2xhc3NlcygkLXpmLXNpemUsICQtemYtc2l6ZSwgJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUGFkZGluZyBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcyB7XG4gIC5ncmlkLXBhZGRpbmcteCB7XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIG5lc3RlZCBncmlkc1xuICAgIC5ncmlkLXBhZGRpbmcteCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBncmlkcyB3aXRoaW4gYGdyaWQtY29udGFpbmVyL2dyaWQtY29udGFpbmVyLmZsdWlkYFxuICAgIC8vIFRoaXMgYWxsb3dzIG1hcmdpbiBhbmQgcGFkZGluZyBncmlkcyB0byBsaW5lIHVwIHdpdGggZWFjaG90aGVyXG4gICAgLmdyaWQtY29udGFpbmVyOm5vdCguZnVsbCkgPiAmIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRndXR0ZXJzOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnMsICRndXR0ZXItdHlwZTogcGFkZGluZyk7XG4gICAgfVxuICB9XG59XG5cbi8vIEJsb2NrIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LWJsb2NrLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQ6IHRydWUsICRwYWRkaW5nLWdyaWQ6IHRydWUpIHtcbiAgQGlmICRwYWRkaW5nLWdyaWQge1xuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWxheW91dCgkbjogJGksICRzZWxlY3RvcjogJy5jZWxsJywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC8vIFRoaXMgaXMgcHVyZWx5IGZvciByZXNwb25zaXZlIGd1dHRlcnMgLSB0aGUgbWFyZ2luIGdyaWQgaGFzIHRvIGdvIGJhY2sgYW5kIGFkanVzdCB3aWR0aHMgKG9yIGhlaWdodHMpXG4gICAgICAgIC8vIGZvciBwcmlvciBicmVha3BvaW50cyBiYXNlZCBvbiB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIuXG4gICAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkpIHtcbiAgICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICAgIEBpZihtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJGJwKSkge1xuICAgICAgICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyRicH0tdXAtI3skaX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkeHktYmxvY2stZ3JpZC1tYXgge1xuICAgICAgICAuZ3JpZC1tYXJnaW4teC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG91dHB1dDogKHNpemUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb2xsYXBzZSBjbGFzc2VzXG5AbWl4aW4geHktY29sbGFwc2UtZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAZWFjaCAkYnAgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgICAuI3skYnB9LW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBtYXJnaW4sICRtaW4tYnJlYWtwb2ludDogJGJwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgICAuI3skYnB9LXBhZGRpbmctY29sbGFwc2Uge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbGxhcHNlKCRndXR0ZXItdHlwZTogcGFkZGluZywgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBPZmZzZXQgY2xhc3Nlc1xuQG1peGluIHh5LW9mZnNldC1jZWxsLWNsYXNzZXMge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLW9mZnNldCgkbywgJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICAgIH1cblxuICAgICAgLmdyaWQtbWFyZ2luLXggPiAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVmVydGljYWwgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktdmVydGljYWwtZ3JpZC1jbGFzc2VzKFxuICAkbWFyZ2luLWdyaWQ6IHRydWUsXG4gICRwYWRkaW5nLWdyaWQ6IHRydWVcbikge1xuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgQGlmIG5vdCgkLXpmLXNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgICB9XG4gIH1cblxuICAuZ3JpZC15IHtcbiAgICBAaW5jbHVkZSB4eS1ncmlkKHZlcnRpY2FsLCBmYWxzZSk7XG5cblxuICAgID4gLmNlbGwge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1yZXNldCgpO1xuICAgIH1cblxuICAgID4gLmF1dG8ge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICRndXR0ZXItdHlwZTogbm9uZSwgJHZlcnRpY2FsOiB0cnVlKTtcbiAgICB9XG5cbiAgICA+IC5zaHJpbmsge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKHNocmluaywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIC8vIFRoaXMgaXMgYSBiaXQgb2YgYSBoYWNrL3dvcmthcm91bmQsIHNlZSB0aGVzZSBpc3N1ZXMgYW5kIFBScyBmb3IgdGhlIGJhY2tzdG9yeTpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAyMjIgYW5kXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZm91bmRhdGlvbi9mb3VuZGF0aW9uLXNpdGVzL3B1bGwvMTAxNjRcbiAgICAgICRzdHI6IFwiPiAuI3skLXpmLXNpemV9LXNocmluaywgPiAuI3skLXpmLXNpemV9LWZ1bGxcIjtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgICRzdHI6ICRzdHIgKyBcIiwgPiAuI3skLXpmLXNpemV9LSN7JGl9XCJcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBGb250IGZhbWlseSBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEZvbnRcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYnV0dG9uIGVsZW1lbnRzLlxuLy8vIElnbm9yZWQgaWYgbnVsbCAoZGVmYXVsdClcbi8vLyBAdHlwZSBGb250LVdlaWdodFxuJGJ1dHRvbi1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEFsdGVybmF0aXZlIGZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBidXR0b25zLCB0cmFuc3BhcmVudCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1ib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBmb3IgaG9sbG93IG91dGxpbmUgYnV0dG9uc1xuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgaG9sbG93IGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3M6IC01MCUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLy8gdHJhbnNpdGlvbnMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZGl0aW9uYWwgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciAuZXhwYW5kZWRcbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcblxuICBAaWYgKHR5cGUtb2YoJGJ1dHRvbi1wYWRkaW5nKSA9PSAnbWFwJykge1xuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiAkYnV0dG9uLXBhZGRpbmcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgfVxuXG4gIGJvcmRlcjogJGJ1dHRvbi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG4gIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBvciBjbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1maWxsLXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZpbGwgWyRidXR0b24tZmlsbF0gLSBUeXBlIG9mIGZpbGxpbmcgYmV0d2VlbiBgaG9sbG93YCBhbmQgYGNsZWFyYC4gYHNvbGlkYCBoYXMgbm8gZWZmZWN0cy5cbkBtaXhpbiBidXR0b24tZmlsbChcbiAgJGZpbGw6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gIH1cbiAgQGVsc2UgaWYgJGZpbGwgPT0gY2xlYXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1jbGVhcjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlcyBvZiBhIHNvbGlkL2hvbGxvdy9jbGVhciBidXR0b24gZmlsbGluZyBhY2NvcmRpbmcgdG8gYCRmaWxsYC5cbi8vLyBTZWUgbWl4aW5zIGBidXR0b24tc3R5bGVgLCBgYnV0dG9uLWhvbGxvdy1zdHlsZWAgYW5kIGBidXR0b24tY2xlYXItc3R5bGVgIGZvciBlZmZlY3RzIG9mIHZpc3VhbCBzdHlsaW5nIHBhcmFtZXRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZmlsbCBbJGJ1dHRvbi1maWxsXSAtIFR5cGUgb2YgZmlsbGluZyBiZXR3ZWVuIGBob2xsb3dgIGFuZCBgY2xlYXJgLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gLVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSAtXG5AbWl4aW4gYnV0dG9uLWZpbGwtc3R5bGUoXG4gICRmaWxsOiAkYnV0dG9uLWZpbGwsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkZmlsbCA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkZmlsbCA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG4gIEBlbHNlIGlmICRmaWxsID09IGNsZWFyIHtcbiAgICBAaW5jbHVkZSBidXR0b24tY2xlYXItc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBhbmQgZGlzYWJsZWQgc3RhdGVzXG4gICYsXG4gICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkOmhvdmVyLCAmW2Rpc2FibGVkXTpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cywgJltkaXNhYmxlZF06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gU2VlIG1peGluIGBidXR0b24taG9sbG93LXN0eWxlYCBmb3IgdGhlIGZpbGxpbmcgc3R5bGVzLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGhvbGxvdyBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBhbmQgYm9yZGVyIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGhvdmVyLWxpZ2h0bmVzcyBbJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXSAtIENvbG9yIGxpZ2h0bmVzcyBvbiBob3Zlci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYm9yZGVyLXdpZHRoIFskYnV0dG9uLWhvbGxvdy1ib3JkZXItd2lkdGhdIC0gQm9yZGVyIHdpZHRoIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcyxcbiAgJGJvcmRlci13aWR0aDogJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBiYXNlIHN0eWxlcyBvZiBhIGNsZWFyIGJ1dHRvbi5cbi8vLyBTZWUgbWl4aW4gYGJ1dHRvbi1jbGVhci1zdHlsZWAgZm9yIHRoZSBmaWxsaW5nIHN0eWxlcy5cbkBtaXhpbiBidXR0b24tY2xlYXIge1xuICAmLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBjbGVhciBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWJhY2tncm91bmRdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRob3Zlci1saWdodG5lc3MgWyRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzc10gLSBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIuXG5AbWl4aW4gYnV0dG9uLWNsZWFyLXN0eWxlKFxuICAkY29sb3I6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIC8vIERlZmF1bHQgYW5kIGRpc2FibGVkIHN0YXRlc1xuICAmLFxuICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSxcbiAgJi5kaXNhYmxlZDpob3ZlciwgJltkaXNhYmxlZF06aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMsICZbZGlzYWJsZWRdOmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50IGFuZCByZXNldGluZyB0aGUgY3Vyc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3BhY2l0eSBbJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkXSAtIE9wYWNpdHkgb2YgdGhlIGRpc2FibGVkIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQoXG4gICRvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWRcbikge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwoJHN0eWxlKTtcbiAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJHN0eWxlLCAkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKCRzdHlsZTogbm9uZSk7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIEBpZiAkYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQge1xuICAgICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gb25seSkge1xuICAgICAgICAgICYuI3skc2l6ZX0tb25seS1leHBhbmRlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skc2l6ZX0gZG93bikge1xuICAgICAgICAgICAgJi4jeyRzaXplfS1kb3duLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JHNpemV9KSB7XG4gICAgICAgICAgICAmLiN7JHNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb2xpZCwgaG9sbG93ICYgY2xlYXIgc3R5bGVzXG4gICAgQGVhY2ggJGZpbGxpbmcgaW4gKHNvbGlkIGhvbGxvdyBjbGVhcikge1xuICAgICAgJHNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWZpbGwtc3R5bGUoJGZpbGxpbmcpO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nLCAkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0YXRlXG4gICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmhvbGxvdywgJi5jbGVhciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB9XG4gIH1cblxuICBhLmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLiAoT25seSBuZWVkZWQgd2hlbiAkZ2xvYmFsLWZsZXhib3g6IGZhbHNlOylcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGV0ZXJtaW5lcyBpZiAkYnV0dG9uLXJhZGl1cyBpcyBhcHBsaWVkIHRvIGVhY2ggYnV0dG9uIG9yIHRoZSBidXR0b24gZ3JvdXAgYXMgYSB3aG9sZS4gVXNlICRnbG9iYWwtcmFkaXVzIGluIF9zZXR0aW5ncy5zY3NzIHRvIGNoYW5nZSByYWRpdXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2luZyBbJGJ1dHRvbmdyb3VwLXNwYWNpbmddIC0gU3BhY2luZyBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1ncm93OiAxO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIERpc2FibGUgY2xlYXJmaXhcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gTWFrZSBidXR0b25zIGJvbmRlZCB3aXRob3V0IGdhcCBiZXR3ZWVuIHRoZW0uIEJvcmRlcnMgYmV0d2VlbiBidXR0b25zIGFyZSBtZXJnZWRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtbm8tZ2FwcyhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IHJlbS1jYWxjKC0kYm9yZGVyLXdpZHRoKTtcblxuICAgICsgI3skc2VsZWN0b3J9IHtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyBEaXNhYmxlIGNsZWFyZml4XG4gICAgfVxuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIE9uZSBjaGlsZFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JHNwYWNpbmd9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUd28gb3IgbW9yZSBjaGlsZHJlZW5cbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gU29saWQsIGhvbGxvdyAmIGNsZWFyIHN0eWxlc1xuICAgIEBlYWNoICRmaWxsaW5nIGluIChzb2xpZCBob2xsb3cgY2xlYXIpIHtcbiAgICAgICRiYXNlLXNlbGVjdG9yOiBpZigkYnV0dG9uLWZpbGwgPT0gJGZpbGxpbmcsIG51bGwsICcuI3skZmlsbGluZ30nKTtcblxuICAgICAgJiN7JGJhc2Utc2VsZWN0b3J9IHtcbiAgICAgICAgLy8gRG8gbm90IGdlbmVyYXRlIGJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgdGhlIGRlZmF1bHQgZmlsbGluZ1xuICAgICAgICBAaWYoJGJ1dHRvbi1maWxsICE9ICRmaWxsaW5nKSB7XG4gICAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsKCRmaWxsaW5nKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1maWxsLXN0eWxlKCRmaWxsaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICAgJGluZGl2aWR1YWwtc2VsZWN0b3I6IGlmKCRidXR0b24tZmlsbCA9PSAkZmlsbGluZywgbnVsbCwgJyAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0uI3skbmFtZX0nKTtcblxuICAgICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9LCAjeyRpbmRpdmlkdWFsLXNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZmlsbC1zdHlsZSgkZmlsbGluZywgJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubm8tZ2FwcyB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtbm8tZ2FwcztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG5cbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0uZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuXG4gICAgLy8gR2VuZXJhdGUgYSBwbGFjZWhvbGRlciBhbmQgYSBjbGFzcyBmb3IgZWFjaCBzaXplXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRjbG9zZWJ1dHRvbi1zaXplIHtcbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgJXpmLWNsb3NlLWJ1dHRvbi0tI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKCRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGV4dGVuZCAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVc2UgYnkgZGVmYXVsdCB0aGUgcGxhY2Vob2xkZXIgb2YgdGhlIGRlZmF1bHQgc2l6ZVxuICAgIEBleHRlbmQgJXpmLWNsb3NlLWJ1dHRvbi0tI3skY2xvc2VidXR0b24tZGVmYXVsdC1zaXplfTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG5cbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgYSBkaXNhYmxlZCBzd2l0Y2guXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCBzdGFja2VkIHRhYmxlIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYmFkZ2UtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYmFkZ2UtcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkY29sb3IsICgkYmFkZ2UtY29sb3IsICRiYWRnZS1jb2xvci1hbHQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2VwZXJhdG9yIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIGl0IGV4aXN0cyAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCBpcyB1c2VkIHRvIGJ1aWxkICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhicmVhZGNydW1icy1pdGVtLXNsYXNoKSB7XG4gICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g7XG59XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtOiAnLycgIWRlZmF1bHQ7XG5cbi8vLyBVc2VkIGNoYXJhY3RlciBmb3IgdGhlIGJyZWFkY3J1bWIgc2VwYXJhdG9yIGluIHJ0bCBtb2RlLlxuLy8vIEB0eXBlIENvbnRlbnRcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLXJ0bDogJ1xcXFwnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcjtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvciB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2VwYXJhdG9yOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbSwgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgY29udGVudDogJHNlcGFyYXRvcjtcbiAgICAgICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIENhbGxvdXQgcGFkZGluZ3MuXG4vLy8gQHR5cGUgTWFwXG4kY2FsbG91dC1zaXplczogKFxuICBzbWFsbDogMC41cmVtLFxuICBkZWZhdWx0OiAxcmVtLFxuICBsYXJnZTogM3JlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogbWFwLWdldCgkY2FsbG91dC1zaXplcywgZGVmYXVsdCk7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplLCAkcGFkZGluZyBpbiBtYXAtcmVtb3ZlKCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKCRwYWRkaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gZm9udCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiAtIEJvdHRvbSBtYXJnaW4gb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkYm9yZGVyIC0gQm9yZGVyIGFyb3VuZCB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYWRpdXMgLSBib3JkZXIgcmFkaXVzIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHNoYWRvdyAtIGJveCBzaGFkb3cgb2YgdGhlIGNhcmQuXG5AbWl4aW4gY2FyZC1jb250YWluZXIoXG4gICRiYWNrZ3JvdW5kOiAkY2FyZC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRjYXJkLWZvbnQtY29sb3IsXG4gICRtYXJnaW46ICRjYXJkLW1hcmdpbi1ib3R0b20sXG4gICRib3JkZXI6ICRjYXJkLWJvcmRlcixcbiAgJHJhZGl1czogJGNhcmQtYm9yZGVyLXJhZGl1cyxcbiAgJHNoYWRvdzogJGNhcmQtc2hhZG93XG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIHNlY3Rpb24uXG5AbWl4aW4gY2FyZC1zZWN0aW9uKFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhcmQge1xuICAuY2FyZCB7XG4gICAgQGluY2x1ZGUgY2FyZC1jb250YWluZXI7XG4gIH1cblxuICAuY2FyZC1kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBjYXJkLWRpdmlkZXI7XG4gIH1cblxuICAuY2FyZC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBjYXJkLXNlY3Rpb247XG4gIH1cblxuICAvLyBGb3IgSUUgMTEgLSBGbGV4YnVnXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MvaXNzdWVzLzc1XG4gIC5jYXJkLWltYWdlIHtcbiAgICBtaW4taGVpZ2h0OiAxcHg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBub25lO1xuXG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cblxuICAvLyBBbGxvdyBhbiBpbnRlcm1pdHRlbnQgc3RhdGUgdG8gZG8gcG9zaXRpb25pbmcgYmVmb3JlIG1ha2luZyB2aXNpYmxlLlxuICAmLmlzLW9wZW5pbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5pcy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHByZXZpb3VzIGFycm93IHdoZW4gYCRwYWdpbmF0aW9uLWFycm93c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91czogJ1xcMDBBQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbmV4dCBhcnJvdyB3aGVuIGAkcGFnaW5hdGlvbi1hcnJvd3NgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQicgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciAoXG4gICRtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tLFxuICAkZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemUsXG4gICRzcGFjaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmcsXG4gICRyYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtY3VycmVudC1pdGVtIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRiYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50LFxuICAkY29sb3ItY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50XG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCAoXG4gICRwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmcsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZFxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb2xvcjogJGNvbG9yO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvclxuKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgY29sb3I6ICRjb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgICBjb250ZW50OiAkcGFnaW5hdGlvbi1hcnJvdy1wcmV2aW91cztcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRwYWdpbmF0aW9uLWFycm93LW5leHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjdXJzb3Igb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4IHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6ICRoYXMtdGlwLWN1cnNvcjtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgJi5ib3R0b20ge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgICBib3R0b206IDEwMCU7XG4gICAgfVxuXG4gICAgJi5hbGlnbi1jZW50ZXI6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi50b3Age1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICAmLmFsaWduLWNlbnRlcjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5yaWdodCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYuYWxpZ24tY2VudGVyOjpiZWZvcmUge1xuICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi10b3A6OmJlZm9yZSB7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHRvcDogMTAlO1xuICB9XG5cbiAgJi5hbGlnbi1ib3R0b206OmJlZm9yZSB7XG4gICAgYm90dG9tOiAxMCU7XG4gICAgdG9wOiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1sZWZ0OjpiZWZvcmUge1xuICAgIGxlZnQ6IDEwJTtcbiAgICByaWdodDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQ6OmJlZm9yZSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbnRlbnQgZm9yIHRoZSBwbHVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ6ICdcXDAwMkInICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIG1pbnVzIGljb24gd2hlbiBgJGFjY29yZGlvbi1wbHVzbWludXNgIGlzIGB0cnVlYFxuLy8vIEB0eXBlIFN0cmluZ1xuJGFjY29yZGlvbi1taW51cy1jb250ZW50OiAnXFwyMDEzJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBhY2NvcmRpb24gdGl0bGVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciAoXG4gICRiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmRcbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICZbZGlzYWJsZWRdIHtcbiAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICRhY2NvcmRpb24tcGx1cy1jb250ZW50O1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1taW51cy1jb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9ICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAmLm1pZGRsZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHNsaWRlIGNvbnRhaW5pbmcgYW4gaW1hZ2UuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1pbWFnZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbiAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZCk7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciB0aGUgbmV4dC9wcmV2aW91cyBidXR0b25zIGluIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgYC5vcmJpdC1uZXh0YCBhbmQgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3NlcyBpbiB0aGUgZGVmYXVsdCBDU1MuXG5AbWl4aW4gb3JiaXQtY29udHJvbCB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICB6LWluZGV4OiAkb3JiaXQtY29udHJvbC16aW5kZXg7XG4gIHBhZGRpbmc6ICRvcmJpdC1jb250cm9sLXBhZGRpbmc7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzLlxuQG1peGluIG9yYml0LXByZXZpb3VzIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBuZXh0IGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LW5leHRgIGNsYXNzLlxuQG1peGluIG9yYml0LW5leHQge1xuICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICN7JGdsb2JhbC1yaWdodH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjb250YWluZXIgb2YgT3JiaXQgYnVsbGV0cy4gLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgcHJldmlvdXMgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtYnVsbGV0c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtYnVsbGV0cyB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJ1dHRvbiB7XG4gICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIG1hcmdpbjogJG9yYml0LWJ1bGxldC1tYXJnaW47XG5cbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmVzcG9uc2l2ZS1lbWJlZFxuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBBc3BlY3QgcmF0aW9zIHVzZWQgdG8gZGV0ZXJtaW5lIHBhZGRpbmctYm90dG9tIG9mIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVycy5cbi8vLyBAdHlwZSBNYXBcbiRyZXNwb25zaXZlLWVtYmVkLXJhdGlvczogKFxuICBkZWZhdWx0OiA0IGJ5IDMsXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfExpc3R9ICRyYXRpbyBbZGVmYXVsdF0gLSBSYXRpbyBvZiB0aGUgY29udGFpbmVyLiBDYW4gYmUgYSBrZXkgZnJvbSB0aGUgYCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvc2AgbWFwIG9yIGEgbGlzdCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpIHtcbiAgQGlmIHR5cGUtb2YoJHJhdGlvKSA9PSAnc3RyaW5nJyB7XG4gICAgJHJhdGlvOiBtYXAtZ2V0KCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcywgJHJhdGlvKTtcbiAgfVxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCB7XG4gIC5yZXNwb25zaXZlLWVtYmVkLFxuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1lbWJlZCgkcmF0aW86IGRlZmF1bHQpO1xuXG4gICAgJHJhdGlvczogbWFwLXJlbW92ZSgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsZGVmYXVsdCk7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHJhdGlvIGluICRyYXRpb3Mge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIgKFxuICAkbWFyZ2luOiAkdGFiLW1hcmdpbixcbiAgJGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZCxcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRtYXJnaW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUgKFxuICAkcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICR0YWItaXRlbS1mb250LXNpemUsXG4gICRjb2xvcjogJHRhYi1jb2xvcixcbiAgJGNvbG9yLWFjdGl2ZTogJHRhYi1hY3RpdmUtY29sb3IsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGJhY2tncm91bmQtYWN0aXZlOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlXG4pIHtcbiAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICA+IGEge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IDRweCBzb2xpZCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgcGlsbCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgc2ltcGxlIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgdGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLi5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBzdGF0ZS4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYGFjdGl2ZWAgd2l0aCBgaXMtYWN0aXZlYC4gXG4vLy8gQnV0IHBsZWFzZSBub3RlIHRoYXQgYGFjdGl2ZWAgd2lsbCBiZSByZW1vdmVkIGluIHVwY29taW5nIHZlcnNpb25zLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRtZW51LXN0YXRlLWJhY2stY29tcGF0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja3dhcmQgY29tcGF0aWJpbGl0eSBmb3IgbWVudSBjZW50ZXJlZC4gSWYgdHJ1ZSwgdGhpcyBkdXBsaWNhdGUgYC5tZW51LWNlbnRlcmVkID4gLm1lbnVgIHdpdGggYC5tZW51LmFsaWduLWNlbnRlcmAuIFxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgcG9zaXRpb24gY2xhc3NlcyBmb3IgaWNvbnMgd2l0aGluIGEgbWVudS5cbkBtaXhpbiBtZW51LWljb24tcG9zaXRpb24oJHBvc2l0aW9uOiBsZWZ0LCAkc3BhY2luZzogJG1lbnUtaWNvbi1zcGFjaW5nKSB7XG4gIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRzcGFjaW5nO1xuXG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvICRzcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRzcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46ICRzcGFjaW5nIGF1dG8gMDtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBtZW51LXN0YXRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmUsICgkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZSwgJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlKSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuXG4gICAgLy8gRGVmYXVsdCBvcmllbnRhdGlvbjogaG9yaXpvbnRhbFxuICAgICYsICYuaG9yaXpvbnRhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBvcmllbnRhdGlvbiBtb2RpZmllclxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJY29uIExlZnRcbiAgICAmLmljb24tbGVmdCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24obGVmdCk7XG4gICAgfVxuXG4gICAgLy8gSWNvbiBSaWdodFxuICAgICYuaWNvbi1yaWdodCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24ocmlnaHQpO1xuICAgIH1cblxuICAgIC8vIEljb24gVG9wXG4gICAgJi5pY29uLXRvcCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJvdHRvbVxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKGJvdHRvbSk7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgQGluY2x1ZGUgbWVudS1zdGF0ZS1hY3RpdmU7XG4gICAgfVxuICAgIFxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1zdGF0ZS1iYWNrLWNvbXBhdCB7XG4gICAgICAuYWN0aXZlID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc3RhdGUtYWN0aXZlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFsaWduIGxlZnRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1sZWZ0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGxlZnQpO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24ocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lbnUtYWxpZ24oY2VudGVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIGJvcmRlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBMaXN0XG4kYWNjb3JkaW9uLXN1Ym1lbnUtdG9nZ2xlLWJvcmRlcjogJGFjY29yZGlvbm1lbnUtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgdG9nZ2xlIGJhY2tncm91bmQgaGVpZ2h0LlxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtaGVpZ2h0OiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtYWNjb3JkaW9uLW1lbnUtbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50Om5vdCguaGFzLXN1Ym1lbnUtdG9nZ2xlKSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG5cbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICAvLyBSb3RhdGUgdGhlIGFycm93IHdoZW4gbWVudSBpcyBvcGVuXG4gIC5zdWJtZW51LXRvZ2dsZVthcmlhLWV4cGFuZGVkPSd0cnVlJ106OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgfVxuXG4gIC5zdWJtZW51LXRvZ2dsZS10ZXh0IHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IGl0ZW0gcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcgaW4gdGhlIHN1Ym1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJpbGxkb3duLWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuYWxpZ24tbGVmdCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgICByaWdodDogMXJlbTtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgJi5hbGlnbi1yaWdodCAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDFyZW07XG4gIH1cblxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBUaGUgdG9wIGxldmVsIDx1bD5cbiAgLmRyaWxsZG93biB7XG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXBhZGRpbmc7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLy8gQXBwbGllZCB0byBzdWJtZW51IDx1bD5zXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgICB9XG5cbiAgICAgICYuaXMtY2xvc2luZyB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU3VibWVudSBpdGVtIHBhZGRpbmdcbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nOiAkZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkKCRkcmlsbGRvd24tbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgLmRyaWxsZG93bi1zdWJtZW51LWNvdmVyLXByZXZpb3VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAgIEBpbmNsdWRlIHpmLWRyaWxsZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC43NXJlbTsgLy8gQ3JlYXRlcyBzcGFjZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHRcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IHBhZGRpbmcgZm9yIGFsaWduaW5nIHRoZSBhcnJvdyBjb3JyZWN0bHkuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtc3VibWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciB0b3AgbGV2ZWwgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IG5lc3RlZCBtYXJnaW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIHN1Yi1tZW51IGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbS4gRXhwbGljaXQgb3ZlcnJpZGUgZm9yIG1lbnUgZGVmYXVsdHNcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogNXB4O1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRkcm9wZG93bm1lbnUtYXJyb3ctcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplIC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBwb3NpdGlvbiBmb3IgbmVzdGVkIG9mZi1jYW52YXMgZWxlbWVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30gLm9mZi1jYW52YXMucG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplIGlzIHNldCwgYWRkIGlubmVyIGJveC1zaGFkb3cuXG4gIC8vIFRoaXMgbWltaWNzIHRoZSBvZmYtY2FudmFzIHBhbmVsIGhhdmluZyBhIGxvd2VyIHotaW5kZXgsIHdpdGhvdXQgaGF2aW5nIHRvIGhhdmUgb25lLlxuICBAaWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSB7XG4gICAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3cocmlnaHQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KGxlZnQsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhib3R0b20sICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyh0b3AsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUsICRvZmZjYW52YXMtaW5uZXItc2hhZG93LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAvLyBCaW5kIHRvIGhhcy10cmFuc2l0aW9uLVggY2xhc3MgdG8gcHJldmVudCB0cmFuc2l0aW9uIGZvciB0cmFuc2Zvcm06bm9uZVxuICAmLmhhcy10cmFuc2l0aW9uLW92ZXJsYXAsXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBzY29wZSB1bnRpbCB0aGUgZWxlbWVudCBpcyBjbG9zZWQgKG1ha2VzIHN1cmUgdHJhbnNpdGlvbmVuZCBnZXRzIHRyaWdnZXJlZClcbiAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxuXG4gIC8vIENvbnNpZGVyIGVsZW1lbnQgJiBjb250ZW50LCBuZXN0ZWQgaW4gYW5vdGhlciBjb250ZW50XG4gIC5vZmYtY2FudmFzLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzcyxcbiRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuXG4vLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbi8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbi8vIFRoaXMgc2hvdWxkIGJlIGluIHRoZSBzYW1lIGJyZWFrcG9pbnQgdGhlbiBgQG1peGluIHJldmVhbC1tb2RhbC13aWR0aGBcbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICVyZXZlYWwtY2VudGVyZWQge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSgkYmFja2dyb3VuZDogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQpIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIC8vIEV4dGVuZHMgbXVzdCBiZSBtYWRlIG91dHNpZGUgb2YgYnJlYWtwb2ludHMgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBuZXdlciBTYXNzIHZlcnNpb25zIChsaWJzYXNzIHYzLjUpXG4gIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuXG4gIC8vLyBEaXNhYmxlcyB0aGUgc2Nyb2xsIHdoZW4gUmV2ZWFsIGlzIHNob3duIHRvIHByZXZlbnQgdGhlIGJhY2tncm91bmQgZnJvbSBzaGlmdGluZ1xuICBodG1sLmlzLXJldmVhbC1vcGVuIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuXG4gICAgJi56Zi1oYXMtc2Nyb2xsIHtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBib2R5IHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aXRsZS1iYXJcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBXZWlnaHRcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhciBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiB0aGUgbWVudSBpY29uIGFuZCB0ZXh0IGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRpdGxlLWJhciB7XG4gIC50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICR0aXRsZWJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGl0bGViYXItY29sb3I7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICB9XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbG9hdFxuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzIHtcbiAgLmZsb2F0LWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LWNlbnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgLmNsZWFyZml4IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIEZsZXhib3ggVXRpbGl0aWVzXG4vLy8vXG4vL1xuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHRoZSBjb3VudCBvZiBzb3VyY2Ugb3JkZXJpbmdgXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDYgIWRlZmF1bHQ7XG5cbi8vLyBRdWlja2x5IGRpc2FibGUvZW5hYmxlIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIFZhbmlsbGEgRmxleCBIZWxwZXJzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmbGV4LWhlbHBlcnMge1xuICAuZmxleC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gIH1cblxuICAuZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIEBlYWNoICRkaXIsICRwcm9wIGluICQtemYtZmxleC1kaXJlY3Rpb24ge1xuICAgIC5mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNvbnRhaW5lciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1zaHJpbmsge1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tZmxleC1kaXItI3skZGlyfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKCRwcm9wKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzIHtcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdXNpbmcganVzdGlmeS1jb250ZW50XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtanVzdGlmeSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IFNwZWNpZmljYWxseSBmb3IgVmVydGljYWwgTWVudVxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgJ2p1c3RpZnknLCAnc3BhY2VkJykge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgJi5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBhbGlnbm1lbnQgdXNpbmcgYWxpZ24taXRlbXMgYW5kIGFsaWduLXNlbGZcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmFsaWduLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHk6ICR2ZGlyKTtcbiAgICB9XG5cbiAgICAuYWxpZ24tc2VsZi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHk6ICR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAvLyBDZW50cmFsIGFsaWdubWVudCBvZiBjb250ZW50XG4gIC5hbGlnbi1jZW50ZXItbWlkZGxlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiBtaWRkbGUpO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudCB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmFuaWxsYSBGbGV4Ym94IEhlbHBlcnNcbiAgQGluY2x1ZGUgZmxleC1oZWxwZXJzO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gLjAwMTI1O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCB3aXRoaW4gYSBjZXJ0YWluIGJyZWFrcG9pbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvci1vbmx5KCRzaXplKSB7XG4gICRsb3dlci1ib3VuZC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHNpemUpO1xuICAkdXBwZXItYm91bmQtc2l6ZTogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJHNpemUpO1xuXG4gIC8vIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhpcyB3aWxsIGJlIGNvcnJlY3QsIGp1c3Qgb25lIHRpbWUgcm91bmQgdGhlIGxvb3AgaXQgd29uJ3Qgc28gc2V0IGluIHNjb3BlIGhlcmVcbiAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpIC0gLjAwMTI1O1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZVxuLy8vL1xuXG4vLyBSZWxhdGlvbmFsIE1peGluc1xuQGltcG9ydCAncmVsYXRpb24nO1xuXG4vLyBCb3ggTWl4aW5cbkBpbXBvcnQgJ2JveCc7XG5cbi8vIFJvdGF0ZSBNaXhpblxuQGltcG9ydCAncm90YXRlJztcblxuLy8gVGV4dCB1dGlsaXRpZXNcbkBpbXBvcnQgJ3RleHQtdXRpbGl0aWVzJztcblxuLy8gVGV4dCB0cmFuc2Zvcm1hdGlvbiBjbGFzc2VzXG5AaW1wb3J0ICd0ZXh0LXRyYW5zZm9ybWF0aW9uJztcblxuLy8gVGV4dCBEZWNvcmF0aW9uIGNsYXNzZXNcbkBpbXBvcnQgJ3RleHQtZGVjb3JhdGlvbic7XG5cbi8vIEZvbnQgU3R5bGluZ1xuQGltcG9ydCAnZm9udC1zdHlsaW5nJztcblxuLy8gTGlzdCBTdHlsZSB0eXBlXG5AaW1wb3J0ICdsaXN0LXN0eWxlLXR5cGUnO1xuXG4vLyBSb3VuZGVkIFV0aWxpdHlcbkBpbXBvcnQgJ3JvdW5kZWQnO1xuXG4vLyBCb3JkZXJlZCBVdGlsaXR5XG5AaW1wb3J0ICdib3JkZXJlZCc7XG5cbi8vIFNoYWRvdyBVdGlsaXR5XG5AaW1wb3J0ICdzaGFkb3cnO1xuXG4vLyBBcnJvdyBVdGlsaXR5XG5AaW1wb3J0ICdhcnJvdyc7XG5cbi8vIFNlcGFyYXRvciBVdGlsaXR5XG5AaW1wb3J0ICdzZXBhcmF0b3InO1xuXG4vLyBPdmVyZmxvdyBoZWxwZXIgY2xhc3Nlc1xuQGltcG9ydCAnb3ZlcmZsb3cnO1xuXG4vLyBEaXNwbGF5IGNsYXNzZXNcbkBpbXBvcnQgJ2Rpc3BsYXknO1xuXG4vLyBQb3NpdGlvbiBIZWxwZXJzXG5AaW1wb3J0ICdwb3NpdGlvbic7XG5cbi8vIEJvcmRlciBib3hcbkBpbXBvcnQgJ2JvcmRlci1ib3gnO1xuXG4vLyBCb3JkZXIgbm9uZSBVdGlsdHlcbkBpbXBvcnQgJ2JvcmRlci1ub25lJztcblxuLy8gU2l6aW5nIFV0aWxpdGllc1xuQGltcG9ydCAnc2l6aW5nJztcblxuLy8gU3BhY2luZyBVdGlsaXRpZXNcbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXRleHQtdXRpbGl0aWVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtbGlzdC1zdHlsZS10eXBlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1yb3VuZGVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2hhZG93O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtc2VwYXJhdG9yO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1vdmVyZmxvdztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtZGlzcGxheTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm90b3R5cGUtcG9zaXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1zaXppbmc7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvdG90eXBlLXNwYWNpbmc7XG59XG4iLCIvLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmaXJzdCgkbnVtKSB7XG4gIEBpZiAkbnVtID09IDEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAmOm50aC1jaGlsZCgtbiArICN7JG51bX0pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBmaXJzdCBleGFjdCBjaGlsZFxuQG1peGluIGZpcnN0LWNoaWxkIHtcbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBsYXN0IHRvIGAkbnVtYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIExhc3QgYG5gIG51bWJlcnMgb2YgdG90YWwgY2hpbGRyZW4gXG5AbWl4aW4gbGFzdCgkbnVtKSB7XG4gICY6bnRoLWxhc3QtY2hpbGQoLW4gKyAjeyRudW19KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCB0aGUgbGFzdCBleGFjdCBjaGlsZFxuQG1peGluIGxhc3QtY2hpbGQge1xuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBjaGlsZHJlbiBldmVyeSBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBFdmVyeSBgbmAgbnVtYmVyIG9mIGFsbCBjaGlsZHJlblxuQG1peGluIGV2ZXJ5KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IG9ubHkgdGhlIGZpcnN0IGFuZCBsYXN0IGNoaWxkLlxuQG1peGluIGZpcnN0LWxhc3Qge1xuICAmOmZpcnN0LWNoaWxkLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGFmdGVyIHRoZSBmaXJzdCB0byBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBBZnRlciBGaXJzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBhZnRlci1maXJzdCgkbnVtKSB7XG4gICY6bnRoLWNoaWxkKG4gKyAjeyRudW0gKyAxfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJlZm9yZSBgJG51bWAgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEZyb20gTGFzdCBgbmAgbnVtYmVycyBvZiB0b3RhbCBjaGlsZHJlbiBcbkBtaXhpbiBmcm9tLWxhc3QoJG51bSkge1xuICAmOm50aC1sYXN0LWNoaWxkKCN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgZmlyc3QgYW5kIHRoZSBgJG51bWAgY2hpbGQgZnJvbSB0aGUgbGFzdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIGBuYCBudW1iZXIgY2FsbGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgXG5AbWl4aW4gZnJvbS1maXJzdC1sYXN0KCRudW0pIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfSksXG4gICY6bnRoLWxhc3QtY2hpbGQoI3skbnVtfSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGNoaWxkcmVuIGJ1dCBgJG51bWAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIHRoYXQgc2hvdWxkIGJlIGV4Y2x1ZGVkIGZyb20gYWxsIG90aGVyIGNoaWxkcmVuIFxuQG1peGluIGFsbC1idXQoJG51bSkge1xuICAmOm5vdCg6bnRoLWNoaWxkKCN7JG51bX0pKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgY2hpbGRyZW4gYmV0d2VlbiB0aGUgYCRudW1gIGZpcnN0IGFuZCB0aGUgYCRudW1gIGxhc3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW1bXSBgbmAgbnVtYmVyIGV4Y2x1ZGVkIGZyb20gZmlyc3QgYW5kIGxhc3QgZnJvbSBhbGwgb3RoZXIgY2hpbGRyZW5cbkBtaXhpbiBhbGwtYnV0LWZpcnN0LWxhc3QoJG51bSkge1xuICAmOm50aC1jaGlsZChuICsgI3skbnVtfSk6bnRoLWxhc3QtY2hpbGQobiArICN7JG51bX0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCB0aGUgY2hpbGQgaWYgaXQncyB1bmlxdWUuIFRoYXQgbWVhbnMgdGhhdCBpZiB0aGVyZSBhcmUgYXQgbGVhc3QgMiBjaGlsZHJlbiwgdGhlIHN0eWxlIHdpbGwgbm90IGJlIGFwcGxpZWQuXG5AbWl4aW4gdW5pcXVlIHtcbiAgJjpvbmx5LWNoaWxkIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gV2lsbCBvbmx5IHNlbGVjdCBjaGlsZHJlbiBpZiB0aGV5IGFyZSBub3QgdW5pcXVlLiBUaGF0IG1lYW5zIHRoYXQgaWYgdGhlcmUgYXJlIGF0IGxlYXN0IDIgY2hpbGRyZW4sIHRoZSBzdHlsZSB3aWxsIGJlIGFwcGxpZWQuXG5AbWl4aW4gbm90LXVuaXF1ZSgpIHtcbiAgJjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIGJldHdlZW4oJGZpcnN0LCAkbGFzdCkge1xuICAmOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIGV2ZW4gY2hpbGRyZW4uXG5AbWl4aW4gZXZlbiB7XG4gICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBldmVuIGNoaWxkcmVuIGJldHdlZW4gYCRmaXJzdGAgYW5kIGAkbGFzdGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmaXJzdFtdIEZpcnN0IGBudGhgIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG50aGAgbnVtYmVyXG5AbWl4aW4gZXZlbi1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoZXZlbik6bnRoLWNoaWxkKG4gKyAjeyRmaXJzdH0pOm50aC1jaGlsZCgtbiArICN7JGxhc3R9KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIFNlbGVjdCBhbGwgb2RkIGNoaWxkcmVuLlxuQG1peGluIG9kZCB7XG4gICY6bnRoLWNoaWxkKG9kZCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBTZWxlY3QgYWxsIG9kZCBjaGlsZHJlbiBiZXR3ZWVuIGAkZmlyc3RgIGFuZCBgJGxhc3RgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZmlyc3RbXSBGaXJzdCBgbnRoYCBudW1iZXJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxhc3RbXSBMYXN0IGBudGhgIG51bWJlclxuQG1peGluIG9kZC1iZXR3ZWVuKCRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQob2RkKTpudGgtY2hpbGQobiArICN7JGZpcnN0fSk6bnRoLWNoaWxkKC1uICsgI3skbGFzdH0pIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gU2VsZWN0IGFsbCBgJG51bWAgY2hpbGRyZW4gYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bVtdIEV2ZXJ5IGBuYCBudW1iZXIgYmV0d2VlbiBgJGZpcnN0YCBhbmQgYCRsYXN0YC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZpcnN0W10gRmlyc3QgYG5gIG51bWJlclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGFzdFtdIExhc3QgYG5gIG51bWJlclxuQG1peGluIG51bWJlci1iZXR3ZWVuKCRudW0sICRmaXJzdCwgJGxhc3QpIHtcbiAgJjpudGgtY2hpbGQoI3skbnVtfW4pOm50aC1jaGlsZChuICsgI3skZmlyc3R9KTpudGgtY2hpbGQoLW4gKyAjeyRsYXN0fSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWJveFxuLy8vL1xuXG4vLy8gQm94IE1peGluOiBFYXNpbHkgY3JlYXRlIGEgc3F1YXJlLCByZWN0YW5nbGUgb3IgYSBjaXJjbGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoW10gV2lkdGggb2YgdGhlIGJveFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0WyR3aWR0aF0gSGVpZ2h0IG9mIHRoZSBib3gsIGRlZmF1bHRzIHRvIGAkd2lkdGhgIHRvIGVhc2lseSBtYWtlIGEgc3F1YXJlXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2lyY2xlW2ZhbHNlXSBNYWtlcyB0aGUgYm94IGEgY2lyY2xlLCBieSBkZWZhdWx0IGBmYWxzZWAuXG5AbWl4aW4gYm94KFxuICAkd2lkdGgsIFxuICAkaGVpZ2h0OiAkd2lkdGgsIFxuICAkY2lyY2xlOiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGlmICRjaXJjbGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdGF0ZVxuLy8vL1xuXG4vLy8gUm90YXRlIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGUoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlKCRkZWcgKyBkZWcpO1xufVxuXG4vLy8gUm90YXRlWCBNaXhpbjogUm90YXRlIGFuIGVsZW1lbnQgdG8gYSBjZXJ0YWluIGRlZyBvbiBYLUF4aXNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGRlZ1tdIERlZ3JlZSBvZiByb3RhdGlvblxuQG1peGluIHJvdGF0ZVgoJGRlZykge1xuXHR0cmFuc2Zvcm06cm90YXRlWCgkZGVnICsgZGVnKTtcbn1cblxuLy8vIFJvdGF0ZVkgTWl4aW46IFJvdGF0ZSBhbiBlbGVtZW50IHRvIGEgY2VydGFpbiBkZWcgb24gWS1BeGlzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRkZWdbXSBEZWdyZWUgb2Ygcm90YXRpb25cbkBtaXhpbiByb3RhdGVZKCRkZWcpIHtcblx0dHJhbnNmb3JtOnJvdGF0ZVkoJGRlZyArIGRlZyk7XG59XG5cbi8vLyBSb3RhdGVaIE1peGluOiBSb3RhdGUgYW4gZWxlbWVudCB0byBhIGNlcnRhaW4gZGVnIG9uIFotQXhpc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGVnW10gRGVncmVlIG9mIHJvdGF0aW9uXG5AbWl4aW4gcm90YXRlWigkZGVnKSB7XG5cdHRyYW5zZm9ybTpyb3RhdGVaKCRkZWcgKyBkZWcpO1xufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtdGV4dC11dGlsaXRpZXNcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgdXRpbGl0aWVzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBWYWx1ZSBmb3IgYHRleHQtb3ZlcmZsb3dgIHZhcmlhYmxlXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzICFkZWZhdWx0O1xuXG4vLy8gSW1hZ2UgUmVwbGFjZW1lbnQgdXRpbGl0eS4gYHRleHQtaGlkZWBcbkBtaXhpbiB0ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYSAhaW1wb3J0YW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBUcnVuY2F0aW5nIHRoZSB0ZXh0LCBlbGlwc2lzIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbJHByb3RvdHlwZS10ZXh0LW92ZXJmbG93XSBUZXh0IFRydW5jYXRlXG5AbWl4aW4gdGV4dC10cnVuY2F0ZShcbiAgJG92ZXJmbG93OiAkcHJvdG90eXBlLXRleHQtb3ZlcmZsb3dcbikge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICB0ZXh0LW92ZXJmbG93OiAkb3ZlcmZsb3c7IFxuICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBObyB3cmFwcGluZyBvZiB0aGUgdGV4dC4gYHRleHQtbm93cmFwYFxuQG1peGluIHRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xufVxuXG4vLy8gV3JhcHBpbmcgb2YgdGhlIHRleHQuIGB0ZXh0LXdyYXBgXG5AbWl4aW4gdGV4dC13cmFwIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LXV0aWxpdGllcyB7XG4gIC50ZXh0LWhpZGUge1xuICAgIEBpbmNsdWRlIHRleHQtaGlkZTtcbiAgfVxuXG4gIC50ZXh0LXRydW5jYXRlIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlO1xuICB9XG5cbiAgLnRleHQtbm93cmFwIHtcbiAgICBAaW5jbHVkZSB0ZXh0LW5vd3JhcDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIEBpbmNsdWRlIHRleHQtd3JhcDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LWhpZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC1oaWRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXRydW5jYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtbm93cmFwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRleHQtbm93cmFwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS10ZXh0LXdyYXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGV4dC13cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LXRyYW5zZm9ybWF0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciB0ZXh0IHRyYW5zZm9ybWF0aW9uIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtdHJhbnNmb3JtYXRpb25gIGNsYXNzZXNcbi8vLyBAdHlwZSBNYXBcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgVHJhbnNmb3JtYXRpb24sIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbmBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHRyYW5zZm9ybWF0aW9uIFtdIFRleHQgVHJhbnNmb3JtYXRpb25cbkBtaXhpbiB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pIHtcbiAgdGV4dC10cmFuc2Zvcm06ICR0cmFuc2Zvcm1hdGlvbiAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbiB7XG4gIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgIC50ZXh0LSN7JHRyYW5zZm9ybWF0aW9ufSB7XG4gICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS10cmFuc2Zvcm1hdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gIFx0QGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICR0cmFuc2Zvcm1hdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyR0cmFuc2Zvcm1hdGlvbn0ge1xuICBcdFx0XHQgICAgICBAaW5jbHVkZSB0ZXh0LXRyYW5zZm9ybSgkdHJhbnNmb3JtYXRpb24pO1xuICBcdFx0XHQgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25cbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHRleHQgZGVjb3JhdGlvbiBjbGFzc2VzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1kZWNvcmF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHRleHQtZGVjb3JhdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb246IChcbiAgb3ZlcmxpbmUsXG4gIHVuZGVybGluZSxcbiAgbGluZS10aHJvdWdoLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgRGVjb3JhdGlvbiwgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS10ZXh0LWRlY29yYXRpb25gXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkZWNvcmF0aW9uIFtdIFRleHQgRGVjb3JhdGlvblxuQG1peGluIHRleHQtZGVjb3JhdGlvbigkZGVjb3JhdGlvbikge1xuICB0ZXh0LWRlY29yYXRpb246ICRkZWNvcmF0aW9uICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS10ZXh0LWRlY29yYXRpb24ge1xuICBAZWFjaCAkZGVjb3JhdGlvbiBpbiAkcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbiB7XG4gICAgLnRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcmF0aW9uKCRkZWNvcmF0aW9uKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkZWNvcmF0aW9uIGluICRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skZGVjb3JhdGlvbn0ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yYXRpb24oJGRlY29yYXRpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1mb250LXN0eWxpbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGZvbnQgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZm9udC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBMZXR0ZXIgc3BhY2luZyBmb3IgYC5mb250LXdpZGVgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ub3JtYWxgLCBkZWZhdWx0ZWQgdG8gYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1mb250LW5vcm1hbDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3ZWlnaHQgZm9yIGAuZm9udC1ib2xkYCwgZGVmYXVsdGVkIHRvIGBnbG9iYWwtd2VpZ2h0LWJvbGRgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWZvbnQtYm9sZDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2lkZSBsZXR0ZXIgc3BhY2luZyFcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxldHRlci1zcGFjaW5nIFskcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmddIFdpZGUgbGV0dGVyIHNwYWNpbmcgZm9yIHRoZSBmb250XG5AbWl4aW4gZm9udC13aWRlKFxuICAkbGV0dGVyLXNwYWNpbmc6ICRwcm90b3R5cGUtd2lkZS1sZXR0ZXItc3BhY2luZ1xuKSB7XG4gIGxldHRlci1zcGFjaW5nOiAkbGV0dGVyLXNwYWNpbmc7XG59XG5cbi8vLyBGb250IFdlaWdodCBOb3JtYWwsIGRlZmF1bHQgdmFsdWUgY29taW5nIHRocm91Z2ggYGdsb2JhbC13ZWlnaHQtbm9ybWFsYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtbm9ybWFsXSBXZWlnaHQgb2YgdGhlIGZvbnQgKG5vcm1hbClcbkBtaXhpbiBmb250LW5vcm1hbChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LW5vcm1hbFxuKSB7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG4vLy8gRm9udCBXZWlnaHQgQm9sZCwgZGVmYXVsdCB2YWx1ZSBjb21pbmcgdGhyb3VnaCBgZ2xvYmFsLXdlaWdodC1ib2xkYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFskcHJvdG90eXBlLWZvbnQtYm9sZF0gV2VpZ2h0IG9mIHRoZSBmb250IChib2xkKVxuQG1peGluIGZvbnQtYm9sZChcbiAgJHdlaWdodDogJHByb3RvdHlwZS1mb250LWJvbGRcbikge1xuICBmb250LXdlaWdodDogJHdlaWdodDtcbn1cblxuLy8vIEZvbnQgU3R5bGUgSXRhbGljXG5AbWl4aW4gZm9udC1pdGFsaWMge1xuICBmb250LXN0eWxlOiBpdGFsaWMgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWZvbnQtc3R5bGluZyB7XG4gIC5mb250LXdpZGV7XG4gICAgQGluY2x1ZGUgZm9udC13aWRlO1xuICB9XG5cbiAgLmZvbnQtbm9ybWFsIHtcbiAgICBAaW5jbHVkZSBmb250LW5vcm1hbDtcbiAgfVxuXG4gIC5mb250LWJvbGQge1xuICAgIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgfVxuXG4gIC5mb250LWl0YWxpYyB7XG4gICAgQGluY2x1ZGUgZm9udC1pdGFsaWM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZm9udC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtd2lkZXtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtd2lkZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZm9udC1ub3JtYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1ub3JtYWw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtYm9sZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZvbnQtaXRhbGljIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtaXRhbGljO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1saXN0LXN0eWxlLXR5cGVcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGxpc3Qgc3R5bGluZyB0eXBlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBzdHlsZS10eXBlLXVub3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLXVub3JkZXJlZDogKFxuICBkaXNjLFxuICBjaXJjbGUsXG4gIHNxdWFyZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHN0eWxlLXR5cGUtb3JkZXJlZGAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcbiAgZGVjaW1hbCxcbiAgbG93ZXItYWxwaGEsXG4gIGxvd2VyLWxhdGluLFxuICBsb3dlci1yb21hbixcbiAgdXBwZXItYWxwaGEsXG4gIHVwcGVyLWxhdGluLFxuICB1cHBlci1yb21hblxuKSAhZGVmYXVsdDtcblxuXG4vLy8gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3R5bGUtdHlwZS11bm9yZGVyZWQgW10gU3R5bGUgdHlwZSBmb3IgdW5vcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS11bm9yZGVyZWQoJHN0eWxlLXR5cGUtdW5vcmRlcmVkKSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHN0eWxlLXR5cGUtdW5vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZGBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHN0eWxlLXR5cGUtb3JkZXJlZCBbXSBTdHlsZSB0eXBlIGZvciBvcmRlcmVkIExpc3RzXG5AbWl4aW4gc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpIHtcbiAgbGlzdC1zdHlsZS10eXBlOiAkc3R5bGUtdHlwZS1vcmRlcmVkICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBsaXN0LXVub3JkZXJlZCB7XG4gIEBlYWNoICRzdHlsZS10eXBlLXVub3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtdW5vcmRlcmVkIHtcbiAgICB1bC5saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICBAaW5jbHVkZSBzdHlsZS10eXBlLXVub3JkZXJlZCgkc3R5bGUtdHlwZS11bm9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtdW5vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICB1bC4jeyRzaXplfS1saXN0LSN7JHN0eWxlLXR5cGUtdW5vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtdW5vcmRlcmVkKCRzdHlsZS10eXBlLXVub3JkZXJlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBsaXN0LW9yZGVyZWQge1xuICBAZWFjaCAkc3R5bGUtdHlwZS1vcmRlcmVkIGluICRwcm90b3R5cGUtc3R5bGUtdHlwZS1vcmRlcmVkIHtcbiAgICBvbC5saXN0LSN7JHN0eWxlLXR5cGUtb3JkZXJlZH0ge1xuICAgICAgQGluY2x1ZGUgc3R5bGUtdHlwZS1vcmRlcmVkKCRzdHlsZS10eXBlLW9yZGVyZWQpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGVhY2ggJHN0eWxlLXR5cGUtb3JkZXJlZCBpbiAkcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZCB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIG9sLiN7JHNpemV9LWxpc3QtI3skc3R5bGUtdHlwZS1vcmRlcmVkfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHN0eWxlLXR5cGUtb3JkZXJlZCgkc3R5bGUtdHlwZS1vcmRlcmVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWxpc3Qtc3R5bGUtdHlwZSB7XG4gIEBpbmNsdWRlIGxpc3QtdW5vcmRlcmVkO1xuICBAaW5jbHVkZSBsaXN0LW9yZGVyZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXJvdW5kZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHJvdW5kZWQgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXJvdW5kZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgYHByb3RvdHlwZS1ib3JkZXItcmFkaXVzYFxuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKSAhZGVmYXVsdDtcblxuLy8vIFJvdW5kZWQgdXRpbGl0eSAoYWxsIGNvcm5lcnMpOiBBZGRzIHJhZGl1cyBjb3JuZXJzIChhbGwgY29ybmVycykgdG8gYW4gZWxlbWVudCBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmFkaXVzIFskcHJvdG90eXBlLWJvcmRlci1yYWRpdXNdIEJvcmRlciByYWRpdXMgKGFsbCBjb3JuZXJzKVxuQG1peGluIGJvcmRlci1yYWRpdXMoXG4gICRyYWRpdXM6ICRwcm90b3R5cGUtYm9yZGVyLXJhZGl1c1xuKSB7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbi8vLyBSb3VuZGVkIHNxdWFyZSB1dGlsaXR5IG9yIHJlY3RhbmdsZSB1dGlsaXR5IChhbGwgY29ybmVycyk6IFJvdW5kcyBhbGwgY29ybmVycyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQgdG8gbWFrZSBhIHBpbGwgc2hhcGUuXG5AbWl4aW4gYm9yZGVyLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA1MDAwcHggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXJvdW5kZWQge1xuICAucm91bmRlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG5cbiAgICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICBAaW5jbHVkZSBib3JkZXItcm91bmRlZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IC8vIEZvciBzd2l0Y2hlc1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yYWRpdXMge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXJvdW5kZWQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJvdW5kZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIC4jeyRzaXplfS1yYWRpdXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyZWRcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGJvcmRlcmVkIHV0aWxpdHkuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJvcmRlci13aWR0aGBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLXR5cGVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kcHJvdG90eXBlLWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIGBwcm90b3R5cGUtYm9yZGVyLWNvbG9yYCBkZWZhdWx0ZWQgdG8gYG1lZGl1bS1ncmF5YFxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyZWQgVXRpbGl0eTogQWRkcyBhIGxpZ2h0IGJvcmRlciB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJHByb3RvdHlwZS1ib3JkZXItd2lkdGhdIFdpZHRoIG9mIHRoZSBib3JkZXJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHR5cGUgWyRwcm90b3R5cGUtYm9yZGVyLXR5cGVdIFR5cGUgb2YgdGhlIGJvcmRlclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJHByb3RvdHlwZS1ib3JkZXItY29sb3JdIENvbG9yIG9mIHRoZSBib3JkZXJcbkBtaXhpbiBib3JkZXJlZChcbiAgJHdpZHRoOiAkcHJvdG90eXBlLWJvcmRlci13aWR0aCxcbiAgJHR5cGU6ICRwcm90b3R5cGUtYm9yZGVyLXR5cGUsXG4gICRjb2xvcjogJHByb3RvdHlwZS1ib3JkZXItY29sb3Jcbikge1xuICBib3JkZXI6ICR3aWR0aCAkdHlwZSAkY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1ib3JkZXJlZCB7XG4gIC5ib3JkZXJlZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyZWQ7XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1ib3JkZXJlZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXJlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc2hhZG93XG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBzaGFkb3cgdXRpbGl0eS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBgcHJvdG90eXBlLWJveC1zaGFkb3dgXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKSAhZGVmYXVsdDtcblxuLy8vIFNoYWRvdyBVdGlsaXR5OiBBZGRzIGEgbGlnaHQgYm94IHNoYWRvdyB0byBhbiBlbGVtZW50IGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaGFkb3cgWyRwcm90b3R5cGUtYm94LXNoYWRvd10gQm94IFNoYWRvdyBvZiBhIGNvbXBvbmVudFxuQG1peGluIHNoYWRvdyhcbiAgJHNoYWRvdzogJHByb3RvdHlwZS1ib3gtc2hhZG93XG4pIHtcbiAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLXNoYWRvdyB7XG4gIC5zaGFkb3cge1xuICAgIEBpbmNsdWRlIHNoYWRvdztcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIC4jeyRzaXplfS1zaGFkb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgc2hhZG93O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1hcnJvd1xuLy8vL1xuXG4vLy8gTWFwIGNvbnRhaW5pbmcgYWxsIHRoZSBgYXJyb3dgIGRpcmVjdGlvblxuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIHRoZSBBcnJvdywgYDAuNDM3NXJlbWAgYnkgZGVmYXVsdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuXG4vLy8gQ29sb3Igb2YgdGhlIEFycm93LCBgJGJsYWNrYCBieSBkZWZhdWx0LlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1hcnJvdyB7XG4gIEBlYWNoICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uIGluICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9ucyB7XG4gICAgLmFycm93LSN7JHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb259IHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZShcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1zaXplLCBcbiAgICAgICAgJHByb3RvdHlwZS1hcnJvdy1jb2xvciwgXG4gICAgICAgICRwcm90b3R5cGUtYXJyb3ctZGlyZWN0aW9uXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zZXBhcmF0b3Jcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFsaWdubWVudCBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHQ6IHJlbS1jYWxjKDIpICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgYSBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVG9wIE1hcmdpbiBvZiBhIHNlcGFyYXRvci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGl0bGUgc2VwYXJhdG9yIFV0aWxpdHksIG1vc3RseSB1c2VkIHRvIHN0eWxlIHRoZSBtYWluIGhlYWRpbmcgb2YgYSBzZWN0aW9uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhbGlnbiBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ25dIC0gc2VwYXJhdG9yIEFsaWdubWVudFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFskcHJvdG90eXBlLXNlcGFyYXRvci1oZWlnaHRdIC0gV2lkdGhcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aF0gLSBIZWlnaHRcbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHByb3RvdHlwZS1zZXBhcmF0b3ItYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b3AgWyRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3BdIC0gTWFyZ2luIFRvcFxuQG1peGluIHNlcGFyYXRvciAoXG4gICRhbGlnbjogJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ24sXG4gICRoZWlnaHQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodCxcbiAgJHdpZHRoOiAkcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aCxcbiAgJGJhY2tncm91bmQ6ICRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQsXG4gICR0b3A6ICRwcm90b3R5cGUtc2VwYXJhdG9yLW1hcmdpbi10b3Bcbikge1xuICB0ZXh0LWFsaWduOiAkYWxpZ24gIWltcG9ydGFudDtcblx0QGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlKTtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGJhY2tncm91bmQ7XG4gICAgbWFyZ2luOiAkdG9wIGF1dG8gMDtcblxuICAgIEBpZiAkYWxpZ24gPT0gbGVmdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpZiAkYWxpZ24gPT0gcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1zZXBhcmF0b3Ige1xuXHQuc2VwYXJhdG9yLWNlbnRlciB7XG5cdFx0QGluY2x1ZGUgc2VwYXJhdG9yKGNlbnRlcik7XG5cdH1cblxuICAuc2VwYXJhdG9yLWxlZnQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgfVxuXG4gIC5zZXBhcmF0b3ItcmlnaHQge1xuICAgIEBpbmNsdWRlIHNlcGFyYXRvcihyaWdodCk7XG4gIH1cblxuXHRAaWYgKCRwcm90b3R5cGUtc2VwYXJhdG9yLWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tc2VwYXJhdG9yLWNlbnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IoY2VudGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1sZWZ0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNlcGFyYXRvcihsZWZ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLiN7JHNpemV9LXNlcGFyYXRvci1yaWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBzZXBhcmF0b3IocmlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1vdmVyZmxvd1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igb3ZlcmZsb3cgaGVscGVyIGNsYXNzZXNcbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLW92ZXJmbG93LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYG92ZXJmbG93YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXG4gIHZpc2libGUsXG4gIGhpZGRlbixcbiAgc2Nyb2xsXG4pICFkZWZhdWx0O1xuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1vdmVyZmxvd2Bcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG92ZXJmbG93IFtdIE92ZXJmbG93IGNsYXNzZXNcbkBtaXhpbiBvdmVyZmxvdygkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3c6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG4vLy8gT3ZlcmZsb3cgY2xhc3NlcyBvbiBob3Jpem9udGFsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzIChob3Jpem9udGFsIGF4aXMpXG5AbWl4aW4gb3ZlcmZsb3cteCgkb3ZlcmZsb3cpIHtcbiAgb3ZlcmZsb3cteDogJG92ZXJmbG93ICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBPdmVyZmxvdyBjbGFzc2VzIG9uIHZlcnRpY2FsIGF4aXMsIGJ5IGRlZmF1bHQgY29taW5nIHRocm91Z2ggYSBtYXAgYCRwcm90b3R5cGUtb3ZlcmZsb3dgXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvdmVyZmxvdyBbXSBPdmVyZmxvdyBjbGFzc2VzICh2ZXJ0aWNhbCBheGlzKVxuQG1peGluIG92ZXJmbG93LXkoJG92ZXJmbG93KSB7XG4gIG92ZXJmbG93LXk6ICRvdmVyZmxvdyAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtb3ZlcmZsb3cge1xuICBAZWFjaCAkb3ZlcmZsb3cgaW4gJHByb3RvdHlwZS1vdmVyZmxvdyB7XG4gICAgLm92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICBAaW5jbHVkZSBvdmVyZmxvdygkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteCgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgICAub3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgQGluY2x1ZGUgb3ZlcmZsb3cteSgkb3ZlcmZsb3cpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1vdmVyZmxvdy1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRvdmVyZmxvdyBpbiAkcHJvdG90eXBlLW92ZXJmbG93IHtcbiAgICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgLiN7JHNpemV9LW92ZXJmbG93LSN7JG92ZXJmbG93fSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG92ZXJmbG93KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteC0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy14KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuI3skc2l6ZX0tb3ZlcmZsb3cteS0jeyRvdmVyZmxvd30ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBvdmVyZmxvdy15KCRvdmVyZmxvdyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLWRpc3BsYXlcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIGRpc3BsYXkgY2xhc3Nlc1xuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBkaXNwbGF5YCBjbGFzc2VzXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcbiAgaW5saW5lLFxuICBpbmxpbmUtYmxvY2ssXG4gIGJsb2NrLFxuICB0YWJsZSxcbiAgdGFibGUtY2VsbFxuKSAhZGVmYXVsdDtcblxuLy8vIERpc3BsYXkgY2xhc3NlcywgYnkgZGVmYXVsdCBjb21pbmcgdGhyb3VnaCBhIG1hcCBgJHByb3RvdHlwZS1kaXNwbGF5YFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbXSBEaXNwbGF5IGNsYXNzZXNcbkBtaXhpbiBkaXNwbGF5KCRkaXNwbGF5KSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5ICFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1kaXNwbGF5IHtcbiAgQGVhY2ggJGRpc3BsYXkgaW4gJHByb3RvdHlwZS1kaXNwbGF5IHtcbiAgICAuZGlzcGxheS0jeyRkaXNwbGF5fSB7XG4gICAgICBAaW5jbHVkZSBkaXNwbGF5KCRkaXNwbGF5KTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRwcm90b3R5cGUtZGlzcGxheS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBlYWNoICRkaXNwbGF5IGluICRwcm90b3R5cGUtZGlzcGxheSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1kaXNwbGF5LSN7JGRpc3BsYXl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZGlzcGxheSgkZGlzcGxheSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcHJvdG90eXBlLXBvc2l0aW9uXG4vLy8vXG5cbi8vLyBSZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwb3NpdGlvbiBoZWxwZXJzXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBNYXAgY29udGFpbmluZyBhbGwgdGhlIGBwb3NpdGlvbmAgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1wb3NpdGlvbjogKFxuICBzdGF0aWMsXG4gIHJlbGF0aXZlLFxuICBhYnNvbHV0ZSxcbiAgZml4ZWRcbikgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBmaXhlZCBwb3NpdGlvbmluZ1xuLy8vIEB0eXBlIE51bWJlclxuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzUgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbiBjbGFzc2VzLCBieSBkZWZhdWx0IGNvbWluZyB0aHJvdWdoIGEgbWFwIGAkcHJvdG90eXBlLXBvc2l0aW9uYCwgd2hlcmVhcyBhbGwgdGhlIG9mZnNldCB2YWx1ZXMgYXJlIG11bHRpcGxpZWQgYnkgYCRnbG9iYWwtcG9zaXRpb25gIHdoaWNoIGJ5IGRlZmF1bHQgaXMgZXF1YWwgdG8gYDFyZW1gLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcG9zaXRpb24gW10gUG9zaXRpb24gY2xhc3NlcywgRWl0aGVyIGBzdGF0aWNgLCBgcmVsYXRpdmVgLCBgYWJzb2x1dGVgIG9yIGBmaXhlZGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBUb3Agb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBSaWdodCBvZmZzZXRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBCb3R0b20gb2Zmc2V0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIExlZnQgb2Zmc2V0XG5AbWl4aW4gcG9zaXRpb24oXG4gICRwb3NpdGlvbixcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb24gIWltcG9ydGFudDtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgdG9wOiAkdG9wICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkcmlnaHQgIT0gbnVsbCB7XG4gICAgcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtcG9zaXRpb24gIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBib3R0b206ICRib3R0b20gKiAkZ2xvYmFsLXBvc2l0aW9uICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIGxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wb3NpdGlvbiAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiB0b3AgY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtdG9wYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLXRvcChcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwLCAwLCBudWxsLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbi8vLyBQb3NpdGlvbiBGaXhlZCBvbiBib3R0b20gY29ybmVyc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkei1pbmRleCBbJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4XSB6LWluZGV4IGZvciBgcG9zaXRpb24tZml4ZWQtYm90dG9tYFxuQG1peGluIHBvc2l0aW9uLWZpeGVkLWJvdHRvbShcbiAgJHotaW5kZXg6ICRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleFxuKSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsLCAwLCAwLCAwKTtcbiAgei1pbmRleDogJHotaW5kZXg7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb3RvdHlwZS1wb3NpdGlvbiB7XG4gIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgIC5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgLnBvc2l0aW9uLWZpeGVkLXRvcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24tZml4ZWQtdG9wO1xuICB9XG4gIC5wb3NpdGlvbi1maXhlZC1ib3R0b20ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1wb3NpdGlvbi1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIC8vIFBvc2l0aW9uOiBTdGF0aWMsIFJlbGF0aXZlLCBGaXhlZCwgQWJzb2x1dGVcbiAgICAgICAgQGVhY2ggJHBvc2l0aW9uIGluICRwcm90b3R5cGUtcG9zaXRpb24ge1xuICAgICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tI3skcG9zaXRpb259IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oJHBvc2l0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbjogRml4ZWQgVG9wLCBGaXhlZCBCb3R0b21cbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtdG9wIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLXRvcDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tcG9zaXRpb24tZml4ZWQtYm90dG9tIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uLWZpeGVkLWJvdHRvbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtYm9yZGVyLWJveFxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIGJveC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGJveCB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLWJveCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ib3gge1xuICAuYm9yZGVyLWJveCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJveDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItYm94LWJyZWFrcG9pbnRzKSB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tYm9yZGVyLWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItYm94O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1ib3JkZXItbm9uZVxuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgYm9yZGVyIG5vbmUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgbm9uZSB1dGlsaXR5XG5AbWl4aW4gYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvdG90eXBlLWJvcmRlci1ub25lIHtcbiAgLmJvcmRlci1ub25lIHtcbiAgICBAaW5jbHVkZSBib3JkZXItbm9uZTtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1ib3JkZXItbm9uZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWJvcmRlci1ub25lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb3RvdHlwZS1zaXppbmdcbi8vLy9cblxuLy8vIFJlc3BvbnNpdmUgYnJlYWtwb2ludHMgZm9yIHNwYWNpbmcgY2xhc3NlcyAobWFyZ2luIGFuZCBwYWRkaW5nKVxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgYHNpemluZ2AgY2xhc3Nlc1xuLy8vIEB0eXBlIE1hcFxuJHByb3RvdHlwZS1zaXppbmc6IChcbiAgd2lkdGgsXG4gIGhlaWdodFxuKSAhZGVmYXVsdDtcblxuLy8vIE1hcCBjb250YWluaW5nIGFsbCB0aGUgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIE1heCBXaWR0aCAxMDAgdXRpbGl0eS5cbkBtaXhpbiBtYXgtd2lkdGgtMTAwIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbi8vLyBNYXggSGVpZ2h0IDEwMCB1dGlsaXR5LlxuQG1peGluIG1heC1oZWlnaHQtMTAwIHtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc2l6aW5nIHtcbiAgLy8gRWxlbWVudCBTaXppbmdcbiAgQGVhY2ggJHNpemluZyBpbiAkcHJvdG90eXBlLXNpemluZyB7XG4gICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAuI3skc2l6aW5nfS0jeyRsZW5ndGh9IHtcbiAgICAgICAgI3skc2l6aW5nfTogJHBlcmNlbnRhZ2UgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBNYXggd2lkdGggJiBoZWlnaHRcbiAgLm1heC13aWR0aC0xMDAge1xuICAgIEBpbmNsdWRlIG1heC13aWR0aC0xMDA7XG4gIH1cbiAgLm1heC1oZWlnaHQtMTAwIHtcbiAgICBAaW5jbHVkZSBtYXgtaGVpZ2h0LTEwMDtcbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zaXppbmctYnJlYWtwb2ludHMpIHtcbiAgICAvLyBMb29wIHRocm91Z2ggUmVzcG9uc2l2ZSBCcmVha3BvaW50c1xuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgIEBlYWNoICRzaXppbmcgaW4gJHByb3RvdHlwZS1zaXppbmcge1xuICAgICAgICAgICAgQGVhY2ggJGxlbmd0aCwgJHBlcmNlbnRhZ2UgaW4gJHByb3RvdHlwZS1zaXplcyB7XG4gICAgICAgICAgICAgIC4jeyRzaXplfS0jeyRzaXppbmd9LSN7JGxlbmd0aH0ge1xuICAgICAgICAgICAgICAgICN7JHNpemluZ306ICRwZXJjZW50YWdlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwcm90b3R5cGUtc3BhY2luZ1xuLy8vL1xuXG4vLy8gUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3Igc3BhY2luZyBjbGFzc2VzIChtYXJnaW4gYW5kIHBhZGRpbmcpXG4vLy8gQHR5cGUgQm9vbGVhblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbnVtYmVyIG9mIHNwYWNlcnMgY291bnQgKG1hcmdpbiBhbmQgcGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBoZWxwZXIgbWl4aW4sIGFsbCB0aGUgdmFsdWVzIGFyZSBtdWx0aXBsaWVkIGJ5IGAkZ2xvYmFsLW1hcmdpbmAgd2hpY2ggYnkgZGVmYXVsdCBpcyBlcXVhbCB0byBgMXJlbWBcbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvcCBbbnVsbF0gLSBNYXJnaW4gVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBNYXJnaW4gUmlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJvdHRvbSBbbnVsbF0gLSBNYXJnaW4gQm90dG9tXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsZWZ0IFtudWxsXSAtIE1hcmdpbiBMZWZ0XG5AbWl4aW4gbWFyZ2luKFxuICAkdG9wOiBudWxsLFxuICAkcmlnaHQ6IG51bGwsXG4gICRib3R0b206IG51bGwsXG4gICRsZWZ0OiBudWxsXG4pIHtcbiAgQGlmICR0b3AgIT0gbnVsbCB7XG4gICAgbWFyZ2luLXRvcDogJHRvcCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRyaWdodCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRib3R0b20gIT0gbnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRsZWZ0ICE9IG51bGwge1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVmdCAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgaGVscGVyIG1peGluLCBhbGwgdGhlIHZhbHVlcyBhcmUgbXVsdGlwbGllZCBieSBgJGdsb2JhbC1wYWRkaW5nYCB3aGljaCBieSBkZWZhdWx0IGlzIGVxdWFsIHRvIGAxcmVtYFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG9wIFtudWxsXSAtIFBhZGRpbmcgVG9wXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyaWdodCBbbnVsbF0gLSBQYWRkaW5nIFJpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRib3R0b20gW251bGxdIC0gUGFkZGluZyBCb3R0b21cbi8vLyBAcGFyYW0ge051bWJlcn0gJGxlZnQgW251bGxdIC0gUGFkZGluZyBMZWZ0XG5AbWl4aW4gcGFkZGluZyhcbiAgJHRvcDogbnVsbCxcbiAgJHJpZ2h0OiBudWxsLFxuICAkYm90dG9tOiBudWxsLFxuICAkbGVmdDogbnVsbFxuKSB7XG4gIEBpZiAkdG9wICE9IG51bGwge1xuICAgIHBhZGRpbmctdG9wOiAkdG9wICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRyaWdodCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcmlnaHQgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgfVxuICBAaWYgJGJvdHRvbSAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJvdHRvbSAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkbGVmdCAhPSBudWxsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRsZWZ0ICogJGdsb2JhbC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIE1hcmdpbiBjbGFzc2VzIGZvciBzcGVjaWZpYyBkaXJlY3Rpb24gcHJvcGVydGllc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyIFtdIERpcmVjdGlvblxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3BhY2VyIFtdIFNwYWNlclxuQG1peGluIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcikge1xuICBAaWYgKCRkaXIgPT0gdG9wKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRyaWdodDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGJvdHRvbSkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJGJvdHRvbTogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IGxlZnQpIHsgXG4gICAgQGluY2x1ZGUgbWFyZ2luKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBtYXJnaW4oJHJpZ2h0OiAkc3BhY2VyLCAkbGVmdDogJHNwYWNlcik7IFxuICB9XG4gIEBlbHNlIGlmICgkZGlyID09IHZlcnRpY2FsKSB7IFxuICAgIEBpbmNsdWRlIG1hcmdpbigkdG9wOiAkc3BhY2VyLCAkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbn1cblxuLy8vIFBhZGRpbmcgY2xhc3NlcyBmb3Igc3BlY2lmaWMgZGlyZWN0aW9uIHByb3BlcnRpZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpciBbXSBEaXJlY3Rpb25cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNlciBbXSBTcGFjZXJcbkBtaXhpbiBwYWRkaW5nLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKSB7XG4gIEBpZiAoJGRpciA9PSB0b3ApIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkdG9wOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gcmlnaHQpIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkcmlnaHQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSBib3R0b20pIHsgXG4gICAgQGluY2x1ZGUgcGFkZGluZygkYm90dG9tOiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gbGVmdCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRsZWZ0OiAkc3BhY2VyKTsgXG4gIH1cbiAgQGVsc2UgaWYgKCRkaXIgPT0gaG9yaXpvbnRhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCRyaWdodDogJHNwYWNlciwgJGxlZnQ6ICRzcGFjZXIpOyBcbiAgfVxuICBAZWxzZSBpZiAoJGRpciA9PSB2ZXJ0aWNhbCkgeyBcbiAgICBAaW5jbHVkZSBwYWRkaW5nKCR0b3A6ICRzcGFjZXIsICRib3R0b206ICRzcGFjZXIpOyBcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm90b3R5cGUtc3BhY2luZyB7XG4gIEBmb3IgJHNwYWNlciBmcm9tIDAgdGhyb3VnaCAkcHJvdG90eXBlLXNwYWNlcnMtY291bnQge1xuICAgIFxuICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgIC8vIEFsbCBTaWRlc1xuICAgICAgLiN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICBAaWYgKCRwcm9wID09IG1hcmdpbikgeyBcbiAgICAgICAgICBtYXJnaW46ICRzcGFjZXIgKiAkZ2xvYmFsLW1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIGlmICgkcHJvcCA9PSBwYWRkaW5nKSB7IFxuICAgICAgICAgIHBhZGRpbmc6ICRzcGFjZXIgKiAkZ2xvYmFsLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAZWFjaCAkZGlyIGluICh0b3AsIHJpZ2h0LCBib3R0b20sIGxlZnQsIGhvcml6b250YWwsIHZlcnRpY2FsKSB7XG4gICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgIC4jeyRwcm9wfS0jeyRkaXJ9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgQGluY2x1ZGUgbWFyZ2luLWRpcmVjdGlvbigkZGlyLCAkc3BhY2VyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBhZGRpbmctZGlyZWN0aW9uKCRkaXIsICRzcGFjZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAoJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzKSB7XG4gICAgQGZvciAkc3BhY2VyIGZyb20gMCB0aHJvdWdoICRwcm90b3R5cGUtc3BhY2Vycy1jb3VudCB7XG4gICAgLy8gTG9vcCB0aHJvdWdoIFJlc3BvbnNpdmUgQnJlYWtwb2ludHNcbiAgICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIC4jeyRzaXplfSB7XG4gICAgICAgICAgICAgIEBlYWNoICRwcm9wIGluIChtYXJnaW4sIHBhZGRpbmcpIHtcbiAgICAgICAgICAgICAgICAvLyBBbGwgU2lkZXNcbiAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JHNwYWNlcn0ge1xuICAgICAgICAgICAgICAgICAgQGlmICgkcHJvcCA9PSBtYXJnaW4pIHsgXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJHNwYWNlciAqICRnbG9iYWwtbWFyZ2luICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBAZWxzZSBpZiAoJHByb3AgPT0gcGFkZGluZykgeyBcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJHNwYWNlciAqICRnbG9iYWwtcGFkZGluZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBlYWNoICRkaXIgaW4gKHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCwgaG9yaXpvbnRhbCwgdmVydGljYWwpIHtcbiAgICAgICAgICAgICAgICAgIC8vIFRvcCBTaWRlXG4gICAgICAgICAgICAgICAgICAmLSN7JHByb3B9LSN7JGRpcn0tI3skc3BhY2VyfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHByb3AgPT0gbWFyZ2luKSB7IFxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1hcmdpbi1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGVsc2UgaWYgKCRwcm9wID09IHBhZGRpbmcpIHsgXG4gICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcGFkZGluZy1kaXJlY3Rpb24oJGRpciwgJHNwYWNlcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIVxuICogRm9udCBBd2Vzb21lIFBybyA1LjE1LjQgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdsYXJnZXInO1xuQGltcG9ydCAnZml4ZWQtd2lkdGgnO1xuQGltcG9ydCAnbGlzdCc7XG5AaW1wb3J0ICdib3JkZXJlZC1wdWxsZWQnO1xuQGltcG9ydCAnYW5pbWF0ZWQnO1xuQGltcG9ydCAncm90YXRlZC1mbGlwcGVkJztcbkBpbXBvcnQgJ3N0YWNrZWQnO1xuQGltcG9ydCAnaWNvbnMnO1xuQGltcG9ydCAnc2NyZWVuLXJlYWRlcic7XG4iLCIvLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmYS1mb250LXBhdGg6ICAgICAgICAgXCIuLi93ZWJmb250c1wiICFkZWZhdWx0O1xuJGZhLWZvbnQtc2l6ZS1iYXNlOiAgICAxNnB4ICFkZWZhdWx0O1xuJGZhLWZvbnQtZGlzcGxheTogICAgICBibG9jayAhZGVmYXVsdDtcbiRmYS1jc3MtcHJlZml4OiAgICAgICAgZmEgIWRlZmF1bHQ7XG4kZmEtdmVyc2lvbjogICAgICAgICAgIFwiNS4xNS40XCIgIWRlZmF1bHQ7XG4kZmEtYm9yZGVyLWNvbG9yOiAgICAgICNlZWUgIWRlZmF1bHQ7XG4kZmEtaW52ZXJzZTogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kZmEtbGktd2lkdGg6ICAgICAgICAgIDJlbSAhZGVmYXVsdDtcbiRmYS1mdy13aWR0aDogICAgICAgICAgKDIwZW0gLyAxNik7XG4kZmEtcHJpbWFyeS1vcGFjaXR5OiAgIDEgIWRlZmF1bHQ7XG4kZmEtc2Vjb25kYXJ5LW9wYWNpdHk6IC40ICFkZWZhdWx0O1xuXG4vLyBDb252ZW5pZW5jZSBmdW5jdGlvbiB1c2VkIHRvIHNldCBjb250ZW50IHByb3BlcnR5XG5AZnVuY3Rpb24gZmEtY29udGVudCgkZmEtdmFyKSB7XG4gIEByZXR1cm4gdW5xdW90ZShcIlxcXCIjeyAkZmEtdmFyIH1cXFwiXCIpO1xufVxuXG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLWFiYWN1czogXFxmNjQwO1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItYWNjdXNvZnQ6IFxcZjM2OTtcbiRmYS12YXItYWNvcm46IFxcZjZhZTtcbiRmYS12YXItYWNxdWlzaXRpb25zLWluY29ycG9yYXRlZDogXFxmNmFmO1xuJGZhLXZhci1hZDogXFxmNjQxO1xuJGZhLXZhci1hZGRyZXNzLWJvb2s6IFxcZjJiOTtcbiRmYS12YXItYWRkcmVzcy1jYXJkOiBcXGYyYmI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1hZG46IFxcZjE3MDtcbiRmYS12YXItYWR2ZXJzYWw6IFxcZjM2YTtcbiRmYS12YXItYWZmaWxpYXRldGhlbWU6IFxcZjM2YjtcbiRmYS12YXItYWlyLWNvbmRpdGlvbmVyOiBcXGY4ZjQ7XG4kZmEtdmFyLWFpci1mcmVzaGVuZXI6IFxcZjVkMDtcbiRmYS12YXItYWlyYm5iOiBcXGY4MzQ7XG4kZmEtdmFyLWFsYXJtLWNsb2NrOiBcXGYzNGU7XG4kZmEtdmFyLWFsYXJtLWV4Y2xhbWF0aW9uOiBcXGY4NDM7XG4kZmEtdmFyLWFsYXJtLXBsdXM6IFxcZjg0NDtcbiRmYS12YXItYWxhcm0tc25vb3plOiBcXGY4NDU7XG4kZmEtdmFyLWFsYnVtOiBcXGY4OWY7XG4kZmEtdmFyLWFsYnVtLWNvbGxlY3Rpb246IFxcZjhhMDtcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1hbGljb3JuOiBcXGY2YjA7XG4kZmEtdmFyLWFsaWVuOiBcXGY4ZjU7XG4kZmEtdmFyLWFsaWVuLW1vbnN0ZXI6IFxcZjhmNjtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcXGYwMzc7XG4kZmEtdmFyLWFsaWduLWp1c3RpZnk6IFxcZjAzOTtcbiRmYS12YXItYWxpZ24tbGVmdDogXFxmMDM2O1xuJGZhLXZhci1hbGlnbi1yaWdodDogXFxmMDM4O1xuJGZhLXZhci1hbGlnbi1zbGFzaDogXFxmODQ2O1xuJGZhLXZhci1hbGlwYXk6IFxcZjY0MjtcbiRmYS12YXItYWxsZXJnaWVzOiBcXGY0NjE7XG4kZmEtdmFyLWFtYXpvbjogXFxmMjcwO1xuJGZhLXZhci1hbWF6b24tcGF5OiBcXGY0MmM7XG4kZmEtdmFyLWFtYnVsYW5jZTogXFxmMGY5O1xuJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1hbWlsaWE6IFxcZjM2ZDtcbiRmYS12YXItYW1wLWd1aXRhcjogXFxmOGExO1xuJGZhLXZhci1hbmFseXRpY3M6IFxcZjY0MztcbiRmYS12YXItYW5jaG9yOiBcXGYxM2Q7XG4kZmEtdmFyLWFuZHJvaWQ6IFxcZjE3YjtcbiRmYS12YXItYW5nZWw6IFxcZjc3OTtcbiRmYS12YXItYW5nZWxsaXN0OiBcXGYyMDk7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1kb3duOiBcXGYxMDM7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1yaWdodDogXFxmMTAxO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtdXA6IFxcZjEwMjtcbiRmYS12YXItYW5nbGUtZG93bjogXFxmMTA3O1xuJGZhLXZhci1hbmdsZS1sZWZ0OiBcXGYxMDQ7XG4kZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcXGYxMDU7XG4kZmEtdmFyLWFuZ2xlLXVwOiBcXGYxMDY7XG4kZmEtdmFyLWFuZ3J5OiBcXGY1NTY7XG4kZmEtdmFyLWFuZ3J5Y3JlYXRpdmU6IFxcZjM2ZTtcbiRmYS12YXItYW5ndWxhcjogXFxmNDIwO1xuJGZhLXZhci1hbmtoOiBcXGY2NDQ7XG4kZmEtdmFyLWFwcC1zdG9yZTogXFxmMzZmO1xuJGZhLXZhci1hcHAtc3RvcmUtaW9zOiBcXGYzNzA7XG4kZmEtdmFyLWFwcGVyOiBcXGYzNzE7XG4kZmEtdmFyLWFwcGxlOiBcXGYxNzk7XG4kZmEtdmFyLWFwcGxlLWFsdDogXFxmNWQxO1xuJGZhLXZhci1hcHBsZS1jcmF0ZTogXFxmNmIxO1xuJGZhLXZhci1hcHBsZS1wYXk6IFxcZjQxNTtcbiRmYS12YXItYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1hcmNod2F5OiBcXGY1NTc7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtZG93bjogXFxmMzU4O1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodDogXFxmMzVhO1xuJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLXVwOiBcXGYzNWI7XG4kZmEtdmFyLWFycm93LWFsdC1kb3duOiBcXGYzNTQ7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLWJvdHRvbTogXFxmMzQ2O1xuJGZhLXZhci1hcnJvdy1hbHQtZnJvbS1sZWZ0OiBcXGYzNDc7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLXJpZ2h0OiBcXGYzNDg7XG4kZmEtdmFyLWFycm93LWFsdC1mcm9tLXRvcDogXFxmMzQ5O1xuJGZhLXZhci1hcnJvdy1hbHQtbGVmdDogXFxmMzU1O1xuJGZhLXZhci1hcnJvdy1hbHQtcmlnaHQ6IFxcZjM1NjtcbiRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1kb3duOiBcXGYzNTA7XG4kZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtbGVmdDogXFxmMzUxO1xuJGZhLXZhci1hcnJvdy1hbHQtc3F1YXJlLXJpZ2h0OiBcXGYzNTI7XG4kZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtdXA6IFxcZjM1MztcbiRmYS12YXItYXJyb3ctYWx0LXRvLWJvdHRvbTogXFxmMzRhO1xuJGZhLXZhci1hcnJvdy1hbHQtdG8tbGVmdDogXFxmMzRiO1xuJGZhLXZhci1hcnJvdy1hbHQtdG8tcmlnaHQ6IFxcZjM0YztcbiRmYS12YXItYXJyb3ctYWx0LXRvLXRvcDogXFxmMzRkO1xuJGZhLXZhci1hcnJvdy1hbHQtdXA6IFxcZjM1NztcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQ6IFxcZjBhODtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS11cDogXFxmMGFhO1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWFycm93LWZyb20tYm90dG9tOiBcXGYzNDI7XG4kZmEtdmFyLWFycm93LWZyb20tbGVmdDogXFxmMzQzO1xuJGZhLXZhci1hcnJvdy1mcm9tLXJpZ2h0OiBcXGYzNDQ7XG4kZmEtdmFyLWFycm93LWZyb20tdG9wOiBcXGYzNDU7XG4kZmEtdmFyLWFycm93LWxlZnQ6IFxcZjA2MDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLWRvd246IFxcZjMzOTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLWxlZnQ6IFxcZjMzYTtcbiRmYS12YXItYXJyb3ctc3F1YXJlLXJpZ2h0OiBcXGYzM2I7XG4kZmEtdmFyLWFycm93LXNxdWFyZS11cDogXFxmMzNjO1xuJGZhLXZhci1hcnJvdy10by1ib3R0b206IFxcZjMzZDtcbiRmYS12YXItYXJyb3ctdG8tbGVmdDogXFxmMzNlO1xuJGZhLXZhci1hcnJvdy10by1yaWdodDogXFxmMzQwO1xuJGZhLXZhci1hcnJvdy10by10b3A6IFxcZjM0MTtcbiRmYS12YXItYXJyb3ctdXA6IFxcZjA2MjtcbiRmYS12YXItYXJyb3dzOiBcXGYwNDc7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFxcZjBiMjtcbiRmYS12YXItYXJyb3dzLWFsdC1oOiBcXGYzMzc7XG4kZmEtdmFyLWFycm93cy1hbHQtdjogXFxmMzM4O1xuJGZhLXZhci1hcnJvd3MtaDogXFxmMDdlO1xuJGZhLXZhci1hcnJvd3MtdjogXFxmMDdkO1xuJGZhLXZhci1hcnRzdGF0aW9uOiBcXGY3N2E7XG4kZmEtdmFyLWFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtczogXFxmMmEyO1xuJGZhLXZhci1hc3RlcmlzazogXFxmMDY5O1xuJGZhLXZhci1hc3ltbWV0cmlrOiBcXGYzNzI7XG4kZmEtdmFyLWF0OiBcXGYxZmE7XG4kZmEtdmFyLWF0bGFzOiBcXGY1NTg7XG4kZmEtdmFyLWF0bGFzc2lhbjogXFxmNzdiO1xuJGZhLXZhci1hdG9tOiBcXGY1ZDI7XG4kZmEtdmFyLWF0b20tYWx0OiBcXGY1ZDM7XG4kZmEtdmFyLWF1ZGlibGU6IFxcZjM3MztcbiRmYS12YXItYXVkaW8tZGVzY3JpcHRpb246IFxcZjI5ZTtcbiRmYS12YXItYXV0b3ByZWZpeGVyOiBcXGY0MWM7XG4kZmEtdmFyLWF2aWFuZXg6IFxcZjM3NDtcbiRmYS12YXItYXZpYXRvOiBcXGY0MjE7XG4kZmEtdmFyLWF3YXJkOiBcXGY1NTk7XG4kZmEtdmFyLWF3czogXFxmMzc1O1xuJGZhLXZhci1heGU6IFxcZjZiMjtcbiRmYS12YXItYXhlLWJhdHRsZTogXFxmNmIzO1xuJGZhLXZhci1iYWJ5OiBcXGY3N2M7XG4kZmEtdmFyLWJhYnktY2FycmlhZ2U6IFxcZjc3ZDtcbiRmYS12YXItYmFja3BhY2s6IFxcZjVkNDtcbiRmYS12YXItYmFja3NwYWNlOiBcXGY1NWE7XG4kZmEtdmFyLWJhY2t3YXJkOiBcXGYwNGE7XG4kZmEtdmFyLWJhY29uOiBcXGY3ZTU7XG4kZmEtdmFyLWJhY3RlcmlhOiBcXGUwNTk7XG4kZmEtdmFyLWJhY3Rlcml1bTogXFxlMDVhO1xuJGZhLXZhci1iYWRnZTogXFxmMzM1O1xuJGZhLXZhci1iYWRnZS1jaGVjazogXFxmMzM2O1xuJGZhLXZhci1iYWRnZS1kb2xsYXI6IFxcZjY0NTtcbiRmYS12YXItYmFkZ2UtcGVyY2VudDogXFxmNjQ2O1xuJGZhLXZhci1iYWRnZS1zaGVyaWZmOiBcXGY4YTI7XG4kZmEtdmFyLWJhZGdlci1ob25leTogXFxmNmI0O1xuJGZhLXZhci1iYWdzLXNob3BwaW5nOiBcXGY4NDc7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGU6IFxcZjI0ZTtcbiRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0OiBcXGY1MTU7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItYmFsbC1waWxlOiBcXGY3N2U7XG4kZmEtdmFyLWJhbGxvdDogXFxmNzMyO1xuJGZhLXZhci1iYWxsb3QtY2hlY2s6IFxcZjczMztcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmRjYW1wOiBcXGYyZDU7XG4kZmEtdmFyLWJhbmpvOiBcXGY4YTM7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItYmFyY29kZS1hbHQ6IFxcZjQ2MztcbiRmYS12YXItYmFyY29kZS1yZWFkOiBcXGY0NjQ7XG4kZmEtdmFyLWJhcmNvZGUtc2NhbjogXFxmNDY1O1xuJGZhLXZhci1iYXJzOiBcXGYwYzk7XG4kZmEtdmFyLWJhc2ViYWxsOiBcXGY0MzI7XG4kZmEtdmFyLWJhc2ViYWxsLWJhbGw6IFxcZjQzMztcbiRmYS12YXItYmFza2V0YmFsbC1iYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLWJhc2tldGJhbGwtaG9vcDogXFxmNDM1O1xuJGZhLXZhci1iYXQ6IFxcZjZiNTtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXR0ZXJ5LWJvbHQ6IFxcZjM3NjtcbiRmYS12YXItYmF0dGVyeS1lbXB0eTogXFxmMjQ0O1xuJGZhLXZhci1iYXR0ZXJ5LWZ1bGw6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeS1oYWxmOiBcXGYyNDI7XG4kZmEtdmFyLWJhdHRlcnktcXVhcnRlcjogXFxmMjQzO1xuJGZhLXZhci1iYXR0ZXJ5LXNsYXNoOiBcXGYzNzc7XG4kZmEtdmFyLWJhdHRlcnktdGhyZWUtcXVhcnRlcnM6IFxcZjI0MTtcbiRmYS12YXItYmF0dGxlLW5ldDogXFxmODM1O1xuJGZhLXZhci1iZWQ6IFxcZjIzNjtcbiRmYS12YXItYmVkLWFsdDogXFxmOGY3O1xuJGZhLXZhci1iZWQtYnVuazogXFxmOGY4O1xuJGZhLXZhci1iZWQtZW1wdHk6IFxcZjhmOTtcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1iZWhhbmNlOiBcXGYxYjQ7XG4kZmEtdmFyLWJlaGFuY2Utc3F1YXJlOiBcXGYxYjU7XG4kZmEtdmFyLWJlbGw6IFxcZjBmMztcbiRmYS12YXItYmVsbC1leGNsYW1hdGlvbjogXFxmODQ4O1xuJGZhLXZhci1iZWxsLW9uOiBcXGY4ZmE7XG4kZmEtdmFyLWJlbGwtcGx1czogXFxmODQ5O1xuJGZhLXZhci1iZWxsLXNjaG9vbDogXFxmNWQ1O1xuJGZhLXZhci1iZWxsLXNjaG9vbC1zbGFzaDogXFxmNWQ2O1xuJGZhLXZhci1iZWxsLXNsYXNoOiBcXGYxZjY7XG4kZmEtdmFyLWJlbGxzOiBcXGY3N2Y7XG4kZmEtdmFyLWJldGFtYXg6IFxcZjhhNDtcbiRmYS12YXItYmV6aWVyLWN1cnZlOiBcXGY1NWI7XG4kZmEtdmFyLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLWJpY3ljbGU6IFxcZjIwNjtcbiRmYS12YXItYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJpa2luZy1tb3VudGFpbjogXFxmODRiO1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYmlub2N1bGFyczogXFxmMWU1O1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItYmlydGhkYXktY2FrZTogXFxmMWZkO1xuJGZhLXZhci1iaXRidWNrZXQ6IFxcZjE3MTtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1iaXR5OiBcXGYzN2E7XG4kZmEtdmFyLWJsYWNrLXRpZTogXFxmMjdlO1xuJGZhLXZhci1ibGFja2JlcnJ5OiBcXGYzN2I7XG4kZmEtdmFyLWJsYW5rZXQ6IFxcZjQ5ODtcbiRmYS12YXItYmxlbmRlcjogXFxmNTE3O1xuJGZhLXZhci1ibGVuZGVyLXBob25lOiBcXGY2YjY7XG4kZmEtdmFyLWJsaW5kOiBcXGYyOWQ7XG4kZmEtdmFyLWJsaW5kczogXFxmOGZiO1xuJGZhLXZhci1ibGluZHMtb3BlbjogXFxmOGZjO1xuJGZhLXZhci1ibGluZHMtcmFpc2VkOiBcXGY4ZmQ7XG4kZmEtdmFyLWJsb2c6IFxcZjc4MTtcbiRmYS12YXItYmxvZ2dlcjogXFxmMzdjO1xuJGZhLXZhci1ibG9nZ2VyLWI6IFxcZjM3ZDtcbiRmYS12YXItYmx1ZXRvb3RoOiBcXGYyOTM7XG4kZmEtdmFyLWJsdWV0b290aC1iOiBcXGYyOTQ7XG4kZmEtdmFyLWJvbGQ6IFxcZjAzMjtcbiRmYS12YXItYm9sdDogXFxmMGU3O1xuJGZhLXZhci1ib21iOiBcXGYxZTI7XG4kZmEtdmFyLWJvbmU6IFxcZjVkNztcbiRmYS12YXItYm9uZS1icmVhazogXFxmNWQ4O1xuJGZhLXZhci1ib25nOiBcXGY1NWM7XG4kZmEtdmFyLWJvb2s6IFxcZjAyZDtcbiRmYS12YXItYm9vay1hbHQ6IFxcZjVkOTtcbiRmYS12YXItYm9vay1kZWFkOiBcXGY2Yjc7XG4kZmEtdmFyLWJvb2staGVhcnQ6IFxcZjQ5OTtcbiRmYS12YXItYm9vay1tZWRpY2FsOiBcXGY3ZTY7XG4kZmEtdmFyLWJvb2stb3BlbjogXFxmNTE4O1xuJGZhLXZhci1ib29rLXJlYWRlcjogXFxmNWRhO1xuJGZhLXZhci1ib29rLXNwZWxsczogXFxmNmI4O1xuJGZhLXZhci1ib29rLXVzZXI6IFxcZjdlNztcbiRmYS12YXItYm9va21hcms6IFxcZjAyZTtcbiRmYS12YXItYm9va3M6IFxcZjVkYjtcbiRmYS12YXItYm9va3MtbWVkaWNhbDogXFxmN2U4O1xuJGZhLXZhci1ib29tYm94OiBcXGY4YTU7XG4kZmEtdmFyLWJvb3Q6IFxcZjc4MjtcbiRmYS12YXItYm9vdGgtY3VydGFpbjogXFxmNzM0O1xuJGZhLXZhci1ib290c3RyYXA6IFxcZjgzNjtcbiRmYS12YXItYm9yZGVyLWFsbDogXFxmODRjO1xuJGZhLXZhci1ib3JkZXItYm90dG9tOiBcXGY4NGQ7XG4kZmEtdmFyLWJvcmRlci1jZW50ZXItaDogXFxmODljO1xuJGZhLXZhci1ib3JkZXItY2VudGVyLXY6IFxcZjg5ZDtcbiRmYS12YXItYm9yZGVyLWlubmVyOiBcXGY4NGU7XG4kZmEtdmFyLWJvcmRlci1sZWZ0OiBcXGY4NGY7XG4kZmEtdmFyLWJvcmRlci1ub25lOiBcXGY4NTA7XG4kZmEtdmFyLWJvcmRlci1vdXRlcjogXFxmODUxO1xuJGZhLXZhci1ib3JkZXItcmlnaHQ6IFxcZjg1MjtcbiRmYS12YXItYm9yZGVyLXN0eWxlOiBcXGY4NTM7XG4kZmEtdmFyLWJvcmRlci1zdHlsZS1hbHQ6IFxcZjg1NDtcbiRmYS12YXItYm9yZGVyLXRvcDogXFxmODU1O1xuJGZhLXZhci1ib3ctYXJyb3c6IFxcZjZiOTtcbiRmYS12YXItYm93bGluZy1iYWxsOiBcXGY0MzY7XG4kZmEtdmFyLWJvd2xpbmctcGluczogXFxmNDM3O1xuJGZhLXZhci1ib3g6IFxcZjQ2NjtcbiRmYS12YXItYm94LWFsdDogXFxmNDlhO1xuJGZhLXZhci1ib3gtYmFsbG90OiBcXGY3MzU7XG4kZmEtdmFyLWJveC1jaGVjazogXFxmNDY3O1xuJGZhLXZhci1ib3gtZnJhZ2lsZTogXFxmNDliO1xuJGZhLXZhci1ib3gtZnVsbDogXFxmNDljO1xuJGZhLXZhci1ib3gtaGVhcnQ6IFxcZjQ5ZDtcbiRmYS12YXItYm94LW9wZW46IFxcZjQ5ZTtcbiRmYS12YXItYm94LXRpc3N1ZTogXFxlMDViO1xuJGZhLXZhci1ib3gtdXA6IFxcZjQ5ZjtcbiRmYS12YXItYm94LXVzZDogXFxmNGEwO1xuJGZhLXZhci1ib3hlczogXFxmNDY4O1xuJGZhLXZhci1ib3hlcy1hbHQ6IFxcZjRhMTtcbiRmYS12YXItYm94aW5nLWdsb3ZlOiBcXGY0Mzg7XG4kZmEtdmFyLWJyYWNrZXRzOiBcXGY3ZTk7XG4kZmEtdmFyLWJyYWNrZXRzLWN1cmx5OiBcXGY3ZWE7XG4kZmEtdmFyLWJyYWlsbGU6IFxcZjJhMTtcbiRmYS12YXItYnJhaW46IFxcZjVkYztcbiRmYS12YXItYnJlYWQtbG9hZjogXFxmN2ViO1xuJGZhLXZhci1icmVhZC1zbGljZTogXFxmN2VjO1xuJGZhLXZhci1icmllZmNhc2U6IFxcZjBiMTtcbiRmYS12YXItYnJpZWZjYXNlLW1lZGljYWw6IFxcZjQ2OTtcbiRmYS12YXItYnJpbmctZm9yd2FyZDogXFxmODU2O1xuJGZhLXZhci1icmluZy1mcm9udDogXFxmODU3O1xuJGZhLXZhci1icm9hZGNhc3QtdG93ZXI6IFxcZjUxOTtcbiRmYS12YXItYnJvb206IFxcZjUxYTtcbiRmYS12YXItYnJvd3NlcjogXFxmMzdlO1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1idGM6IFxcZjE1YTtcbiRmYS12YXItYnVmZmVyOiBcXGY4Mzc7XG4kZmEtdmFyLWJ1ZzogXFxmMTg4O1xuJGZhLXZhci1idWlsZGluZzogXFxmMWFkO1xuJGZhLXZhci1idWxsaG9ybjogXFxmMGExO1xuJGZhLXZhci1idWxsc2V5ZTogXFxmMTQwO1xuJGZhLXZhci1idWxsc2V5ZS1hcnJvdzogXFxmNjQ4O1xuJGZhLXZhci1idWxsc2V5ZS1wb2ludGVyOiBcXGY2NDk7XG4kZmEtdmFyLWJ1cmdlci1zb2RhOiBcXGY4NTg7XG4kZmEtdmFyLWJ1cm46IFxcZjQ2YTtcbiRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZTogXFxmMzdmO1xuJGZhLXZhci1idXJyaXRvOiBcXGY3ZWQ7XG4kZmEtdmFyLWJ1czogXFxmMjA3O1xuJGZhLXZhci1idXMtYWx0OiBcXGY1NWU7XG4kZmEtdmFyLWJ1cy1zY2hvb2w6IFxcZjVkZDtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1idXktbi1sYXJnZTogXFxmOGE2O1xuJGZhLXZhci1idXlzZWxsYWRzOiBcXGYyMGQ7XG4kZmEtdmFyLWNhYmluZXQtZmlsaW5nOiBcXGY2NGI7XG4kZmEtdmFyLWNhY3R1czogXFxmOGE3O1xuJGZhLXZhci1jYWxjdWxhdG9yOiBcXGYxZWM7XG4kZmEtdmFyLWNhbGN1bGF0b3ItYWx0OiBcXGY2NGM7XG4kZmEtdmFyLWNhbGVuZGFyOiBcXGYxMzM7XG4kZmEtdmFyLWNhbGVuZGFyLWFsdDogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItY2FsZW5kYXItZWRpdDogXFxmMzMzO1xuJGZhLXZhci1jYWxlbmRhci1leGNsYW1hdGlvbjogXFxmMzM0O1xuJGZhLXZhci1jYWxlbmRhci1taW51czogXFxmMjcyO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLWNhbGVuZGFyLXN0YXI6IFxcZjczNjtcbiRmYS12YXItY2FsZW5kYXItdGltZXM6IFxcZjI3MztcbiRmYS12YXItY2FsZW5kYXItd2VlazogXFxmNzg0O1xuJGZhLXZhci1jYW1jb3JkZXI6IFxcZjhhODtcbiRmYS12YXItY2FtZXJhOiBcXGYwMzA7XG4kZmEtdmFyLWNhbWVyYS1hbHQ6IFxcZjMzMjtcbiRmYS12YXItY2FtZXJhLWhvbWU6IFxcZjhmZTtcbiRmYS12YXItY2FtZXJhLW1vdmllOiBcXGY4YTk7XG4kZmEtdmFyLWNhbWVyYS1wb2xhcm9pZDogXFxmOGFhO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2FtcGZpcmU6IFxcZjZiYTtcbiRmYS12YXItY2FtcGdyb3VuZDogXFxmNmJiO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLWNhbmRsZS1ob2xkZXI6IFxcZjZiYztcbiRmYS12YXItY2FuZHktY2FuZTogXFxmNzg2O1xuJGZhLXZhci1jYW5keS1jb3JuOiBcXGY2YmQ7XG4kZmEtdmFyLWNhbm5hYmlzOiBcXGY1NWY7XG4kZmEtdmFyLWNhcHN1bGVzOiBcXGY0NmI7XG4kZmEtdmFyLWNhcjogXFxmMWI5O1xuJGZhLXZhci1jYXItYWx0OiBcXGY1ZGU7XG4kZmEtdmFyLWNhci1iYXR0ZXJ5OiBcXGY1ZGY7XG4kZmEtdmFyLWNhci1idWlsZGluZzogXFxmODU5O1xuJGZhLXZhci1jYXItYnVtcDogXFxmNWUwO1xuJGZhLXZhci1jYXItYnVzOiBcXGY4NWE7XG4kZmEtdmFyLWNhci1jcmFzaDogXFxmNWUxO1xuJGZhLXZhci1jYXItZ2FyYWdlOiBcXGY1ZTI7XG4kZmEtdmFyLWNhci1tZWNoYW5pYzogXFxmNWUzO1xuJGZhLXZhci1jYXItc2lkZTogXFxmNWU0O1xuJGZhLXZhci1jYXItdGlsdDogXFxmNWU1O1xuJGZhLXZhci1jYXItd2FzaDogXFxmNWU2O1xuJGZhLXZhci1jYXJhdmFuOiBcXGY4ZmY7XG4kZmEtdmFyLWNhcmF2YW4tYWx0OiBcXGUwMDA7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1kb3duOiBcXGYzMmQ7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1sZWZ0OiBcXGYzMmU7XG4kZmEtdmFyLWNhcmV0LWNpcmNsZS1yaWdodDogXFxmMzMwO1xuJGZhLXZhci1jYXJldC1jaXJjbGUtdXA6IFxcZjMzMTtcbiRmYS12YXItY2FyZXQtZG93bjogXFxmMGQ3O1xuJGZhLXZhci1jYXJldC1sZWZ0OiBcXGYwZDk7XG4kZmEtdmFyLWNhcmV0LXJpZ2h0OiBcXGYwZGE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duOiBcXGYxNTA7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1sZWZ0OiBcXGYxOTE7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtdXA6IFxcZjE1MTtcbiRmYS12YXItY2FyZXQtdXA6IFxcZjBkODtcbiRmYS12YXItY2Fycm90OiBcXGY3ODc7XG4kZmEtdmFyLWNhcnM6IFxcZjg1YjtcbiRmYS12YXItY2FydC1hcnJvdy1kb3duOiBcXGYyMTg7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1jYXNoLXJlZ2lzdGVyOiBcXGY3ODg7XG4kZmEtdmFyLWNhc3NldHRlLXRhcGU6IFxcZjhhYjtcbiRmYS12YXItY2F0OiBcXGY2YmU7XG4kZmEtdmFyLWNhdC1zcGFjZTogXFxlMDAxO1xuJGZhLXZhci1jYXVsZHJvbjogXFxmNmJmO1xuJGZhLXZhci1jYy1hbWF6b24tcGF5OiBcXGY0MmQ7XG4kZmEtdmFyLWNjLWFtZXg6IFxcZjFmMztcbiRmYS12YXItY2MtYXBwbGUtcGF5OiBcXGY0MTY7XG4kZmEtdmFyLWNjLWRpbmVycy1jbHViOiBcXGYyNGM7XG4kZmEtdmFyLWNjLWRpc2NvdmVyOiBcXGYxZjI7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1jYy1tYXN0ZXJjYXJkOiBcXGYxZjE7XG4kZmEtdmFyLWNjLXBheXBhbDogXFxmMWY0O1xuJGZhLXZhci1jYy1zdHJpcGU6IFxcZjFmNTtcbiRmYS12YXItY2MtdmlzYTogXFxmMWYwO1xuJGZhLXZhci1jY3R2OiBcXGY4YWM7XG4kZmEtdmFyLWNlbnRlcmNvZGU6IFxcZjM4MDtcbiRmYS12YXItY2VudG9zOiBcXGY3ODk7XG4kZmEtdmFyLWNlcnRpZmljYXRlOiBcXGYwYTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNoYWlyLW9mZmljZTogXFxmNmMxO1xuJGZhLXZhci1jaGFsa2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcjogXFxmNTFjO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItY2hhcnQtYmFyOiBcXGYwODA7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItY2hhcnQtbGluZS1kb3duOiBcXGY2NGQ7XG4kZmEtdmFyLWNoYXJ0LW5ldHdvcms6IFxcZjc4YTtcbiRmYS12YXItY2hhcnQtcGllOiBcXGYyMDA7XG4kZmEtdmFyLWNoYXJ0LXBpZS1hbHQ6IFxcZjY0ZTtcbiRmYS12YXItY2hhcnQtc2NhdHRlcjogXFxmN2VlO1xuJGZhLXZhci1jaGVjazogXFxmMDBjO1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFxcZjA1ODtcbiRmYS12YXItY2hlY2stZG91YmxlOiBcXGY1NjA7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXFxmMTRhO1xuJGZhLXZhci1jaGVlc2U6IFxcZjdlZjtcbiRmYS12YXItY2hlZXNlLXN3aXNzOiBcXGY3ZjA7XG4kZmEtdmFyLWNoZWVzZWJ1cmdlcjogXFxmN2YxO1xuJGZhLXZhci1jaGVzczogXFxmNDM5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItY2hlc3MtYmlzaG9wLWFsdDogXFxmNDNiO1xuJGZhLXZhci1jaGVzcy1ib2FyZDogXFxmNDNjO1xuJGZhLXZhci1jaGVzcy1jbG9jazogXFxmNDNkO1xuJGZhLXZhci1jaGVzcy1jbG9jay1hbHQ6IFxcZjQzZTtcbiRmYS12YXItY2hlc3Mta2luZzogXFxmNDNmO1xuJGZhLXZhci1jaGVzcy1raW5nLWFsdDogXFxmNDQwO1xuJGZhLXZhci1jaGVzcy1rbmlnaHQ6IFxcZjQ0MTtcbiRmYS12YXItY2hlc3Mta25pZ2h0LWFsdDogXFxmNDQyO1xuJGZhLXZhci1jaGVzcy1wYXduOiBcXGY0NDM7XG4kZmEtdmFyLWNoZXNzLXBhd24tYWx0OiBcXGY0NDQ7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuLWFsdDogXFxmNDQ2O1xuJGZhLXZhci1jaGVzcy1yb29rOiBcXGY0NDc7XG4kZmEtdmFyLWNoZXNzLXJvb2stYWx0OiBcXGY0NDg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodDogXFxmMTM4O1xuJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cDogXFxmMTM5O1xuJGZhLXZhci1jaGV2cm9uLWRvdWJsZS1kb3duOiBcXGYzMjI7XG4kZmEtdmFyLWNoZXZyb24tZG91YmxlLWxlZnQ6IFxcZjMyMztcbiRmYS12YXItY2hldnJvbi1kb3VibGUtcmlnaHQ6IFxcZjMyNDtcbiRmYS12YXItY2hldnJvbi1kb3VibGUtdXA6IFxcZjMyNTtcbiRmYS12YXItY2hldnJvbi1kb3duOiBcXGYwNzg7XG4kZmEtdmFyLWNoZXZyb24tbGVmdDogXFxmMDUzO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcXGYwNTQ7XG4kZmEtdmFyLWNoZXZyb24tc3F1YXJlLWRvd246IFxcZjMyOTtcbiRmYS12YXItY2hldnJvbi1zcXVhcmUtbGVmdDogXFxmMzJhO1xuJGZhLXZhci1jaGV2cm9uLXNxdWFyZS1yaWdodDogXFxmMzJiO1xuJGZhLXZhci1jaGV2cm9uLXNxdWFyZS11cDogXFxmMzJjO1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWNoaWxkOiBcXGYxYWU7XG4kZmEtdmFyLWNoaW1uZXk6IFxcZjc4YjtcbiRmYS12YXItY2hyb21lOiBcXGYyNjg7XG4kZmEtdmFyLWNocm9tZWNhc3Q6IFxcZjgzODtcbiRmYS12YXItY2h1cmNoOiBcXGY1MWQ7XG4kZmEtdmFyLWNpcmNsZTogXFxmMTExO1xuJGZhLXZhci1jaXJjbGUtbm90Y2g6IFxcZjFjZTtcbiRmYS12YXItY2l0eTogXFxmNjRmO1xuJGZhLXZhci1jbGFyaW5ldDogXFxmOGFkO1xuJGZhLXZhci1jbGF3LW1hcmtzOiBcXGY2YzI7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaXBib2FyZDogXFxmMzI4O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItY2xpcGJvYXJkLWxpc3QtY2hlY2s6IFxcZjczNztcbiRmYS12YXItY2xpcGJvYXJkLXByZXNjcmlwdGlvbjogXFxmNWU4O1xuJGZhLXZhci1jbGlwYm9hcmQtdXNlcjogXFxmN2YzO1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9uZTogXFxmMjRkO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1jbG91ZDogXFxmMGMyO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjM4MTtcbiRmYS12YXItY2xvdWQtZHJpenpsZTogXFxmNzM4O1xuJGZhLXZhci1jbG91ZC1oYWlsOiBcXGY3Mzk7XG4kZmEtdmFyLWNsb3VkLWhhaWwtbWl4ZWQ6IFxcZjczYTtcbiRmYS12YXItY2xvdWQtbWVhdGJhbGw6IFxcZjczYjtcbiRmYS12YXItY2xvdWQtbW9vbjogXFxmNmMzO1xuJGZhLXZhci1jbG91ZC1tb29uLXJhaW46IFxcZjczYztcbiRmYS12YXItY2xvdWQtbXVzaWM6IFxcZjhhZTtcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1jbG91ZC1yYWluYm93OiBcXGY3M2U7XG4kZmEtdmFyLWNsb3VkLXNob3dlcnM6IFxcZjczZjtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eTogXFxmNzQwO1xuJGZhLXZhci1jbG91ZC1zbGVldDogXFxmNzQxO1xuJGZhLXZhci1jbG91ZC1zbm93OiBcXGY3NDI7XG4kZmEtdmFyLWNsb3VkLXN1bjogXFxmNmM0O1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMzgyO1xuJGZhLXZhci1jbG91ZGZsYXJlOiBcXGUwN2Q7XG4kZmEtdmFyLWNsb3VkczogXFxmNzQ0O1xuJGZhLXZhci1jbG91ZHMtbW9vbjogXFxmNzQ1O1xuJGZhLXZhci1jbG91ZHMtc3VuOiBcXGY3NDY7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItY2xvdWRzbWl0aDogXFxmMzg0O1xuJGZhLXZhci1jbG91ZHZlcnNpZnk6IFxcZjM4NTtcbiRmYS12YXItY2x1YjogXFxmMzI3O1xuJGZhLXZhci1jb2NrdGFpbDogXFxmNTYxO1xuJGZhLXZhci1jb2RlOiBcXGYxMjE7XG4kZmEtdmFyLWNvZGUtYnJhbmNoOiBcXGYxMjY7XG4kZmEtdmFyLWNvZGUtY29tbWl0OiBcXGYzODY7XG4kZmEtdmFyLWNvZGUtbWVyZ2U6IFxcZjM4NztcbiRmYS12YXItY29kZXBlbjogXFxmMWNiO1xuJGZhLXZhci1jb2RpZXBpZTogXFxmMjg0O1xuJGZhLXZhci1jb2ZmZWU6IFxcZjBmNDtcbiRmYS12YXItY29mZmVlLXBvdDogXFxlMDAyO1xuJGZhLXZhci1jb2ZmZWUtdG9nbzogXFxmNmM1O1xuJGZhLXZhci1jb2ZmaW46IFxcZjZjNjtcbiRmYS12YXItY29mZmluLWNyb3NzOiBcXGUwNTE7XG4kZmEtdmFyLWNvZzogXFxmMDEzO1xuJGZhLXZhci1jb2dzOiBcXGYwODU7XG4kZmEtdmFyLWNvaW46IFxcZjg1YztcbiRmYS12YXItY29pbnM6IFxcZjUxZTtcbiRmYS12YXItY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1jb21ldDogXFxlMDAzO1xuJGZhLXZhci1jb21tZW50OiBcXGYwNzU7XG4kZmEtdmFyLWNvbW1lbnQtYWx0OiBcXGYyN2E7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWNoZWNrOiBcXGY0YTI7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWRvbGxhcjogXFxmNjUwO1xuJGZhLXZhci1jb21tZW50LWFsdC1kb3RzOiBcXGY0YTM7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LWVkaXQ6IFxcZjRhNDtcbiRmYS12YXItY29tbWVudC1hbHQtZXhjbGFtYXRpb246IFxcZjRhNTtcbiRmYS12YXItY29tbWVudC1hbHQtbGluZXM6IFxcZjRhNjtcbiRmYS12YXItY29tbWVudC1hbHQtbWVkaWNhbDogXFxmN2Y0O1xuJGZhLXZhci1jb21tZW50LWFsdC1taW51czogXFxmNGE3O1xuJGZhLXZhci1jb21tZW50LWFsdC1tdXNpYzogXFxmOGFmO1xuJGZhLXZhci1jb21tZW50LWFsdC1wbHVzOiBcXGY0YTg7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXNsYXNoOiBcXGY0YTk7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXNtaWxlOiBcXGY0YWE7XG4kZmEtdmFyLWNvbW1lbnQtYWx0LXRpbWVzOiBcXGY0YWI7XG4kZmEtdmFyLWNvbW1lbnQtY2hlY2s6IFxcZjRhYztcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItY29tbWVudC1kb3RzOiBcXGY0YWQ7XG4kZmEtdmFyLWNvbW1lbnQtZWRpdDogXFxmNGFlO1xuJGZhLXZhci1jb21tZW50LWV4Y2xhbWF0aW9uOiBcXGY0YWY7XG4kZmEtdmFyLWNvbW1lbnQtbGluZXM6IFxcZjRiMDtcbiRmYS12YXItY29tbWVudC1tZWRpY2FsOiBcXGY3ZjU7XG4kZmEtdmFyLWNvbW1lbnQtbWludXM6IFxcZjRiMTtcbiRmYS12YXItY29tbWVudC1tdXNpYzogXFxmOGIwO1xuJGZhLXZhci1jb21tZW50LXBsdXM6IFxcZjRiMjtcbiRmYS12YXItY29tbWVudC1zbGFzaDogXFxmNGIzO1xuJGZhLXZhci1jb21tZW50LXNtaWxlOiBcXGY0YjQ7XG4kZmEtdmFyLWNvbW1lbnQtdGltZXM6IFxcZjRiNTtcbiRmYS12YXItY29tbWVudHM6IFxcZjA4NjtcbiRmYS12YXItY29tbWVudHMtYWx0OiBcXGY0YjY7XG4kZmEtdmFyLWNvbW1lbnRzLWFsdC1kb2xsYXI6IFxcZjY1MjtcbiRmYS12YXItY29tbWVudHMtZG9sbGFyOiBcXGY2NTM7XG4kZmEtdmFyLWNvbXBhY3QtZGlzYzogXFxmNTFmO1xuJGZhLXZhci1jb21wYXNzOiBcXGYxNGU7XG4kZmEtdmFyLWNvbXBhc3Mtc2xhc2g6IFxcZjVlOTtcbiRmYS12YXItY29tcHJlc3M6IFxcZjA2NjtcbiRmYS12YXItY29tcHJlc3MtYWx0OiBcXGY0MjI7XG4kZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQ6IFxcZjc4YztcbiRmYS12YXItY29tcHJlc3Mtd2lkZTogXFxmMzI2O1xuJGZhLXZhci1jb21wdXRlci1jbGFzc2ljOiBcXGY4YjE7XG4kZmEtdmFyLWNvbXB1dGVyLXNwZWFrZXI6IFxcZjhiMjtcbiRmYS12YXItY29uY2llcmdlLWJlbGw6IFxcZjU2MjtcbiRmYS12YXItY29uZmx1ZW5jZTogXFxmNzhkO1xuJGZhLXZhci1jb25uZWN0ZGV2ZWxvcDogXFxmMjBlO1xuJGZhLXZhci1jb25zdHJ1Y3Rpb246IFxcZjg1ZDtcbiRmYS12YXItY29udGFpbmVyLXN0b3JhZ2U6IFxcZjRiNztcbiRmYS12YXItY29udGFvOiBcXGYyNmQ7XG4kZmEtdmFyLWNvbnZleW9yLWJlbHQ6IFxcZjQ2ZTtcbiRmYS12YXItY29udmV5b3ItYmVsdC1hbHQ6IFxcZjQ2ZjtcbiRmYS12YXItY29va2llOiBcXGY1NjM7XG4kZmEtdmFyLWNvb2tpZS1iaXRlOiBcXGY1NjQ7XG4kZmEtdmFyLWNvcHk6IFxcZjBjNTtcbiRmYS12YXItY29weXJpZ2h0OiBcXGYxZjk7XG4kZmEtdmFyLWNvcm46IFxcZjZjNztcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jb3c6IFxcZjZjODtcbiRmYS12YXItY293YmVsbDogXFxmOGIzO1xuJGZhLXZhci1jb3diZWxsLW1vcmU6IFxcZjhiNDtcbiRmYS12YXItY3BhbmVsOiBcXGYzODg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnM6IFxcZjI1ZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1ieTogXFxmNGU3O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jOiBcXGY0ZTg7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMtZXU6IFxcZjRlOTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcDogXFxmNGVhO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5kOiBcXGY0ZWI7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcGQ6IFxcZjRlYztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6IFxcZjRlZDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peDogXFxmNGVlO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhOiBcXGY0ZWY7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6IFxcZjRmMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOiBcXGY0ZjE7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6IFxcZjRmMjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvOiBcXGY0ZjM7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcXGYwOWQ7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWJsYW5rOiBcXGYzODk7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWZyb250OiBcXGYzOGE7XG4kZmEtdmFyLWNyaWNrZXQ6IFxcZjQ0OTtcbiRmYS12YXItY3JpdGljYWwtcm9sZTogXFxmNmM5O1xuJGZhLXZhci1jcm9pc3NhbnQ6IFxcZjdmNjtcbiRmYS12YXItY3JvcDogXFxmMTI1O1xuJGZhLXZhci1jcm9wLWFsdDogXFxmNTY1O1xuJGZhLXZhci1jcm9zczogXFxmNjU0O1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcXGYwNWI7XG4kZmEtdmFyLWNyb3c6IFxcZjUyMDtcbiRmYS12YXItY3Jvd246IFxcZjUyMTtcbiRmYS12YXItY3J1dGNoOiBcXGY3Zjc7XG4kZmEtdmFyLWNydXRjaGVzOiBcXGY3Zjg7XG4kZmEtdmFyLWNzczM6IFxcZjEzYztcbiRmYS12YXItY3NzMy1hbHQ6IFxcZjM4YjtcbiRmYS12YXItY3ViZTogXFxmMWIyO1xuJGZhLXZhci1jdWJlczogXFxmMWIzO1xuJGZhLXZhci1jdXJsaW5nOiBcXGY0NGE7XG4kZmEtdmFyLWN1dDogXFxmMGM0O1xuJGZhLXZhci1jdXR0bGVmaXNoOiBcXGYzOGM7XG4kZmEtdmFyLWQtYW5kLWQ6IFxcZjM4ZDtcbiRmYS12YXItZC1hbmQtZC1iZXlvbmQ6IFxcZjZjYTtcbiRmYS12YXItZGFnZ2VyOiBcXGY2Y2I7XG4kZmEtdmFyLWRhaWx5bW90aW9uOiBcXGUwNTI7XG4kZmEtdmFyLWRhc2hjdWJlOiBcXGYyMTA7XG4kZmEtdmFyLWRhdGFiYXNlOiBcXGYxYzA7XG4kZmEtdmFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVidWc6IFxcZjdmOTtcbiRmYS12YXItZGVlcjogXFxmNzhlO1xuJGZhLXZhci1kZWVyLXJ1ZG9scGg6IFxcZjc4ZjtcbiRmYS12YXItZGVlemVyOiBcXGUwNzc7XG4kZmEtdmFyLWRlbGljaW91czogXFxmMWE1O1xuJGZhLXZhci1kZW1vY3JhdDogXFxmNzQ3O1xuJGZhLXZhci1kZXBsb3lkb2c6IFxcZjM4ZTtcbiRmYS12YXItZGVza3BybzogXFxmMzhmO1xuJGZhLXZhci1kZXNrdG9wOiBcXGYxMDg7XG4kZmEtdmFyLWRlc2t0b3AtYWx0OiBcXGYzOTA7XG4kZmEtdmFyLWRldjogXFxmNmNjO1xuJGZhLXZhci1kZXZpYW50YXJ0OiBcXGYxYmQ7XG4kZmEtdmFyLWRld3BvaW50OiBcXGY3NDg7XG4kZmEtdmFyLWRoYXJtYWNoYWtyYTogXFxmNjU1O1xuJGZhLXZhci1kaGw6IFxcZjc5MDtcbiRmYS12YXItZGlhZ25vc2VzOiBcXGY0NzA7XG4kZmEtdmFyLWRpYW1vbmQ6IFxcZjIxOTtcbiRmYS12YXItZGlhc3BvcmE6IFxcZjc5MTtcbiRmYS12YXItZGljZTogXFxmNTIyO1xuJGZhLXZhci1kaWNlLWQxMDogXFxmNmNkO1xuJGZhLXZhci1kaWNlLWQxMjogXFxmNmNlO1xuJGZhLXZhci1kaWNlLWQyMDogXFxmNmNmO1xuJGZhLXZhci1kaWNlLWQ0OiBcXGY2ZDA7XG4kZmEtdmFyLWRpY2UtZDY6IFxcZjZkMTtcbiRmYS12YXItZGljZS1kODogXFxmNmQyO1xuJGZhLXZhci1kaWNlLWZpdmU6IFxcZjUyMztcbiRmYS12YXItZGljZS1mb3VyOiBcXGY1MjQ7XG4kZmEtdmFyLWRpY2Utb25lOiBcXGY1MjU7XG4kZmEtdmFyLWRpY2Utc2l4OiBcXGY1MjY7XG4kZmEtdmFyLWRpY2UtdGhyZWU6IFxcZjUyNztcbiRmYS12YXItZGljZS10d286IFxcZjUyODtcbiRmYS12YXItZGlnZzogXFxmMWE2O1xuJGZhLXZhci1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItZGlnaXRhbC10YWNob2dyYXBoOiBcXGY1NjY7XG4kZmEtdmFyLWRpcGxvbWE6IFxcZjVlYTtcbiRmYS12YXItZGlyZWN0aW9uczogXFxmNWViO1xuJGZhLXZhci1kaXNjLWRyaXZlOiBcXGY4YjU7XG4kZmEtdmFyLWRpc2NvcmQ6IFxcZjM5MjtcbiRmYS12YXItZGlzY291cnNlOiBcXGYzOTM7XG4kZmEtdmFyLWRpc2Vhc2U6IFxcZjdmYTtcbiRmYS12YXItZGl2aWRlOiBcXGY1Mjk7XG4kZmEtdmFyLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWRuYTogXFxmNDcxO1xuJGZhLXZhci1kby1ub3QtZW50ZXI6IFxcZjVlYztcbiRmYS12YXItZG9jaHViOiBcXGYzOTQ7XG4kZmEtdmFyLWRvY2tlcjogXFxmMzk1O1xuJGZhLXZhci1kb2c6IFxcZjZkMztcbiRmYS12YXItZG9nLWxlYXNoZWQ6IFxcZjZkNDtcbiRmYS12YXItZG9sbGFyLXNpZ246IFxcZjE1NTtcbiRmYS12YXItZG9sbHk6IFxcZjQ3MjtcbiRmYS12YXItZG9sbHktZW1wdHk6IFxcZjQ3MztcbiRmYS12YXItZG9sbHktZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkLWFsdDogXFxmNDc1O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkLWVtcHR5OiBcXGY0NzY7XG4kZmEtdmFyLWRvbmF0ZTogXFxmNGI5O1xuJGZhLXZhci1kb29yLWNsb3NlZDogXFxmNTJhO1xuJGZhLXZhci1kb29yLW9wZW46IFxcZjUyYjtcbiRmYS12YXItZG90LWNpcmNsZTogXFxmMTkyO1xuJGZhLXZhci1kb3ZlOiBcXGY0YmE7XG4kZmEtdmFyLWRvd25sb2FkOiBcXGYwMTk7XG4kZmEtdmFyLWRyYWZ0MmRpZ2l0YWw6IFxcZjM5NjtcbiRmYS12YXItZHJhZnRpbmctY29tcGFzczogXFxmNTY4O1xuJGZhLXZhci1kcmFnb246IFxcZjZkNTtcbiRmYS12YXItZHJhdy1jaXJjbGU6IFxcZjVlZDtcbiRmYS12YXItZHJhdy1wb2x5Z29uOiBcXGY1ZWU7XG4kZmEtdmFyLWRyYXctc3F1YXJlOiBcXGY1ZWY7XG4kZmEtdmFyLWRyZWlkZWw6IFxcZjc5MjtcbiRmYS12YXItZHJpYmJibGU6IFxcZjE3ZDtcbiRmYS12YXItZHJpYmJibGUtc3F1YXJlOiBcXGYzOTc7XG4kZmEtdmFyLWRyb25lOiBcXGY4NWY7XG4kZmEtdmFyLWRyb25lLWFsdDogXFxmODYwO1xuJGZhLXZhci1kcm9wYm94OiBcXGYxNmI7XG4kZmEtdmFyLWRydW06IFxcZjU2OTtcbiRmYS12YXItZHJ1bS1zdGVlbHBhbjogXFxmNTZhO1xuJGZhLXZhci1kcnVtc3RpY2s6IFxcZjZkNjtcbiRmYS12YXItZHJ1bXN0aWNrLWJpdGU6IFxcZjZkNztcbiRmYS12YXItZHJ1cGFsOiBcXGYxYTk7XG4kZmEtdmFyLWRyeWVyOiBcXGY4NjE7XG4kZmEtdmFyLWRyeWVyLWFsdDogXFxmODYyO1xuJGZhLXZhci1kdWNrOiBcXGY2ZDg7XG4kZmEtdmFyLWR1bWJiZWxsOiBcXGY0NGI7XG4kZmEtdmFyLWR1bXBzdGVyOiBcXGY3OTM7XG4kZmEtdmFyLWR1bXBzdGVyLWZpcmU6IFxcZjc5NDtcbiRmYS12YXItZHVuZ2VvbjogXFxmNmQ5O1xuJGZhLXZhci1keWFsb2c6IFxcZjM5OTtcbiRmYS12YXItZWFyOiBcXGY1ZjA7XG4kZmEtdmFyLWVhci1tdWZmczogXFxmNzk1O1xuJGZhLXZhci1lYXJseWJpcmRzOiBcXGYzOWE7XG4kZmEtdmFyLWViYXk6IFxcZjRmNDtcbiRmYS12YXItZWNsaXBzZTogXFxmNzQ5O1xuJGZhLXZhci1lY2xpcHNlLWFsdDogXFxmNzRhO1xuJGZhLXZhci1lZGdlOiBcXGYyODI7XG4kZmEtdmFyLWVkZ2UtbGVnYWN5OiBcXGUwNzg7XG4kZmEtdmFyLWVkaXQ6IFxcZjA0NDtcbiRmYS12YXItZWdnOiBcXGY3ZmI7XG4kZmEtdmFyLWVnZy1mcmllZDogXFxmN2ZjO1xuJGZhLXZhci1lamVjdDogXFxmMDUyO1xuJGZhLXZhci1lbGVtZW50b3I6IFxcZjQzMDtcbiRmYS12YXItZWxlcGhhbnQ6IFxcZjZkYTtcbiRmYS12YXItZWxsaXBzaXMtaDogXFxmMTQxO1xuJGZhLXZhci1lbGxpcHNpcy1oLWFsdDogXFxmMzliO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcXGYxNDI7XG4kZmEtdmFyLWVsbGlwc2lzLXYtYWx0OiBcXGYzOWM7XG4kZmEtdmFyLWVsbG86IFxcZjVmMTtcbiRmYS12YXItZW1iZXI6IFxcZjQyMztcbiRmYS12YXItZW1waXJlOiBcXGYxZDE7XG4kZmEtdmFyLWVtcHR5LXNldDogXFxmNjU2O1xuJGZhLXZhci1lbmdpbmUtd2FybmluZzogXFxmNWYyO1xuJGZhLXZhci1lbnZlbG9wZTogXFxmMGUwO1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuOiBcXGYyYjY7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tZG9sbGFyOiBcXGY2NTc7XG4kZmEtdmFyLWVudmVsb3BlLW9wZW4tdGV4dDogXFxmNjU4O1xuJGZhLXZhci1lbnZlbG9wZS1zcXVhcmU6IFxcZjE5OTtcbiRmYS12YXItZW52aXJhOiBcXGYyOTk7XG4kZmEtdmFyLWVxdWFsczogXFxmNTJjO1xuJGZhLXZhci1lcmFzZXI6IFxcZjEyZDtcbiRmYS12YXItZXJsYW5nOiBcXGYzOWQ7XG4kZmEtdmFyLWV0aGVyZXVtOiBcXGY0MmU7XG4kZmEtdmFyLWV0aGVybmV0OiBcXGY3OTY7XG4kZmEtdmFyLWV0c3k6IFxcZjJkNztcbiRmYS12YXItZXVyby1zaWduOiBcXGYxNTM7XG4kZmEtdmFyLWV2ZXJub3RlOiBcXGY4Mzk7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcXGYwZWM7XG4kZmEtdmFyLWV4Y2hhbmdlLWFsdDogXFxmMzYyO1xuJGZhLXZhci1leGNsYW1hdGlvbjogXFxmMTJhO1xuJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGU6IFxcZjA2YTtcbiRmYS12YXItZXhjbGFtYXRpb24tc3F1YXJlOiBcXGYzMjE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLWV4cGFuZDogXFxmMDY1O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLWV4cGFuZC1hcnJvd3M6IFxcZjMxZDtcbiRmYS12YXItZXhwYW5kLWFycm93cy1hbHQ6IFxcZjMxZTtcbiRmYS12YXItZXhwYW5kLXdpZGU6IFxcZjMyMDtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcXGYyM2U7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFxcZjA4ZTtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQ6IFxcZjM1ZDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFxcZjE0YztcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWV5ZTogXFxmMDZlO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtZXZpbDogXFxmNmRiO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmFjZWJvb2s6IFxcZjA5YTtcbiRmYS12YXItZmFjZWJvb2stZjogXFxmMzllO1xuJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXI6IFxcZjM5ZjtcbiRmYS12YXItZmFjZWJvb2stc3F1YXJlOiBcXGYwODI7XG4kZmEtdmFyLWZhbjogXFxmODYzO1xuJGZhLXZhci1mYW4tdGFibGU6IFxcZTAwNDtcbiRmYS12YXItZmFudGFzeS1mbGlnaHQtZ2FtZXM6IFxcZjZkYztcbiRmYS12YXItZmFybTogXFxmODY0O1xuJGZhLXZhci1mYXN0LWJhY2t3YXJkOiBcXGYwNDk7XG4kZmEtdmFyLWZhc3QtZm9yd2FyZDogXFxmMDUwO1xuJGZhLXZhci1mYXVjZXQ6IFxcZTAwNTtcbiRmYS12YXItZmF1Y2V0LWRyaXA6IFxcZTAwNjtcbiRmYS12YXItZmF4OiBcXGYxYWM7XG4kZmEtdmFyLWZlYXRoZXI6IFxcZjUyZDtcbiRmYS12YXItZmVhdGhlci1hbHQ6IFxcZjU2YjtcbiRmYS12YXItZmVkZXg6IFxcZjc5NztcbiRmYS12YXItZmVkb3JhOiBcXGY3OTg7XG4kZmEtdmFyLWZlbWFsZTogXFxmMTgyO1xuJGZhLXZhci1maWVsZC1ob2NrZXk6IFxcZjQ0YztcbiRmYS12YXItZmlnaHRlci1qZXQ6IFxcZjBmYjtcbiRmYS12YXItZmlnbWE6IFxcZjc5OTtcbiRmYS12YXItZmlsZTogXFxmMTViO1xuJGZhLXZhci1maWxlLWFsdDogXFxmMTVjO1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1maWxlLWNlcnRpZmljYXRlOiBcXGY1ZjM7XG4kZmEtdmFyLWZpbGUtY2hhcnQtbGluZTogXFxmNjU5O1xuJGZhLXZhci1maWxlLWNoYXJ0LXBpZTogXFxmNjVhO1xuJGZhLXZhci1maWxlLWNoZWNrOiBcXGYzMTY7XG4kZmEtdmFyLWZpbGUtY29kZTogXFxmMWM5O1xuJGZhLXZhci1maWxlLWNvbnRyYWN0OiBcXGY1NmM7XG4kZmEtdmFyLWZpbGUtY3N2OiBcXGY2ZGQ7XG4kZmEtdmFyLWZpbGUtZG93bmxvYWQ6IFxcZjU2ZDtcbiRmYS12YXItZmlsZS1lZGl0OiBcXGYzMWM7XG4kZmEtdmFyLWZpbGUtZXhjZWw6IFxcZjFjMztcbiRmYS12YXItZmlsZS1leGNsYW1hdGlvbjogXFxmMzFhO1xuJGZhLXZhci1maWxlLWV4cG9ydDogXFxmNTZlO1xuJGZhLXZhci1maWxlLWltYWdlOiBcXGYxYzU7XG4kZmEtdmFyLWZpbGUtaW1wb3J0OiBcXGY1NmY7XG4kZmEtdmFyLWZpbGUtaW52b2ljZTogXFxmNTcwO1xuJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyOiBcXGY1NzE7XG4kZmEtdmFyLWZpbGUtbWVkaWNhbDogXFxmNDc3O1xuJGZhLXZhci1maWxlLW1lZGljYWwtYWx0OiBcXGY0Nzg7XG4kZmEtdmFyLWZpbGUtbWludXM6IFxcZjMxODtcbiRmYS12YXItZmlsZS1tdXNpYzogXFxmOGI2O1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1maWxlLXBsdXM6IFxcZjMxOTtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWZpbGUtcHJlc2NyaXB0aW9uOiBcXGY1NzI7XG4kZmEtdmFyLWZpbGUtc2VhcmNoOiBcXGY4NjU7XG4kZmEtdmFyLWZpbGUtc2lnbmF0dXJlOiBcXGY1NzM7XG4kZmEtdmFyLWZpbGUtc3ByZWFkc2hlZXQ6IFxcZjY1YjtcbiRmYS12YXItZmlsZS10aW1lczogXFxmMzE3O1xuJGZhLXZhci1maWxlLXVwbG9hZDogXFxmNTc0O1xuJGZhLXZhci1maWxlLXVzZXI6IFxcZjY1YztcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsZXMtbWVkaWNhbDogXFxmN2ZkO1xuJGZhLXZhci1maWxsOiBcXGY1NzU7XG4kZmEtdmFyLWZpbGwtZHJpcDogXFxmNTc2O1xuJGZhLXZhci1maWxtOiBcXGYwMDg7XG4kZmEtdmFyLWZpbG0tYWx0OiBcXGYzYTA7XG4kZmEtdmFyLWZpbG0tY2FuaXN0ZXI6IFxcZjhiNztcbiRmYS12YXItZmlsdGVyOiBcXGYwYjA7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1leHRpbmd1aXNoZXI6IFxcZjEzNDtcbiRmYS12YXItZmlyZS1zbW9rZTogXFxmNzRiO1xuJGZhLXZhci1maXJlZm94OiBcXGYyNjk7XG4kZmEtdmFyLWZpcmVmb3gtYnJvd3NlcjogXFxlMDA3O1xuJGZhLXZhci1maXJlcGxhY2U6IFxcZjc5YTtcbiRmYS12YXItZmlyc3QtYWlkOiBcXGY0Nzk7XG4kZmEtdmFyLWZpcnN0LW9yZGVyOiBcXGYyYjA7XG4kZmEtdmFyLWZpcnN0LW9yZGVyLWFsdDogXFxmNTBhO1xuJGZhLXZhci1maXJzdGRyYWZ0OiBcXGYzYTE7XG4kZmEtdmFyLWZpc2g6IFxcZjU3ODtcbiRmYS12YXItZmlzaC1jb29rZWQ6IFxcZjdmZTtcbiRmYS12YXItZmlzdC1yYWlzZWQ6IFxcZjZkZTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1mbGFnLWFsdDogXFxmNzRjO1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1mbGFtZTogXFxmNmRmO1xuJGZhLXZhci1mbGFzaGxpZ2h0OiBcXGY4Yjg7XG4kZmEtdmFyLWZsYXNrOiBcXGYwYzM7XG4kZmEtdmFyLWZsYXNrLXBvaXNvbjogXFxmNmUwO1xuJGZhLXZhci1mbGFzay1wb3Rpb246IFxcZjZlMTtcbiRmYS12YXItZmxpY2tyOiBcXGYxNmU7XG4kZmEtdmFyLWZsaXBib2FyZDogXFxmNDRkO1xuJGZhLXZhci1mbG93ZXI6IFxcZjdmZjtcbiRmYS12YXItZmxvd2VyLWRhZmZvZGlsOiBcXGY4MDA7XG4kZmEtdmFyLWZsb3dlci10dWxpcDogXFxmODAxO1xuJGZhLXZhci1mbHVzaGVkOiBcXGY1Nzk7XG4kZmEtdmFyLWZsdXRlOiBcXGY4Yjk7XG4kZmEtdmFyLWZsdXgtY2FwYWNpdG9yOiBcXGY4YmE7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1mb2c6IFxcZjc0ZTtcbiRmYS12YXItZm9sZGVyOiBcXGYwN2I7XG4kZmEtdmFyLWZvbGRlci1kb3dubG9hZDogXFxlMDUzO1xuJGZhLXZhci1mb2xkZXItbWludXM6IFxcZjY1ZDtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItZm9sZGVyLXBsdXM6IFxcZjY1ZTtcbiRmYS12YXItZm9sZGVyLXRpbWVzOiBcXGY2NWY7XG4kZmEtdmFyLWZvbGRlci10cmVlOiBcXGY4MDI7XG4kZmEtdmFyLWZvbGRlci11cGxvYWQ6IFxcZTA1NDtcbiRmYS12YXItZm9sZGVyczogXFxmNjYwO1xuJGZhLXZhci1mb250OiBcXGYwMzE7XG4kZmEtdmFyLWZvbnQtYXdlc29tZTogXFxmMmI0O1xuJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0OiBcXGYzNWM7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1mbGFnOiBcXGY0MjU7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6IFxcZjRlNjtcbiRmYS12YXItZm9udC1jYXNlOiBcXGY4NjY7XG4kZmEtdmFyLWZvbnRpY29uczogXFxmMjgwO1xuJGZhLXZhci1mb250aWNvbnMtZmk6IFxcZjNhMjtcbiRmYS12YXItZm9vdGJhbGwtYmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb290YmFsbC1oZWxtZXQ6IFxcZjQ0ZjtcbiRmYS12YXItZm9ya2xpZnQ6IFxcZjQ3YTtcbiRmYS12YXItZm9ydC1hd2Vzb21lOiBcXGYyODY7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItZm9yd2FyZDogXFxmMDRlO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLWZyYWdpbGU6IFxcZjRiYjtcbiRmYS12YXItZnJlZS1jb2RlLWNhbXA6IFxcZjJjNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci1mcmVuY2gtZnJpZXM6IFxcZjgwMztcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1mcm9zdHktaGVhZDogXFxmNzliO1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bi1vcGVuOiBcXGY1N2E7XG4kZmEtdmFyLWZ1bGNydW06IFxcZjUwYjtcbiRmYS12YXItZnVuY3Rpb246IFxcZjY2MTtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1mdXRib2w6IFxcZjFlMztcbiRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWM6IFxcZjUwYztcbiRmYS12YXItZ2FsYWN0aWMtc2VuYXRlOiBcXGY1MGQ7XG4kZmEtdmFyLWdhbGF4eTogXFxlMDA4O1xuJGZhLXZhci1nYW1lLWJvYXJkOiBcXGY4Njc7XG4kZmEtdmFyLWdhbWUtYm9hcmQtYWx0OiBcXGY4Njg7XG4kZmEtdmFyLWdhbWUtY29uc29sZS1oYW5kaGVsZDogXFxmOGJiO1xuJGZhLXZhci1nYW1lcGFkOiBcXGYxMWI7XG4kZmEtdmFyLWdhbWVwYWQtYWx0OiBcXGY4YmM7XG4kZmEtdmFyLWdhcmFnZTogXFxlMDA5O1xuJGZhLXZhci1nYXJhZ2UtY2FyOiBcXGUwMGE7XG4kZmEtdmFyLWdhcmFnZS1vcGVuOiBcXGUwMGI7XG4kZmEtdmFyLWdhcy1wdW1wOiBcXGY1MmY7XG4kZmEtdmFyLWdhcy1wdW1wLXNsYXNoOiBcXGY1ZjQ7XG4kZmEtdmFyLWdhdmVsOiBcXGYwZTM7XG4kZmEtdmFyLWdlbTogXFxmM2E1O1xuJGZhLXZhci1nZW5kZXJsZXNzOiBcXGYyMmQ7XG4kZmEtdmFyLWdldC1wb2NrZXQ6IFxcZjI2NTtcbiRmYS12YXItZ2c6IFxcZjI2MDtcbiRmYS12YXItZ2ctY2lyY2xlOiBcXGYyNjE7XG4kZmEtdmFyLWdob3N0OiBcXGY2ZTI7XG4kZmEtdmFyLWdpZnQ6IFxcZjA2YjtcbiRmYS12YXItZ2lmdC1jYXJkOiBcXGY2NjM7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWdpbmdlcmJyZWFkLW1hbjogXFxmNzlkO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZ2l0LWFsdDogXFxmODQxO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcXGYxZDI7XG4kZmEtdmFyLWdpdGh1YjogXFxmMDliO1xuJGZhLXZhci1naXRodWItYWx0OiBcXGYxMTM7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFxcZjA5MjtcbiRmYS12YXItZ2l0a3Jha2VuOiBcXGYzYTY7XG4kZmEtdmFyLWdpdGxhYjogXFxmMjk2O1xuJGZhLXZhci1naXR0ZXI6IFxcZjQyNjtcbiRmYS12YXItZ2xhc3M6IFxcZjgwNDtcbiRmYS12YXItZ2xhc3MtY2hhbXBhZ25lOiBcXGY3OWU7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1nbGFzcy1jaXRydXM6IFxcZjg2OTtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWdsYXNzLXdoaXNrZXktcm9ja3M6IFxcZjdhMTtcbiRmYS12YXItZ2xhc3NlczogXFxmNTMwO1xuJGZhLXZhci1nbGFzc2VzLWFsdDogXFxmNWY1O1xuJGZhLXZhci1nbGlkZTogXFxmMmE1O1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLWdsb2JlLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hc2lhOiBcXGY1N2U7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1nbG9iZS1zbm93OiBcXGY3YTM7XG4kZmEtdmFyLWdsb2JlLXN0YW5kOiBcXGY1ZjY7XG4kZmEtdmFyLWdvZm9yZTogXFxmM2E3O1xuJGZhLXZhci1nb2xmLWJhbGw6IFxcZjQ1MDtcbiRmYS12YXItZ29sZi1jbHViOiBcXGY0NTE7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1nb29kcmVhZHMtZzogXFxmM2E5O1xuJGZhLXZhci1nb29nbGU6IFxcZjFhMDtcbiRmYS12YXItZ29vZ2xlLWRyaXZlOiBcXGYzYWE7XG4kZmEtdmFyLWdvb2dsZS1wYXk6IFxcZTA3OTtcbiRmYS12YXItZ29vZ2xlLXBsYXk6IFxcZjNhYjtcbiRmYS12YXItZ29vZ2xlLXBsdXM6IFxcZjJiMztcbiRmYS12YXItZ29vZ2xlLXBsdXMtZzogXFxmMGQ1O1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFxcZjBkNDtcbiRmYS12YXItZ29vZ2xlLXdhbGxldDogXFxmMWVlO1xuJGZhLXZhci1nb3B1cmFtOiBcXGY2NjQ7XG4kZmEtdmFyLWdyYWR1YXRpb24tY2FwOiBcXGYxOWQ7XG4kZmEtdmFyLWdyYW1vcGhvbmU6IFxcZjhiZDtcbiRmYS12YXItZ3JhdGlwYXk6IFxcZjE4NDtcbiRmYS12YXItZ3JhdjogXFxmMmQ2O1xuJGZhLXZhci1ncmVhdGVyLXRoYW46IFxcZjUzMTtcbiRmYS12YXItZ3JlYXRlci10aGFuLWVxdWFsOiBcXGY1MzI7XG4kZmEtdmFyLWdyaW1hY2U6IFxcZjU3ZjtcbiRmYS12YXItZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1ncmluLWFsdDogXFxmNTgxO1xuJGZhLXZhci1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWdyaW4taGVhcnRzOiBcXGY1ODQ7XG4kZmEtdmFyLWdyaW4tc3F1aW50OiBcXGY1ODU7XG4kZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzOiBcXGY1ODY7XG4kZmEtdmFyLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZ3JpcC1ob3Jpem9udGFsOiBcXGY1OGQ7XG4kZmEtdmFyLWdyaXAtbGluZXM6IFxcZjdhNDtcbiRmYS12YXItZ3JpcC1saW5lcy12ZXJ0aWNhbDogXFxmN2E1O1xuJGZhLXZhci1ncmlwLXZlcnRpY2FsOiBcXGY1OGU7XG4kZmEtdmFyLWdyaXBmaXJlOiBcXGYzYWM7XG4kZmEtdmFyLWdydW50OiBcXGYzYWQ7XG4kZmEtdmFyLWd1aWxkZWQ6IFxcZTA3ZTtcbiRmYS12YXItZ3VpdGFyOiBcXGY3YTY7XG4kZmEtdmFyLWd1aXRhci1lbGVjdHJpYzogXFxmOGJlO1xuJGZhLXZhci1ndWl0YXJzOiBcXGY4YmY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItaC1zcXVhcmU6IFxcZjBmZDtcbiRmYS12YXItaDE6IFxcZjMxMztcbiRmYS12YXItaDI6IFxcZjMxNDtcbiRmYS12YXItaDM6IFxcZjMxNTtcbiRmYS12YXItaDQ6IFxcZjg2YTtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlOiBcXGYzYWY7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLWhhbW1lcjogXFxmNmUzO1xuJGZhLXZhci1oYW1tZXItd2FyOiBcXGY2ZTQ7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWhhbmQtaGVhcnQ6IFxcZjRiYztcbiRmYS12YXItaGFuZC1ob2xkaW5nOiBcXGY0YmQ7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1ib3g6IFxcZjQ3YjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0OiBcXGY0YmU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1tYWdpYzogXFxmNmU1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbDogXFxlMDVjO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctc2VlZGxpbmc6IFxcZjRiZjtcbiRmYS12YXItaGFuZC1ob2xkaW5nLXVzZDogXFxmNGMwO1xuJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXI6IFxcZjRjMTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1oYW5kLXBvaW50LWRvd246IFxcZjBhNztcbiRmYS12YXItaGFuZC1wb2ludC1sZWZ0OiBcXGYwYTU7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItaGFuZC1wb2ludC11cDogXFxmMGE2O1xuJGZhLXZhci1oYW5kLXBvaW50ZXI6IFxcZjI1YTtcbiRmYS12YXItaGFuZC1yZWNlaXZpbmc6IFxcZjQ3YztcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1oYW5kLXNwb2NrOiBcXGYyNTk7XG4kZmEtdmFyLWhhbmRzOiBcXGY0YzI7XG4kZmEtdmFyLWhhbmRzLWhlYXJ0OiBcXGY0YzM7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItaGFuZHMtdXNkOiBcXGY0YzU7XG4kZmEtdmFyLWhhbmRzLXdhc2g6IFxcZTA1ZTtcbiRmYS12YXItaGFuZHNoYWtlOiBcXGYyYjU7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQ6IFxcZjRjNjtcbiRmYS12YXItaGFuZHNoYWtlLWFsdC1zbGFzaDogXFxlMDVmO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItaGFudWtpYWg6IFxcZjZlNjtcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGFzaHRhZzogXFxmMjkyO1xuJGZhLXZhci1oYXQtY2hlZjogXFxmODZiO1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWhhdC1jb3dib3ktc2lkZTogXFxmOGMxO1xuJGZhLXZhci1oYXQtc2FudGE6IFxcZjdhNztcbiRmYS12YXItaGF0LXdpbnRlcjogXFxmN2E4O1xuJGZhLXZhci1oYXQtd2l0Y2g6IFxcZjZlNztcbiRmYS12YXItaGF0LXdpemFyZDogXFxmNmU4O1xuJGZhLXZhci1oZGQ6IFxcZjBhMDtcbiRmYS12YXItaGVhZC1zaWRlOiBcXGY2ZTk7XG4kZmEtdmFyLWhlYWQtc2lkZS1icmFpbjogXFxmODA4O1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2g6IFxcZTA2MTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoLXNsYXNoOiBcXGUwNjI7XG4kZmEtdmFyLWhlYWQtc2lkZS1oZWFkcGhvbmVzOiBcXGY4YzI7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhlYWQtc2lkZS1tZWRpY2FsOiBcXGY4MDk7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci1oZWFkLXZyOiBcXGY2ZWE7XG4kZmEtdmFyLWhlYWRpbmc6IFxcZjFkYztcbiRmYS12YXItaGVhZHBob25lczogXFxmMDI1O1xuJGZhLXZhci1oZWFkcGhvbmVzLWFsdDogXFxmNThmO1xuJGZhLXZhci1oZWFkc2V0OiBcXGY1OTA7XG4kZmEtdmFyLWhlYXJ0OiBcXGYwMDQ7XG4kZmEtdmFyLWhlYXJ0LWJyb2tlbjogXFxmN2E5O1xuJGZhLXZhci1oZWFydC1jaXJjbGU6IFxcZjRjNztcbiRmYS12YXItaGVhcnQtcmF0ZTogXFxmNWY4O1xuJGZhLXZhci1oZWFydC1zcXVhcmU6IFxcZjRjODtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLWhlYXQ6IFxcZTAwYztcbiRmYS12YXItaGVsaWNvcHRlcjogXFxmNTMzO1xuJGZhLXZhci1oZWxtZXQtYmF0dGxlOiBcXGY2ZWI7XG4kZmEtdmFyLWhleGFnb246IFxcZjMxMjtcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXItaGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpcHBvOiBcXGY2ZWQ7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItaGlyZS1hLWhlbHBlcjogXFxmM2IwO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWhpdmU6IFxcZTA3ZjtcbiRmYS12YXItaG9ja2V5LW1hc2s6IFxcZjZlZTtcbiRmYS12YXItaG9ja2V5LXB1Y2s6IFxcZjQ1MztcbiRmYS12YXItaG9ja2V5LXN0aWNrczogXFxmNDU0O1xuJGZhLXZhci1ob2xseS1iZXJyeTogXFxmN2FhO1xuJGZhLXZhci1ob21lOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtYWx0OiBcXGY4MGE7XG4kZmEtdmFyLWhvbWUtaGVhcnQ6IFxcZjRjOTtcbiRmYS12YXItaG9tZS1sZzogXFxmODBiO1xuJGZhLXZhci1ob21lLWxnLWFsdDogXFxmODBjO1xuJGZhLXZhci1ob29kLWNsb2FrOiBcXGY2ZWY7XG4kZmEtdmFyLWhvb2xpOiBcXGY0Mjc7XG4kZmEtdmFyLWhvcml6b250YWwtcnVsZTogXFxmODZjO1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1ob3JzZS1oZWFkOiBcXGY3YWI7XG4kZmEtdmFyLWhvcnNlLXNhZGRsZTogXFxmOGMzO1xuJGZhLXZhci1ob3NwaXRhbDogXFxmMGY4O1xuJGZhLXZhci1ob3NwaXRhbC1hbHQ6IFxcZjQ3ZDtcbiRmYS12YXItaG9zcGl0YWwtc3ltYm9sOiBcXGY0N2U7XG4kZmEtdmFyLWhvc3BpdGFsLXVzZXI6IFxcZjgwZDtcbiRmYS12YXItaG9zcGl0YWxzOiBcXGY4MGU7XG4kZmEtdmFyLWhvdC10dWI6IFxcZjU5MztcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ob3VyZ2xhc3M6IFxcZjI1NDtcbiRmYS12YXItaG91cmdsYXNzLWVuZDogXFxmMjUzO1xuJGZhLXZhci1ob3VyZ2xhc3MtaGFsZjogXFxmMjUyO1xuJGZhLXZhci1ob3VyZ2xhc3Mtc3RhcnQ6IFxcZjI1MTtcbiRmYS12YXItaG91c2U6IFxcZTAwZDtcbiRmYS12YXItaG91c2UtZGFtYWdlOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXNlLWRheTogXFxlMDBlO1xuJGZhLXZhci1ob3VzZS1mbG9vZDogXFxmNzRmO1xuJGZhLXZhci1ob3VzZS1sZWF2ZTogXFxlMDBmO1xuJGZhLXZhci1ob3VzZS1uaWdodDogXFxlMDEwO1xuJGZhLXZhci1ob3VzZS1yZXR1cm46IFxcZTAxMTtcbiRmYS12YXItaG91c2Utc2lnbmFsOiBcXGUwMTI7XG4kZmEtdmFyLWhvdXNlLXVzZXI6IFxcZTA2NTtcbiRmYS12YXItaG91eno6IFxcZjI3YztcbiRmYS12YXItaHJ5dm5pYTogXFxmNmYyO1xuJGZhLXZhci1odG1sNTogXFxmMTNiO1xuJGZhLXZhci1odWJzcG90OiBcXGYzYjI7XG4kZmEtdmFyLWh1bWlkaXR5OiBcXGY3NTA7XG4kZmEtdmFyLWh1cnJpY2FuZTogXFxmNzUxO1xuJGZhLXZhci1pLWN1cnNvcjogXFxmMjQ2O1xuJGZhLXZhci1pY2UtY3JlYW06IFxcZjgxMDtcbiRmYS12YXItaWNlLXNrYXRlOiBcXGY3YWM7XG4kZmEtdmFyLWljaWNsZXM6IFxcZjdhZDtcbiRmYS12YXItaWNvbnM6IFxcZjg2ZDtcbiRmYS12YXItaWNvbnMtYWx0OiBcXGY4NmU7XG4kZmEtdmFyLWlkLWJhZGdlOiBcXGYyYzE7XG4kZmEtdmFyLWlkLWNhcmQ6IFxcZjJjMjtcbiRmYS12YXItaWQtY2FyZC1hbHQ6IFxcZjQ3ZjtcbiRmYS12YXItaWRlYWw6IFxcZTAxMztcbiRmYS12YXItaWdsb286IFxcZjdhZTtcbiRmYS12YXItaW1hZ2U6IFxcZjAzZTtcbiRmYS12YXItaW1hZ2UtcG9sYXJvaWQ6IFxcZjhjNDtcbiRmYS12YXItaW1hZ2VzOiBcXGYzMDI7XG4kZmEtdmFyLWltZGI6IFxcZjJkODtcbiRmYS12YXItaW5ib3g6IFxcZjAxYztcbiRmYS12YXItaW5ib3gtaW46IFxcZjMxMDtcbiRmYS12YXItaW5ib3gtb3V0OiBcXGYzMTE7XG4kZmEtdmFyLWluZGVudDogXFxmMDNjO1xuJGZhLXZhci1pbmR1c3RyeTogXFxmMjc1O1xuJGZhLXZhci1pbmR1c3RyeS1hbHQ6IFxcZjNiMztcbiRmYS12YXItaW5maW5pdHk6IFxcZjUzNDtcbiRmYS12YXItaW5mbzogXFxmMTI5O1xuJGZhLXZhci1pbmZvLWNpcmNsZTogXFxmMDVhO1xuJGZhLXZhci1pbmZvLXNxdWFyZTogXFxmMzBmO1xuJGZhLXZhci1pbmhhbGVyOiBcXGY1Zjk7XG4kZmEtdmFyLWlubm9zb2Z0OiBcXGUwODA7XG4kZmEtdmFyLWluc3RhZ3JhbTogXFxmMTZkO1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWluc3RhbG9kOiBcXGUwODE7XG4kZmEtdmFyLWludGVncmFsOiBcXGY2Njc7XG4kZmEtdmFyLWludGVyY29tOiBcXGY3YWY7XG4kZmEtdmFyLWludGVybmV0LWV4cGxvcmVyOiBcXGYyNmI7XG4kZmEtdmFyLWludGVyc2VjdGlvbjogXFxmNjY4O1xuJGZhLXZhci1pbnZlbnRvcnk6IFxcZjQ4MDtcbiRmYS12YXItaW52aXNpb246IFxcZjdiMDtcbiRmYS12YXItaW94aG9zdDogXFxmMjA4O1xuJGZhLXZhci1pc2xhbmQtdHJvcGljYWw6IFxcZjgxMTtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWl0Y2gtaW86IFxcZjgzYTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWl0dW5lcy1ub3RlOiBcXGYzYjU7XG4kZmEtdmFyLWphY2stby1sYW50ZXJuOiBcXGYzMGU7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItamVkaTogXFxmNjY5O1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLWplbmtpbnM6IFxcZjNiNjtcbiRmYS12YXItamlyYTogXFxmN2IxO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1qb29tbGE6IFxcZjFhYTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItam95c3RpY2s6IFxcZjhjNTtcbiRmYS12YXItanM6IFxcZjNiODtcbiRmYS12YXItanMtc3F1YXJlOiBcXGYzYjk7XG4kZmEtdmFyLWpzZmlkZGxlOiBcXGYxY2M7XG4kZmEtdmFyLWp1ZzogXFxmOGM2O1xuJGZhLXZhci1rYWFiYTogXFxmNjZiO1xuJGZhLXZhci1rYWdnbGU6IFxcZjVmYTtcbiRmYS12YXIta2F6b286IFxcZjhjNztcbiRmYS12YXIta2VybmluZzogXFxmODZmO1xuJGZhLXZhci1rZXk6IFxcZjA4NDtcbiRmYS12YXIta2V5LXNrZWxldG9uOiBcXGY2ZjM7XG4kZmEtdmFyLWtleWJhc2U6IFxcZjRmNTtcbiRmYS12YXIta2V5Ym9hcmQ6IFxcZjExYztcbiRmYS12YXIta2V5Y2RuOiBcXGYzYmE7XG4kZmEtdmFyLWtleW5vdGU6IFxcZjY2YztcbiRmYS12YXIta2hhbmRhOiBcXGY2NmQ7XG4kZmEtdmFyLWtpY2tzdGFydGVyOiBcXGYzYmI7XG4kZmEtdmFyLWtpY2tzdGFydGVyLWs6IFxcZjNiYztcbiRmYS12YXIta2lkbmV5czogXFxmNWZiO1xuJGZhLXZhci1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXIta2l0ZTogXFxmNmY0O1xuJGZhLXZhci1raXdpLWJpcmQ6IFxcZjUzNTtcbiRmYS12YXIta25pZmUta2l0Y2hlbjogXFxmNmY1O1xuJGZhLXZhci1rb3J2dWU6IFxcZjQyZjtcbiRmYS12YXItbGFtYmRhOiBcXGY2NmU7XG4kZmEtdmFyLWxhbXA6IFxcZjRjYTtcbiRmYS12YXItbGFtcC1kZXNrOiBcXGUwMTQ7XG4kZmEtdmFyLWxhbXAtZmxvb3I6IFxcZTAxNTtcbiRmYS12YXItbGFuZG1hcms6IFxcZjY2ZjtcbiRmYS12YXItbGFuZG1hcmstYWx0OiBcXGY3NTI7XG4kZmEtdmFyLWxhbmd1YWdlOiBcXGYxYWI7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1sYXB0b3AtaG91c2U6IFxcZTA2NjtcbiRmYS12YXItbGFwdG9wLW1lZGljYWw6IFxcZjgxMjtcbiRmYS12YXItbGFyYXZlbDogXFxmM2JkO1xuJGZhLXZhci1sYXNzbzogXFxmOGM4O1xuJGZhLXZhci1sYXN0Zm06IFxcZjIwMjtcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXFxmMjAzO1xuJGZhLXZhci1sYXVnaDogXFxmNTk5O1xuJGZhLXZhci1sYXVnaC1iZWFtOiBcXGY1OWE7XG4kZmEtdmFyLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWxheWVyLWdyb3VwOiBcXGY1ZmQ7XG4kZmEtdmFyLWxheWVyLW1pbnVzOiBcXGY1ZmU7XG4kZmEtdmFyLWxheWVyLXBsdXM6IFxcZjVmZjtcbiRmYS12YXItbGVhZjogXFxmMDZjO1xuJGZhLXZhci1sZWFmLWhlYXJ0OiBcXGY0Y2I7XG4kZmEtdmFyLWxlYWYtbWFwbGU6IFxcZjZmNjtcbiRmYS12YXItbGVhZi1vYWs6IFxcZjZmNztcbiRmYS12YXItbGVhbnB1YjogXFxmMjEyO1xuJGZhLXZhci1sZW1vbjogXFxmMDk0O1xuJGZhLXZhci1sZXNzOiBcXGY0MWQ7XG4kZmEtdmFyLWxlc3MtdGhhbjogXFxmNTM2O1xuJGZhLXZhci1sZXNzLXRoYW4tZXF1YWw6IFxcZjUzNztcbiRmYS12YXItbGV2ZWwtZG93bjogXFxmMTQ5O1xuJGZhLXZhci1sZXZlbC1kb3duLWFsdDogXFxmM2JlO1xuJGZhLXZhci1sZXZlbC11cDogXFxmMTQ4O1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWxpZ2h0LWNlaWxpbmc6IFxcZTAxNjtcbiRmYS12YXItbGlnaHQtc3dpdGNoOiBcXGUwMTc7XG4kZmEtdmFyLWxpZ2h0LXN3aXRjaC1vZmY6IFxcZTAxODtcbiRmYS12YXItbGlnaHQtc3dpdGNoLW9uOiBcXGUwMTk7XG4kZmEtdmFyLWxpZ2h0YnVsYjogXFxmMGViO1xuJGZhLXZhci1saWdodGJ1bGItZG9sbGFyOiBcXGY2NzA7XG4kZmEtdmFyLWxpZ2h0YnVsYi1leGNsYW1hdGlvbjogXFxmNjcxO1xuJGZhLXZhci1saWdodGJ1bGItb246IFxcZjY3MjtcbiRmYS12YXItbGlnaHRidWxiLXNsYXNoOiBcXGY2NzM7XG4kZmEtdmFyLWxpZ2h0cy1ob2xpZGF5OiBcXGY3YjI7XG4kZmEtdmFyLWxpbmU6IFxcZjNjMDtcbiRmYS12YXItbGluZS1jb2x1bW5zOiBcXGY4NzA7XG4kZmEtdmFyLWxpbmUtaGVpZ2h0OiBcXGY4NzE7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItbGlua2VkaW46IFxcZjA4YztcbiRmYS12YXItbGlua2VkaW4taW46IFxcZjBlMTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWxpcHM6IFxcZjYwMDtcbiRmYS12YXItbGlyYS1zaWduOiBcXGYxOTU7XG4kZmEtdmFyLWxpc3Q6IFxcZjAzYTtcbiRmYS12YXItbGlzdC1hbHQ6IFxcZjAyMjtcbiRmYS12YXItbGlzdC1tdXNpYzogXFxmOGM5O1xuJGZhLXZhci1saXN0LW9sOiBcXGYwY2I7XG4kZmEtdmFyLWxpc3QtdWw6IFxcZjBjYTtcbiRmYS12YXItbG9jYXRpb246IFxcZjYwMTtcbiRmYS12YXItbG9jYXRpb24tYXJyb3c6IFxcZjEyNDtcbiRmYS12YXItbG9jYXRpb24tY2lyY2xlOiBcXGY2MDI7XG4kZmEtdmFyLWxvY2F0aW9uLXNsYXNoOiBcXGY2MDM7XG4kZmEtdmFyLWxvY2s6IFxcZjAyMztcbiRmYS12YXItbG9jay1hbHQ6IFxcZjMwZDtcbiRmYS12YXItbG9jay1vcGVuOiBcXGYzYzE7XG4kZmEtdmFyLWxvY2stb3Blbi1hbHQ6IFxcZjNjMjtcbiRmYS12YXItbG9uZy1hcnJvdy1hbHQtZG93bjogXFxmMzA5O1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0OiBcXGYzMGE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXJpZ2h0OiBcXGYzMGI7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwOiBcXGYzMGM7XG4kZmEtdmFyLWxvbmctYXJyb3ctZG93bjogXFxmMTc1O1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFxcZjE3NztcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXFxmMTc4O1xuJGZhLXZhci1sb25nLWFycm93LXVwOiBcXGYxNzY7XG4kZmEtdmFyLWxvdmVzZWF0OiBcXGY0Y2M7XG4kZmEtdmFyLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItbHVjaGFkb3I6IFxcZjQ1NTtcbiRmYS12YXItbHVnZ2FnZS1jYXJ0OiBcXGY1OWQ7XG4kZmEtdmFyLWx1bmdzOiBcXGY2MDQ7XG4kZmEtdmFyLWx1bmdzLXZpcnVzOiBcXGUwNjc7XG4kZmEtdmFyLWx5ZnQ6IFxcZjNjMztcbiRmYS12YXItbWFjZTogXFxmNmY4O1xuJGZhLXZhci1tYWdlbnRvOiBcXGYzYzQ7XG4kZmEtdmFyLW1hZ2ljOiBcXGYwZDA7XG4kZmEtdmFyLW1hZ25ldDogXFxmMDc2O1xuJGZhLXZhci1tYWlsLWJ1bGs6IFxcZjY3NDtcbiRmYS12YXItbWFpbGJveDogXFxmODEzO1xuJGZhLXZhci1tYWlsY2hpbXA6IFxcZjU5ZTtcbiRmYS12YXItbWFsZTogXFxmMTgzO1xuJGZhLXZhci1tYW5kYWxvcmlhbjogXFxmNTBmO1xuJGZhLXZhci1tYW5kb2xpbjogXFxmNmY5O1xuJGZhLXZhci1tYXA6IFxcZjI3OTtcbiRmYS12YXItbWFwLW1hcmtlZDogXFxmNTlmO1xuJGZhLXZhci1tYXAtbWFya2VkLWFsdDogXFxmNWEwO1xuJGZhLXZhci1tYXAtbWFya2VyOiBcXGYwNDE7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0OiBcXGYzYzU7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0LXNsYXNoOiBcXGY2MDU7XG4kZmEtdmFyLW1hcC1tYXJrZXItY2hlY2s6IFxcZjYwNjtcbiRmYS12YXItbWFwLW1hcmtlci1lZGl0OiBcXGY2MDc7XG4kZmEtdmFyLW1hcC1tYXJrZXItZXhjbGFtYXRpb246IFxcZjYwODtcbiRmYS12YXItbWFwLW1hcmtlci1taW51czogXFxmNjA5O1xuJGZhLXZhci1tYXAtbWFya2VyLXBsdXM6IFxcZjYwYTtcbiRmYS12YXItbWFwLW1hcmtlci1xdWVzdGlvbjogXFxmNjBiO1xuJGZhLXZhci1tYXAtbWFya2VyLXNsYXNoOiBcXGY2MGM7XG4kZmEtdmFyLW1hcC1tYXJrZXItc21pbGU6IFxcZjYwZDtcbiRmYS12YXItbWFwLW1hcmtlci10aW1lczogXFxmNjBlO1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLW1hcC1zaWduczogXFxmMjc3O1xuJGZhLXZhci1tYXJrZG93bjogXFxmNjBmO1xuJGZhLXZhci1tYXJrZXI6IFxcZjVhMTtcbiRmYS12YXItbWFyczogXFxmMjIyO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1tYXJzLXN0cm9rZTogXFxmMjI5O1xuJGZhLXZhci1tYXJzLXN0cm9rZS1oOiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXY6IFxcZjIyYTtcbiRmYS12YXItbWFzazogXFxmNmZhO1xuJGZhLXZhci1tYXN0b2RvbjogXFxmNGY2O1xuJGZhLXZhci1tYXhjZG46IFxcZjEzNjtcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLW1lYXQ6IFxcZjgxNDtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItbWVkYXBwczogXFxmM2M2O1xuJGZhLXZhci1tZWRpdW06IFxcZjIzYTtcbiRmYS12YXItbWVkaXVtLW06IFxcZjNjNztcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1tZWdhcGhvbmU6IFxcZjY3NTtcbiRmYS12YXItbWVnYXBvcnQ6IFxcZjVhMztcbiRmYS12YXItbWVoOiBcXGYxMWE7XG4kZmEtdmFyLW1laC1ibGFuazogXFxmNWE0O1xuJGZhLXZhci1tZWgtcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1lbW9yeTogXFxmNTM4O1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItbWV0ZW9yOiBcXGY3NTM7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1taWNyb2NoaXA6IFxcZjJkYjtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaDogXFxmNTM5O1xuJGZhLXZhci1taWNyb3Bob25lLXNsYXNoOiBcXGYxMzE7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc3RhbmQ6IFxcZjhjYjtcbiRmYS12YXItbWljcm9zY29wZTogXFxmNjEwO1xuJGZhLXZhci1taWNyb3NvZnQ6IFxcZjNjYTtcbiRmYS12YXItbWljcm93YXZlOiBcXGUwMWI7XG4kZmEtdmFyLW1pbmQtc2hhcmU6IFxcZjY3NztcbiRmYS12YXItbWludXM6IFxcZjA2ODtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcXGYwNTY7XG4kZmEtdmFyLW1pbnVzLWhleGFnb246IFxcZjMwNztcbiRmYS12YXItbWludXMtb2N0YWdvbjogXFxmMzA4O1xuJGZhLXZhci1taW51cy1zcXVhcmU6IFxcZjE0NjtcbiRmYS12YXItbWlzdGxldG9lOiBcXGY3YjQ7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1taXg6IFxcZjNjYjtcbiRmYS12YXItbWl4Y2xvdWQ6IFxcZjI4OTtcbiRmYS12YXItbWl4ZXI6IFxcZTA1NjtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLW1vYmlsZTogXFxmMTBiO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdDogXFxmM2NmO1xuJGZhLXZhci1tb2R4OiBcXGYyODU7XG4kZmEtdmFyLW1vbmVybzogXFxmM2QwO1xuJGZhLXZhci1tb25leS1iaWxsOiBcXGYwZDY7XG4kZmEtdmFyLW1vbmV5LWJpbGwtYWx0OiBcXGYzZDE7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZTogXFxmNTNhO1xuJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0OiBcXGY1M2I7XG4kZmEtdmFyLW1vbmV5LWNoZWNrOiBcXGY1M2M7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWFsdDogXFxmNTNkO1xuJGZhLXZhci1tb25leS1jaGVjay1lZGl0OiBcXGY4NzI7XG4kZmEtdmFyLW1vbmV5LWNoZWNrLWVkaXQtYWx0OiBcXGY4NzM7XG4kZmEtdmFyLW1vbml0b3ItaGVhcnQtcmF0ZTogXFxmNjExO1xuJGZhLXZhci1tb25rZXk6IFxcZjZmYjtcbiRmYS12YXItbW9udW1lbnQ6IFxcZjVhNjtcbiRmYS12YXItbW9vbjogXFxmMTg2O1xuJGZhLXZhci1tb29uLWNsb3VkOiBcXGY3NTQ7XG4kZmEtdmFyLW1vb24tc3RhcnM6IFxcZjc1NTtcbiRmYS12YXItbW9ydGFyLXBlc3RsZTogXFxmNWE3O1xuJGZhLXZhci1tb3NxdWU6IFxcZjY3ODtcbiRmYS12YXItbW90b3JjeWNsZTogXFxmMjFjO1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci1tb3VudGFpbnM6IFxcZjZmZDtcbiRmYS12YXItbW91c2U6IFxcZjhjYztcbiRmYS12YXItbW91c2UtYWx0OiBcXGY4Y2Q7XG4kZmEtdmFyLW1vdXNlLXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbXAzLXBsYXllcjogXFxmOGNlO1xuJGZhLXZhci1tdWc6IFxcZjg3NDtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1tdWctbWFyc2htYWxsb3dzOiBcXGY3Yjc7XG4kZmEtdmFyLW11Zy10ZWE6IFxcZjg3NTtcbiRmYS12YXItbXVzaWM6IFxcZjAwMTtcbiRmYS12YXItbXVzaWMtYWx0OiBcXGY4Y2Y7XG4kZmEtdmFyLW11c2ljLWFsdC1zbGFzaDogXFxmOGQwO1xuJGZhLXZhci1tdXNpYy1zbGFzaDogXFxmOGQxO1xuJGZhLXZhci1uYXBzdGVyOiBcXGYzZDI7XG4kZmEtdmFyLW5hcndoYWw6IFxcZjZmZTtcbiRmYS12YXItbmVvczogXFxmNjEyO1xuJGZhLXZhci1uZXR3b3JrLXdpcmVkOiBcXGY2ZmY7XG4kZmEtdmFyLW5ldXRlcjogXFxmMjJjO1xuJGZhLXZhci1uZXdzcGFwZXI6IFxcZjFlYTtcbiRmYS12YXItbmltYmxyOiBcXGY1YTg7XG4kZmEtdmFyLW5vZGU6IFxcZjQxOTtcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1ub3QtZXF1YWw6IFxcZjUzZTtcbiRmYS12YXItbm90ZXMtbWVkaWNhbDogXFxmNDgxO1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLW51dHJpdGlvbml4OiBcXGYzZDY7XG4kZmEtdmFyLW9iamVjdC1ncm91cDogXFxmMjQ3O1xuJGZhLXZhci1vYmplY3QtdW5ncm91cDogXFxmMjQ4O1xuJGZhLXZhci1vY3RhZ29uOiBcXGYzMDY7XG4kZmEtdmFyLW9jdG9wdXMtZGVwbG95OiBcXGUwODI7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFxcZjI2MztcbiRmYS12YXItb2Rub2tsYXNzbmlraS1zcXVhcmU6IFxcZjI2NDtcbiRmYS12YXItb2lsLWNhbjogXFxmNjEzO1xuJGZhLXZhci1vaWwtdGVtcDogXFxmNjE0O1xuJGZhLXZhci1vbGQtcmVwdWJsaWM6IFxcZjUxMDtcbiRmYS12YXItb206IFxcZjY3OTtcbiRmYS12YXItb21lZ2E6IFxcZjY3YTtcbiRmYS12YXItb3BlbmNhcnQ6IFxcZjIzZDtcbiRmYS12YXItb3BlbmlkOiBcXGYxOWI7XG4kZmEtdmFyLW9wZXJhOiBcXGYyNmE7XG4kZmEtdmFyLW9wdGluLW1vbnN0ZXI6IFxcZjIzYztcbiRmYS12YXItb3JjaWQ6IFxcZjhkMjtcbiRmYS12YXItb3JuYW1lbnQ6IFxcZjdiODtcbiRmYS12YXItb3NpOiBcXGY0MWE7XG4kZmEtdmFyLW90dGVyOiBcXGY3MDA7XG4kZmEtdmFyLW91dGRlbnQ6IFxcZjAzYjtcbiRmYS12YXItb3V0bGV0OiBcXGUwMWM7XG4kZmEtdmFyLW92ZW46IFxcZTAxZDtcbiRmYS12YXItb3ZlcmxpbmU6IFxcZjg3NjtcbiRmYS12YXItcGFnZS1icmVhazogXFxmODc3O1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItcGFpbnQtYnJ1c2g6IFxcZjFmYztcbiRmYS12YXItcGFpbnQtYnJ1c2gtYWx0OiBcXGY1YTk7XG4kZmEtdmFyLXBhaW50LXJvbGxlcjogXFxmNWFhO1xuJGZhLXZhci1wYWxldHRlOiBcXGY1M2Y7XG4kZmEtdmFyLXBhbGZlZDogXFxmM2Q4O1xuJGZhLXZhci1wYWxsZXQ6IFxcZjQ4MjtcbiRmYS12YXItcGFsbGV0LWFsdDogXFxmNDgzO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1wYXJhZ3JhcGg6IFxcZjFkZDtcbiRmYS12YXItcGFyYWdyYXBoLXJ0bDogXFxmODc4O1xuJGZhLXZhci1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhcmtpbmctY2lyY2xlOiBcXGY2MTU7XG4kZmEtdmFyLXBhcmtpbmctY2lyY2xlLXNsYXNoOiBcXGY2MTY7XG4kZmEtdmFyLXBhcmtpbmctc2xhc2g6IFxcZjYxNztcbiRmYS12YXItcGFzc3BvcnQ6IFxcZjVhYjtcbiRmYS12YXItcGFzdGFmYXJpYW5pc206IFxcZjY3YjtcbiRmYS12YXItcGFzdGU6IFxcZjBlYTtcbiRmYS12YXItcGF0cmVvbjogXFxmM2Q5O1xuJGZhLXZhci1wYXVzZTogXFxmMDRjO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFxcZjI4YjtcbiRmYS12YXItcGF3OiBcXGYxYjA7XG4kZmEtdmFyLXBhdy1hbHQ6IFxcZjcwMTtcbiRmYS12YXItcGF3LWNsYXdzOiBcXGY3MDI7XG4kZmEtdmFyLXBheXBhbDogXFxmMWVkO1xuJGZhLXZhci1wZWFjZTogXFxmNjdjO1xuJGZhLXZhci1wZWdhc3VzOiBcXGY3MDM7XG4kZmEtdmFyLXBlbjogXFxmMzA0O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXBlbi1zcXVhcmU6IFxcZjE0YjtcbiRmYS12YXItcGVuY2lsOiBcXGYwNDA7XG4kZmEtdmFyLXBlbmNpbC1hbHQ6IFxcZjMwMztcbiRmYS12YXItcGVuY2lsLXBhaW50YnJ1c2g6IFxcZjYxODtcbiRmYS12YXItcGVuY2lsLXJ1bGVyOiBcXGY1YWU7XG4kZmEtdmFyLXBlbm5hbnQ6IFxcZjQ1NjtcbiRmYS12YXItcGVubnktYXJjYWRlOiBcXGY3MDQ7XG4kZmEtdmFyLXBlb3BsZS1hcnJvd3M6IFxcZTA2ODtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXBlcHBlci1ob3Q6IFxcZjgxNjtcbiRmYS12YXItcGVyYnl0ZTogXFxlMDgzO1xuJGZhLXZhci1wZXJjZW50OiBcXGYyOTU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcZjU0MTtcbiRmYS12YXItcGVyaXNjb3BlOiBcXGYzZGE7XG4kZmEtdmFyLXBlcnNvbi1ib290aDogXFxmNzU2O1xuJGZhLXZhci1wZXJzb24tY2Fycnk6IFxcZjRjZjtcbiRmYS12YXItcGVyc29uLWRvbGx5OiBcXGY0ZDA7XG4kZmEtdmFyLXBlcnNvbi1kb2xseS1lbXB0eTogXFxmNGQxO1xuJGZhLXZhci1wZXJzb24tc2lnbjogXFxmNzU3O1xuJGZhLXZhci1waGFicmljYXRvcjogXFxmM2RiO1xuJGZhLXZhci1waG9lbml4LWZyYW1ld29yazogXFxmM2RjO1xuJGZhLXZhci1waG9lbml4LXNxdWFkcm9uOiBcXGY1MTE7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci1waG9uZS1sYXB0b3A6IFxcZjg3YTtcbiRmYS12YXItcGhvbmUtb2ZmaWNlOiBcXGY2N2Q7XG4kZmEtdmFyLXBob25lLXBsdXM6IFxcZjRkMjtcbiRmYS12YXItcGhvbmUtcm90YXJ5OiBcXGY4ZDM7XG4kZmEtdmFyLXBob25lLXNsYXNoOiBcXGYzZGQ7XG4kZmEtdmFyLXBob25lLXNxdWFyZTogXFxmMDk4O1xuJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0OiBcXGY4N2I7XG4kZmEtdmFyLXBob25lLXZvbHVtZTogXFxmMmEwO1xuJGZhLXZhci1waG90by12aWRlbzogXFxmODdjO1xuJGZhLXZhci1waHA6IFxcZjQ1NztcbiRmYS12YXItcGk6IFxcZjY3ZTtcbiRmYS12YXItcGlhbm86IFxcZjhkNDtcbiRmYS12YXItcGlhbm8ta2V5Ym9hcmQ6IFxcZjhkNTtcbiRmYS12YXItcGllOiBcXGY3MDU7XG4kZmEtdmFyLXBpZWQtcGlwZXI6IFxcZjJhZTtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXItcGllZC1waXBlci1wcDogXFxmMWE3O1xuJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZTogXFxlMDFlO1xuJGZhLXZhci1waWc6IFxcZjcwNjtcbiRmYS12YXItcGlnZ3ktYmFuazogXFxmNGQzO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1waW50ZXJlc3Q6IFxcZjBkMjtcbiRmYS12YXItcGludGVyZXN0LXA6IFxcZjIzMTtcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci1waXp6YTogXFxmODE3O1xuJGZhLXZhci1waXp6YS1zbGljZTogXFxmODE4O1xuJGZhLXZhci1wbGFjZS1vZi13b3JzaGlwOiBcXGY2N2Y7XG4kZmEtdmFyLXBsYW5lOiBcXGYwNzI7XG4kZmEtdmFyLXBsYW5lLWFsdDogXFxmM2RlO1xuJGZhLXZhci1wbGFuZS1hcnJpdmFsOiBcXGY1YWY7XG4kZmEtdmFyLXBsYW5lLWRlcGFydHVyZTogXFxmNWIwO1xuJGZhLXZhci1wbGFuZS1zbGFzaDogXFxlMDY5O1xuJGZhLXZhci1wbGFuZXQtbW9vbjogXFxlMDFmO1xuJGZhLXZhci1wbGFuZXQtcmluZ2VkOiBcXGUwMjA7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItcGxheS1jaXJjbGU6IFxcZjE0NDtcbiRmYS12YXItcGxheXN0YXRpb246IFxcZjNkZjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1wbHVzOiBcXGYwNjc7XG4kZmEtdmFyLXBsdXMtY2lyY2xlOiBcXGYwNTU7XG4kZmEtdmFyLXBsdXMtaGV4YWdvbjogXFxmMzAwO1xuJGZhLXZhci1wbHVzLW9jdGFnb246IFxcZjMwMTtcbiRmYS12YXItcGx1cy1zcXVhcmU6IFxcZjBmZTtcbiRmYS12YXItcG9kY2FzdDogXFxmMmNlO1xuJGZhLXZhci1wb2RpdW06IFxcZjY4MDtcbiRmYS12YXItcG9kaXVtLXN0YXI6IFxcZjc1ODtcbiRmYS12YXItcG9saWNlLWJveDogXFxlMDIxO1xuJGZhLXZhci1wb2xsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGwtaDogXFxmNjgyO1xuJGZhLXZhci1wb2xsLXBlb3BsZTogXFxmNzU5O1xuJGZhLXZhci1wb286IFxcZjJmZTtcbiRmYS12YXItcG9vLXN0b3JtOiBcXGY3NWE7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItcG9wY29ybjogXFxmODE5O1xuJGZhLXZhci1wb3J0YWwtZW50ZXI6IFxcZTAyMjtcbiRmYS12YXItcG9ydGFsLWV4aXQ6IFxcZTAyMztcbiRmYS12YXItcG9ydHJhaXQ6IFxcZjNlMDtcbiRmYS12YXItcG91bmQtc2lnbjogXFxmMTU0O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLXByZXNjcmlwdGlvbjogXFxmNWIxO1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlOiBcXGY0ODU7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0OiBcXGY0ODY7XG4kZmEtdmFyLXByZXNlbnRhdGlvbjogXFxmNjg1O1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci1wcmludC1zZWFyY2g6IFxcZjgxYTtcbiRmYS12YXItcHJpbnQtc2xhc2g6IFxcZjY4NjtcbiRmYS12YXItcHJvY2VkdXJlczogXFxmNDg3O1xuJGZhLXZhci1wcm9kdWN0LWh1bnQ6IFxcZjI4ODtcbiRmYS12YXItcHJvamVjdC1kaWFncmFtOiBcXGY1NDI7XG4kZmEtdmFyLXByb2plY3RvcjogXFxmOGQ2O1xuJGZhLXZhci1wdW1wLW1lZGljYWw6IFxcZTA2YTtcbiRmYS12YXItcHVtcC1zb2FwOiBcXGUwNmI7XG4kZmEtdmFyLXB1bXBraW46IFxcZjcwNztcbiRmYS12YXItcHVzaGVkOiBcXGYzZTE7XG4kZmEtdmFyLXB1enpsZS1waWVjZTogXFxmMTJlO1xuJGZhLXZhci1weXRob246IFxcZjNlMjtcbiRmYS12YXItcXE6IFxcZjFkNjtcbiRmYS12YXItcXJjb2RlOiBcXGYwMjk7XG4kZmEtdmFyLXF1ZXN0aW9uOiBcXGYxMjg7XG4kZmEtdmFyLXF1ZXN0aW9uLWNpcmNsZTogXFxmMDU5O1xuJGZhLXZhci1xdWVzdGlvbi1zcXVhcmU6IFxcZjJmZDtcbiRmYS12YXItcXVpZGRpdGNoOiBcXGY0NTg7XG4kZmEtdmFyLXF1aW5zY2FwZTogXFxmNDU5O1xuJGZhLXZhci1xdW9yYTogXFxmMmM0O1xuJGZhLXZhci1xdW90ZS1sZWZ0OiBcXGYxMGQ7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1cmFuOiBcXGY2ODc7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1yYWJiaXQ6IFxcZjcwODtcbiRmYS12YXItcmFiYml0LWZhc3Q6IFxcZjcwOTtcbiRmYS12YXItcmFjcXVldDogXFxmNDVhO1xuJGZhLXZhci1yYWRhcjogXFxlMDI0O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItcmFkaWF0aW9uLWFsdDogXFxmN2JhO1xuJGZhLXZhci1yYWRpbzogXFxmOGQ3O1xuJGZhLXZhci1yYWRpby1hbHQ6IFxcZjhkODtcbiRmYS12YXItcmFpbmJvdzogXFxmNzViO1xuJGZhLXZhci1yYWluZHJvcHM6IFxcZjc1YztcbiRmYS12YXItcmFtOiBcXGY3MGE7XG4kZmEtdmFyLXJhbXAtbG9hZGluZzogXFxmNGQ0O1xuJGZhLXZhci1yYW5kb206IFxcZjA3NDtcbiRmYS12YXItcmFzcGJlcnJ5LXBpOiBcXGY3YmI7XG4kZmEtdmFyLXJhdmVscnk6IFxcZjJkOTtcbiRmYS12YXItcmF5Z3VuOiBcXGUwMjU7XG4kZmEtdmFyLXJlYWN0OiBcXGY0MWI7XG4kZmEtdmFyLXJlYWN0ZXVyb3BlOiBcXGY3NWQ7XG4kZmEtdmFyLXJlYWRtZTogXFxmNGQ1O1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXJlY29yZC12aW55bDogXFxmOGQ5O1xuJGZhLXZhci1yZWN0YW5nbGUtbGFuZHNjYXBlOiBcXGYyZmE7XG4kZmEtdmFyLXJlY3RhbmdsZS1wb3J0cmFpdDogXFxmMmZiO1xuJGZhLXZhci1yZWN0YW5nbGUtd2lkZTogXFxmMmZjO1xuJGZhLXZhci1yZWN5Y2xlOiBcXGYxYjg7XG4kZmEtdmFyLXJlZC1yaXZlcjogXFxmM2UzO1xuJGZhLXZhci1yZWRkaXQ6IFxcZjFhMTtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcXGYyODE7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFxcZjFhMjtcbiRmYS12YXItcmVkaGF0OiBcXGY3YmM7XG4kZmEtdmFyLXJlZG86IFxcZjAxZTtcbiRmYS12YXItcmVkby1hbHQ6IFxcZjJmOTtcbiRmYS12YXItcmVmcmlnZXJhdG9yOiBcXGUwMjY7XG4kZmEtdmFyLXJlZ2lzdGVyZWQ6IFxcZjI1ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1yZW5yZW46IFxcZjE4YjtcbiRmYS12YXItcmVwZWF0OiBcXGYzNjM7XG4kZmEtdmFyLXJlcGVhdC0xOiBcXGYzNjU7XG4kZmEtdmFyLXJlcGVhdC0xLWFsdDogXFxmMzY2O1xuJGZhLXZhci1yZXBlYXQtYWx0OiBcXGYzNjQ7XG4kZmEtdmFyLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLXJlcGx5LWFsbDogXFxmMTIyO1xuJGZhLXZhci1yZXBseWQ6IFxcZjNlNjtcbiRmYS12YXItcmVwdWJsaWNhbjogXFxmNzVlO1xuJGZhLXZhci1yZXNlYXJjaGdhdGU6IFxcZjRmODtcbiRmYS12YXItcmVzb2x2aW5nOiBcXGYzZTc7XG4kZmEtdmFyLXJlc3Ryb29tOiBcXGY3YmQ7XG4kZmEtdmFyLXJldHdlZXQ6IFxcZjA3OTtcbiRmYS12YXItcmV0d2VldC1hbHQ6IFxcZjM2MTtcbiRmYS12YXItcmV2OiBcXGY1YjI7XG4kZmEtdmFyLXJpYmJvbjogXFxmNGQ2O1xuJGZhLXZhci1yaW5nOiBcXGY3MGI7XG4kZmEtdmFyLXJpbmdzLXdlZGRpbmc6IFxcZjgxYjtcbiRmYS12YXItcm9hZDogXFxmMDE4O1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1yb2NrZXQ6IFxcZjEzNTtcbiRmYS12YXItcm9ja2V0LWxhdW5jaDogXFxlMDI3O1xuJGZhLXZhci1yb2NrZXRjaGF0OiBcXGYzZTg7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcm91dGU6IFxcZjRkNztcbiRmYS12YXItcm91dGUtaGlnaHdheTogXFxmNjFhO1xuJGZhLXZhci1yb3V0ZS1pbnRlcnN0YXRlOiBcXGY2MWI7XG4kZmEtdmFyLXJvdXRlcjogXFxmOGRhO1xuJGZhLXZhci1yc3M6IFxcZjA5ZTtcbiRmYS12YXItcnNzLXNxdWFyZTogXFxmMTQzO1xuJGZhLXZhci1ydWJsZS1zaWduOiBcXGYxNTg7XG4kZmEtdmFyLXJ1bGVyOiBcXGY1NDU7XG4kZmEtdmFyLXJ1bGVyLWNvbWJpbmVkOiBcXGY1NDY7XG4kZmEtdmFyLXJ1bGVyLWhvcml6b250YWw6IFxcZjU0NztcbiRmYS12YXItcnVsZXItdHJpYW5nbGU6IFxcZjYxYztcbiRmYS12YXItcnVsZXItdmVydGljYWw6IFxcZjU0ODtcbiRmYS12YXItcnVubmluZzogXFxmNzBjO1xuJGZhLXZhci1ydXBlZS1zaWduOiBcXGYxNTY7XG4kZmEtdmFyLXJ1c3Q6IFxcZTA3YTtcbiRmYS12YXItcnY6IFxcZjdiZTtcbiRmYS12YXItc2FjazogXFxmODFjO1xuJGZhLXZhci1zYWNrLWRvbGxhcjogXFxmODFkO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLXNhZC10ZWFyOiBcXGY1YjQ7XG4kZmEtdmFyLXNhZmFyaTogXFxmMjY3O1xuJGZhLXZhci1zYWxhZDogXFxmODFlO1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLXNhbmR3aWNoOiBcXGY4MWY7XG4kZmEtdmFyLXNhc3M6IFxcZjQxZTtcbiRmYS12YXItc2F0ZWxsaXRlOiBcXGY3YmY7XG4kZmEtdmFyLXNhdGVsbGl0ZS1kaXNoOiBcXGY3YzA7XG4kZmEtdmFyLXNhdXNhZ2U6IFxcZjgyMDtcbiRmYS12YXItc2F2ZTogXFxmMGM3O1xuJGZhLXZhci1zYXgtaG90OiBcXGY4ZGI7XG4kZmEtdmFyLXNheG9waG9uZTogXFxmOGRjO1xuJGZhLXZhci1zY2FscGVsOiBcXGY2MWQ7XG4kZmEtdmFyLXNjYWxwZWwtcGF0aDogXFxmNjFlO1xuJGZhLXZhci1zY2FubmVyOiBcXGY0ODg7XG4kZmEtdmFyLXNjYW5uZXItaW1hZ2U6IFxcZjhmMztcbiRmYS12YXItc2Nhbm5lci1rZXlib2FyZDogXFxmNDg5O1xuJGZhLXZhci1zY2FubmVyLXRvdWNoc2NyZWVuOiBcXGY0OGE7XG4kZmEtdmFyLXNjYXJlY3JvdzogXFxmNzBkO1xuJGZhLXZhci1zY2FyZjogXFxmN2MxO1xuJGZhLXZhci1zY2hsaXg6IFxcZjNlYTtcbiRmYS12YXItc2Nob29sOiBcXGY1NDk7XG4kZmEtdmFyLXNjcmV3ZHJpdmVyOiBcXGY1NGE7XG4kZmEtdmFyLXNjcmliZDogXFxmMjhhO1xuJGZhLXZhci1zY3JvbGw6IFxcZjcwZTtcbiRmYS12YXItc2Nyb2xsLW9sZDogXFxmNzBmO1xuJGZhLXZhci1zY3J1YmJlcjogXFxmMmY4O1xuJGZhLXZhci1zY3l0aGU6IFxcZjcxMDtcbiRmYS12YXItc2QtY2FyZDogXFxmN2MyO1xuJGZhLXZhci1zZWFyY2g6IFxcZjAwMjtcbiRmYS12YXItc2VhcmNoLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci1zZWFyY2gtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXNlYXJjaGVuZ2luOiBcXGYzZWI7XG4kZmEtdmFyLXNlZWRsaW5nOiBcXGY0ZDg7XG4kZmEtdmFyLXNlbGxjYXN0OiBcXGYyZGE7XG4kZmEtdmFyLXNlbGxzeTogXFxmMjEzO1xuJGZhLXZhci1zZW5kLWJhY2s6IFxcZjg3ZTtcbiRmYS12YXItc2VuZC1iYWNrd2FyZDogXFxmODdmO1xuJGZhLXZhci1zZW5zb3I6IFxcZTAyODtcbiRmYS12YXItc2Vuc29yLWFsZXJ0OiBcXGUwMjk7XG4kZmEtdmFyLXNlbnNvci1maXJlOiBcXGUwMmE7XG4kZmEtdmFyLXNlbnNvci1vbjogXFxlMDJiO1xuJGZhLXZhci1zZW5zb3Itc21va2U6IFxcZTAyYztcbiRmYS12YXItc2VydmVyOiBcXGYyMzM7XG4kZmEtdmFyLXNlcnZpY2VzdGFjazogXFxmM2VjO1xuJGZhLXZhci1zaGFwZXM6IFxcZjYxZjtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItc2hhcmUtYWxsOiBcXGYzNjc7XG4kZmEtdmFyLXNoYXJlLWFsdDogXFxmMWUwO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcXGYxZTE7XG4kZmEtdmFyLXNoYXJlLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1zaGVlcDogXFxmNzExO1xuJGZhLXZhci1zaGVrZWwtc2lnbjogXFxmMjBiO1xuJGZhLXZhci1zaGllbGQ6IFxcZjEzMjtcbiRmYS12YXItc2hpZWxkLWFsdDogXFxmM2VkO1xuJGZhLXZhci1zaGllbGQtY2hlY2s6IFxcZjJmNztcbiRmYS12YXItc2hpZWxkLWNyb3NzOiBcXGY3MTI7XG4kZmEtdmFyLXNoaWVsZC12aXJ1czogXFxlMDZjO1xuJGZhLXZhci1zaGlwOiBcXGYyMWE7XG4kZmEtdmFyLXNoaXBwaW5nLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItc2hpcHBpbmctdGltZWQ6IFxcZjQ4YztcbiRmYS12YXItc2hpcnRzaW5idWxrOiBcXGYyMTQ7XG4kZmEtdmFyLXNoaXNoLWtlYmFiOiBcXGY4MjE7XG4kZmEtdmFyLXNob2UtcHJpbnRzOiBcXGY1NGI7XG4kZmEtdmFyLXNob3BpZnk6IFxcZTA1NztcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcXGYyOTA7XG4kZmEtdmFyLXNob3BwaW5nLWJhc2tldDogXFxmMjkxO1xuJGZhLXZhci1zaG9wcGluZy1jYXJ0OiBcXGYwN2E7XG4kZmEtdmFyLXNob3B3YXJlOiBcXGY1YjU7XG4kZmEtdmFyLXNob3ZlbDogXFxmNzEzO1xuJGZhLXZhci1zaG92ZWwtc25vdzogXFxmN2MzO1xuJGZhLXZhci1zaG93ZXI6IFxcZjJjYztcbiRmYS12YXItc2hyZWRkZXI6IFxcZjY4YTtcbiRmYS12YXItc2h1dHRsZS12YW46IFxcZjViNjtcbiRmYS12YXItc2h1dHRsZWNvY2s6IFxcZjQ1YjtcbiRmYS12YXItc2lja2xlOiBcXGY4MjI7XG4kZmEtdmFyLXNpZ21hOiBcXGY2OGI7XG4kZmEtdmFyLXNpZ246IFxcZjRkOTtcbiRmYS12YXItc2lnbi1pbjogXFxmMDkwO1xuJGZhLXZhci1zaWduLWluLWFsdDogXFxmMmY2O1xuJGZhLXZhci1zaWduLWxhbmd1YWdlOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ24tb3V0OiBcXGYwOGI7XG4kZmEtdmFyLXNpZ24tb3V0LWFsdDogXFxmMmY1O1xuJGZhLXZhci1zaWduYWw6IFxcZjAxMjtcbiRmYS12YXItc2lnbmFsLTE6IFxcZjY4YztcbiRmYS12YXItc2lnbmFsLTI6IFxcZjY4ZDtcbiRmYS12YXItc2lnbmFsLTM6IFxcZjY4ZTtcbiRmYS12YXItc2lnbmFsLTQ6IFxcZjY4ZjtcbiRmYS12YXItc2lnbmFsLWFsdDogXFxmNjkwO1xuJGZhLXZhci1zaWduYWwtYWx0LTE6IFxcZjY5MTtcbiRmYS12YXItc2lnbmFsLWFsdC0yOiBcXGY2OTI7XG4kZmEtdmFyLXNpZ25hbC1hbHQtMzogXFxmNjkzO1xuJGZhLXZhci1zaWduYWwtYWx0LXNsYXNoOiBcXGY2OTQ7XG4kZmEtdmFyLXNpZ25hbC1zbGFzaDogXFxmNjk1O1xuJGZhLXZhci1zaWduYWwtc3RyZWFtOiBcXGY4ZGQ7XG4kZmEtdmFyLXNpZ25hdHVyZTogXFxmNWI3O1xuJGZhLXZhci1zaW0tY2FyZDogXFxmN2M0O1xuJGZhLXZhci1zaW1wbHlidWlsdDogXFxmMjE1O1xuJGZhLXZhci1zaW5rOiBcXGUwNmQ7XG4kZmEtdmFyLXNpcmVuOiBcXGUwMmQ7XG4kZmEtdmFyLXNpcmVuLW9uOiBcXGUwMmU7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc2l0ZW1hcDogXFxmMGU4O1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItc2tlbGV0b246IFxcZjYyMDtcbiRmYS12YXItc2tldGNoOiBcXGY3YzY7XG4kZmEtdmFyLXNraS1qdW1wOiBcXGY3Yzc7XG4kZmEtdmFyLXNraS1saWZ0OiBcXGY3Yzg7XG4kZmEtdmFyLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmctbm9yZGljOiBcXGY3Y2E7XG4kZmEtdmFyLXNrdWxsOiBcXGY1NGM7XG4kZmEtdmFyLXNrdWxsLWNvdzogXFxmOGRlO1xuJGZhLXZhci1za3VsbC1jcm9zc2JvbmVzOiBcXGY3MTQ7XG4kZmEtdmFyLXNreWF0bGFzOiBcXGYyMTY7XG4kZmEtdmFyLXNreXBlOiBcXGYxN2U7XG4kZmEtdmFyLXNsYWNrOiBcXGYxOTg7XG4kZmEtdmFyLXNsYWNrLWhhc2g6IFxcZjNlZjtcbiRmYS12YXItc2xhc2g6IFxcZjcxNTtcbiRmYS12YXItc2xlZGRpbmc6IFxcZjdjYjtcbiRmYS12YXItc2xlaWdoOiBcXGY3Y2M7XG4kZmEtdmFyLXNsaWRlcnMtaDogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXJzLWgtc3F1YXJlOiBcXGYzZjA7XG4kZmEtdmFyLXNsaWRlcnMtdjogXFxmM2YxO1xuJGZhLXZhci1zbGlkZXJzLXYtc3F1YXJlOiBcXGYzZjI7XG4kZmEtdmFyLXNsaWRlc2hhcmU6IFxcZjFlNztcbiRmYS12YXItc21pbGU6IFxcZjExODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1zbWlsZS1wbHVzOiBcXGY1Yjk7XG4kZmEtdmFyLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItc21vZzogXFxmNzVmO1xuJGZhLXZhci1zbW9rZTogXFxmNzYwO1xuJGZhLXZhci1zbW9raW5nOiBcXGY0OGQ7XG4kZmEtdmFyLXNtb2tpbmctYmFuOiBcXGY1NGQ7XG4kZmEtdmFyLXNtczogXFxmN2NkO1xuJGZhLXZhci1zbmFrZTogXFxmNzE2O1xuJGZhLXZhci1zbmFwY2hhdDogXFxmMmFiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXFxmMmFjO1xuJGZhLXZhci1zbmFwY2hhdC1zcXVhcmU6IFxcZjJhZDtcbiRmYS12YXItc25vb3plOiBcXGY4ODA7XG4kZmEtdmFyLXNub3ctYmxvd2luZzogXFxmNzYxO1xuJGZhLXZhci1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLXNub3dmbGFrZXM6IFxcZjdjZjtcbiRmYS12YXItc25vd21hbjogXFxmN2QwO1xuJGZhLXZhci1zbm93bW9iaWxlOiBcXGY3ZDE7XG4kZmEtdmFyLXNub3dwbG93OiBcXGY3ZDI7XG4kZmEtdmFyLXNvYXA6IFxcZTA2ZTtcbiRmYS12YXItc29ja3M6IFxcZjY5NjtcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItc29sYXItc3lzdGVtOiBcXGUwMmY7XG4kZmEtdmFyLXNvcnQ6IFxcZjBkYztcbiRmYS12YXItc29ydC1hbHBoYS1kb3duOiBcXGYxNWQ7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZG93bi1hbHQ6IFxcZjg4MTtcbiRmYS12YXItc29ydC1hbHBoYS11cDogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdDogXFxmODgyO1xuJGZhLXZhci1zb3J0LWFsdDogXFxmODgzO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRvd24tYWx0OiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwOiBcXGYxNjE7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1zb3J0LWNpcmNsZTogXFxlMDMwO1xuJGZhLXZhci1zb3J0LWNpcmNsZS1kb3duOiBcXGUwMzE7XG4kZmEtdmFyLXNvcnQtY2lyY2xlLXVwOiBcXGUwMzI7XG4kZmEtdmFyLXNvcnQtZG93bjogXFxmMGRkO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bjogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQ6IFxcZjg4NjtcbiRmYS12YXItc29ydC1udW1lcmljLXVwOiBcXGYxNjM7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQ6IFxcZjg4NztcbiRmYS12YXItc29ydC1zaGFwZXMtZG93bjogXFxmODg4O1xuJGZhLXZhci1zb3J0LXNoYXBlcy1kb3duLWFsdDogXFxmODg5O1xuJGZhLXZhci1zb3J0LXNoYXBlcy11cDogXFxmODhhO1xuJGZhLXZhci1zb3J0LXNoYXBlcy11cC1hbHQ6IFxcZjg4YjtcbiRmYS12YXItc29ydC1zaXplLWRvd246IFxcZjg4YztcbiRmYS12YXItc29ydC1zaXplLWRvd24tYWx0OiBcXGY4OGQ7XG4kZmEtdmFyLXNvcnQtc2l6ZS11cDogXFxmODhlO1xuJGZhLXZhci1zb3J0LXNpemUtdXAtYWx0OiBcXGY4OGY7XG4kZmEtdmFyLXNvcnQtdXA6IFxcZjBkZTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1zb3VwOiBcXGY4MjM7XG4kZmEtdmFyLXNvdXJjZXRyZWU6IFxcZjdkMztcbiRmYS12YXItc3BhOiBcXGY1YmI7XG4kZmEtdmFyLXNwYWNlLXNodXR0bGU6IFxcZjE5NztcbiRmYS12YXItc3BhY2Utc3RhdGlvbi1tb29uOiBcXGUwMzM7XG4kZmEtdmFyLXNwYWNlLXN0YXRpb24tbW9vbi1hbHQ6IFxcZTAzNDtcbiRmYS12YXItc3BhZGU6IFxcZjJmNDtcbiRmYS12YXItc3BhcmtsZXM6IFxcZjg5MDtcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1zcGVha2VyOiBcXGY4ZGY7XG4kZmEtdmFyLXNwZWFrZXItZGVjazogXFxmODNjO1xuJGZhLXZhci1zcGVha2VyczogXFxmOGUwO1xuJGZhLXZhci1zcGVsbC1jaGVjazogXFxmODkxO1xuJGZhLXZhci1zcGlkZXI6IFxcZjcxNztcbiRmYS12YXItc3BpZGVyLWJsYWNrLXdpZG93OiBcXGY3MTg7XG4kZmEtdmFyLXNwaWRlci13ZWI6IFxcZjcxOTtcbiRmYS12YXItc3Bpbm5lcjogXFxmMTEwO1xuJGZhLXZhci1zcGlubmVyLXRoaXJkOiBcXGYzZjQ7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1zcHJheS1jYW46IFxcZjViZDtcbiRmYS12YXItc3ByaW5rbGVyOiBcXGUwMzU7XG4kZmEtdmFyLXNxdWFyZTogXFxmMGM4O1xuJGZhLXZhci1zcXVhcmUtZnVsbDogXFxmNDVjO1xuJGZhLXZhci1zcXVhcmUtcm9vdDogXFxmNjk3O1xuJGZhLXZhci1zcXVhcmUtcm9vdC1hbHQ6IFxcZjY5ODtcbiRmYS12YXItc3F1YXJlc3BhY2U6IFxcZjViZTtcbiRmYS12YXItc3F1aXJyZWw6IFxcZjcxYTtcbiRmYS12YXItc3RhY2stZXhjaGFuZ2U6IFxcZjE4ZDtcbiRmYS12YXItc3RhY2stb3ZlcmZsb3c6IFxcZjE2YztcbiRmYS12YXItc3RhY2twYXRoOiBcXGY4NDI7XG4kZmEtdmFyLXN0YWZmOiBcXGY3MWI7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItc3Rhci1jaHJpc3RtYXM6IFxcZjdkNDtcbiRmYS12YXItc3Rhci1leGNsYW1hdGlvbjogXFxmMmYzO1xuJGZhLXZhci1zdGFyLWhhbGY6IFxcZjA4OTtcbiRmYS12YXItc3Rhci1oYWxmLWFsdDogXFxmNWMwO1xuJGZhLXZhci1zdGFyLW9mLWRhdmlkOiBcXGY2OWE7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1zdGFyLXNob290aW5nOiBcXGUwMzY7XG4kZmEtdmFyLXN0YXJmaWdodGVyOiBcXGUwMzc7XG4kZmEtdmFyLXN0YXJmaWdodGVyLWFsdDogXFxlMDM4O1xuJGZhLXZhci1zdGFyczogXFxmNzYyO1xuJGZhLXZhci1zdGFyc2hpcDogXFxlMDM5O1xuJGZhLXZhci1zdGFyc2hpcC1mcmVpZ2h0ZXI6IFxcZTAzYTtcbiRmYS12YXItc3RheWxpbmtlZDogXFxmM2Y1O1xuJGZhLXZhci1zdGVhazogXFxmODI0O1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1zdGVhbS1zcXVhcmU6IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3ltYm9sOiBcXGYzZjY7XG4kZmEtdmFyLXN0ZWVyaW5nLXdoZWVsOiBcXGY2MjI7XG4kZmEtdmFyLXN0ZXAtYmFja3dhcmQ6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1mb3J3YXJkOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXRob3Njb3BlOiBcXGYwZjE7XG4kZmEtdmFyLXN0aWNrZXItbXVsZTogXFxmM2Y3O1xuJGZhLXZhci1zdGlja3ktbm90ZTogXFxmMjQ5O1xuJGZhLXZhci1zdG9ja2luZzogXFxmN2Q1O1xuJGZhLXZhci1zdG9tYWNoOiBcXGY2MjM7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItc3RvcmUtYWx0LXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLXNsYXNoOiBcXGUwNzE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1zdHJlYW06IFxcZjU1MDtcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItc3RyZXRjaGVyOiBcXGY4MjU7XG4kZmEtdmFyLXN0cmlrZXRocm91Z2g6IFxcZjBjYztcbiRmYS12YXItc3RyaXBlOiBcXGY0Mjk7XG4kZmEtdmFyLXN0cmlwZS1zOiBcXGY0MmE7XG4kZmEtdmFyLXN0cm9vcHdhZmVsOiBcXGY1NTE7XG4kZmEtdmFyLXN0dWRpb3ZpbmFyaTogXFxmM2Y4O1xuJGZhLXZhci1zdHVtYmxldXBvbjogXFxmMWE0O1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFxcZjFhMztcbiRmYS12YXItc3Vic2NyaXB0OiBcXGYxMmM7XG4kZmEtdmFyLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1zdWl0Y2FzZTogXFxmMGYyO1xuJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nOiBcXGY1YzE7XG4kZmEtdmFyLXN1bjogXFxmMTg1O1xuJGZhLXZhci1zdW4tY2xvdWQ6IFxcZjc2MztcbiRmYS12YXItc3VuLWR1c3Q6IFxcZjc2NDtcbiRmYS12YXItc3VuLWhhemU6IFxcZjc2NTtcbiRmYS12YXItc3VuZ2xhc3NlczogXFxmODkyO1xuJGZhLXZhci1zdW5yaXNlOiBcXGY3NjY7XG4kZmEtdmFyLXN1bnNldDogXFxmNzY3O1xuJGZhLXZhci1zdXBlcnBvd2VyczogXFxmMmRkO1xuJGZhLXZhci1zdXBlcnNjcmlwdDogXFxmMTJiO1xuJGZhLXZhci1zdXBwbGU6IFxcZjNmOTtcbiRmYS12YXItc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItc3VzZTogXFxmN2Q2O1xuJGZhLXZhci1zd2F0Y2hib29rOiBcXGY1YzM7XG4kZmEtdmFyLXN3aWZ0OiBcXGY4ZTE7XG4kZmEtdmFyLXN3aW1tZXI6IFxcZjVjNDtcbiRmYS12YXItc3dpbW1pbmctcG9vbDogXFxmNWM1O1xuJGZhLXZhci1zd29yZDogXFxmNzFjO1xuJGZhLXZhci1zd29yZC1sYXNlcjogXFxlMDNiO1xuJGZhLXZhci1zd29yZC1sYXNlci1hbHQ6IFxcZTAzYztcbiRmYS12YXItc3dvcmRzOiBcXGY3MWQ7XG4kZmEtdmFyLXN3b3Jkcy1sYXNlcjogXFxlMDNkO1xuJGZhLXZhci1zeW1mb255OiBcXGY4M2Q7XG4kZmEtdmFyLXN5bmFnb2d1ZTogXFxmNjliO1xuJGZhLXZhci1zeW5jOiBcXGYwMjE7XG4kZmEtdmFyLXN5bmMtYWx0OiBcXGYyZjE7XG4kZmEtdmFyLXN5cmluZ2U6IFxcZjQ4ZTtcbiRmYS12YXItdGFibGU6IFxcZjBjZTtcbiRmYS12YXItdGFibGUtdGVubmlzOiBcXGY0NWQ7XG4kZmEtdmFyLXRhYmxldDogXFxmMTBhO1xuJGZhLXZhci10YWJsZXQtYWx0OiBcXGYzZmE7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkOiBcXGYzZmI7XG4kZmEtdmFyLXRhYmxldC1hbmRyb2lkLWFsdDogXFxmM2ZjO1xuJGZhLXZhci10YWJsZXQtcnVnZ2VkOiBcXGY0OGY7XG4kZmEtdmFyLXRhYmxldHM6IFxcZjQ5MDtcbiRmYS12YXItdGFjaG9tZXRlcjogXFxmMGU0O1xuJGZhLXZhci10YWNob21ldGVyLWFsdDogXFxmM2ZkO1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlOiBcXGY2MjQ7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3Q6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdGVzdDogXFxmNjI2O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1zbG93OiBcXGY2Mjc7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYWx0LXNsb3dlc3Q6IFxcZjYyODtcbiRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlOiBcXGY2Mjk7XG4kZmEtdmFyLXRhY2hvbWV0ZXItZmFzdDogXFxmNjJhO1xuJGZhLXZhci10YWNob21ldGVyLWZhc3Rlc3Q6IFxcZjYyYjtcbiRmYS12YXItdGFjaG9tZXRlci1zbG93OiBcXGY2MmM7XG4kZmEtdmFyLXRhY2hvbWV0ZXItc2xvd2VzdDogXFxmNjJkO1xuJGZhLXZhci10YWNvOiBcXGY4MjY7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci10YWdzOiBcXGYwMmM7XG4kZmEtdmFyLXRhbGx5OiBcXGY2OWM7XG4kZmEtdmFyLXRhbmFraDogXFxmODI3O1xuJGZhLXZhci10YXBlOiBcXGY0ZGI7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLXRhc2tzLWFsdDogXFxmODI4O1xuJGZhLXZhci10YXhpOiBcXGYxYmE7XG4kZmEtdmFyLXRlYW1zcGVhazogXFxmNGY5O1xuJGZhLXZhci10ZWV0aDogXFxmNjJlO1xuJGZhLXZhci10ZWV0aC1vcGVuOiBcXGY2MmY7XG4kZmEtdmFyLXRlbGVncmFtOiBcXGYyYzY7XG4kZmEtdmFyLXRlbGVncmFtLXBsYW5lOiBcXGYzZmU7XG4kZmEtdmFyLXRlbGVzY29wZTogXFxlMDNlO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duOiBcXGUwM2Y7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWZyaWdpZDogXFxmNzY4O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1oaWdoOiBcXGY3Njk7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhvdDogXFxmNzZhO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1sb3c6IFxcZjc2YjtcbiRmYS12YXItdGVtcGVyYXR1cmUtdXA6IFxcZTA0MDtcbiRmYS12YXItdGVuY2VudC13ZWlibzogXFxmMWQ1O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci10ZW5uaXMtYmFsbDogXFxmNDVlO1xuJGZhLXZhci10ZXJtaW5hbDogXFxmMTIwO1xuJGZhLXZhci10ZXh0OiBcXGY4OTM7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXRleHQtc2l6ZTogXFxmODk0O1xuJGZhLXZhci10ZXh0LXdpZHRoOiBcXGYwMzU7XG4kZmEtdmFyLXRoOiBcXGYwMGE7XG4kZmEtdmFyLXRoLWxhcmdlOiBcXGYwMDk7XG4kZmEtdmFyLXRoLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXRoZWF0ZXItbWFza3M6IFxcZjYzMDtcbiRmYS12YXItdGhlbWVjbzogXFxmNWM2O1xuJGZhLXZhci10aGVtZWlzbGU6IFxcZjJiMjtcbiRmYS12YXItdGhlcm1vbWV0ZXI6IFxcZjQ5MTtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci10aGVybW9tZXRlci1oYWxmOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLXF1YXJ0ZXI6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnM6IFxcZjJjODtcbiRmYS12YXItdGhldGE6IFxcZjY5ZTtcbiRmYS12YXItdGhpbmstcGVha3M6IFxcZjczMTtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdGh1bWJzLXVwOiBcXGYxNjQ7XG4kZmEtdmFyLXRodW1idGFjazogXFxmMDhkO1xuJGZhLXZhci10aHVuZGVyc3Rvcm06IFxcZjc2YztcbiRmYS12YXItdGh1bmRlcnN0b3JtLW1vb246IFxcZjc2ZDtcbiRmYS12YXItdGh1bmRlcnN0b3JtLXN1bjogXFxmNzZlO1xuJGZhLXZhci10aWNrZXQ6IFxcZjE0NTtcbiRmYS12YXItdGlja2V0LWFsdDogXFxmM2ZmO1xuJGZhLXZhci10aWt0b2s6IFxcZTA3YjtcbiRmYS12YXItdGlsZGU6IFxcZjY5ZjtcbiRmYS12YXItdGltZXM6IFxcZjAwZDtcbiRmYS12YXItdGltZXMtY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLXRpbWVzLWhleGFnb246IFxcZjJlZTtcbiRmYS12YXItdGltZXMtb2N0YWdvbjogXFxmMmYwO1xuJGZhLXZhci10aW1lcy1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci10aW50LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpcmU6IFxcZjYzMTtcbiRmYS12YXItdGlyZS1mbGF0OiBcXGY2MzI7XG4kZmEtdmFyLXRpcmUtcHJlc3N1cmUtd2FybmluZzogXFxmNjMzO1xuJGZhLXZhci10aXJlLXJ1Z2dlZDogXFxmNjM0O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10b2dnbGUtb2ZmOiBcXGYyMDQ7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci10b2lsZXQ6IFxcZjdkODtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLXRvaWxldC1wYXBlci1hbHQ6IFxcZjcxZjtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLXRvbWJzdG9uZTogXFxmNzIwO1xuJGZhLXZhci10b21ic3RvbmUtYWx0OiBcXGY3MjE7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItdG9vbHM6IFxcZjdkOTtcbiRmYS12YXItdG9vdGg6IFxcZjVjOTtcbiRmYS12YXItdG9vdGhicnVzaDogXFxmNjM1O1xuJGZhLXZhci10b3JhaDogXFxmNmEwO1xuJGZhLXZhci10b3JpaS1nYXRlOiBcXGY2YTE7XG4kZmEtdmFyLXRvcm5hZG86IFxcZjc2ZjtcbiRmYS12YXItdHJhY3RvcjogXFxmNzIyO1xuJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uOiBcXGY1MTM7XG4kZmEtdmFyLXRyYWRlbWFyazogXFxmMjVjO1xuJGZhLXZhci10cmFmZmljLWNvbmU6IFxcZjYzNjtcbiRmYS12YXItdHJhZmZpYy1saWdodDogXFxmNjM3O1xuJGZhLXZhci10cmFmZmljLWxpZ2h0LWdvOiBcXGY2Mzg7XG4kZmEtdmFyLXRyYWZmaWMtbGlnaHQtc2xvdzogXFxmNjM5O1xuJGZhLXZhci10cmFmZmljLWxpZ2h0LXN0b3A6IFxcZjYzYTtcbiRmYS12YXItdHJhaWxlcjogXFxlMDQxO1xuJGZhLXZhci10cmFpbjogXFxmMjM4O1xuJGZhLXZhci10cmFtOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyOiBcXGYyMjQ7XG4kZmEtdmFyLXRyYW5zZ2VuZGVyLWFsdDogXFxmMjI1O1xuJGZhLXZhci10cmFuc3BvcnRlcjogXFxlMDQyO1xuJGZhLXZhci10cmFuc3BvcnRlci0xOiBcXGUwNDM7XG4kZmEtdmFyLXRyYW5zcG9ydGVyLTI6IFxcZTA0NDtcbiRmYS12YXItdHJhbnNwb3J0ZXItMzogXFxlMDQ1O1xuJGZhLXZhci10cmFuc3BvcnRlci1lbXB0eTogXFxlMDQ2O1xuJGZhLXZhci10cmFzaDogXFxmMWY4O1xuJGZhLXZhci10cmFzaC1hbHQ6IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtcmVzdG9yZTogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci10cmFzaC11bmRvOiBcXGY4OTU7XG4kZmEtdmFyLXRyYXNoLXVuZG8tYWx0OiBcXGY4OTY7XG4kZmEtdmFyLXRyZWFzdXJlLWNoZXN0OiBcXGY3MjM7XG4kZmEtdmFyLXRyZWU6IFxcZjFiYjtcbiRmYS12YXItdHJlZS1hbHQ6IFxcZjQwMDtcbiRmYS12YXItdHJlZS1jaHJpc3RtYXM6IFxcZjdkYjtcbiRmYS12YXItdHJlZS1kZWNvcmF0ZWQ6IFxcZjdkYztcbiRmYS12YXItdHJlZS1sYXJnZTogXFxmN2RkO1xuJGZhLXZhci10cmVlLXBhbG06IFxcZjgyYjtcbiRmYS12YXItdHJlZXM6IFxcZjcyNDtcbiRmYS12YXItdHJlbGxvOiBcXGYxODE7XG4kZmEtdmFyLXRyaWFuZ2xlOiBcXGYyZWM7XG4kZmEtdmFyLXRyaWFuZ2xlLW11c2ljOiBcXGY4ZTI7XG4kZmEtdmFyLXRyb3BoeTogXFxmMDkxO1xuJGZhLXZhci10cm9waHktYWx0OiBcXGYyZWI7XG4kZmEtdmFyLXRydWNrOiBcXGYwZDE7XG4kZmEtdmFyLXRydWNrLWNvbnRhaW5lcjogXFxmNGRjO1xuJGZhLXZhci10cnVjay1jb3VjaDogXFxmNGRkO1xuJGZhLXZhci10cnVjay1sb2FkaW5nOiBcXGY0ZGU7XG4kZmEtdmFyLXRydWNrLW1vbnN0ZXI6IFxcZjYzYjtcbiRmYS12YXItdHJ1Y2stbW92aW5nOiBcXGY0ZGY7XG4kZmEtdmFyLXRydWNrLXBpY2t1cDogXFxmNjNjO1xuJGZhLXZhci10cnVjay1wbG93OiBcXGY3ZGU7XG4kZmEtdmFyLXRydWNrLXJhbXA6IFxcZjRlMDtcbiRmYS12YXItdHJ1bXBldDogXFxmOGUzO1xuJGZhLXZhci10c2hpcnQ6IFxcZjU1MztcbiRmYS12YXItdHR5OiBcXGYxZTQ7XG4kZmEtdmFyLXR1bWJscjogXFxmMTczO1xuJGZhLXZhci10dW1ibHItc3F1YXJlOiBcXGYxNzQ7XG4kZmEtdmFyLXR1cmtleTogXFxmNzI1O1xuJGZhLXZhci10dXJudGFibGU6IFxcZjhlNDtcbiRmYS12YXItdHVydGxlOiBcXGY3MjY7XG4kZmEtdmFyLXR2OiBcXGYyNmM7XG4kZmEtdmFyLXR2LWFsdDogXFxmOGU1O1xuJGZhLXZhci10di1tdXNpYzogXFxmOGU2O1xuJGZhLXZhci10di1yZXRybzogXFxmNDAxO1xuJGZhLXZhci10d2l0Y2g6IFxcZjFlODtcbiRmYS12YXItdHdpdHRlcjogXFxmMDk5O1xuJGZhLXZhci10d2l0dGVyLXNxdWFyZTogXFxmMDgxO1xuJGZhLXZhci10eXBld3JpdGVyOiBcXGY4ZTc7XG4kZmEtdmFyLXR5cG8zOiBcXGY0MmI7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItdWJ1bnR1OiBcXGY3ZGY7XG4kZmEtdmFyLXVmbzogXFxlMDQ3O1xuJGZhLXZhci11Zm8tYmVhbTogXFxlMDQ4O1xuJGZhLXZhci11aWtpdDogXFxmNDAzO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXVtYnJlbGxhLWJlYWNoOiBcXGY1Y2E7XG4kZmEtdmFyLXVuY2hhcnRlZDogXFxlMDg0O1xuJGZhLXZhci11bmRlcmxpbmU6IFxcZjBjZDtcbiRmYS12YXItdW5kbzogXFxmMGUyO1xuJGZhLXZhci11bmRvLWFsdDogXFxmMmVhO1xuJGZhLXZhci11bmljb3JuOiBcXGY3Mjc7XG4kZmEtdmFyLXVuaW9uOiBcXGY2YTI7XG4kZmEtdmFyLXVuaXJlZ2lzdHJ5OiBcXGY0MDQ7XG4kZmEtdmFyLXVuaXR5OiBcXGUwNDk7XG4kZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3M6IFxcZjI5YTtcbiRmYS12YXItdW5pdmVyc2l0eTogXFxmMTljO1xuJGZhLXZhci11bmxpbms6IFxcZjEyNztcbiRmYS12YXItdW5sb2NrOiBcXGYwOWM7XG4kZmEtdmFyLXVubG9jay1hbHQ6IFxcZjEzZTtcbiRmYS12YXItdW5zcGxhc2g6IFxcZTA3YztcbiRmYS12YXItdW50YXBwZDogXFxmNDA1O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItdXBzOiBcXGY3ZTA7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci11c2ItZHJpdmU6IFxcZjhlOTtcbiRmYS12YXItdXNkLWNpcmNsZTogXFxmMmU4O1xuJGZhLXZhci11c2Qtc3F1YXJlOiBcXGYyZTk7XG4kZmEtdmFyLXVzZXI6IFxcZjAwNztcbiRmYS12YXItdXNlci1hbGllbjogXFxlMDRhO1xuJGZhLXZhci11c2VyLWFsdDogXFxmNDA2O1xuJGZhLXZhci11c2VyLWFsdC1zbGFzaDogXFxmNGZhO1xuJGZhLXZhci11c2VyLWFzdHJvbmF1dDogXFxmNGZiO1xuJGZhLXZhci11c2VyLWNoYXJ0OiBcXGY2YTM7XG4kZmEtdmFyLXVzZXItY2hlY2s6IFxcZjRmYztcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jbG9jazogXFxmNGZkO1xuJGZhLXZhci11c2VyLWNvZzogXFxmNGZlO1xuJGZhLXZhci11c2VyLWNvd2JveTogXFxmOGVhO1xuJGZhLXZhci11c2VyLWNyb3duOiBcXGY2YTQ7XG4kZmEtdmFyLXVzZXItZWRpdDogXFxmNGZmO1xuJGZhLXZhci11c2VyLWZyaWVuZHM6IFxcZjUwMDtcbiRmYS12YXItdXNlci1ncmFkdWF0ZTogXFxmNTAxO1xuJGZhLXZhci11c2VyLWhhcmQtaGF0OiBcXGY4MmM7XG4kZmEtdmFyLXVzZXItaGVhZHNldDogXFxmODJkO1xuJGZhLXZhci11c2VyLWluanVyZWQ6IFxcZjcyODtcbiRmYS12YXItdXNlci1sb2NrOiBcXGY1MDI7XG4kZmEtdmFyLXVzZXItbWQ6IFxcZjBmMDtcbiRmYS12YXItdXNlci1tZC1jaGF0OiBcXGY4MmU7XG4kZmEtdmFyLXVzZXItbWludXM6IFxcZjUwMztcbiRmYS12YXItdXNlci1tdXNpYzogXFxmOGViO1xuJGZhLXZhci11c2VyLW5pbmphOiBcXGY1MDQ7XG4kZmEtdmFyLXVzZXItbnVyc2U6IFxcZjgyZjtcbiRmYS12YXItdXNlci1wbHVzOiBcXGYyMzQ7XG4kZmEtdmFyLXVzZXItcm9ib3Q6IFxcZTA0YjtcbiRmYS12YXItdXNlci1zZWNyZXQ6IFxcZjIxYjtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci11c2VyLXRpZTogXFxmNTA4O1xuJGZhLXZhci11c2VyLXRpbWVzOiBcXGYyMzU7XG4kZmEtdmFyLXVzZXItdW5sb2NrOiBcXGUwNTg7XG4kZmEtdmFyLXVzZXItdmlzb3I6IFxcZTA0YztcbiRmYS12YXItdXNlcnM6IFxcZjBjMDtcbiRmYS12YXItdXNlcnMtY2xhc3M6IFxcZjYzZDtcbiRmYS12YXItdXNlcnMtY29nOiBcXGY1MDk7XG4kZmEtdmFyLXVzZXJzLWNyb3duOiBcXGY2YTU7XG4kZmEtdmFyLXVzZXJzLW1lZGljYWw6IFxcZjgzMDtcbiRmYS12YXItdXNlcnMtc2xhc2g6IFxcZTA3MztcbiRmYS12YXItdXNwczogXFxmN2UxO1xuJGZhLXZhci11c3N1bm5haDogXFxmNDA3O1xuJGZhLXZhci11dGVuc2lsLWZvcms6IFxcZjJlMztcbiRmYS12YXItdXRlbnNpbC1rbmlmZTogXFxmMmU0O1xuJGZhLXZhci11dGVuc2lsLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLXV0ZW5zaWxzOiBcXGYyZTc7XG4kZmEtdmFyLXV0ZW5zaWxzLWFsdDogXFxmMmU2O1xuJGZhLXZhci12YWFkaW46IFxcZjQwODtcbiRmYS12YXItdmFjdXVtOiBcXGUwNGQ7XG4kZmEtdmFyLXZhY3V1bS1yb2JvdDogXFxlMDRlO1xuJGZhLXZhci12YWx1ZS1hYnNvbHV0ZTogXFxmNmE2O1xuJGZhLXZhci12ZWN0b3Itc3F1YXJlOiBcXGY1Y2I7XG4kZmEtdmFyLXZlbnVzOiBcXGYyMjE7XG4kZmEtdmFyLXZlbnVzLWRvdWJsZTogXFxmMjI2O1xuJGZhLXZhci12ZW51cy1tYXJzOiBcXGYyMjg7XG4kZmEtdmFyLXZlc3Q6IFxcZTA4NTtcbiRmYS12YXItdmVzdC1wYXRjaGVzOiBcXGUwODY7XG4kZmEtdmFyLXZoczogXFxmOGVjO1xuJGZhLXZhci12aWFjb2luOiBcXGYyMzc7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItdmlhbHM6IFxcZjQ5MztcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItdmlkZW86IFxcZjAzZDtcbiRmYS12YXItdmlkZW8tcGx1czogXFxmNGUxO1xuJGZhLXZhci12aWRlby1zbGFzaDogXFxmNGUyO1xuJGZhLXZhci12aWhhcmE6IFxcZjZhNztcbiRmYS12YXItdmltZW86IFxcZjQwYTtcbiRmYS12YXItdmltZW8tc3F1YXJlOiBcXGYxOTQ7XG4kZmEtdmFyLXZpbWVvLXY6IFxcZjI3ZDtcbiRmYS12YXItdmluZTogXFxmMWNhO1xuJGZhLXZhci12aW9saW46IFxcZjhlZDtcbiRmYS12YXItdmlydXM6IFxcZTA3NDtcbiRmYS12YXItdmlydXMtc2xhc2g6IFxcZTA3NTtcbiRmYS12YXItdmlydXNlczogXFxlMDc2O1xuJGZhLXZhci12azogXFxmMTg5O1xuJGZhLXZhci12bnY6IFxcZjQwYjtcbiRmYS12YXItdm9pY2VtYWlsOiBcXGY4OTc7XG4kZmEtdmFyLXZvbGNhbm86IFxcZjc3MDtcbiRmYS12YXItdm9sbGV5YmFsbC1iYWxsOiBcXGY0NWY7XG4kZmEtdmFyLXZvbHVtZTogXFxmNmE4O1xuJGZhLXZhci12b2x1bWUtZG93bjogXFxmMDI3O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLXZvbHVtZS1zbGFzaDogXFxmMmUyO1xuJGZhLXZhci12b2x1bWUtdXA6IFxcZjAyODtcbiRmYS12YXItdm90ZS1uYXk6IFxcZjc3MTtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItdnItY2FyZGJvYXJkOiBcXGY3Mjk7XG4kZmEtdmFyLXZ1ZWpzOiBcXGY0MWY7XG4kZmEtdmFyLXdhZ29uLWNvdmVyZWQ6IFxcZjhlZTtcbiRmYS12YXItd2Fsa2VyOiBcXGY4MzE7XG4kZmEtdmFyLXdhbGtpZS10YWxraWU6IFxcZjhlZjtcbiRmYS12YXItd2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxsZXQ6IFxcZjU1NTtcbiRmYS12YXItd2FuZDogXFxmNzJhO1xuJGZhLXZhci13YW5kLW1hZ2ljOiBcXGY3MmI7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci13YXJlaG91c2UtYWx0OiBcXGY0OTU7XG4kZmEtdmFyLXdhc2hlcjogXFxmODk4O1xuJGZhLXZhci13YXRjaDogXFxmMmUxO1xuJGZhLXZhci13YXRjaC1jYWxjdWxhdG9yOiBcXGY4ZjA7XG4kZmEtdmFyLXdhdGNoLWZpdG5lc3M6IFxcZjYzZTtcbiRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZzogXFxlMDg3O1xuJGZhLXZhci13YXRlcjogXFxmNzczO1xuJGZhLXZhci13YXRlci1sb3dlcjogXFxmNzc0O1xuJGZhLXZhci13YXRlci1yaXNlOiBcXGY3NzU7XG4kZmEtdmFyLXdhdmUtc2luZTogXFxmODk5O1xuJGZhLXZhci13YXZlLXNxdWFyZTogXFxmODNlO1xuJGZhLXZhci13YXZlLXRyaWFuZ2xlOiBcXGY4OWE7XG4kZmEtdmFyLXdhdmVmb3JtOiBcXGY4ZjE7XG4kZmEtdmFyLXdhdmVmb3JtLXBhdGg6IFxcZjhmMjtcbiRmYS12YXItd2F6ZTogXFxmODNmO1xuJGZhLXZhci13ZWJjYW06IFxcZjgzMjtcbiRmYS12YXItd2ViY2FtLXNsYXNoOiBcXGY4MzM7XG4kZmEtdmFyLXdlZWJseTogXFxmNWNjO1xuJGZhLXZhci13ZWlibzogXFxmMThhO1xuJGZhLXZhci13ZWlnaHQ6IFxcZjQ5NjtcbiRmYS12YXItd2VpZ2h0LWhhbmdpbmc6IFxcZjVjZDtcbiRmYS12YXItd2VpeGluOiBcXGYxZDc7XG4kZmEtdmFyLXdoYWxlOiBcXGY3MmM7XG4kZmEtdmFyLXdoYXRzYXBwOiBcXGYyMzI7XG4kZmEtdmFyLXdoYXRzYXBwLXNxdWFyZTogXFxmNDBjO1xuJGZhLXZhci13aGVhdDogXFxmNzJkO1xuJGZhLXZhci13aGVlbGNoYWlyOiBcXGYxOTM7XG4kZmEtdmFyLXdoaXN0bGU6IFxcZjQ2MDtcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWZpLTE6IFxcZjZhYTtcbiRmYS12YXItd2lmaS0yOiBcXGY2YWI7XG4kZmEtdmFyLXdpZmktc2xhc2g6IFxcZjZhYztcbiRmYS12YXItd2lraXBlZGlhLXc6IFxcZjI2NjtcbiRmYS12YXItd2luZDogXFxmNzJlO1xuJGZhLXZhci13aW5kLXR1cmJpbmU6IFxcZjg5YjtcbiRmYS12YXItd2luZC13YXJuaW5nOiBcXGY3NzY7XG4kZmEtdmFyLXdpbmRvdzogXFxmNDBlO1xuJGZhLXZhci13aW5kb3ctYWx0OiBcXGY0MGY7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci13aW5kb3ctZnJhbWU6IFxcZTA0ZjtcbiRmYS12YXItd2luZG93LWZyYW1lLW9wZW46IFxcZTA1MDtcbiRmYS12YXItd2luZG93LW1heGltaXplOiBcXGYyZDA7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXFxmMmQxO1xuJGZhLXZhci13aW5kb3ctcmVzdG9yZTogXFxmMmQyO1xuJGZhLXZhci13aW5kb3dzOiBcXGYxN2E7XG4kZmEtdmFyLXdpbmRzb2NrOiBcXGY3Nzc7XG4kZmEtdmFyLXdpbmUtYm90dGxlOiBcXGY3MmY7XG4kZmEtdmFyLXdpbmUtZ2xhc3M6IFxcZjRlMztcbiRmYS12YXItd2luZS1nbGFzcy1hbHQ6IFxcZjVjZTtcbiRmYS12YXItd2l4OiBcXGY1Y2Y7XG4kZmEtdmFyLXdpemFyZHMtb2YtdGhlLWNvYXN0OiBcXGY3MzA7XG4kZmEtdmFyLXdvZHU6IFxcZTA4ODtcbiRmYS12YXItd29sZi1wYWNrLWJhdHRhbGlvbjogXFxmNTE0O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLXdwZXhwbG9yZXI6IFxcZjJkZTtcbiRmYS12YXItd3Bmb3JtczogXFxmMjk4O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXdyZWF0aDogXFxmN2UyO1xuJGZhLXZhci13cmVuY2g6IFxcZjBhZDtcbiRmYS12YXIteC1yYXk6IFxcZjQ5NztcbiRmYS12YXIteGJveDogXFxmNDEyO1xuJGZhLXZhci14aW5nOiBcXGYxNjg7XG4kZmEtdmFyLXhpbmctc3F1YXJlOiBcXGYxNjk7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXFxmMjNiO1xuJGZhLXZhci15YWhvbzogXFxmMTllO1xuJGZhLXZhci15YW1tZXI6IFxcZjg0MDtcbiRmYS12YXIteWFuZGV4OiBcXGY0MTM7XG4kZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsOiBcXGY0MTQ7XG4kZmEtdmFyLXlhcm46IFxcZjdlMztcbiRmYS12YXIteWVscDogXFxmMWU5O1xuJGZhLXZhci15ZW4tc2lnbjogXFxmMTU3O1xuJGZhLXZhci15aW4teWFuZzogXFxmNmFkO1xuJGZhLXZhci15b2FzdDogXFxmMmIxO1xuJGZhLXZhci15b3V0dWJlOiBcXGYxNjc7XG4kZmEtdmFyLXlvdXR1YmUtc3F1YXJlOiBcXGY0MzE7XG4kZmEtdmFyLXpoaWh1OiBcXGY2M2Y7XG4iLCIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBmYS1pY29uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiBmYS1pY29uLXJvdGF0ZSgkZGVncmVlcywgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259KVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5cbkBtaXhpbiBmYS1pY29uLWZsaXAoJGhvcml6LCAkdmVydCwgJHJvdGF0aW9uKSB7XG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249I3skcm90YXRpb259LCBtaXJyb3I9MSlcIjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkaG9yaXosICR2ZXJ0KTtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVycy4gQSBsYSBCb290c3RyYXAgNC5cbi8vXG4vLyBTZWU6IGh0dHA6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cblxuQG1peGluIHNyLW9ubHkge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cbiIsIi8vIEJhc2UgQ2xhc3MgRGVmaW5pdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0sXG4uZmFzLFxuLmZhcixcbi5mYWwsXG4uZmFkLFxuLmZhYiB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuJWZhLWljb24ge1xuICBAaW5jbHVkZSBmYS1pY29uO1xufVxuIiwiLy8gSWNvbiBTaXplc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lclxuLiN7JGZhLWNzcy1wcmVmaXh9LWxnIHtcbiAgZm9udC1zaXplOiAoNGVtIC8gMyk7XG4gIGxpbmUtaGVpZ2h0OiAoM2VtIC8gNCk7XG4gIHZlcnRpY2FsLWFsaWduOiAtLjA2NjdlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXhzIHtcbiAgZm9udC1zaXplOiAuNzVlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtIHtcbiAgZm9udC1zaXplOiAuODc1ZW07XG59XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTAge1xuICAuI3skZmEtY3NzLXByZWZpeH0tI3skaX14IHtcbiAgICBmb250LXNpemU6ICRpICogMWVtO1xuICB9XG59XG4iLCIvLyBGaXhlZCBXaWR0aCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ3IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWZ3LXdpZHRoO1xufVxuIiwiLy8gTGlzdCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAkZmEtbGktd2lkdGggKiA1LzQ7XG4gIHBhZGRpbmctbGVmdDogMDtcblxuICA+IGxpIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1saSB7XG4gIGxlZnQ6IC0kZmEtbGktd2lkdGg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogJGZhLWxpLXdpZHRoO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cbiIsIi8vIEJvcmRlcmVkICYgUHVsbGVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXIge1xuICBib3JkZXI6IHNvbGlkIC4wOGVtICRmYS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IC4xZW07XG4gIHBhZGRpbmc6IC4yZW0gLjI1ZW0gLjE1ZW07XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1wdWxsLWxlZnQgeyBmbG9hdDogbGVmdDsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1bGwtcmlnaHQgeyBmbG9hdDogcmlnaHQ7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LFxuLmZhcyxcbi5mYXIsXG4uZmFsLFxuLmZhYiB7XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1sZWZ0IHsgbWFyZ2luLXJpZ2h0OiAuM2VtOyB9XG4gICYuI3skZmEtY3NzLXByZWZpeH0tcHVsbC1yaWdodCB7IG1hcmdpbi1sZWZ0OiAuM2VtOyB9XG59XG4iLCIvLyBBbmltYXRlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW4ge1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tcHVsc2Uge1xuICBhbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG59XG5cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIi8vIFJvdGF0ZWQgJiBGbGlwcGVkIEljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAgIHsgQGluY2x1ZGUgZmEtaWNvbi1yb3RhdGUoOTBkZWcsIDEpOyAgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdGF0ZS0xODAgeyBAaW5jbHVkZSBmYS1pY29uLXJvdGF0ZSgxODBkZWcsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCB7IEBpbmNsdWRlIGZhLWljb24tcm90YXRlKDI3MGRlZywgMyk7IH1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCB7IEBpbmNsdWRlIGZhLWljb24tZmxpcCgtMSwgMSwgMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLXZlcnRpY2FsICAgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoMSwgLTEsIDIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ib3RoLCAuI3skZmEtY3NzLXByZWZpeH0tZmxpcC1ob3Jpem9udGFsLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwgeyBAaW5jbHVkZSBmYS1pY29uLWZsaXAoLTEsIC0xLCAyKTsgfVxuXG4vLyBIb29rIGZvciBJRTgtOVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG46cm9vdCB7XG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtOTAsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1yb3RhdGUtMTgwLFxuICAuI3skZmEtY3NzLXByZWZpeH0tcm90YXRlLTI3MCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtaG9yaXpvbnRhbCxcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXAtdmVydGljYWwsXG4gIC4jeyRmYS1jc3MtcHJlZml4fS1mbGlwLWJvdGgge1xuICAgIGZpbHRlcjogbm9uZTtcbiAgfVxufVxuIiwiLy8gU3RhY2tlZCBJY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMmVtO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAoJGZhLWZ3LXdpZHRoKjIpO1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMXgsXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2stMngge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLiN7JGZhLWNzcy1wcmVmaXh9LWludmVyc2Uge1xuICBjb2xvcjogJGZhLWludmVyc2U7XG59XG4iLCIvKiBGb250IEF3ZXNvbWUgdXNlcyB0aGUgVW5pY29kZSBQcml2YXRlIFVzZSBBcmVhIChQVUEpIHRvIGVuc3VyZSBzY3JlZW5cbnJlYWRlcnMgZG8gbm90IHJlYWQgb2ZmIHJhbmRvbSBjaGFyYWN0ZXJzIHRoYXQgcmVwcmVzZW50IGljb25zICovXG5cbi4jeyRmYS1jc3MtcHJlZml4fS01MDBweDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItNTAwcHgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWJhY3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hYmFjdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY2Nlc3NpYmxlLWljb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWNjdXNvZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFjY3Vzb2Z0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFjb3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hY3F1aXNpdGlvbnMtaW5jb3Jwb3JhdGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGRyZXNzLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkZHJlc3MtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZGp1c3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkanVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hZHZlcnNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWR2ZXJzYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWZmaWxpYXRldGhlbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFmZmlsaWF0ZXRoZW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpci1jb25kaXRpb25lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWlyLWNvbmRpdGlvbmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFpci1mcmVzaGVuZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFpci1mcmVzaGVuZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWlyYm5iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1haXJibmIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxhcm0tY2xvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsYXJtLWNsb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYXJtLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGFybS1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGFybS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGFybS1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYXJtLXNub296ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxhcm0tc25vb3plKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsYnVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGJ1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGJ1bS1jb2xsZWN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGJ1bS1jb2xsZWN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsZ29saWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsZ29saWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGllbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZW4tbW9uc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYWxpZW4tbW9uc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1jZW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWNlbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlnbi1qdXN0aWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1qdXN0aWZ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYWxpZ24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaWduLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFsaWduLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbGlnbi1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGlwYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsaXBheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbGxlcmdpZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFsbGVyZ2llcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtYXpvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtYnVsYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW1idWxhbmNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbWlsaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFtaWxpYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbXAtZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbXAtZ3VpdGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuYWx5dGljczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5hbHl0aWNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuY2hvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5jaG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZHJvaWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZHJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ2VsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2VsbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nZWxsaXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1kb3VibGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5nbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmdsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmdsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5nbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ncnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFuZ3J5Y3JlYXRpdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYW5ndWxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hbmtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hbmtoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwLXN0b3JlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcC1zdG9yZS1pb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcC1zdG9yZS1pb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFwcGxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcHBsZS1jcmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXBwbGUtY3JhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJjaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcmNod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcmNod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWNpcmNsZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tYm90dG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtZnJvbS1ib3R0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWZyb20tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtZnJvbS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LWZyb20tcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWZyb20tdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtZnJvbS10b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC1zcXVhcmUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctYWx0LXNxdWFyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXNxdWFyZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tYm90dG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tYm90dG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC10by1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LWFsdC10by1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1hbHQtdG8tdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1hbHQtdG8tdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWFsdC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1jaXJjbGUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1mcm9tLWJvdHRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS1ib3R0b20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZnJvbS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1mcm9tLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctZnJvbS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1mcm9tLXRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctZnJvbS10b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3ctc3F1YXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXNxdWFyZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy1zcXVhcmUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1zcXVhcmUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy1zcXVhcmUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXNxdWFyZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by1ib3R0b206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXRvLWJvdHRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy10by1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFycm93LXRvLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvdy10by1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy10by10b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93LXRvLXRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3ctdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hcnJvd3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtYWx0LXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy1hbHQtdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hcnJvd3MtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXJyb3dzLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXJyb3dzLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFycm93cy12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFydHN0YXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFydHN0YXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzdGVyaXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWFzeW1tZXRyaWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWFzeW1tZXRyaWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0bGFzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdGxhcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdGxhc3NpYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF0bGFzc2lhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdG9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdG9tKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF0b20tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdG9tLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdWRpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdWRpby1kZXNjcmlwdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdXRvcHJlZml4ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF1dG9wcmVmaXhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hdmlhbmV4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hdmlhbmV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF2aWF0bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYXZpYXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWF3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1hd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1hd3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF3cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1heGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWF4ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1heGUtYmF0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1heGUtYmF0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhYnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhYnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFieS1jYXJyaWFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFieS1jYXJyaWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWNrcGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFja3BhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3NwYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNrc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhY29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWNvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWN0ZXJpYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFjdGVyaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFjdGVyaXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWN0ZXJpdW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhZGdlLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZS1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWRnZS1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWRnZS1wZXJjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZS1wZXJjZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhZGdlLXNoZXJpZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhZGdlLXNoZXJpZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFkZ2VyLWhvbmV5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWRnZXItaG9uZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFncy1zaG9wcGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFncy1zaG9wcGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWhhaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFoYWkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFsYW5jZS1zY2FsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsYW5jZS1zY2FsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbGFuY2Utc2NhbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYWxhbmNlLXNjYWxlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYWxhbmNlLXNjYWxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGwtcGlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbC1waWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGxvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbGxvdC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFsbG90LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhbmQtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYW5kLWFpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYW5kY2FtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFuZGNhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFuam86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhbmpvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFyY29kZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcmNvZGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGUtcmVhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFyY29kZS1yZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcmNvZGUtc2NhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmFyY29kZS1zY2FuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFzZWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2ViYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhc2ViYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhc2ViYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFza2V0YmFsbC1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNrZXRiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmFza2V0YmFsbC1ob29wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXNrZXRiYWxsLWhvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktYm9sdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0ZXJ5LWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktZnVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktaGFsZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS1xdWFydGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJhdHRlcnktc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJhdHRlcnktc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmF0dGVyeS10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iYXR0bGUtbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iYXR0bGUtbmV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVkLWJ1bms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZC1idW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZC1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVkLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVoYW5jZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWhhbmNlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVoYW5jZS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmVsbC1zY2hvb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJlbGwtc2Nob29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGwtc2Nob29sLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNjaG9vbC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZWxsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxsLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iZXRhbWF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iZXRhbWF4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJlemllci1jdXJ2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmV6aWVyLWN1cnZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaWN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpa2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpa2luZy1tb3VudGFpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlraW5nLW1vdW50YWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbW9iamVjdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmltb2JqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpbm9jdWxhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpbm9jdWxhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlvaGF6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaW9oYXphcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmlydGhkYXktY2FrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmlydGhkYXktY2FrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRidWNrZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdGJ1Y2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1iaXRjb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1iaXRjb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJpdHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJpdHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2stdGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFjay10aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxhY2tiZXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxhY2tiZXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGFua2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGFua2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsZW5kZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsZW5kZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxlbmRlci1waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxlbmRlci1waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibGluZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxpbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibGluZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxpbmRzLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsaW5kcy1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsaW5kcy1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJsaW5kcy1yYWlzZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYmxvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ibG9nZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibG9nZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsb2dnZXItYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmxvZ2dlci1iKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYmx1ZXRvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJsdWV0b290aC1iOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ibHVldG9vdGgtYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib2xkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib2xkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9tYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9tYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvbmUtYnJlYWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvbmUtYnJlYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9uZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9uZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWRlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2stZGVhZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2stcmVhZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLXJlYWRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rLXNwZWxsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vay1zcGVsbHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vay11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rLXVzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb2ttYXJrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib29rcy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib29rcy1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb21ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvb21ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9vdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib290aC1jdXJ0YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib290aC1jdXJ0YWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvb3RzdHJhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9vdHN0cmFwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1hbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLWJvdHRvbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLWJvdHRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItY2VudGVyLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1jZW50ZXItaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItY2VudGVyLXY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1jZW50ZXItdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1pbm5lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3JkZXItbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLW5vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1ub25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1vdXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLW91dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXN0eWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJvcmRlci1zdHlsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvcmRlci1zdHlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm9yZGVyLXRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm9yZGVyLXRvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3ctYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvdy1hcnJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3dsaW5nLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvd2xpbmctYmFsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3dsaW5nLXBpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJvd2xpbmctcGlucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1iYWxsb3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1iYWxsb3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LWZyYWdpbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1mcmFnaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveC1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtZnVsbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYm94LXRpc3N1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYm94LXRpc3N1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3gtdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3gtdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ib3hlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hlcy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveGVzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ib3hpbmctZ2xvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJveGluZy1nbG92ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmFja2V0czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJhY2tldHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhY2tldHMtY3VybHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWNrZXRzLWN1cmx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyYWlsbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWlsbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyZWFkLWxvYWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLWxvYWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJlYWQtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyZWFkLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJpZWZjYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaWVmY2FzZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmllZmNhc2UtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icmluZy1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmluZy1mb3J3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJyaW5nLWZyb250OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1icmluZy1mcm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9hZGNhc3QtdG93ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJyb2FkY2FzdC10b3dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnJvd3NlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJvd3Nlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1icnVzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnJ1c2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnRjOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idGMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVmZmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWZmZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVpbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxob3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idWxsaG9ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idWxsc2V5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVsbHNleWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVsbHNleWUtYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1bGxzZXllLXBvaW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1bGxzZXllLXBvaW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyZ2VyLXNvZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cmdlci1zb2RhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cm4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVyb21vYmVsZXhwZXJ0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXJyaXRvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXJyaXRvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWJ1cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tYnVzLXNjaG9vbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItYnVzLXNjaG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXNpbmVzcy10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXNpbmVzcy10aW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWJ1eS1uLWxhcmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXktbi1sYXJnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1idXlzZWxsYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1idXlzZWxsYWRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhYmluZXQtZmlsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWJpbmV0LWZpbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWN0dXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhY3R1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGN1bGF0b3ItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxjdWxhdG9yLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWRheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FsZW5kYXItZGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItZXhjbGFtYXRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYWxlbmRhci1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYWxlbmRhci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXN0YXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXN0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FsZW5kYXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbGVuZGFyLXdlZWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbGVuZGFyLXdlZWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtY29yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1jb3JkZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW1lcmEtaG9tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FtZXJhLWhvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLW1vdmllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtbW92aWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXBvbGFyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcG9sYXJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtZXJhLXJldHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW1lcmEtcmV0cm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FtcGZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbXBmaXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbXBncm91bmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbXBncm91bmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuYWRpYW4tbWFwbGUtbGVhZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5kbGUtaG9sZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYW5kbGUtaG9sZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhbmR5LWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhbmR5LWNhbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FuZHktY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FuZHktY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYW5uYWJpczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FubmFiaXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2Fwc3VsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcHN1bGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLWJhdHRlcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1iYXR0ZXJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1idWlsZGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWJ1aWxkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1idW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYnVtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItYnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItYnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1jcmFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLWNyYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci1nYXJhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1nYXJhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLW1lY2hhbmljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItbWVjaGFuaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyLXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhci1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhci10aWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXItdGlsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXItd2FzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyLXdhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyYXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJhdmFuLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyYXZhbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtY2lyY2xlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWNpcmNsZS1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1jaXJjbGUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1jaXJjbGUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcmV0LXNxdWFyZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXJldC1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtc3F1YXJlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJldC1zcXVhcmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FyZXQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcmV0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnJvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Fycm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LWFycm93LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FydC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXJ0LXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2FzaC1yZWdpc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2FzaC1yZWdpc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYXNzZXR0ZS10YXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXNzZXR0ZS10YXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdC1zcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2F0LXNwYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNhdWxkcm9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYXVsZHJvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hbWF6b24tcGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWFtZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWFtZXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtYXBwbGUtcGF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1hcHBsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2MtZGluZXJzLWNsdWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWRpbmVycy1jbHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLWRpc2NvdmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1kaXNjb3Zlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1qY2I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLWpjYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jYy1tYXN0ZXJjYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jYy1tYXN0ZXJjYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2MtcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2Mtc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNjLXZpc2E6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNjLXZpc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2N0djpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2N0dik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jZW50ZXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZW50ZXJjb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlbnRvczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2VudG9zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jZXJ0aWZpY2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFpcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhaXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhaXItb2ZmaWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFpci1vZmZpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhbGtib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhbGtib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFsa2JvYXJkLXRlYWNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFyZ2luZy1zdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LWFyZWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWFyZWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1iYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtbGluZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1saW5lLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LWxpbmUtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGFydC1uZXR3b3JrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGFydC1uZXR3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoYXJ0LXBpZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoYXJ0LXBpZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hhcnQtc2NhdHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hhcnQtc2NhdHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stZG91YmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlY2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVjay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlLXN3aXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2Utc3dpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlZXNlYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVlc2VidXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hlc3MtYmlzaG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWJpc2hvcC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJpc2hvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1jbG9jay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWNsb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLWtpbmctYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1raW5nLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1rbmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLWtuaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1rbmlnaHQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1rbmlnaHQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXBhd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hlc3MtcGF3bi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXBhd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXF1ZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1xdWVlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1xdWVlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXNzLXF1ZWVuLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGVzcy1yb29rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1yb29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXNzLXJvb2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGVzcy1yb29rLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvdWJsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvdWJsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG91YmxlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG91YmxlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1kb3VibGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG91YmxlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tZG91YmxlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLWRvdWJsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaGV2cm9uLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tc3F1YXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tc3F1YXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1zcXVhcmUtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1zcXVhcmUtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaGV2cm9uLXNxdWFyZS1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hldnJvbi1zcXVhcmUtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hldnJvbi1zcXVhcmUtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tc3F1YXJlLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoZXZyb24tdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoZXZyb24tdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hpbGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNoaW1uZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNoaW1uZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaHJvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2hyb21lY2FzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2hyb21lY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaHVyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNodXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXJjbGUtbm90Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNpcmNsZS1ub3RjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jaXR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsYXJpbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGFyaW5ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGF3LW1hcmtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGF3LW1hcmtzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaW5pYy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbGluaWMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbGlwYm9hcmQtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xpcGJvYXJkLWxpc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLWxpc3QtY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1saXN0LWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsaXBib2FyZC1wcmVzY3JpcHRpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xpcGJvYXJkLXVzZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsaXBib2FyZC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZG93bmxvYWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtZHJpenpsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtZHJpenpsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1oYWlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1oYWlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLWhhaWwtbWl4ZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLWhhaWwtbWl4ZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbWVhdGJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1lYXRiYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbW9vbi1yYWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1tb29uLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXJhaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtcmFpbmJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtcmFpbmJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZC1zaG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zaG93ZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNob3dlcnMtaGVhdnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNob3dlcnMtaGVhdnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc2xlZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNsZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXNub3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXNub3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZC1zdW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWQtc3VuLXJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXN1bi1yYWluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWQtdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3VkLXVwbG9hZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3VkLXVwbG9hZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRmbGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRmbGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHMtbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzLW1vb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWRzLXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2xvdWRzLXN1bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jbG91ZHNjYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHNjYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNsb3Vkc21pdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNsb3Vkc21pdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2xvdWR2ZXJzaWZ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jbG91ZHZlcnNpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY2x1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY2x1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2NrdGFpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ja3RhaWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RlLWJyYW5jaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZS1icmFuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZS1jb21taXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtY29tbWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvZGUtbWVyZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvZGUtbWVyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29kZXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kZXBlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2RpZXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29kaWVwaWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmZWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmVlLXBvdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlLXBvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2ZmZWUtdG9nbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29mZmVlLXRvZ28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29mZmluLWNyb3NzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2ZmaW4tY3Jvc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29nczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29ncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvaW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2lucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb2x1bW5zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21ldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtZG90czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtZG90cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1saW5lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtbXVzaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtYWx0LXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWFsdC1zbWlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWFsdC10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1hbHQtdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1jaGVjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1kb3RzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWRvdHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC1tdXNpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC1tdXNpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbW1lbnQtc21pbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnQtc21pbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudC10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudC10aW1lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21tZW50cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tbWVudHMtYWx0LWRvbGxhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tbWVudHMtYWx0LWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21tZW50cy1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbW1lbnRzLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYWN0LWRpc2M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhY3QtZGlzYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXBhc3Mtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXBhc3Mtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3MtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXByZXNzLWFycm93cy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXByZXNzLWFycm93cy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29tcHJlc3Mtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29tcHJlc3Mtd2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb21wdXRlci1jbGFzc2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb21wdXRlci1jbGFzc2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbXB1dGVyLXNwZWFrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbXB1dGVyLXNwZWFrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29uY2llcmdlLWJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmNpZXJnZS1iZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbmZsdWVuY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbmZsdWVuY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29ubmVjdGRldmVsb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbm5lY3RkZXZlbG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnN0cnVjdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29uc3RydWN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnRhaW5lci1zdG9yYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb250YWluZXItc3RvcmFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb250YW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvbnRhbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb252ZXlvci1iZWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb252ZXlvci1iZWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvbnZleW9yLWJlbHQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb252ZXlvci1iZWx0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvb2tpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb29raWUtYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29va2llLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY29weTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY29weSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3B5cmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvcHlyaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jb3JuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3JuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdHRvbi1idXJlYXU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdHRvbi1idXJlYXUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY291Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvdWNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY293KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNvd2JlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNvd2JlbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY293YmVsbC1tb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jb3diZWxsLW1vcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3BhbmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcGFuZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLWJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLW5jLWpwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWpwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1wZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1yZW1peCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlYXRpdmUtY29tbW9ucy1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVhdGl2ZS1jb21tb25zLXplcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtemVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmVkaXQtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JlZGl0LWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JlZGl0LWNhcmQtYmxhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyZWRpdC1jYXJkLWJsYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyZWRpdC1jYXJkLWZyb250OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmVkaXQtY2FyZC1mcm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcmlja2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcmlja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyaXRpY2FsLXJvbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyaXRpY2FsLXJvbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvaXNzYW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcm9pc3NhbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm9wLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3JvcC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3Jvc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNyb3NzaGFpcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNyb3NzaGFpcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1jcm93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3Jvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jcnV0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3J1dGNoZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNydXRjaGVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWNzczM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3NzMy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWNzczMtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3ViZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1YmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWN1cmxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWN1cmxpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1jdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tY3V0dGxlZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItY3V0dGxlZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kLWFuZC1kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWQtYW5kLWQtYmV5b25kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kLWFuZC1kLWJleW9uZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWdnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhZ2dlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kYWlseW1vdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGFpbHltb3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGFzaGN1YmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRhc2hjdWJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRhdGFiYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kYXRhYmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlYnVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWJ1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXItcnVkb2xwaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlci1ydWRvbHBoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlZXplcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVlemVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbGljaW91czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGVsaWNpb3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlbW9jcmF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZW1vY3JhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXBsb3lkb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlcGxveWRvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kZXNrcHJvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kZXNrcHJvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRlc2t0b3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGVza3RvcC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRlc2t0b3AtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGV2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRldmlhbnRhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRldmlhbnRhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGV3cG9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRld3BvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRoYXJtYWNoYWtyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhhcm1hY2hha3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRobDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGhsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYWdub3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlhZ25vc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpYW1vbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYW1vbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlhc3BvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpYXNwb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kMTA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDEwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDEyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQxMik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQyMDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kMjApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1kNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGljZS1kNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLWQ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWQ2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtZDg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2UtZDgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1maXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1mb3VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLWZvdXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGljZS1vbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpY2Utb25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2Utc2l4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXNpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWNlLXRocmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXRocmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpY2UtdHdvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWNlLXR3byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaWdnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpZ2dpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2dpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlnaXRhbC1vY2VhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlnaXRhbC1vY2Vhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaWdpdGFsLXRhY2hvZ3JhcGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpZ2l0YWwtdGFjaG9ncmFwaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXBsb21hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXBsb21hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpcmVjdGlvbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpcmVjdGlvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGlzYy1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzYy1kcml2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kaXNjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXNjb3JkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2NvdXJzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZGlzY291cnNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRpc2Vhc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpc2Vhc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl2aWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kaXZpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZGl6enk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRpenp5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRuYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG5hKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvLW5vdC1lbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG8tbm90LWVudGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2h1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9jaHViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvY2tlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9ja2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvZy1sZWFzaGVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2ctbGVhc2hlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xsYXItc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9sbGFyLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG9sbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvbGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5LWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbGx5LWZsYXRiZWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb2xseS1mbGF0YmVkLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb2xseS1mbGF0YmVkLWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZG9uYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvb3ItY2xvc2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb29yLWNsb3NlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb29yLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvb3Itb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kb3QtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kb3QtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRvdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRvd25sb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWZ0MmRpZ2l0YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhZnRpbmctY29tcGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhZnRpbmctY29tcGFzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcmF3LWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJhdy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhdy1wb2x5Z29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcmF3LXBvbHlnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJhdy1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyYXctc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyZWlkZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyZWlkZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJpYmJibGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyaWJiYmxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyaWJiYmxlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJpYmJibGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyb25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcm9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9uZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyb25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcm9wYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcm9wYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1bS1zdGVlbHBhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bS1zdGVlbHBhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtc3RpY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRydW1zdGljayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kcnVtc3RpY2stYml0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ1bXN0aWNrLWJpdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ1cGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kcnVwYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHJ5ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWRyeWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWRyeWVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZHJ5ZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1Y2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHVtYmJlbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bWJiZWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bXBzdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1kdW1wc3Rlci1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1kdW1wc3Rlci1maXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWR1bmdlb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWR1bmdlb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZHlhbG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1keWFsb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFyLW11ZmZzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYXItbXVmZnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWFybHliaXJkczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWFybHliaXJkcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lYmF5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lYmF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVjbGlwc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVjbGlwc2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWNsaXBzZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVjbGlwc2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWRnZS1sZWdhY3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkZ2UtbGVnYWN5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWdnLWZyaWVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lZ2ctZnJpZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZWplY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVqZWN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZW1lbnRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZWxlbWVudG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsZXBoYW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGVwaGFudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLWgtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy1oLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxpcHNpcy12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy12KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVsbGlwc2lzLXYtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxpcHNpcy12LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbGxvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbGxvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVtYmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1lbWJlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXBpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcGlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbXB0eS1zZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVtcHR5LXNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1lbmdpbmUtd2FybmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW5naW5lLXdhcm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZW52ZWxvcGUtb3Blbi1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWVudmVsb3BlLW9wZW4tZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLW9wZW4tdGV4dDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmVsb3BlLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52ZWxvcGUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVudmlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZW52aXJhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVxdWFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXF1YWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVyYXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJhc2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWVybGFuZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXJsYW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV0aGVyZXVtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ldGhlcmV1bSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldGhlcm5ldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRoZXJuZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXRzeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXRzeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldXJvLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV1cm8tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ldmVybm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXZlcm5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhjaGFuZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2hhbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2hhbmdlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjaGFuZ2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4Y2xhbWF0aW9uLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhjbGFtYXRpb24tdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwYW5kLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtYXJyb3dzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYXJyb3dzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4cGFuZC1hcnJvd3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHBhbmQtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXhwYW5kLXdpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXhwZWRpdGVkc3NsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leHBlZGl0ZWRzc2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leHRlcm5hbC1saW5rLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWV4dGVybmFsLWxpbmstc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV4dGVybmFsLWxpbmstc3F1YXJlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWV5ZS1kcm9wcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtZHJvcHBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1leWUtZXZpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZXllLWV2aWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZXllLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1leWUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhY2Vib29rLWY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhY2Vib29rLWYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stbWVzc2VuZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1tZXNzZW5nZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYWNlYm9vay1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFuLXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYW4tdGFibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZhcm06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhcm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmFzdC1iYWNrd2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmFzdC1iYWNrd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXN0LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhc3QtZm9yd2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXVjZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZhdWNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mYXVjZXQtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmF1Y2V0LWRyaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmF4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mYXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVhdGhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mZWF0aGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVhdGhlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmVkZXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZlZGV4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlZG9yYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVkb3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmVtYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZWxkLWhvY2tleTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmllbGQtaG9ja2V5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpZ2h0ZXItamV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWdodGVyLWpldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWdtYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlnbWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWFyY2hpdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1hdWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1hdWRpbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNlcnRpZmljYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNlcnRpZmljYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY2hhcnQtbGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jaGFydC1saW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY2hhcnQtcGllOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNoYXJ0LXBpZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWNoZWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29kZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1jb2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtY29udHJhY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY29udHJhY3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1jc3Y6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtY3N2KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtZG93bmxvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1leGNlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1leGNlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4Y2xhbWF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtZXhwb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWV4cG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtaW1wb3J0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWltcG9ydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtaW52b2ljZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLWludm9pY2UtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLWludm9pY2UtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1tZWRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtbWVkaWNhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtbWVkaWNhbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtcGRmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXBkZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXBvd2VycG9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtcG93ZXJwb2ludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS1wcmVzY3JpcHRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtc2VhcmNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtc2lnbmF0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxlLXNwcmVhZHNoZWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXNwcmVhZHNoZWV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZS11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGUtdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbGUtdmlkZW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZS13b3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxlLXdvcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsZXMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsZXMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbGwtZHJpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlsbC1kcmlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsbS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpbG0tY2FuaXN0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbG0tY2FuaXN0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlsdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maWx0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmluZ2VycHJpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpbmdlcnByaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXJlLXNtb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlLXNtb2tlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcmVmb3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcmVmb3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZWZveC1icm93c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlZm94LWJyb3dzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyZXBsYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJlcGxhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3QtYWlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1maXJzdC1haWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlyc3Qtb3JkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0LW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlyc3Qtb3JkZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZpcnN0ZHJhZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpcnN0ZHJhZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1maXNoLWNvb2tlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmlzaC1jb29rZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmlzdC1yYWlzZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZpc3QtcmFpc2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhZy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYWctYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbGFnLWNoZWNrZXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbGFnLXVzYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhZy11c2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYW1lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNobGlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYXNobGlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmxhc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrLXBvaXNvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2stcG9pc29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsYXNrLXBvdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxhc2stcG90aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaWNrcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpY2tyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsaXBib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxpcGJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlci1kYWZmb2RpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyLWRhZmZvZGlsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsb3dlci10dWxpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZmxvd2VyLXR1bGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsdXNoZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsdXNoZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZmx1dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZsdXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZsdXgtY2FwYWNpdG9yOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mbHV4LWNhcGFjaXRvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mbHk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZseSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1kb3dubG9hZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItbWludXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1taW51cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLW9wZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9sZGVyLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci10aW1lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9sZGVyLXRpbWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlci10cmVlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItdHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb2xkZXItdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb2xkZXItdXBsb2FkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbGRlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbGRlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9udDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvbnQtYXdlc29tZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtZmxhZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mb250LWF3ZXNvbWUtbG9nby1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb250LWF3ZXNvbWUtbG9nby1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnQtY2FzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udC1jYXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvbnRpY29ucy1maTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9udGljb25zLWZpKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvb3RiYWxsLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvb3RiYWxsLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9vdGJhbGwtaGVsbWV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mb290YmFsbC1oZWxtZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ya2xpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcmtsaWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm9ydC1hd2Vzb21lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcnQtYXdlc29tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm9ydW1iZWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcnVtYmVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZm91cnNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmFnaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmFnaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZWUtY29kZS1jYW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlLWNvZGUtY2FtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcmVlYnNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcmVlYnNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyZW5jaC1mcmllczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZnJlbmNoLWZyaWVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnJvc3R5LWhlYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZyb3N0eS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZyb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1mcm93bi1vcGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mcm93bi1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bGNydW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bGNydW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnVuY3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bmN0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWZ1bm5lbC1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWZ1bm5lbC1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZnV0Ym9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1mdXRib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FsYWN0aWMtcmVwdWJsaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbGFjdGljLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGFjdGljLXNlbmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYWN0aWMtc2VuYXRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbGF4eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FsYXh5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWUtYm9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWUtYm9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZS1ib2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWUtYm9hcmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWUtY29uc29sZS1oYW5kaGVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FtZS1jb25zb2xlLWhhbmRoZWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhbWVwYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWVwYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FtZXBhZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhbWVwYWQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcmFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FyYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcmFnZS1jYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhcmFnZS1jYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2FyYWdlLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhcmFnZS1vcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdhcy1wdW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nYXMtcHVtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nYXMtcHVtcC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2FzLXB1bXAtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2F2ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdhdmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2VtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdlbmRlcmxlc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdlbmRlcmxlc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2V0LXBvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2V0LXBvY2tldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2ctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nZy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2hvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdob3N0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdC1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naWZ0LWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2lmdHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpZnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpbmdlcmJyZWFkLW1hbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2luZ2VyYnJlYWQtbWFuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2l0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1naXRodWItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRodWItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdpdGh1Yi1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdpdGh1Yi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0a3Jha2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRrcmFrZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0bGFiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXRsYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2l0dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1naXR0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoYW1wYWduZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hhbXBhZ25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNoZWVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2hlZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLWNpdHJ1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3MtY2l0cnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLW1hcnRpbmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3MtbWFydGluaS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzLXdoaXNrZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsYXNzLXdoaXNrZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xhc3Mtd2hpc2tleS1yb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xhc3Mtd2hpc2tleS1yb2Nrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGFzc2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsYXNzZXMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbGFzc2VzLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbGlkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xpZGUtZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xpZGUtZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYWZyaWNhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1hZnJpY2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtYW1lcmljYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFtZXJpY2FzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdsb2JlLWFzaWE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdsb2JlLWFzaWEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtZXVyb3BlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nbG9iZS1ldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ2xvYmUtc25vdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtc25vdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nbG9iZS1zdGFuZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ2xvYmUtc3RhbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29mb3JlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2ZvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1iYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWJhbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29sZi1jbHViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb2xmLWNsdWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29kcmVhZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZHJlYWRzLWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2RyZWFkcy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1kcml2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLWRyaXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29vZ2xlLXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS1wbGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1nb29nbGUtcGx1cy1nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1nb29nbGUtcGx1cy1nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29vZ2xlLXBsdXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdvb2dsZS13YWxsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdvb2dsZS13YWxsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ29wdXJhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ29wdXJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmFkdWF0aW9uLWNhcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhZHVhdGlvbi1jYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhbW9waG9uZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhbW9waG9uZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmF0aXBheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JhdGlwYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JhdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jhdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmVhdGVyLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmltYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmltYWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tYmVhbS1zd2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1iZWFtLXN3ZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4taGVhcnRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLWhlYXJ0cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXNxdWludDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi1zcXVpbnQtdGVhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaW4tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10ZWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10ZWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXRvbmd1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtc3F1aW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmluLXRvbmd1ZS1zcXVpbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3Jpbi10b25ndWUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3Jpbi10b25ndWUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmluLXdpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaW4td2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWhvcml6b250YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwLWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ncmlwLWxpbmVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWdyaXAtbGluZXMtdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3JpcC12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcC12ZXJ0aWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ncmlwZmlyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3JpcGZpcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3J1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWdydW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWd1aWxkZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWd1aWxkZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyLWVsZWN0cmljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWl0YXItZWxlY3RyaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tZ3VpdGFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItZ3VpdGFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ndWxwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ndWxwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaDEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taDI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWgyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWgzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oMyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaDQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFja2VyLW5ld3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlci1uZXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlci1uZXdzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFja2VyLW5ld3Mtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhY2tlcnJhbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhY2tlcnJhbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtYnVyZ2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1idXJnZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW1tZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFtbWVyLXdhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtbWVyLXdhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW1zYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFtc2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1oZWFydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLW1hZ2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctc2VlZGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtaG9sZGluZy1zZWVkbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLWhvbGRpbmctdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWhvbGRpbmctdXNkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtaG9sZGluZy13YXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1ob2xkaW5nLXdhdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtbGl6YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLWxpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLW1pZGRsZS1maW5nZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtbWlkZGxlLWZpbmdlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBhcGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBhcGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcGVhY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcGVhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1wb2ludC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludC1yaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXBvaW50LXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXBvaW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1wb2ludGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtcmVjZWl2aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXJlY2VpdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXJvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtcm9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kLXNjaXNzb3JzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kLXNjaXNzb3JzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmQtc3BhcmtsZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmQtc3BhcmtsZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZC1zcG9jazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZC1zcG9jayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLWhlYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzLWhlbHBpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzLWhlbHBpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtdXNkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kcy11c2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHMtd2FzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGFuZHMtd2FzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYW5kc2hha2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2UtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhbmRzaGFrZS1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFuZHNoYWtlLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYW5kc2hha2Utc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGFudWtpYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhbnVraWFoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhcmQtaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXJkLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXNodGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXNodGFnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jaGVmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY2hlZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oYXQtY293Ym95OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtY293Ym95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1jb3dib3ktc2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LWNvd2JveS1zaWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC1zYW50YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LXNhbnRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhhdC13aW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhhdC13aW50ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LXdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oYXQtd2l0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGF0LXdpemFyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGF0LXdpemFyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZGQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhkZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtYnJhaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1icmFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtY291Z2gtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1jb3VnaC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtaGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZC1zaWRlLWhlYWRwaG9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZC1zaWRlLW1hc2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWQtc2lkZS1tZWRpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXNpZGUtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXNpZGUtdmlydXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWQtc2lkZS12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkLXZyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFkLXZyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYWRpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHBob25lczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFkcGhvbmVzLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHBob25lcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhZHNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhZHNldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1icm9rZW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWFydC1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVhcnQtcmF0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVhcnQtcmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWFydGJlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlYXJ0YmVhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhlbGljb3B0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhlbGljb3B0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGVsbWV0LWJhdHRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGVsbWV0LWJhdHRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oZXhhZ29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oZXhhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpZ2hsaWdodGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaWdobGlnaHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaWtpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpa2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXBwbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGlwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGlwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1oaXJlLWEtaGVscGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1oaXJlLWEtaGVscGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhpc3Rvcnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhpc3RvcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taGl2ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaGl2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob2NrZXktbWFzazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9ja2V5LW1hc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ja2V5LXB1Y2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvY2tleS1wdWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvY2tleS1zdGlja3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvY2tleS1zdGlja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9sbHktYmVycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbGx5LWJlcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvbWUtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvbWUtaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9tZS1sZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZS1sZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob21lLWxnLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9tZS1sZy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9vZC1jbG9hazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vZC1jbG9hayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob29saTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9vbGkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9yaXpvbnRhbC1ydWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Jpem9udGFsLXJ1bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG9ybmJpbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvcm5iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3JzZS1oZWFkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3JzZS1oZWFkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvcnNlLXNhZGRsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9yc2Utc2FkZGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC1zeW1ib2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvc3BpdGFsLXN5bWJvbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3NwaXRhbC11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3NwaXRhbC11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvc3BpdGFsczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG9zcGl0YWxzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdC10dWI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdC10dWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZG9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3Rkb2cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG90ZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdGVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdGphcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG90amFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1lbmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1lbmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91cmdsYXNzLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXJnbGFzcy1oYWxmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXJnbGFzcy1zdGFydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91cmdsYXNzLXN0YXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRhbWFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1kYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWRheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1mbG9vZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaG91c2UtZmxvb2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taG91c2UtbGVhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLWxlYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXNlLW5pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS1uaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1yZXR1cm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXJldHVybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS1zaWduYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWhvdXNlLXNpZ25hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ob3VzZS11c2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3VzZS11c2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWhvdXp6OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ob3V6eik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ocnl2bmlhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ocnl2bmlhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odG1sNSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odWJzcG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odWJzcG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWh1bWlkaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1odW1pZGl0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1odXJyaWNhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWh1cnJpY2FuZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pLWN1cnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaS1jdXJzb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLWNyZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2UtY3JlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNlLXNrYXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY2Utc2thdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNpY2xlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNpY2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pY29uczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWNvbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWNvbnMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pY29ucy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtYmFkZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWJhZGdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkLWNhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taWQtY2FyZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlkLWNhcmQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlkZWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pZGVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pZ2xvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaWdsb28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWltYWdlLXBvbGFyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWFnZS1wb2xhcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWFnZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWltYWdlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbWRiOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbWRiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmJveC1pbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ib3gtaW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5ib3gtb3V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmJveC1vdXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5kdXN0cnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWluZHVzdHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZHVzdHJ5LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5kdXN0cnktYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZmluaXR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZpbml0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWluZm8tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbmZvLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbmZvLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5mby1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5oYWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5oYWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbm5vc29mdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5ub3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnN0YWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW5zdGFncmFtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFncmFtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnN0YWxvZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW5zdGFsb2QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZWdyYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludGVncmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWludGVyY29tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcmNvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW50ZXJzZWN0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnRlcnNlY3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52ZW50b3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pbnZlbnRvcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taW52aXNpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWludmlzaW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWlveGhvc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWlveGhvc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXNsYW5kLXRyb3BpY2FsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pc2xhbmQtdHJvcGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRhbGljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1pdGFsaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0taXRjaC1pbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXRjaC1pbyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWl0dW5lcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1pdHVuZXMtbm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItaXR1bmVzLW5vdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamFjay1vLWxhbnRlcm46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphY2stby1sYW50ZXJuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWphdmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWphdmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamVkaTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamVkaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qZWRpLW9yZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qZWRpLW9yZGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWplbmtpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWplbmtpbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tamlyYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItamlyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb2dldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9nZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tam9pbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpvaW50KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvb21sYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam9vbWxhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpvdXJuYWwtd2hpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qb3VybmFsLXdoaWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qb3lzdGljazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItam95c3RpY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWpzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItanMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWpzZmlkZGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1qc2ZpZGRsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1qdWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWp1Zyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rYWFiYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2FhYmEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2FnZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rYWdnbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2F6b286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWthem9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtlcm5pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtlcm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5LXNrZWxldG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXktc2tlbGV0b24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5YmFzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5YmFzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rZXlib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5Ym9hcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5Y2RuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rZXljZG4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2V5bm90ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2V5bm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raGFuZGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtoYW5kYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWNrc3RhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lja3N0YXJ0ZXItazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2lja3N0YXJ0ZXItayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raWRuZXlzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raWRuZXlzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtpc3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLWJlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2lzcy13aW5rLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1raXNzLXdpbmstaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0ta2l0ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta2l0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1raXdpLWJpcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWtpd2ktYmlyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1rbmlmZS1raXRjaGVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1rbmlmZS1raXRjaGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWtvcnZ1ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXIta29ydnVlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbWJkYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFtYmRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFtcC1kZXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW1wLWRlc2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFtcC1mbG9vcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFtcC1mbG9vcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYW5kbWFyazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFuZG1hcmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZG1hcmstYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYW5kbWFyay1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhbmd1YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxhcHRvcC1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXB0b3AtY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtaG91c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhcHRvcC1ob3VzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXB0b3AtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFwdG9wLW1lZGljYWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFyYXZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFyYXZlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXNzbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzc28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXN0Zm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGFzdGZtLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGFzdGZtLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF1Z2gtYmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF1Z2gtYmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC1zcXVpbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxhdWdoLXNxdWludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXVnaC13aW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXVnaC13aW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxheWVyLWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sYXllci1ncm91cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sYXllci1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGF5ZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGF5ZXItcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZWFmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxlYWYtaGVhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlYWYtaGVhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhZi1tYXBsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZi1tYXBsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZWFmLW9hazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhZi1vYWspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVhbnB1YjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVhbnB1Yik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZW1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVtb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGVzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGVzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXNzLXRoYW4tZXF1YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxlc3MtdGhhbi1lcXVhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxldmVsLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sZXZlbC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGV2ZWwtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGV2ZWwtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sZXZlbC11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlmZS1yaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWZlLXJpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHQtY2VpbGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHQtY2VpbGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodC1zd2l0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0LXN3aXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saWdodC1zd2l0Y2gtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodC1zd2l0Y2gtb2ZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0LXN3aXRjaC1vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHQtc3dpdGNoLW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlnaHRidWxiKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpZ2h0YnVsYi1kb2xsYXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0YnVsYi1kb2xsYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLWV4Y2xhbWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItZXhjbGFtYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRidWxiLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saWdodGJ1bGItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlnaHRzLWhvbGlkYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpZ2h0cy1ob2xpZGF5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1jb2x1bW5zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5lLWNvbHVtbnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGluZS1oZWlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmUtaGVpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlua2VkaW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbmtlZGluKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpbmtlZGluLWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saW5rZWRpbi1pbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW5vZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpbm9kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saW51eDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGludXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlwczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlwcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXJhLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpcmEtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3QtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1saXN0LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1saXN0LW11c2ljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxpc3Qtb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxpc3Qtb2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbGlzdC11bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbGlzdC11bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9jYXRpb24tYXJyb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2F0aW9uLWFycm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9jYXRpb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2F0aW9uLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NhdGlvbi1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvY2stYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrLW9wZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvY2stb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb2NrLW9wZW4tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sb2NrLW9wZW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctYWx0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtbGVmdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb25nLWFycm93LWFsdC1yaWdodDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy1hbHQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctbGVmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy1sZWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWxvbmctYXJyb3ctcmlnaHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG9uZy1hcnJvdy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG9uZy1hcnJvdy11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sb3Zlc2VhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG92ZXNlYXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbG93LXZpc2lvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbG93LXZpc2lvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1sdWNoYWRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbHVjaGFkb3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVnZ2FnZS1jYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdWdnYWdlLWNhcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbHVuZ3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLWx1bmdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LWx1bmdzLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1sdW5ncy12aXJ1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1seWZ0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1seWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnZW50bzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnZW50byk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWdpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFnaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWduZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbC1idWxrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWlsLWJ1bGspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFpbGJveDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFpbGJveCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWlsY2hpbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1haWxjaGltcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hbmRhbG9yaWFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYW5kYWxvcmlhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYW5kb2xpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFuZG9saW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VkLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItYWx0LXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItY2hlY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLWVkaXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItcGx1czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1wbHVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItcXVlc3Rpb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLW1hcmtlci1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLW1hcmtlci1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtbWFya2VyLXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXAtbWFya2VyLXNtaWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcC1tYXJrZXItdGltZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1tYXJrZXItdGltZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFwLXBpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFwLXBpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXAtc2lnbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcC1zaWducyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJrZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFya2Rvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXJrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXJzLWRvdWJsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1kb3VibGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1hcnMtc3Ryb2tlLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWFycy1zdHJva2UtdjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWFycy1zdHJva2Utdik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1hc3RvZG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tYXN0b2Rvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tYXhjZG46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1heGNkbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZGI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1kYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRhcHBzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRhcHBzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lZGl1bS1tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWRpdW0tbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRraXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZGtpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZWRydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVkcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVldHVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWV0dXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVnYXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZWdhcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVnYXBvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lZ2Fwb3J0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1ibGFuazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVoLWJsYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1laC1yb2xsaW5nLWV5ZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVtb3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tZW1vcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVuZGVsZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbmRlbGV5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1lbm9yYWg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1lbm9yYWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWVyY3VyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWVyY3VyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tZXRlb3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1ldGVvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2Jsb2c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvYmxvZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb2NoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3JvY2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3JvcGhvbmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLWFsdC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9waG9uZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWljcm9waG9uZS1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taWNyb3Bob25lLXN0YW5kOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3Bob25lLXN0YW5kKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pY3Jvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1pY3Jvc2NvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm9zb2Z0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3NvZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWljcm93YXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taWNyb3dhdmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWluZC1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWluZC1zaGFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWludXMtaGV4YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtaGV4YWdvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taW51cy1vY3RhZ29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taW51cy1vY3RhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pbnVzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWludXMtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pc3RsZXRvZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWlzdGxldG9lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1pdHRlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl0dGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1peGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXhjbG91ZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1taXhlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbWl4ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbWl6dW5pOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1taXp1bmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb2JpbGUtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9iaWxlLWFuZHJvaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9iaWxlLWFuZHJvaWQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb2JpbGUtYW5kcm9pZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9keDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9keCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25lcm86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmVybyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWJpbGwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1iaWxsLXdhdmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1iaWxsLXdhdmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjay1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmV5LWNoZWNrLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25leS1jaGVjay1lZGl0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1lZGl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vbmV5LWNoZWNrLWVkaXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb25leS1jaGVjay1lZGl0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25pdG9yLWhlYXJ0LXJhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbml0b3ItaGVhcnQtcmF0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb25rZXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vbmtleSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb251bWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9udW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb29uLWNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb29uLWNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vb24tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vb24tc3RhcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW9ydGFyLXBlc3RsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW9ydGFyLXBlc3RsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3NxdWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vc3F1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3RvcmN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3RvcmN5Y2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW1vdW50YWluOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VudGFpbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VudGFpbnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW1vdW50YWlucyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tb3VzZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tb3VzZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbW91c2UtcG9pbnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbW91c2UtcG9pbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tcDMtcGxheWVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tcDMtcGxheWVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11ZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11Zy1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11Zy1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbXVnLW1hcnNobWFsbG93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVnLW1hcnNobWFsbG93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdWctdGVhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdWctdGVhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW11c2ljOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1tdXNpYyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW11c2ljLWFsdC1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1tdXNpYy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbXVzaWMtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmFwc3RlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmFwc3Rlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uYXJ3aGFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1uYXJ3aGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5lb3M6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5lb3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbmV0d29yay13aXJlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbmV0d29yay13aXJlZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ldXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uZXdzcGFwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5ld3NwYXBlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uaW1ibHI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5pbWJscik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ub2RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub2RlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW5vZGUtanM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5vZGUtanMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90LWVxdWFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ub3QtZXF1YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tbm90ZXMtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbm90ZXMtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ucG06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5wbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1uczg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW5zOCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1udXRyaXRpb25peDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItbnV0cml0aW9uaXgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LWdyb3VwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vYmplY3QtZ3JvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2JqZWN0LXVuZ3JvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9iamVjdC11bmdyb3VwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9jdGFnb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9jdGFnb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2N0b3B1cy1kZXBsb3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9jdG9wdXMtZGVwbG95KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9kbm9rbGFzc25pa2k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9kbm9rbGFzc25pa2ktc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9pbC1jYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9pbC1jYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb2lsLXRlbXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9pbC10ZW1wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9sZC1yZXB1YmxpYzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb2xkLXJlcHVibGljKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9tOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vbWVnYTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb21lZ2EpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3BlbmNhcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW9wZW5jYXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZW5pZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3BlbmlkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9wZXJhOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcGVyYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcHRpbi1tb25zdGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcHRpbi1tb25zdGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW9yY2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vcmNpZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vcm5hbWVudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3JuYW1lbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3NpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vc2kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3R0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW90dGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LW91dGRlbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLW91dGRlbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3V0bGV0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1vdXRsZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tb3ZlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3Zlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1vdmVybGluZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItb3ZlcmxpbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZS1icmVhazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZS1icmVhayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWdlNDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFnZTQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZWxpbmVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWdlbGluZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFnZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhZ2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhaW50LWJydXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWludC1icnVzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1icnVzaC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LWJydXNoLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWludC1yb2xsZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhaW50LXJvbGxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYWxldHRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGZlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsZmVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFsbGV0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhbGxldC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhbGxldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFwZXItcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcGVyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcGVyY2xpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFwZXJjbGlwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmFjaHV0ZS1ib3g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhcmFjaHV0ZS1ib3gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJhZ3JhcGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFyYWdyYXBoLXJ0bDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFyYWdyYXBoLXJ0bCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJraW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJraW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhcmtpbmctY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXJraW5nLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXJraW5nLWNpcmNsZS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZy1jaXJjbGUtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFya2luZy1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFya2luZy1zbGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXNzcG9ydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGFzc3BvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGFzdGFmYXJpYW5pc206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhc3RhZmFyaWFuaXNtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhc3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXN0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXRyZW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXRyZW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXVzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXVzZS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdXNlLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBhdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wYXctYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wYXctYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBhdy1jbGF3czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF3LWNsYXdzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBheXBhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGF5cGFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlYWNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZWFjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZWdhc3VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZWdhc3VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLWZhbmN5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tZmFuY3kpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuLW5pYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuLW5pYik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW4tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW4tc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVuY2lsLXBhaW50YnJ1c2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbmNpbC1wYWludGJydXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbmNpbC1ydWxlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVuY2lsLXJ1bGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlbm5hbnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlbm5hbnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVubnktYXJjYWRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZW5ueS1hcmNhZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVvcGxlLWFycm93czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVvcGxlLWFycm93cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZW9wbGUtY2Fycnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlb3BsZS1jYXJyeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXBwZXItaG90OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXBwZXItaG90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmJ5dGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBlcmJ5dGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGVyY2VudDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wZXJjZW50YWdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJjZW50YWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcmlzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyaXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1ib290aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWJvb3RoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1jYXJyeTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWNhcnJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1kb2xseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWRvbGx5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1kb2xseS1lbXB0eTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGVyc29uLWRvbGx5LWVtcHR5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBlcnNvbi1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wZXJzb24tc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waGFicmljYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhhYnJpY2F0b3IpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvZW5peC1mcmFtZXdvcms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob2VuaXgtc3F1YWRyb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLWxhcHRvcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtbGFwdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLW9mZmljZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtb2ZmaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtcm90YXJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS1yb3RhcnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhvbmUtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBob25lLXNxdWFyZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob25lLXNxdWFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvbmUtdm9sdW1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waG9uZS12b2x1bWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGhvdG8tdmlkZW86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBob3RvLXZpZGVvKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBocDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGhwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWFubzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGlhbm8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGlhbm8ta2V5Ym9hcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpYW5vLWtleWJvYXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGllKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGllZC1waXBlci1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZWQtcGlwZXItYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLWhhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXBwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waWdneS1iYW5rOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWdneS1iYW5rKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBpbGxzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1waWxscyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpbnRlcmVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waW50ZXJlc3QtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGludGVyZXN0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGludGVyZXN0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1waXp6YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGl6emEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGl6emEtc2xpY2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBpenphLXNsaWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYWNlLW9mLXdvcnNoaXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGxhbmUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5lLWFycml2YWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLWFycml2YWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtZGVwYXJ0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZS1kZXBhcnR1cmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxhbmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYW5lLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYW5ldC1tb29uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZXQtbW9vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbGFuZXQtcmluZ2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGFuZXQtcmluZ2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGxheS1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsYXktY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsYXlzdGF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbGF5c3RhdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wbHVnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVnKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcGx1cy1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBsdXMtY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtaGV4YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1oZXhhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtb2N0YWdvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcGx1cy1vY3RhZ29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBsdXMtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wbHVzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2RjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2RjYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGl1bTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9kaXVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvZGl1bS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2RpdW0tc3Rhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb2xpY2UtYm94OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xpY2UtYm94KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbC1oOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb2xsLWgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9sbC1wZW9wbGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvbGwtcGVvcGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvby1zdG9ybTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9vLXN0b3JtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvb3A6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvb3ApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9wY29ybjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9wY29ybik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3J0YWwtZW50ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRhbC1lbnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wb3J0YWwtZXhpdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcG9ydGFsLWV4aXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvcnRyYWl0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXBvdW5kLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXBvdW5kLXNpZ24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcG93ZXItb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wb3dlci1vZmYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJheSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmF5aW5nLWhhbmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmF5aW5nLWhhbmRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2NyaXB0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNjcmlwdGlvbi1ib3R0bGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByZXNlbnRhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJlc2VudGF0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wcmludCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludC1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByaW50LXNlYXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcmludC1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJpbnQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcHJvY2VkdXJlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHJvY2VkdXJlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9kdWN0LWh1bnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2R1Y3QtaHVudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0LWRpYWdyYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wcm9qZWN0b3I6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXByb2plY3Rvcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLW1lZGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtbWVkaWNhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wLXNvYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXB1bXAtc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1wdW1wa2luOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1wdW1wa2luKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1c2hlZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHVzaGVkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB1enpsZS1waWVjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHV6emxlLXBpZWNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcHl0aG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXFxOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xcSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xcmNvZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXFyY29kZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1xdWVzdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcXVlc3Rpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1jaXJjbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVlc3Rpb24tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWVzdGlvbi1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpZGRpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWlkZGl0Y2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVpbnNjYXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdWluc2NhcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvcmE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3JhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1b3RlLWxlZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLWxlZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcXVvdGUtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXF1b3RlLXJpZ2h0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXF1cmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1xdXJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yLXByb2plY3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXItcHJvamVjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWJiaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhYmJpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWJiaXQtZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFiYml0LWZhc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFjcXVldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFjcXVldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRhcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkYXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpYXRpb24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaWF0aW9uLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaWF0aW9uLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWRpbzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFkaW8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFkaW8tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYWRpby1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmFpbmJvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmFpbmJvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYWluZHJvcHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhaW5kcm9wcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW06YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW1wLWxvYWRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbXAtbG9hZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYW5kb206YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhbmRvbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXNwYmVycnktcGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJhc3BiZXJyeS1waSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yYXZlbHJ5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yYXZlbHJ5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJheWd1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmF5Z3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlYWN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFjdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWFjdGV1cm9wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVhY3RldXJvcGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVhZG1lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWFkbWUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmViZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlYmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlY2VpcHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY2VpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjb3JkLXZpbnlsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWNvcmQtdmlueWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjdGFuZ2xlLWxhbmRzY2FwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjdGFuZ2xlLWxhbmRzY2FwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN0YW5nbGUtcG9ydHJhaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlY3RhbmdsZS1wb3J0cmFpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWN0YW5nbGUtd2lkZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjdGFuZ2xlLXdpZGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVjeWNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVjeWNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWQtcml2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZC1yaXZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtYWxpZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZGRpdC1hbGllbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZWRkaXQtc3F1YXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZGhhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVkaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZG86YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVkby1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZG8tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZnJpZ2VyYXRvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVmcmlnZXJhdG9yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJlZ2lzdGVyZWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlZ2lzdGVyZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVtb3ZlLWZvcm1hdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVtb3ZlLWZvcm1hdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZW5yZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlbnJlbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlcGVhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBlYXQtMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwZWF0LTEpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0LTEtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBlYXQtMS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwZWF0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwZWF0LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXBseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwbHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseS1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwbHlkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXBseWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmVwdWJsaWNhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVwdWJsaWNhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNlYXJjaGdhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlc2VhcmNoZ2F0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXNvbHZpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJlc29sdmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXN0cm9vbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmVzdHJvb20pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV0d2VldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV0d2VldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yZXR3ZWV0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmV0d2VldC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmV2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yZXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmliYm9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yaWJib24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcmluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcmluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yaW5ncy13ZWRkaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yaW5ncy13ZWRkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvYWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ib3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvYm90KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvY2tldC1sYXVuY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvY2tldC1sYXVuY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm9ja2V0Y2hhdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcm9ja2V0Y2hhdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb2Nrcm1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb2Nrcm1zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1yb3V0ZS1oaWdod2F5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZS1oaWdod2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJvdXRlLWludGVyc3RhdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJvdXRlLWludGVyc3RhdGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcm91dGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yb3V0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1yc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnNzLXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnNzLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWJsZS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWJsZS1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydWxlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci1jb21iaW5lZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItY29tYmluZWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXItaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItaG9yaXpvbnRhbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydWxlci10cmlhbmdsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVsZXItdHJpYW5nbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVsZXItdmVydGljYWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bGVyLXZlcnRpY2FsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ1bm5pbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXJ1bm5pbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tcnVwZWUtc2lnbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItcnVwZWUtc2lnbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1ydXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXJ2OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1ydik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWNrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhY2stZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWNrLWRvbGxhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWQtY3J5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtY3J5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNhZC10ZWFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYWQtdGVhcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWZhcmk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhZmFyaSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYWxhZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FsYWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FsZXNmb3JjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FsZXNmb3JjZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYW5kd2ljaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2FuZHdpY2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2FzczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Fzcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXRlbGxpdGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNhdGVsbGl0ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXRlbGxpdGUtZGlzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F0ZWxsaXRlLWRpc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F1c2FnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2F1c2FnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zYXZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXZlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNheC1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNheC1ob3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2F4b3Bob25lOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zYXhvcGhvbmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NhbHBlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NhbHBlbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2FscGVsLXBhdGg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjYWxwZWwtcGF0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2FubmVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2FubmVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjYW5uZXItaW1hZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjYW5uZXItaW1hZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nhbm5lci1rZXlib2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nhbm5lci1rZXlib2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2FubmVyLXRvdWNoc2NyZWVuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2FubmVyLXRvdWNoc2NyZWVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjYXJlY3JvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NhcmVjcm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNjYXJmOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY2FyZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2hsaXg6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjaGxpeCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY2hvb2w6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNjaG9vbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3Jld2RyaXZlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NyZXdkcml2ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2NyaWJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3JpYmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nyb2xsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3JvbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2Nyb2xsLW9sZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Nyb2xsLW9sZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zY3J1YmJlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2NydWJiZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2N5dGhlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zY3l0aGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2QtY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2QtY2FyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlYXJjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2gtZG9sbGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtZG9sbGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1sb2NhdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLWxvY2F0aW9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1taW51czpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoLW1pbnVzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlYXJjaC1wbHVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWFyY2gtcGx1cyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWFyY2hlbmdpbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2VhcmNoZW5naW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2VlZGxpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlZWRsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbGxjYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZWxsY2FzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZWxsc3k6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbGxzeSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLWJhY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbmQtYmFjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5kLWJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZW5kLWJhY2t3YXJkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbnNvcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Vuc29yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbnNvci1hbGVydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2Vuc29yLWFsZXJ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNlbnNvci1maXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zZW5zb3ItZmlyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5zb3Itb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbnNvci1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZW5zb3Itc21va2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlbnNvci1zbW9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlcnZlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zZXJ2aWNlc3RhY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNlcnZpY2VzdGFjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFwZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXBlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbGwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGFyZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hhcmUtYWx0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGFyZS1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoYXJlLXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGVlcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hlZXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hla2VsLXNpZ246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoZWtlbC1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpZWxkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaWVsZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaWVsZC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtY2hlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLWNyb3NzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtY3Jvc3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpZWxkLXZpcnVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGllbGQtdmlydXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hpcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlwcGluZy1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNoaXBwaW5nLXRpbWVkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaGlwcGluZy10aW1lZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlydHNpbmJ1bGs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNoaXJ0c2luYnVsayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaGlzaC1rZWJhYjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hpc2gta2ViYWIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvZS1wcmludHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob2UtcHJpbnRzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3BpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3BpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctYmFza2V0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG9wcGluZy1iYXNrZXQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvcHBpbmctY2FydDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHBpbmctY2FydCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaG9wd2FyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvcHdhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvdmVsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaG92ZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2hvdmVsLXNub3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNob3ZlbC1zbm93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNob3dlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2hvd2VyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNocmVkZGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaHJlZGRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaHV0dGxlLXZhbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2h1dHRsZS12YW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2h1dHRsZWNvY2s6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNodXR0bGVjb2NrKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpY2tsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lja2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ21hOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWdtYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24taW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24taW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1pbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24taW4tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tbGFuZ3VhZ2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbi1vdXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ24tb3V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ24tb3V0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbi1vdXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC0xOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwtMSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYWwtMjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsLTIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsLTM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ25hbC0zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC00OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwtNCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYWwtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC1hbHQtMTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsLWFsdC0xKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC1hbHQtMjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsLWFsdC0yKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC1hbHQtMzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsLWFsdC0zKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpZ25hbC1hbHQtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ25hbC1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsLXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaWduYWwtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lnbmFsLXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2lnbmFsLXN0cmVhbSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaWduYXR1cmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpZ25hdHVyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaW0tY2FyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2ltLWNhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2ltcGx5YnVpbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbXBseWJ1aWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpbms6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpbmspOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2lyZW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpcmVuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpcmVuLW9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXJlbi1vbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zaXN0cml4OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zaXN0cml4KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNpdGVtYXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNpdGVtYXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2l0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2l0aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2F0aW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2F0aW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrZWxldG9uOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za2VsZXRvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2V0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrZXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1za2ktanVtcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpLWp1bXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2tpLWxpZnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraS1saWZ0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2tpaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNraWluZy1ub3JkaWM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNraWluZy1ub3JkaWMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2t1bGwtY293KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNrdWxsLWNyb3NzYm9uZXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2t5YXRsYXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNreWF0bGFzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNreXBlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1za3lwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFjazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xhY2staGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhY2staGFzaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGFzaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xlZGRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsZWRkaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsZWlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xlaWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnMtaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVycy1oKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNsaWRlcnMtaC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNsaWRlcnMtaC1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy12OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXJzLXYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc2xpZGVycy12LXNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc2xpZGVycy12LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbGlkZXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbGlkZXNoYXJlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbWlsZS1iZWFtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbWlsZS1iZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtaWxlLXBsdXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtaWxlLXBsdXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc21pbGUtd2luazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc21pbGUtd2luayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2tlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9rZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbW9raW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9raW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNtb2tpbmctYmFuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbW9raW5nLWJhbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFrZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25ha2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25hcGNoYXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNuYXBjaGF0LWdob3N0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbmFwY2hhdC1naG9zdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm9vemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub296ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93LWJsb3dpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3ctYmxvd2luZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Ym9hcmRpbmc6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dib2FyZGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dmbGFrZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93Zmxha2VzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zbm93Zmxha2VzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNub3dtYW46YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNub3dtYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc25vd21vYmlsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd21vYmlsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zbm93cGxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc25vd3Bsb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29hcDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29hcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb2NrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ja3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29sYXItcGFuZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvbGFyLXBhbmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvbGFyLXN5c3RlbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29sYXItc3lzdGVtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbHBoYS1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHBoYS1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFscGhhLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYWxwaGEtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWFscGhhLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWFtb3VudC1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1hbW91bnQtdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtYW1vdW50LXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtYW1vdW50LXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1hbW91bnQtdXAtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWNpcmNsZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWNpcmNsZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtY2lyY2xlLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LWNpcmNsZS11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtZG93bik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LW51bWVyaWMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LW51bWVyaWMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1udW1lcmljLXVwLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1udW1lcmljLXVwLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXNoYXBlcy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXNoYXBlcy1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtc2hhcGVzLWRvd24tYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXNoYXBlcy1kb3duLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3J0LXNoYXBlcy11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1zaGFwZXMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1zaGFwZXMtdXAtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3J0LXNoYXBlcy11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC1zaXplLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtc2l6ZS1kb3duKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtc2l6ZS1kb3duLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1zaXplLWRvd24tYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtc2l6ZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC1zaXplLXVwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvcnQtc2l6ZS11cC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvcnQtc2l6ZS11cC1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc29ydC11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc29ydC11cCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zb3VuZGNsb3VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zb3VuZGNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNvdXA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNvdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc291cmNldHJlZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc291cmNldHJlZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGFjZS1zaHV0dGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFjZS1zaHV0dGxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXN0YXRpb24tbW9vbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3BhY2Utc3RhdGlvbi1tb29uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYWNlLXN0YXRpb24tbW9vbi1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYWNlLXN0YXRpb24tbW9vbi1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BhZGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwYWRlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwYXJrbGVzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGFya2xlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGVha2FwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2FwKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWFrZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlci1kZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVha2VyLWRlY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3BlYWtlcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwZWFrZXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwZWxsLWNoZWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGVsbC1jaGVjayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlkZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaWRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlkZXItYmxhY2std2lkb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaWRlci1ibGFjay13aWRvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGlkZXItd2ViOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGlkZXItd2ViKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwaW5uZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwaW5uZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Bpbm5lci10aGlyZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Bpbm5lci10aGlyZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcGxvdGNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcGxvdGNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNwb3RpZnk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNwb3RpZnkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3ByYXktY2FuOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcHJheS1jYW4pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3ByaW5rbGVyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcHJpbmtsZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1YXJlLWZ1bGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXNxdWFyZS1yb290OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zcXVhcmUtcm9vdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmUtcm9vdC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWFyZS1yb290LWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zcXVhcmVzcGFjZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3F1YXJlc3BhY2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3F1aXJyZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXNxdWlycmVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFjay1leGNoYW5nZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFjay1vdmVyZmxvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhY2stb3ZlcmZsb3cpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhY2twYXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFja3BhdGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhZmY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YWZmKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YW1wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFtcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItYW5kLWNyZXNjZW50OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWFuZC1jcmVzY2VudCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWNocmlzdG1hczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1jaHJpc3RtYXMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1leGNsYW1hdGlvbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1leGNsYW1hdGlvbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItaGFsZik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyLWhhbGYtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLWhhbGYtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXItb2YtZGF2aWQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXItb2YtZGF2aWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1vZi1saWZlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyLW9mLWxpZmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3Rhci1zaG9vdGluZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Rhci1zaG9vdGluZyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyZmlnaHRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RhcmZpZ2h0ZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcmZpZ2h0ZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyZmlnaHRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RhcnM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXJzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0YXJzaGlwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGFyc2hpcCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGFyc2hpcC1mcmVpZ2h0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0YXJzaGlwLWZyZWlnaHRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGF5bGlua2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGF5bGlua2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZWFrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdGVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RlYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3F1YXJlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhbS1zcXVhcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlYW0tc3ltYm9sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVhbS1zeW1ib2wpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlZXJpbmctd2hlZWw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZWVyaW5nLXdoZWVsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXAtYmFja3dhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RlcC1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGVwLWZvcndhcmQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RldGhvc2NvcGU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0ZXRob3Njb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNrZXItbXVsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RpY2tlci1tdWxlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0aWNreS1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdGlja3ktbm90ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9ja2luZzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvY2tpbmcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvbWFjaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvbWFjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0b3AtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9wLWNpcmNsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9wd2F0Y2gtMjA6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3B3YXRjaC0yMCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdG9yZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RvcmUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtYWx0LXNsYXNoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3RvcmUtc2xhc2g6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0b3JlLXNsYXNoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmF2YTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyYXZhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyZWFtKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmVldC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJlZXQtdmlldyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJldGNoZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0cmV0Y2hlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpa2V0aHJvdWdoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3RyaXBlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0cmlwZS1zOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHJpcGUtcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdHJvb3B3YWZlbDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Ryb29wd2FmZWwpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1ZGlvdmluYXJpOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdHVkaW92aW5hcmkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3R1bWJsZXVwb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN0dW1ibGV1cG9uKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vic2NyaXB0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1YndheTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vid2F5KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1aXRjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdWl0Y2FzZS1yb2xsaW5nOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdWl0Y2FzZS1yb2xsaW5nKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuLWNsb3VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bi1kdXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdW4tZHVzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdW4taGF6ZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuLWhhemUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VuZ2xhc3NlczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VuZ2xhc3Nlcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdW5yaXNlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdW5yaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1bnNldDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3Vuc2V0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1cGVycG93ZXJzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBlcnBvd2Vycyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zdXBlcnNjcmlwdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3VwZXJzY3JpcHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VwcGxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zdXBwbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3VycHJpc2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1cnByaXNlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN1c2U6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN1c2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dhdGNoYm9vazpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dhdGNoYm9vayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2lmdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpZnQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dpbW1lcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dpbW1lcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd2ltbWluZy1wb29sOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd2ltbWluZy1wb29sKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN3b3JkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd29yZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zd29yZC1sYXNlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3dvcmQtbGFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dvcmQtbGFzZXItYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd29yZC1sYXNlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dvcmRzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd29yZHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3dvcmRzLWxhc2VyOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zd29yZHMtbGFzZXIpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tc3ltZm9ueTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItc3ltZm9ueSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5hZ29ndWU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXN5bmFnb2d1ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeW5jOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5jKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXN5bmMtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeW5jLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS1zeXJpbmdlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci1zeXJpbmdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZS10ZW5uaXM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxlLXRlbm5pcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtYWx0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldC1hbmRyb2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtYW5kcm9pZCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQtYW5kcm9pZC1hbHQ6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldC1hbmRyb2lkLWFsdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWJsZXQtcnVnZ2VkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWJsZXQtcnVnZ2VkKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhYmxldHM6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhYmxldHMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlci1hbHQtYXZlcmFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQtYXZlcmFnZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdC1mYXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdC1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYWx0LWZhc3Rlc3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3Rlc3QpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFjaG9tZXRlci1hbHQtc2xvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hbHQtc2xvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWNob21ldGVyLWFsdC1zbG93ZXN0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWNob21ldGVyLWFsdC1zbG93ZXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItYXZlcmFnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1hdmVyYWdlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItZmFzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1mYXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItZmFzdGVzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1mYXN0ZXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItc2xvdzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1zbG93KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY2hvbWV0ZXItc2xvd2VzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFjaG9tZXRlci1zbG93ZXN0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRhY286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRhY28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YWcpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFnczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFncyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YWxseTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFsbHkpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFuYWtoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YW5ha2gpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFwZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFwZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10YXNrczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGFza3MpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGFza3MtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10YXNrcy1hbHQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGF4aTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGF4aSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWFtc3BlYWs6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlYW1zcGVhayk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWV0aDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVldGgpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVldGgtb3BlbjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVldGgtb3Blbik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZWxlZ3JhbTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZWdyYW0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbGVncmFtLXBsYW5lKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbGVzY29wZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVsZXNjb3BlKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlbXBlcmF0dXJlLWRvd246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtZnJpZ2lkOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZW1wZXJhdHVyZS1mcmlnaWQpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVtcGVyYXR1cmUtaGlnaDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtaGlnaCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1ob3Q6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWhvdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS1sb3c6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW1wZXJhdHVyZS11cDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVtcGVyYXR1cmUtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVuY2VudC13ZWlibzpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVuY2VudC13ZWlibyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZW5nZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGVuZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGVubmlzLWJhbGw6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRlbm5pcy1iYWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRlcm1pbmFsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXJtaW5hbCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXh0KTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRleHQtaGVpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXh0LWhlaWdodCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LXNpemU6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRleHQtc2l6ZSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10ZXh0LXdpZHRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10ZXh0LXdpZHRoKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aC1sYXJnZTpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgtbGFyZ2UpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGgtbGlzdDpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGgtbGlzdCk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGUtcmVkLXlldGk6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZS1yZWQteWV0aSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVhdGVyLW1hc2tzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVhdGVyLW1hc2tzKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZW1lY286YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZW1lY28pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlbWVpc2xlOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVtZWlzbGUpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1lbXB0eSk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci1mdWxsOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGVybW9tZXRlci1mdWxsKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoZXJtb21ldGVyLWhhbGY6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXJtb21ldGVyLWhhbGYpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhlcm1vbWV0ZXItcXVhcnRlcjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcik7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMpOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGhldGE6YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRoZXRhKTsgfVxuLiN7JGZhLWNzcy1wcmVmaXh9LXRoaW5rLXBlYWtzOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aGluay1wZWFrcyk7IH1cbi4jeyRmYS1jc3MtcHJlZml4fS10aHVtYnMtZG93bjpiZWZvcmUgeyBjb250ZW50OiBmYS1jb250ZW50KCRmYS12YXItdGh1bWJzLWRvd24pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJzLXVwOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnMtdXApOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bWJ0YWNrOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVtYnRhY2spOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bmRlcnN0b3JtOmJlZm9yZSB7IGNvbnRlbnQ6IGZhLWNvbnRlbnQoJGZhLXZhci10aHVuZGVyc3Rvcm0pOyB9XG4uI3skZmEtY3NzLXByZWZpeH0tdGh1bmRlcnN0b3JtLW1vb246YmVmb3JlIHsgY29udGVudDogZmEtY29udGVudCgkZmEtdmFyLXRodW5kZXJzdG9ybS1tb29uKTsgfV
437
  content: '”'; }
438
  .wpgdprc blockquote cite {
439
  color: #5A5A5A; }
 
440
  /* Foundation; The XY Grid is included by default; Documentation at <http://foundation.zurb.com/sites/docs/> */
441
  /**
442
  * Foundation for Sites
444
  * https://get.foundation
445
  * Licensed under MIT Open Source
446
  */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
447
 
448
  .grid-x {
449
  display: flex;
454
  min-height: 0px;
455
  min-width: 0px;
456
  width: 100%; }
 
 
 
 
 
 
 
 
 
 
457
 
458
+ .grid-x > .small-12 {
459
  flex-basis: auto; }
460
 
461
  @media print, screen and (min-width: 40em) {
462
+ .grid-x > .medium-3, .grid-x > .medium-9 {
463
  flex-basis: auto; } }
464
 
465
  @media print, screen and (min-width: 64em) {
466
+ .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-12 {
467
  flex-basis: auto; } }
468
 
469
  @media screen and (min-width: 75em) {
470
+ .grid-x > .xlarge-3, .grid-x > .xlarge-4 {
471
  flex-basis: auto; } }
472
 
473
  @media screen and (min-width: 90em) {
474
+ .grid-x > .xxlarge-3, .grid-x > .xxlarge-6 {
475
  flex-basis: auto; } }
476
 
477
  @media screen and (min-width: 100em) {
478
+ .grid-x > .xxxlarge-4 {
479
  flex-basis: auto; } }
480
 
481
+ .grid-x > .small-12 {
482
  flex: 0 0 auto; }
483
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
484
  .grid-x > .small-12 {
485
  width: 100%; }
486
 
487
  @media print, screen and (min-width: 40em) {
488
+ .grid-x > .medium-3, .grid-x > .medium-9 {
 
 
 
489
  flex: 0 0 auto; }
 
 
 
 
 
 
490
  .grid-x > .medium-3 {
491
  width: 25%; }
 
 
 
 
 
 
 
 
 
 
492
  .grid-x > .medium-9 {
493
+ width: 75%; } }
 
 
 
 
 
 
494
 
495
  @media print, screen and (min-width: 64em) {
496
+ .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-12 {
 
 
 
497
  flex: 0 0 auto; }
 
 
 
 
 
 
 
 
498
  .grid-x > .large-4 {
499
  width: 33.33333%; }
500
  .grid-x > .large-5 {
505
  width: 58.33333%; }
506
  .grid-x > .large-8 {
507
  width: 66.66667%; }
 
 
 
 
 
 
508
  .grid-x > .large-12 {
509
  width: 100%; } }
510
 
511
  @media screen and (min-width: 75em) {
512
+ .grid-x > .xlarge-3, .grid-x > .xlarge-4 {
 
 
 
513
  flex: 0 0 auto; }
 
 
 
 
 
 
514
  .grid-x > .xlarge-3 {
515
  width: 25%; }
516
  .grid-x > .xlarge-4 {
517
+ width: 33.33333%; } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
518
 
519
  @media screen and (min-width: 90em) {
520
+ .grid-x > .xxlarge-3, .grid-x > .xxlarge-6 {
 
 
 
521
  flex: 0 0 auto; }
 
 
 
 
 
 
522
  .grid-x > .xxlarge-3 {
523
  width: 25%; }
 
 
 
 
524
  .grid-x > .xxlarge-6 {
525
+ width: 50%; } }
 
 
 
 
 
 
 
 
 
 
 
 
526
 
527
  @media screen and (min-width: 100em) {
528
+ .grid-x > .xxxlarge-4 {
 
 
 
529
  flex: 0 0 auto; }
 
 
 
 
 
 
 
 
530
  .grid-x > .xxxlarge-4 {
531
+ width: 33.33333%; } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
532
 
533
  .grid-margin-x:not(.grid-x) > .cell {
534
  width: auto; }
543
  width: calc(100% - 1.875rem);
544
  margin-left: 0.9375rem;
545
  margin-right: 0.9375rem; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
546
  .grid-margin-x > .small-12 {
547
  width: calc(100% - 1.875rem); }
548
  @media print, screen and (min-width: 40em) {
 
 
 
 
 
 
 
 
549
  .grid-margin-x > .medium-3 {
550
  width: calc(25% - 1.875rem); }
 
 
 
 
 
 
 
 
 
 
551
  .grid-margin-x > .medium-9 {
552
+ width: calc(75% - 1.875rem); } }
 
 
 
 
 
 
553
  @media print, screen and (min-width: 64em) {
 
 
 
 
 
 
 
 
 
 
554
  .grid-margin-x > .large-4 {
555
  width: calc(33.33333% - 1.875rem); }
556
  .grid-margin-x > .large-5 {
561
  width: calc(58.33333% - 1.875rem); }
562
  .grid-margin-x > .large-8 {
563
  width: calc(66.66667% - 1.875rem); }
 
 
 
 
 
 
564
  .grid-margin-x > .large-12 {
565
  width: calc(100% - 1.875rem); } }
566
  @media screen and (min-width: 75em) {
 
 
 
 
 
 
 
 
567
  .grid-margin-x > .xlarge-3 {
568
  width: calc(25% - 1.875rem); }
569
  .grid-margin-x > .xlarge-4 {
570
+ width: calc(33.33333% - 1.875rem); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
571
  @media screen and (min-width: 90em) {
 
 
 
 
 
 
 
 
572
  .grid-margin-x > .xxlarge-3 {
573
  width: calc(25% - 1.875rem); }
 
 
 
 
574
  .grid-margin-x > .xxlarge-6 {
575
+ width: calc(50% - 1.875rem); } }
 
 
 
 
 
 
 
 
 
 
 
 
576
  @media screen and (min-width: 100em) {
 
 
 
 
 
 
 
 
 
 
577
  .grid-margin-x > .xxxlarge-4 {
578
+ width: calc(33.33333% - 1.875rem); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
579
 
580
+ .grid-margin-y {
581
+ margin-top: -0.9375rem;
582
+ margin-bottom: -0.9375rem; }
583
+ .grid-margin-y > .cell {
584
+ height: calc(100% - 1.875rem);
585
+ margin-top: 0.9375rem;
586
+ margin-bottom: 0.9375rem; }
587
+ .grid-margin-y > .small-12 {
588
+ height: calc(100% - 1.875rem); }
589
+ @media print, screen and (min-width: 40em) {
590
+ .grid-margin-y > .medium-3 {
591
+ height: calc(25% - 1.875rem); }
592
+ .grid-margin-y > .medium-9 {
593
+ height: calc(75% - 1.875rem); } }
594
+ @media print, screen and (min-width: 64em) {
595
+ .grid-margin-y > .large-4 {
596
+ height: calc(33.33333% - 1.875rem); }
597
+ .grid-margin-y > .large-5 {
598
+ height: calc(41.66667% - 1.875rem); }
599
+ .grid-margin-y > .large-6 {
600
+ height: calc(50% - 1.875rem); }
601
+ .grid-margin-y > .large-7 {
602
+ height: calc(58.33333% - 1.875rem); }
603
+ .grid-margin-y > .large-8 {
604
+ height: calc(66.66667% - 1.875rem); }
605
+ .grid-margin-y > .large-12 {
606
+ height: calc(100% - 1.875rem); } }
607
+ @media screen and (min-width: 75em) {
608
+ .grid-margin-y > .xlarge-3 {
609
+ height: calc(25% - 1.875rem); }
610
+ .grid-margin-y > .xlarge-4 {
611
+ height: calc(33.33333% - 1.875rem); } }
612
+ @media screen and (min-width: 90em) {
613
+ .grid-margin-y > .xxlarge-3 {
614
+ height: calc(25% - 1.875rem); }
615
+ .grid-margin-y > .xxlarge-6 {
616
+ height: calc(50% - 1.875rem); } }
617
+ @media screen and (min-width: 100em) {
618
+ .grid-margin-y > .xxxlarge-4 {
619
+ height: calc(33.33333% - 1.875rem); } }
620
 
621
+ .grid-margin-y {
622
+ margin-top: -0.9375rem;
623
+ margin-bottom: -0.9375rem; }
624
+ .grid-margin-y > .cell {
625
+ height: calc(100% - 1.875rem);
626
+ margin-top: 0.9375rem;
627
+ margin-bottom: 0.9375rem; }
628
+ .grid-margin-y > .small-12 {
629
+ height: calc(100% - 1.875rem); }
630
+ @media print, screen and (min-width: 40em) {
631
+ .grid-margin-y > .medium-3 {
632
+ height: calc(25% - 1.875rem); }
633
+ .grid-margin-y > .medium-9 {
634
+ height: calc(75% - 1.875rem); } }
635
+ @media print, screen and (min-width: 64em) {
636
+ .grid-margin-y > .large-4 {
637
+ height: calc(33.33333% - 1.875rem); }
638
+ .grid-margin-y > .large-5 {
639
+ height: calc(41.66667% - 1.875rem); }
640
+ .grid-margin-y > .large-6 {
641
+ height: calc(50% - 1.875rem); }
642
+ .grid-margin-y > .large-7 {
643
+ height: calc(58.33333% - 1.875rem); }
644
+ .grid-margin-y > .large-8 {
645
+ height: calc(66.66667% - 1.875rem); }
646
+ .grid-margin-y > .large-12 {
647
+ height: calc(100% - 1.875rem); } }
648
+ @media screen and (min-width: 75em) {
649
+ .grid-margin-y > .xlarge-3 {
650
+ height: calc(25% - 1.875rem); }
651
+ .grid-margin-y > .xlarge-4 {
652
+ height: calc(33.33333% - 1.875rem); } }
653
+ @media screen and (min-width: 90em) {
654
+ .grid-margin-y > .xxlarge-3 {
655
+ height: calc(25% - 1.875rem); }
656
+ .grid-margin-y > .xxlarge-6 {
657
+ height: calc(50% - 1.875rem); } }
658
+ @media screen and (min-width: 100em) {
659
+ .grid-margin-y > .xxxlarge-4 {
660
+ height: calc(33.33333% - 1.875rem); } }
661
 
662
+ .align-right {
663
+ justify-content: flex-end; }
664
 
665
+ .align-justify {
666
+ justify-content: space-between; }
667
 
668
+ .align-middle {
669
+ align-items: center; }
670
 
671
+ .flex-container {
672
+ display: flex; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
673
 
674
+ .flex-dir-row-reverse {
675
+ flex-direction: row-reverse; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
676
 
677
+ .flex-dir-column {
678
+ flex-direction: column; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
679
 
680
+ .hide {
681
+ display: none !important; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
682
 
683
+ .show-for-sr {
684
+ position: absolute !important;
685
+ width: 1px !important;
686
+ height: 1px !important;
687
+ padding: 0 !important;
688
+ overflow: hidden !important;
689
+ clip: rect(0, 0, 0, 0) !important;
690
+ white-space: nowrap !important;
691
+ border: 0 !important; }
 
 
 
 
 
 
 
 
692
 
693
+ .margin-0 {
694
+ margin: 0rem !important; }
695
 
696
+ .margin-bottom-0 {
697
+ margin-bottom: 0rem !important; }
698
 
699
+ .margin-top-1 {
700
+ margin-top: 1rem !important; }
701
 
702
+ .margin-bottom-1 {
703
+ margin-bottom: 1rem !important; }
704
 
705
+ .margin-left-1 {
706
+ margin-left: 1rem !important; }
707
 
708
+ .margin-top-2 {
709
+ margin-top: 2rem !important; }
710
 
711
+ .margin-right-2 {
712
+ margin-right: 2rem !important; }
713
 
714
+ .margin-bottom-2 {
715
+ margin-bottom: 2rem !important; }
716
 
717
+ /* Font Awesome 5 Pro; Uncomment if you want to use it */
718
+ /*!
719
+ * Font Awesome Pro 5.15.4 by @fontawesome - https://fontawesome.com
720
+ * License - https://fontawesome.com/license (Commercial License)
721
+ */
 
 
 
 
 
 
 
 
 
 
 
 
722
 
723
+ .far {
724
+ -moz-osx-font-smoothing: grayscale;
725
+ -webkit-font-smoothing: antialiased;
726
+ display: inline-block;
727
+ font-style: normal;
728
+ font-variant: normal;
729
+ text-rendering: auto;
730
+ line-height: 1; }
 
 
 
 
 
 
 
 
 
731
 
732
+ @keyframes fa-spin {
733
+ 0% {
734
+ transform: rotate(0deg); }
735
+ 100% {
736
+ transform: rotate(360deg); } }
 
 
 
 
 
 
 
 
 
 
 
 
737
 
738
+ /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
739
+ readers do not read off random characters that represent icons */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
740
 
741
+ .fa-sync:before {
742
+ content: "\f021"; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743
 
744
  /* Shared (styles used in both website and editor) */
745
  /* Modules */
3262
  .wp-gdpr-fts__footer {
3263
  margin: 1rem auto 0; }
3264