-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
788 lines (740 loc) · 769 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<meta name="author" content="Jaehyeon Kim" />
<title>SparkR Demo</title>
<style type="text/css">code{white-space: pre;}</style>
<style type="text/css">
div.sourceCode { overflow-x: auto; }
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {
margin: 0; padding: 0; vertical-align: baseline; border: none; }
table.sourceCode { width: 100%; line-height: 100%; }
td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }
td.sourceCode { padding-left: 5px; }
code > span.kw { color: #007020; font-weight: bold; } /* Keyword */
code > span.dt { color: #902000; } /* DataType */
code > span.dv { color: #40a070; } /* DecVal */
code > span.bn { color: #40a070; } /* BaseN */
code > span.fl { color: #40a070; } /* Float */
code > span.ch { color: #4070a0; } /* Char */
code > span.st { color: #4070a0; } /* String */
code > span.co { color: #60a0b0; font-style: italic; } /* Comment */
code > span.ot { color: #007020; } /* Other */
code > span.al { color: #ff0000; font-weight: bold; } /* Alert */
code > span.fu { color: #06287e; } /* Function */
code > span.er { color: #ff0000; font-weight: bold; } /* Error */
code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
code > span.cn { color: #880000; } /* Constant */
code > span.sc { color: #4070a0; } /* SpecialChar */
code > span.vs { color: #4070a0; } /* VerbatimString */
code > span.ss { color: #bb6688; } /* SpecialString */
code > span.im { } /* Import */
code > span.va { color: #19177c; } /* Variable */
code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
code > span.op { color: #666666; } /* Operator */
code > span.bu { } /* BuiltIn */
code > span.ex { } /* Extension */
code > span.pp { color: #bc7a00; } /* Preprocessor */
code > span.at { color: #7d9029; } /* Attribute */
code > span.do { color: #ba2121; font-style: italic; } /* Documentation */
code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
</style>
<link href="data:text/css;charset=utf-8,%0Abody%0A%7B%0Amargin%3A%200%200%200%200%3B%0Apadding%3A%200%200%200%200%3B%0Awidth%3A%20100%25%3B%0Aheight%3A%20100%25%3B%0Acolor%3A%20black%3B%0Abackground%2Dcolor%3A%20white%3B%0Afont%2Dfamily%3A%20%22Gill%20Sans%20MT%22%2C%20%22Gill%20Sans%22%2C%20GillSans%2C%20sans%2Dserif%3B%0Afont%2Dsize%3A%2014pt%3B%0A%7D%0Adiv%2Etoolbar%20%7B%0Aposition%3A%20fixed%3B%20z%2Dindex%3A%20200%3B%0Atop%3A%20auto%3B%20bottom%3A%200%3B%20left%3A%200%3B%20right%3A%200%3B%0Aheight%3A%201%2E2em%3B%20text%2Dalign%3A%20right%3B%0Apadding%2Dleft%3A%201em%3B%0Apadding%2Dright%3A%201em%3B%20font%2Dsize%3A%2060%25%3B%0Acolor%3A%20DimGray%3B%0Abackground%2Dcolor%3A%20rgb%28240%2C240%2C240%29%3B%0Aborder%2Dtop%3A%20solid%201px%20rgb%28180%2C180%2C180%29%3B%0A%7D%0Adiv%2Etoolbar%20span%2Ecopyright%20%7B%0Acolor%3A%20DimGray%3B%0Amargin%2Dleft%3A%200%2E5em%3B%0A%7D%0Adiv%2Einitial%5Fprompt%20%7B%0Aposition%3A%20absolute%3B%0Az%2Dindex%3A%201000%3B%0Abottom%3A%201%2E2em%3B%0Awidth%3A%20100%25%3B%0Abackground%2Dcolor%3A%20rgb%28200%2C200%2C200%29%3B%0Aopacity%3A%200%2E35%3B%0Abackground%2Dcolor%3A%20rgb%28200%2C200%2C200%2C%200%2E35%29%3B%0Acursor%3A%20pointer%3B%0A%7D%0Adiv%2Einitial%5Fprompt%20p%2Ehelp%20%7B%0Atext%2Dalign%3A%20center%3B%0A%7D%0Adiv%2Einitial%5Fprompt%20p%2Eclose%20%7B%0Atext%2Dalign%3A%20right%3B%0Afont%2Dstyle%3A%20italic%3B%0A%7D%0Adiv%2Eslidy%5Ftoc%20%7B%0Aposition%3A%20absolute%3B%0Az%2Dindex%3A%20300%3B%0Awidth%3A%2060%25%3B%0Amax%2Dwidth%3A%2030em%3B%0Aheight%3A%2030em%3B%0Aoverflow%3A%20auto%3B%0Atop%3A%20auto%3B%0Aright%3A%20auto%3B%0Aleft%3A%204em%3B%0Abottom%3A%204em%3B%0Apadding%3A%201em%3B%0Abackground%3A%20rgb%28240%2C240%2C240%29%3B%0Aborder%2Dstyle%3A%20solid%3B%0Aborder%2Dwidth%3A%202px%3B%0Afont%2Dsize%3A%2060%25%3B%0A%7D%0Adiv%2Eslidy%5Ftoc%20%2Etoc%5Fheading%20%7B%0Atext%2Dalign%3A%20center%3B%0Awidth%3A%20100%25%3B%0Amargin%3A%200%3B%0Amargin%2Dbottom%3A%201em%3B%0Aborder%2Dbottom%2Dstyle%3A%20solid%3B%0Aborder%2Dbottom%2Dcolor%3A%20rgb%28180%2C180%2C180%29%3B%0Aborder%2Dbottom%2Dwidth%3A%201px%3B%0A%7D%0Adiv%2Eslide%20%7B%0Az%2Dindex%3A%2020%3B%0Amargin%3A%200%200%200%200%3B%0Apadding%2Dtop%3A%200%3B%0Apadding%2Dbottom%3A%200%3B%0Apadding%2Dleft%3A%2020px%3B%0Apadding%2Dright%3A%2020px%3B%0Aborder%2Dwidth%3A%200%3B%0Aclear%3A%20both%3B%0Atop%3A%200%3B%0Abottom%3A%200%3B%0Aleft%3A%200%3B%0Aright%3A%200%3B%0Aline%2Dheight%3A%20120%25%3B%0Abackground%2Dcolor%3A%20transparent%3B%0A%7D%0Adiv%2Ebackground%20%7B%0Adisplay%3A%20none%3B%0A%7D%0Adiv%2Ehandout%20%7B%0Amargin%2Dleft%3A%2020px%3B%0Amargin%2Dright%3A%2020px%3B%0A%7D%0Adiv%2Eslide%2Etitlepage%20%7B%0Atext%2Dalign%3A%20center%3B%0A%7D%0Adiv%2Eslide%2Etitlepage%20h1%20%7B%0Apadding%2Dtop%3A%2010%25%3B%0Amargin%2Dright%3A%200%3B%0A%7D%0Adiv%2Eslide%20h1%20%7B%0Apadding%2Dleft%3A%200%3B%0Apadding%2Dright%3A%2020pt%3B%0Apadding%2Dtop%3A%204pt%3B%0Apadding%2Dbottom%3A%204pt%3B%0Amargin%2Dtop%3A%200%3B%0Amargin%2Dleft%3A%200%3B%0Amargin%2Dright%3A%2060pt%3B%0Amargin%2Dbottom%3A%200%2E5em%3B%0Adisplay%3A%20block%3B%20font%2Dsize%3A%20160%25%3B%0Aline%2Dheight%3A%201%2E2em%3B%0Abackground%3A%20transparent%3B%0A%7D%0A%40media%20screen%20and%20%28max%2Ddevice%2Dwidth%3A%201024px%29%0A%7B%0Adiv%2Eslide%20%7B%20font%2Dsize%3A%20100%25%3B%20%7D%0A%7D%0A%40media%20screen%20and%20%28max%2Ddevice%2Dwidth%3A%20800px%29%0A%7B%0Adiv%2Eslide%20%7B%20font%2Dsize%3A%20200%25%3B%20%7D%0Adiv%2Eslidy%5Ftoc%20%7B%0Atop%3A%201em%3B%0Aleft%3A%201em%3B%0Aright%3A%20auto%3B%0Awidth%3A%2080%25%3B%0Afont%2Dsize%3A%20180%25%3B%0A%7D%0A%7D%0Adiv%2Etoc%2Dheading%20%7B%0Awidth%3A%20100%25%3B%0Aborder%2Dbottom%3A%20solid%201px%20rgb%28180%2C180%2C180%29%3B%0Amargin%2Dbottom%3A%201em%3B%0Atext%2Dalign%3A%20center%3B%0A%7D%0Aimg%20%7B%0Aimage%2Drendering%3A%20optimize%2Dquality%3B%0A%7D%0Apre%20%7B%0Afont%2Dsize%3A%2080%25%3B%0Afont%2Dweight%3A%20bold%3B%0Aline%2Dheight%3A%20120%25%3B%0Apadding%2Dtop%3A%200%2E2em%3B%0Apadding%2Dbottom%3A%200%2E2em%3B%0Apadding%2Dleft%3A%201em%3B%0Apadding%2Dright%3A%201em%3B%0Aborder%2Dstyle%3A%20solid%3B%0Aborder%2Dleft%2Dwidth%3A%201em%3B%0Aborder%2Dtop%2Dwidth%3A%20thin%3B%0Aborder%2Dright%2Dwidth%3A%20thin%3B%0Aborder%2Dbottom%2Dwidth%3A%20thin%3B%0Aborder%2Dcolor%3A%20%2395ABD0%3B%0Acolor%3A%20%2300428C%3B%0Abackground%2Dcolor%3A%20%23E4E5E7%3B%0A%7D%0Ali%20pre%20%7B%20margin%2Dleft%3A%200%3B%20%7D%0Ablockquote%20%7B%20font%2Dstyle%3A%20italic%20%7D%0Aimg%20%7B%20background%2Dcolor%3A%20transparent%20%7D%0Ap%2Ecopyright%20%7B%20font%2Dsize%3A%20smaller%20%7D%0A%2Ecenter%20%7B%20text%2Dalign%3A%20center%20%7D%0A%2Efootnote%20%7B%20font%2Dsize%3A%20smaller%3B%20margin%2Dleft%3A%202em%3B%20%7D%0Aa%20img%20%7B%20border%2Dwidth%3A%200%3B%20border%2Dstyle%3A%20none%20%7D%0Aa%3Avisited%20%7B%20color%3A%20navy%20%7D%0Aa%3Alink%20%7B%20color%3A%20navy%20%7D%0Aa%3Ahover%20%7B%20color%3A%20red%3B%20text%2Ddecoration%3A%20underline%20%7D%0Aa%3Aactive%20%7B%20color%3A%20red%3B%20text%2Ddecoration%3A%20underline%20%7D%0Aa%20%7Btext%2Ddecoration%3A%20none%7D%0A%2Etoolbar%20a%3Alink%20%7Bcolor%3A%20blue%7D%0A%2Etoolbar%20a%3Avisited%20%7Bcolor%3A%20blue%7D%0A%2Etoolbar%20a%3Aactive%20%7Bcolor%3A%20red%7D%0A%2Etoolbar%20a%3Ahover%20%7Bcolor%3A%20red%7D%0Aul%20%7B%20list%2Dstyle%2Dtype%3A%20square%3B%20%7D%0Aul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20disc%3B%20%7D%0Aul%20ul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20circle%3B%20%7D%0Aul%20ul%20ul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20disc%3B%20%7D%0Ali%20%7B%20margin%2Dleft%3A%200%2E5em%3B%20margin%2Dtop%3A%200%2E5em%3B%20%7D%0Ali%20li%20%7B%20font%2Dsize%3A%2085%25%3B%20font%2Dstyle%3A%20italic%20%7D%0Ali%20li%20li%20%7B%20font%2Dsize%3A%2085%25%3B%20font%2Dstyle%3A%20normal%20%7D%0Adiv%20dt%0A%7B%0Amargin%2Dleft%3A%200%3B%0Amargin%2Dtop%3A%201em%3B%0Amargin%2Dbottom%3A%200%2E5em%3B%0Afont%2Dweight%3A%20bold%3B%0A%7D%0Adiv%20dd%0A%7B%0Amargin%2Dleft%3A%202em%3B%0Amargin%2Dbottom%3A%200%2E5em%3B%0A%7D%0Ap%2Cpre%2Cul%2Col%2Cblockquote%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%2Cdl%2Ctable%20%7B%0Amargin%2Dleft%3A%201em%3B%0Amargin%2Dright%3A%201em%3B%0A%7D%0Ap%2Esubhead%20%7B%20font%2Dweight%3A%20bold%3B%20margin%2Dtop%3A%202em%3B%20%7D%0A%2Esmaller%20%7B%20font%2Dsize%3A%20smaller%20%7D%0A%2Ebigger%20%7B%20font%2Dsize%3A%20130%25%20%7D%0Atd%2Cth%20%7B%20padding%3A%200%2E2em%20%7D%0Aul%20%7B%0Amargin%3A%200%2E5em%201%2E5em%200%2E5em%201%2E5em%3B%0Apadding%3A%200%3B%0A%7D%0Aol%20%7B%0Amargin%3A%200%2E5em%201%2E5em%200%2E5em%201%2E5em%3B%0Apadding%3A%200%3B%0A%7D%0Aul%20%7B%20list%2Dstyle%2Dtype%3A%20square%3B%20%7D%0Aul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20disc%3B%20%7D%0Aul%20ul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20circle%3B%20%7D%0Aul%20ul%20ul%20ul%20%7B%20list%2Dstyle%2Dtype%3A%20disc%3B%20%7D%0Aul%20li%20%7B%20list%2Dstyle%3A%20square%3B%0Amargin%3A%200%2E1em%200em%200%2E6em%200%3B%0Apadding%3A%200%200%200%200%3B%0Aline%2Dheight%3A%20140%25%3B%0A%7D%0Aol%20li%20%7B%20margin%3A%200%2E1em%200em%200%2E6em%201%2E5em%3B%0Apadding%3A%200%200%200%200px%3B%0Aline%2Dheight%3A%20140%25%3B%0Alist%2Dstyle%2Dtype%3A%20decimal%3B%0A%7D%0Ali%20ul%20li%20%7B%20font%2Dsize%3A%2085%25%3B%20font%2Dstyle%3A%20italic%3B%0Alist%2Dstyle%2Dtype%3A%20disc%3B%0Abackground%3A%20transparent%3B%0Apadding%3A%200%200%200%200%3B%0A%7D%0Ali%20li%20ul%20li%20%7B%20font%2Dsize%3A%2085%25%3B%20font%2Dstyle%3A%20normal%3B%0Alist%2Dstyle%2Dtype%3A%20circle%3B%0Abackground%3A%20transparent%3B%0Apadding%3A%200%200%200%200%3B%0A%7D%0Ali%20li%20li%20ul%20li%20%7B%0Alist%2Dstyle%2Dtype%3A%20disc%3B%0Abackground%3A%20transparent%3B%0Apadding%3A%200%200%200%200%3B%0A%7D%0Ali%20ol%20li%20%7B%0Alist%2Dstyle%2Dtype%3A%20decimal%3B%0A%7D%0Ali%20li%20ol%20li%20%7B%0Alist%2Dstyle%2Dtype%3A%20decimal%3B%0A%7D%0A%0Aol%2Eoutline%20li%3Ahover%20%7B%20cursor%3A%20pointer%20%7D%0Aol%2Eoutline%20li%2Enofold%3Ahover%20%7B%20cursor%3A%20default%20%7D%0Aul%2Eoutline%20li%3Ahover%20%7B%20cursor%3A%20pointer%20%7D%0Aul%2Eoutline%20li%2Enofold%3Ahover%20%7B%20cursor%3A%20default%20%7D%0Aol%2Eoutline%20%7B%20list%2Dstyle%3Adecimal%3B%20%7D%0Aol%2Eoutline%20ol%20%7B%20list%2Dstyle%2Dtype%3Alower%2Dalpha%20%7D%0Aol%2Eoutline%20li%2Enofold%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAIACAMzMzOvr%2FywAAAAACQAJAAACD4SPoRvG614Dctb4MEMcFAA7%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aol%2Eoutline%20li%2Eunfolded%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAMPD%2F8zMzOvr%2F%2F%2F%2F%2FywAAAAACQAJAAACEYyPoivG614LAlg7ZZbxoR8UADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aol%2Eoutline%20li%2Efolded%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAMPD%2F8zMzOvr%2F%2F%2F%2F%2FywAAAAACQAJAAACFIyPoiu2sJyCyoF7W3hxz850CFIAADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aol%2Eoutline%20li%2Eunfolded%3Ahover%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAAAAAAAA%2F8PD%2F%2F%2F%2F%2FywAAAAACQAJAAACEYSPoivG614DIlg7ZZbxoQ8UADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aol%2Eoutline%20li%2Efolded%3Ahover%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAAAAAAAA%2F8PD%2F%2F%2F%2F%2FywAAAAACQAJAAACFISPoiu2sZyCyoV7G3hxz850CFIAADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aul%2Eoutline%20li%2Enofold%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAIACAMzMzOvr%2FywAAAAACQAJAAACD4SPoRvG614Dctb4MEMcFAA7%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aul%2Eoutline%20li%2Eunfolded%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAMPD%2F8zMzOvr%2F%2F%2F%2F%2FywAAAAACQAJAAACEYyPoivG614LAlg7ZZbxoR8UADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aul%2Eoutline%20li%2Efolded%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAMPD%2F8zMzOvr%2F%2F%2F%2F%2FywAAAAACQAJAAACFIyPoiu2sJyCyoF7W3hxz850CFIAADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aul%2Eoutline%20li%2Eunfolded%3Ahover%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAAAAAAAA%2F8PD%2F%2F%2F%2F%2FywAAAAACQAJAAACEYSPoivG614DIlg7ZZbxoQ8UADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0Aul%2Eoutline%20li%2Efolded%3Ahover%20%7B%0Apadding%3A%200%200%200%2020px%3B%0Abackground%3A%20transparent%20url%28data%3Aimage%2Fgif%3Bbase64%2CR0lGODdhCQAJAKEDAAAAAAAA%2F8PD%2F%2F%2F%2F%2FywAAAAACQAJAAACFISPoiu2sZyCyoV7G3hxz850CFIAADs%3D%29%20no%2Drepeat%200px%200%2E5em%3B%0A%7D%0A%0Aa%2Etitleslide%20%7B%20font%2Dweight%3A%20bold%3B%20font%2Dstyle%3A%20italic%20%7D%0A%0Aimg%2Ehidden%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0Adiv%2Einitial%5Fprompt%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0Adiv%2Eslide%20%7B%0Avisibility%3A%20visible%3B%0Aposition%3A%20inherit%3B%0A%7D%0Adiv%2Ehandout%20%7B%0Aborder%2Dtop%2Dstyle%3A%20solid%3B%0Aborder%2Dtop%2Dwidth%3A%20thin%3B%0Aborder%2Dtop%2Dcolor%3A%20black%3B%0A%7D%0A%40media%20screen%20%7B%0A%2Ehidden%20%7B%20display%3A%20none%3B%20visibility%3A%20visible%20%7D%0Adiv%2Eslide%2Ehidden%20%7B%20display%3A%20block%3B%20visibility%3A%20visible%20%7D%0Adiv%2Ehandout%2Ehidden%20%7B%20display%3A%20block%3B%20visibility%3A%20visible%20%7D%0Adiv%2Ebackground%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0Abody%2Esingle%5Fslide%20div%2Einitial%5Fprompt%20%7B%20display%3A%20block%3B%20visibility%3A%20visible%20%7D%0Abody%2Esingle%5Fslide%20div%2Ebackground%20%7B%20display%3A%20block%3B%20visibility%3A%20visible%20%7D%0Abody%2Esingle%5Fslide%20div%2Ebackground%2Ehidden%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0Abody%2Esingle%5Fslide%20%2Einvisible%20%7B%20visibility%3A%20hidden%20%7D%0Abody%2Esingle%5Fslide%20%2Ehidden%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0Abody%2Esingle%5Fslide%20div%2Eslide%20%7B%20position%3A%20absolute%20%7D%0Abody%2Esingle%5Fslide%20div%2Ehandout%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%20%7D%0A%7D%0A%40media%20print%20%7B%0A%2Ehidden%20%7B%20display%3A%20block%3B%20visibility%3A%20visible%20%7D%0Adiv%2Eslide%20pre%20%7B%20font%2Dsize%3A%2060%25%3B%20padding%2Dleft%3A%200%2E5em%3B%20%7D%0Adiv%2Etoolbar%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%3B%20%7D%0Adiv%2Eslidy%5Ftoc%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%3B%20%7D%0Adiv%2Ebackground%20%7B%20display%3A%20none%3B%20visibility%3A%20hidden%3B%20%7D%0Adiv%2Eslide%20%7B%20page%2Dbreak%2Dbefore%3A%20always%20%7D%0A%0Adiv%2Eslide%2Efirst%2Dslide%20%7B%20page%2Dbreak%2Dbefore%3A%20avoid%20%7D%0A%7D%0A%0A%0A%2Ejslider%20table%20%7B%0Amargin%2Dleft%3A%200em%3B%0Amargin%2Dright%3A%200em%3B%0A%7D%0A%0Atable%2EdataTable%2C%20%2Eshiny%2Ddatatable%2Doutput%20div%20%7B%0Afont%2Dsize%3A%2014pt%3B%0A%7D%0A%0A%2EdataTables%5Finfo%2C%20%2EdataTables%5Fpaginate%20%7B%0Afont%2Dsize%3A%2019px%3B%0A%7D%0A%0Apre%2EsourceCode%2C%20code%2EsourceCode%20%7B%0Afont%2Dsize%3A%2080%25%3B%0A%7D%0A%0Alabel%2C%20button%2C%20input%2C%20select%2C%20textarea%20%7B%0Afont%2Dsize%3A%2014pt%3B%0A%7D%0A%0Aul%2Enav%2C%20ul%2Enav%20li%20%7B%0Alist%2Dstyle%2Dtype%3A%20none%3B%0A%7D%0A" rel="stylesheet" />
<script src="data:application/x-javascript;base64,Lyogc2xpZHkuanMKCiAgIENvcHlyaWdodCAoYykgMjAwNS0yMDEzIFczQyAoTUlULCBFUkNJTSwgS2VpbyksIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgIFczQyBsaWFiaWxpdHksIHRyYWRlbWFyaywgZG9jdW1lbnQgdXNlIGFuZCBzb2Z0d2FyZSBsaWNlbnNpbmcKICAgcnVsZXMgYXBwbHksIHNlZToKCiAgIGh0dHA6Ly93d3cudzMub3JnL0NvbnNvcnRpdW0vTGVnYWwvY29weXJpZ2h0LWRvY3VtZW50cwogICBodHRwOi8vd3d3LnczLm9yZy9Db25zb3J0aXVtL0xlZ2FsL2NvcHlyaWdodC1zb2Z0d2FyZQoKICAgRGVmaW5lcyBzaW5nbGUgbmFtZSAidzNjX3NsaWR5IiBpbiBnbG9iYWwgbmFtZXNwYWNlCiAgIEFkZHMgZXZlbnQgaGFuZGxlcnMgd2l0aG91dCB0cmFtcGxpbmcgb24gYW55IG90aGVycwoqLwoKLy8gdGhlIHNsaWR5IG9iamVjdCBpbXBsZW1lbnRhdGlvbgp2YXIgdzNjX3NsaWR5ID0gewogIC8vIGNsYXNzaWZ5IHdoaWNoIGtpbmQgb2YgYnJvd3NlciB3ZSdyZSBydW5uaW5nIHVuZGVyCiAgbnNfcG9zOiAodHlwZW9mIHdpbmRvdy5wYWdlWU9mZnNldCE9J3VuZGVmaW5lZCcpLAogIGtodG1sOiAoKG5hdmlnYXRvci51c2VyQWdlbnQpLmluZGV4T2YoIktIVE1MIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgb3BlcmE6ICgobmF2aWdhdG9yLnVzZXJBZ2VudCkuaW5kZXhPZigiT3BlcmEiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlKSwKICBpcGFkOiAoKG5hdmlnYXRvci51c2VyQWdlbnQpLmluZGV4T2YoImlQYWQiKSA+PSAwID8gdHJ1ZSA6IGZhbHNlKSwKICBpcGhvbmU6ICgobmF2aWdhdG9yLnVzZXJBZ2VudCkuaW5kZXhPZigiaVBob25lIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgYW5kcm9pZDogKChuYXZpZ2F0b3IudXNlckFnZW50KS5pbmRleE9mKCJBbmRyb2lkIikgPj0gMCA/IHRydWUgOiBmYWxzZSksCiAgaWU6ICh0eXBlb2YgZG9jdW1lbnQuYWxsICE9ICJ1bmRlZmluZWQiICYmICF0aGlzLm9wZXJhKSwKICBpZTY6ICghdGhpcy5uc19wb3MgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDYiKSAhPSAtMSksCiAgaWU3OiAoIXRoaXMubnNfcG9zICYmIG5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTVNJRSA3IikgIT0gLTEpLAogIGllODogKCF0aGlzLm5zX3BvcyAmJiBuYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1TSUUgOCIpICE9IC0xKSwKICBpZTk6ICghdGhpcy5uc19wb3MgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudC5pbmRleE9mKCJNU0lFIDkiKSAhPSAtMSksCgogIC8vIGRhdGEgZm9yIHN3aXBlIGFuZCBkb3VibGUgdGFwIGRldGVjdGlvbiBvbiB0b3VjaCBzY3JlZW5zCiAgbGFzdF90YXA6IDAsCiAgcHJldl90YXA6IDAsCiAgc3RhcnRfeDogMCwKICBzdGFydF95OiAwLAogIGRlbHRhX3g6IDAsCiAgZGVsdGFfeTogMCwKCiAgLy8gYXJlIHdlIHJ1bm5pbmcgYXMgWEhUTUw/IChkb2Vzbid0IHdvcmsgb24gT3BlcmEpCiAgaXNfeGh0bWw6IC94bWwvLnRlc3QoZG9jdW1lbnQuY29udGVudFR5cGUpLAoKICBzbGlkZV9udW1iZXI6IDAsIC8vIGludGVnZXIgc2xpZGUgY291bnQ6IDAsIDEsIDIsIC4uLgogIHNsaWRlX251bWJlcl9lbGVtZW50OiBudWxsLCAvLyBlbGVtZW50IGNvbnRhaW5pbmcgc2xpZGUgbnVtYmVyCiAgc2xpZGVzOiBbXSwgLy8gc2V0IHRvIGFycmF5IG9mIHNsaWRlIGRpdidzCiAgbm90ZXM6IFtdLCAvLyBzZXQgdG8gYXJyYXkgb2YgaGFuZG91dCBkaXYncwogIGJhY2tncm91bmRzOiBbXSwgLy8gc2V0IHRvIGFycmF5IG9mIGJhY2tncm91bmQgZGl2J3MKICBvYnNlcnZlcnM6IFtdLCAvLyBsaXN0IG9mIG9ic2VydmVyIGZ1bmN0aW9ucwogIHRvb2xiYXI6IG51bGwsIC8vIGVsZW1lbnQgY29udGFpbmluZyB0b29sYmFyCiAgdGl0bGU6IG51bGwsIC8vIGRvY3VtZW50IHRpdGxlCiAgbGFzdF9zaG93bjogbnVsbCwgLy8gbGFzdCBpbmNyZW1lbnRhbGx5IHNob3duIGl0ZW0KICBlb3M6IG51bGwsICAvLyBzcGFuIGVsZW1lbnQgZm9yIGVuZCBvZiBzbGlkZSBpbmRpY2F0b3IKICB0b2M6IG51bGwsIC8vIHRhYmxlIG9mIGNvbnRlbnRzCiAgb3V0bGluZTogbnVsbCwgLy8gb3V0bGluZSBlbGVtZW50IHdpdGggdGhlIGZvY3VzCiAgc2VsZWN0ZWRfdGV4dF9sZW46IDAsIC8vIGxlbmd0aCBvZiBkcmFnIHNlbGVjdGlvbiBvbiBkb2N1bWVudAogIHZpZXdfYWxsOiAwLCAgLy8gMSB0byB2aWV3IGFsbCBzbGlkZXMgKyBoYW5kb3V0cwogIHdhbnRfdG9vbGJhcjogdHJ1ZSwgIC8vIHVzZXIgcHJlZmVyZW5jZSB0byBzaG93L2hpZGUgdG9vbGJhcgogIG1vdXNlX2NsaWNrX2VuYWJsZWQ6IHRydWUsIC8vIGVuYWJsZXMgbGVmdCBjbGljayBmb3IgbmV4dCBzbGlkZQogIHNjcm9sbF9oYWNrOiAwLCAvLyBJRSB3b3JrIGFyb3VuZCBmb3IgcG9zaXRpb246IGZpeGVkCiAgZGlzYWJsZV9zbGlkZV9jbGljazogZmFsc2UsICAvLyB1c2VkIGJ5IGNsaWNrZWQgYW5jaG9ycwoKICBsYW5nOiAiZW4iLCAvLyB1cGRhdGVkIHRvIGxhbmd1YWdlIHNwZWNpZmllZCBieSBodG1sIGZpbGUKCiAgaGVscF9hbmNob3I6IG51bGwsIC8vIHVzZWQgZm9yIGtleWJvYXJkIGZvY3VzIGhhY2sgaW4gc2hvd1Rvb2xiYXIoKQogIGhlbHBfcGFnZTogImh0dHA6Ly93d3cudzMub3JnL1RhbGtzL1Rvb2xzL1NsaWR5Mi9oZWxwL2hlbHAuaHRtbCIsCiAgaGVscF90ZXh0OiAiTmF2aWdhdGUgd2l0aCBtb3VzZSBjbGljaywgc3BhY2UgYmFyLCBDdXJzb3IgTGVmdC9SaWdodCwgIiArCiAgICAgICAgICAgICAib3IgUGcgVXAgYW5kIFBnIERuLiBVc2UgUyBhbmQgQiB0byBjaGFuZ2UgZm9udCBzaXplLiIsCgogIHNpemVfaW5kZXg6IDAsCiAgc2l6ZV9hZGp1c3RtZW50OiAwLAogIHNpemVzOiAgbmV3IEFycmF5KCIxMHB0IiwgIjEycHQiLCAiMTRwdCIsICIxNnB0IiwgIjE4cHQiLCAiMjBwdCIsCiAgICAgICAgICAgICAgICAgICAgIjIycHQiLCAiMjRwdCIsICIyNnB0IiwgIjI4cHQiLCAiMzBwdCIsICIzMnB0IiksCgogIC8vIG5lZWRlZCBmb3IgZWZmaWNpZW50IHJlc2l6aW5nCiAgbGFzdF93aWR0aDogMCwKICBsYXN0X2hlaWdodDogMCwKCgogIC8vIE5lZWRlZCBmb3IgY3Jvc3MgYnJvd3NlciBzdXBwb3J0IGZvciByZWxhdGl2ZSB3aWR0aC9oZWlnaHQgb24KICAvLyBvYmplY3QgZWxlbWVudHMuIFRoZSB3b3JrIGFyb3VuZCBpcyB0byBzYXZlIHdpZHRoL2hlaWdodCBhdHRyaWJ1dGVzCiAgLy8gYW5kIHRoZW4gdG8gcmVjb21wdXRlIGFic29sdXRlIHdpZHRoL2hlaWdodCBkaW1lbnNpb25zIG9uIHJlc2l6aW5nCiAgIG9iamVjdHM6IFtdLAoKICAvLyBhdHRhY2ggaW5pdGlhbGlhdGlvbiBldmVudCBoYW5kbGVycwogIHNldF91cDogZnVuY3Rpb24gKCkgewogICAgdmFyIGluaXQgPSBmdW5jdGlvbigpIHsgdzNjX3NsaWR5LmluaXQoKTsgfTsKICAgIGlmICh0eXBlb2Ygd2luZG93LmFkZEV2ZW50TGlzdGVuZXIgIT0gInVuZGVmaW5lZCIpCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwogICAgZWxzZQogICAgICB3aW5kb3cuYXR0YWNoRXZlbnQoIm9ubG9hZCIsIGluaXQpOwogIH0sCgogIGhpZGVfc2xpZGVzOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAoZG9jdW1lbnQuYm9keSAmJiAhdzNjX3NsaWR5LmluaXRpYWxpemVkKQogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIjsKICAgIGVsc2UKICAgICAgc2V0VGltZW91dCh3M2Nfc2xpZHkuaGlkZV9zbGlkZXMsIDUwKTsKICB9LAoKICAvLyBoYWNrIHRvIHBlcnN1YWRlIElFIHRvIGNvbXB1dGUgY29ycmVjdCBkb2N1bWVudCBoZWlnaHQKICAvLyBhcyBuZWVkZWQgZm9yIHNpbXVsYXRpbmcgZml4ZWQgcG9zaXRpb25pbmcgb2YgdG9vbGJhcgogIGllX2hhY2s6IGZ1bmN0aW9uICgpIHsKICAgIHdpbmRvdy5yZXNpemVCeSgwLC0xKTsKICAgIHdpbmRvdy5yZXNpemVCeSgwLCAxKTsKICB9LAoKICBpbml0OiBmdW5jdGlvbiAoKSB7CiAgICAvL2FsZXJ0KCJzbGlkeSBzdGFydGluZyB0ZXN0IDEwIik7CiAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnZpc2liaWxpdHkgPSAidmlzaWJsZSI7CiAgICB0aGlzLmluaXRfbG9jYWxpemF0aW9uKCk7CiAgICB0aGlzLmFkZF90b29sYmFyKCk7CiAgICB0aGlzLndyYXBfaW1wbGljaXRfc2xpZGVzKCk7CiAgICB0aGlzLmNvbGxlY3Rfc2xpZGVzKCk7CiAgICB0aGlzLmNvbGxlY3Rfbm90ZXMoKTsKICAgIHRoaXMuY29sbGVjdF9iYWNrZ3JvdW5kcygpOwogICAgdGhpcy5vYmplY3RzID0gZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgib2JqZWN0Iik7CiAgICB0aGlzLnBhdGNoX2FuY2hvcnMoKTsKICAgIHRoaXMuc2xpZGVfbnVtYmVyID0gdGhpcy5maW5kX3NsaWRlX251bWJlcihsb2NhdGlvbi5ocmVmKTsKICAgIHdpbmRvdy5vZmZzY3JlZW5idWZmZXJpbmcgPSB0cnVlOwogICAgdGhpcy5zaXplX2FkanVzdG1lbnQgPSB0aGlzLmZpbmRfc2l6ZV9hZGp1c3QoKTsKICAgIHRoaXMudGltZV9sZWZ0ID0gdGhpcy5maW5kX2R1cmF0aW9uKCk7CiAgICB0aGlzLmhpZGVfaW1hZ2VfdG9vbGJhcigpOyAgLy8gc3VwcHJlc3MgSUUgaW1hZ2UgdG9vbGJhciBwb3B1cAogICAgdGhpcy5pbml0X291dGxpbmVyKCk7ICAvLyBhY3RpdmF0ZSBmb2xkL3VuZm9sZCBzdXBwb3J0CiAgICB0aGlzLnRpdGxlID0gZG9jdW1lbnQudGl0bGU7CiAgICB0aGlzLmtleWJvYXJkbGVzcyA9ICh0aGlzLmlwYWR8fHRoaXMuaXBob25lfHx0aGlzLmFuZHJvaWQpOwoKICAgIGlmICh0aGlzLmtleWJvYXJkbGVzcykKICAgIHsKICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgIHRoaXMud2FudF90b29sYmFyID0gMDsKICAgIH0KCiAgICAvLyB3b3JrIGFyb3VuZCBmb3Igb3BlcmEgYnVnCiAgICB0aGlzLmlzX3hodG1sID0gKGRvY3VtZW50LmJvZHkudGFnTmFtZSA9PSAiQk9EWSIgPyBmYWxzZSA6IHRydWUpOwoKICAgIGlmICh0aGlzLnNsaWRlcy5sZW5ndGggPiAwKQogICAgewogICAgICB2YXIgc2xpZGUgPSB0aGlzLnNsaWRlc1t0aGlzLnNsaWRlX251bWJlcl07CiAgIAogICAgICBpZiAodGhpcy5zbGlkZV9udW1iZXIgPiAwKQogICAgICB7CiAgICAgICAgdGhpcy5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICAgICAgICB0aGlzLmxhc3Rfc2hvd24gPSB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obnVsbCk7CiAgICAgICAgdGhpcy5zZXRfZW9zX3N0YXR1cyh0cnVlKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICB0aGlzLmxhc3Rfc2hvd24gPSBudWxsOwogICAgICAgIHRoaXMuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJoaWRkZW4iKTsKICAgICAgICB0aGlzLnNldF9lb3Nfc3RhdHVzKCF0aGlzLm5leHRfaW5jcmVtZW50YWxfaXRlbSh0aGlzLmxhc3Rfc2hvd24pKTsKICAgICAgfQoKICAgICAgdGhpcy5zZXRfbG9jYXRpb24oKTsKICAgICAgdGhpcy5hZGRfY2xhc3ModGhpcy5zbGlkZXNbMF0sICJmaXJzdC1zbGlkZSIpOwogICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZShzbGlkZSk7CiAgICB9CgogICAgdGhpcy50b2MgPSB0aGlzLnRhYmxlX29mX2NvbnRlbnRzKCk7CgogICAgdGhpcy5hZGRfaW5pdGlhbF9wcm9tcHQoKTsKCiAgICAvLyBiaW5kIGV2ZW50IGhhbmRsZXJzIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCBjdXN0b20gcGFnZSBzY3JpcHRzCiAgICAvLyBUYXAgZXZlbnRzIGJlaGF2ZSB0b28gd2VpcmRseSB0byBzdXBwb3J0IGNsaWNrcyByZWxpYWJseSBvbgogICAgLy8gaVBob25lIGFuZCBpUGFkLCBzbyBleGNsdWRlIHRoZXNlIGZyb20gY2xpY2sgaGFuZGxlcgoKICAgIGlmICghdGhpcy5rZXlib2FyZGxlc3MpCiAgICB7CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LmJvZHksICJjbGljayIsIHRoaXMubW91c2VfYnV0dG9uX2NsaWNrKTsKICAgICAgdGhpcy5hZGRfbGlzdGVuZXIoZG9jdW1lbnQuYm9keSwgIm1vdXNlZG93biIsIHRoaXMubW91c2VfYnV0dG9uX2Rvd24pOwogICAgfQoKICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LCAia2V5ZG93biIsIHRoaXMua2V5X2Rvd24pOwogICAgdGhpcy5hZGRfbGlzdGVuZXIoZG9jdW1lbnQsICJrZXlwcmVzcyIsIHRoaXMua2V5X3ByZXNzKTsKICAgIHRoaXMuYWRkX2xpc3RlbmVyKHdpbmRvdywgInJlc2l6ZSIsIHRoaXMucmVzaXplZCk7CiAgICB0aGlzLmFkZF9saXN0ZW5lcih3aW5kb3csICJzY3JvbGwiLCB0aGlzLnNjcm9sbGVkKTsKICAgIHRoaXMuYWRkX2xpc3RlbmVyKHdpbmRvdywgInVubG9hZCIsIHRoaXMudW5sb2FkZWQpOwoKICAgIHRoaXMuYWRkX2xpc3RlbmVyKGRvY3VtZW50LCAiZ2VzdHVyZWNoYW5nZSIsIGZ1bmN0aW9uICgpCiAgICB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0pOwoKICAgIHRoaXMuYXR0YWNoX3RvdWNoX2hhbmRlcnModGhpcy5zbGlkZXMpOwoKICAgIC8vIHRoaXMgc2VlbXMgdG8gYmUgYSBkZWJ1Z2dpbmcgaGFjawogICAgLy9pZiAoIWRvY3VtZW50LmJvZHkub25jbGljaykKICAgIC8vICBkb2N1bWVudC5ib2R5Lm9uY2xpY2sgPSBmdW5jdGlvbiAoKSB7IH07CgogICAgdGhpcy5zaW5nbGVfc2xpZGVfdmlldygpOwoKICAgIC8vdGhpcy5zZXRfbG9jYXRpb24oKTsKCiAgICB0aGlzLnJlc2l6ZWQoKTsKCiAgICBpZiAodGhpcy5pZTcpCiAgICAgIHNldFRpbWVvdXQodzNjX3NsaWR5LmllX2hhY2ssIDEwMCk7CgogICAgdGhpcy5zaG93X3Rvb2xiYXIoKTsKCiAgICAvLyBmb3IgYmFjayBidXR0b24gZGV0ZWN0aW9uCiAgICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7IHczY19zbGlkeS5jaGVja19sb2NhdGlvbigpOyB9LCAyMDApOwogICAgdzNjX3NsaWR5LmluaXRpYWxpemVkID0gdHJ1ZTsKICB9LAoKICAvLyBjcmVhdGUgZGl2IGVsZW1lbnQgd2l0aCBsaW5rcyB0byBlYWNoIHNsaWRlCiAgdGFibGVfb2ZfY29udGVudHM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciB0b2MgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKTsKICAgIHRoaXMuYWRkX2NsYXNzKHRvYywgInNsaWR5X3RvYyBoaWRkZW4iKTsKICAgIC8vdG9jLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCAiMCIpOwoKICAgIHZhciBoZWFkaW5nID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICB0aGlzLmFkZF9jbGFzcyhoZWFkaW5nLCAidG9jLWhlYWRpbmciKTsKICAgIGhlYWRpbmcuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgiVGFibGUgb2YgQ29udGVudHMiKTsKCiAgICB0b2MuYXBwZW5kQ2hpbGQoaGVhZGluZyk7CiAgICB2YXIgcHJldmlvdXMgPSBudWxsOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5zbGlkZXMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIHZhciB0aXRsZSA9IHRoaXMuaGFzX2NsYXNzKHRoaXMuc2xpZGVzW2ldLCAidGl0bGUiKTsKICAgICAgdmFyIG51bSA9IGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKChpICsgMSkgKyAiLiAiKTsKCiAgICAgIHRvYy5hcHBlbmRDaGlsZChudW0pOwoKICAgICAgdmFyIGEgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJhIik7CiAgICAgIGEuc2V0QXR0cmlidXRlKCJocmVmIiwgIiMoIiArIChpKzEpICsgIikiKTsKCiAgICAgIGlmICh0aXRsZSkKICAgICAgICB0aGlzLmFkZF9jbGFzcyhhLCAidGl0bGVzbGlkZSIpOwoKICAgICAgdmFyIG5hbWUgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0aGlzLnNsaWRlX25hbWUoaSkpOwogICAgICBhLmFwcGVuZENoaWxkKG5hbWUpOwogICAgICBhLm9uY2xpY2sgPSB3M2Nfc2xpZHkudG9jX2NsaWNrOwogICAgICBhLm9ua2V5ZG93biA9IHczY19zbGlkeS50b2Nfa2V5X2Rvd247CiAgICAgIGEucHJldmlvdXMgPSBwcmV2aW91czsKCiAgICAgIGlmIChwcmV2aW91cykKICAgICAgICBwcmV2aW91cy5uZXh0ID0gYTsKCiAgICAgIHRvYy5hcHBlbmRDaGlsZChhKTsKCiAgICAgIGlmIChpID09IDApCiAgICAgICAgdG9jLmZpcnN0ID0gYTsKCiAgICAgIGlmIChpIDwgdGhpcy5zbGlkZXMubGVuZ3RoIC0gMSkKICAgICAgewogICAgICAgIHZhciBiciA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImJyIik7CiAgICAgICAgdG9jLmFwcGVuZENoaWxkKGJyKTsKICAgICAgfQoKICAgICAgcHJldmlvdXMgPSBhOwogICAgfQoKICAgIHRvYy5mb2N1cyA9IGZ1bmN0aW9uICgpIHsKICAgICAgaWYgKHRoaXMuZmlyc3QpCiAgICAgICAgdGhpcy5maXJzdC5mb2N1cygpOwogICAgfQoKICAgIHRvYy5vbm1vdXNldXAgPSB3M2Nfc2xpZHkubW91c2VfYnV0dG9uX3VwOwoKICAgIHRvYy5vbmNsaWNrID0gZnVuY3Rpb24gKGUpIHsKICAgICAgZXx8KGU9d2luZG93LmV2ZW50KTsKCiAgICAgIGlmICh3M2Nfc2xpZHkuc2VsZWN0ZWRfdGV4dF9sZW4gPD0gMCkKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfdGFibGVfb2ZfY29udGVudHModHJ1ZSk7CgogICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKICAgIAogICAgICBpZiAoZS5jYW5jZWwgIT0gdW5kZWZpbmVkKQogICAgICAgIGUuY2FuY2VsID0gdHJ1ZTsKICAgICAgCiAgICAgIGlmIChlLnJldHVyblZhbHVlICE9IHVuZGVmaW5lZCkKICAgICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgIAogICAgICByZXR1cm4gZmFsc2U7CiAgICB9OwoKICAgIGRvY3VtZW50LmJvZHkuaW5zZXJ0QmVmb3JlKHRvYywgZG9jdW1lbnQuYm9keS5maXJzdENoaWxkKTsKICAgIHJldHVybiB0b2M7CiAgfSwKCiAgaXNfc2hvd25fdG9jOiBmdW5jdGlvbiAoKSB7CiAgICByZXR1cm4gIXczY19zbGlkeS5oYXNfY2xhc3ModzNjX3NsaWR5LnRvYywgImhpZGRlbiIpOwogIH0sCgogIHNob3dfdGFibGVfb2ZfY29udGVudHM6IGZ1bmN0aW9uICgpIHsKICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3ModzNjX3NsaWR5LnRvYywgImhpZGRlbiIpOwogICAgdmFyIHRvYyA9IHczY19zbGlkeS50b2M7CiAgICB0b2MuZm9jdXMoKTsKCiAgICBpZiAodzNjX3NsaWR5LmllNyAmJiB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID09IDApCiAgICAgIHNldFRpbWVvdXQodzNjX3NsaWR5LmllX2hhY2ssIDEwMCk7CiAgfSwKCiAgaGlkZV90YWJsZV9vZl9jb250ZW50czogZnVuY3Rpb24gKGZvY3VzKSB7CiAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKHczY19zbGlkeS50b2MsICJoaWRkZW4iKTsKCiAgICBpZiAoZm9jdXMgJiYgIXczY19zbGlkeS5vcGVyYSAmJgogICAgICAgICF3M2Nfc2xpZHkuaGFzX2NsYXNzKHczY19zbGlkeS50b2MsICJoaWRkZW4iKSkKICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogIH0sCgogIHRvZ2dsZV90YWJsZV9vZl9jb250ZW50czogZnVuY3Rpb24gKCkgewogICAgaWYgKHczY19zbGlkeS5pc19zaG93bl90b2MoKSkKICAgICAgdzNjX3NsaWR5LmhpZGVfdGFibGVfb2ZfY29udGVudHModHJ1ZSk7CiAgICBlbHNlCiAgICAgIHczY19zbGlkeS5zaG93X3RhYmxlX29mX2NvbnRlbnRzKCk7CiAgfSwKCiAgLy8gY2FsbGVkIG9uIGNsaWNraW5nIHRvYyBlbnRyeQogIHRvY19jbGljazogZnVuY3Rpb24gKGUpIHsKICAgIGlmICghZSkKICAgICAgZSA9IHdpbmRvdy5ldmVudDsKCiAgICB2YXIgdGFyZ2V0ID0gdzNjX3NsaWR5LmdldF90YXJnZXQoZSk7CgogICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZVR5cGUgPT0gMSkKICAgIHsKICAgICAgdmFyIHVyaSA9IHRhcmdldC5nZXRBdHRyaWJ1dGUoImhyZWYiKTsKCiAgICAgIGlmICh1cmkpCiAgICAgIHsKICAgICAgICAvL2FsZXJ0KCJnb2luZyB0byAiICsgdXJpKTsKICAgICAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5oaWRlX3NsaWRlKHNsaWRlKTsKICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID0gdzNjX3NsaWR5LmZpbmRfc2xpZGVfbnVtYmVyKHVyaSk7CiAgICAgICAgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CiAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgiaGlkZGVuIik7CiAgICAgICAgdzNjX3NsaWR5LnNldF9lb3Nfc3RhdHVzKCF3M2Nfc2xpZHkubmV4dF9pbmNyZW1lbnRhbF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKSk7CiAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICAgIC8vdGFyZ2V0LmZvY3VzKCk7CgogICAgICAgIHRyeQogICAgICAgIHsKICAgICAgICAgIGlmICghdzNjX3NsaWR5Lm9wZXJhKQogICAgICAgICAgICB3M2Nfc2xpZHkuc2V0X2ZvY3VzKCk7CiAgICAgICAgfQogICAgICAgIGNhdGNoIChlKQogICAgICAgIHsKICAgICAgICB9CiAgICAgIH0KICAgIH0KCiAgICB3M2Nfc2xpZHkuaGlkZV90YWJsZV9vZl9jb250ZW50cyh0cnVlKTsKICAgIGlmICh3M2Nfc2xpZHkuaWU3KSB3M2Nfc2xpZHkuaWVfaGFjaygpOwogICAgdzNjX3NsaWR5LnN0b3BfcHJvcGFnYXRpb24oZSk7CiAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChlKTsKICB9LAoKICAvLyBjYWxsZWQgb25rZXlkb3duIGZvciB0b2MgZW50cnkKICB0b2Nfa2V5X2Rvd246IGZ1bmN0aW9uIChldmVudCkgewogICAgdmFyIGtleTsKCiAgICBpZiAoIWV2ZW50KQogICAgICB2YXIgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh3aW5kb3cuZXZlbnQpCiAgICAgIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOwogICAgZWxzZSBpZiAoZXZlbnQud2hpY2gpCiAgICAgIGtleSA9IGV2ZW50LndoaWNoOwogICAgZWxzZQogICAgICByZXR1cm4gdHJ1ZTsgLy8gWWlrZXMhIHVua25vd24gYnJvd3NlcgoKICAgIC8vIGlnbm9yZSBldmVudCBpZiBrZXkgdmFsdWUgaXMgemVybwogICAgLy8gYXMgZm9yIGFsdCBvbiBPcGVyYSBhbmQgS29ucXVlcm9yCiAgICBpZiAoIWtleSkKICAgICAgcmV0dXJuIHRydWU7CgogICAgLy8gY2hlY2sgZm9yIGNvbmN1cnJlbnQgY29udHJvbC9jb21tYW5kL2FsdCBrZXkKICAgIC8vIGJ1dCBhcmUgdGhlc2Ugb25seSBwcmVzZW50IG9uIG1vdXNlIGV2ZW50cz8KCiAgICBpZiAoZXZlbnQuY3RybEtleSB8fCBldmVudC5hbHRLZXkpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmIChrZXkgPT0gMTMpCiAgICB7CiAgICAgIHZhciB1cmkgPSB0aGlzLmdldEF0dHJpYnV0ZSgiaHJlZiIpOwoKICAgICAgaWYgKHVyaSkKICAgICAgewogICAgICAgIC8vYWxlcnQoImdvaW5nIHRvICIgKyB1cmkpOwogICAgICAgdmFyIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkuaGlkZV9zbGlkZShzbGlkZSk7CiAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5maW5kX3NsaWRlX251bWJlcih1cmkpOwogICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IG51bGw7CiAgICAgICAgdzNjX3NsaWR5LnNldF9sb2NhdGlvbigpOwogICAgICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoImhpZGRlbiIpOwogICAgICAgIHczY19zbGlkeS5zZXRfZW9zX3N0YXR1cyghdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbSh3M2Nfc2xpZHkubGFzdF9zaG93bikpOwogICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgICAvL3RhcmdldC5mb2N1cygpOwoKICAgICAgICB0cnkKICAgICAgICB7CiAgICAgICAgICBpZiAoIXczY19zbGlkeS5vcGVyYSkKICAgICAgICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogICAgICAgIH0KICAgICAgICBjYXRjaCAoZSkKICAgICAgICB7CiAgICAgICAgfQogICAgICB9CgogICAgICB3M2Nfc2xpZHkuaGlkZV90YWJsZV9vZl9jb250ZW50cyh0cnVlKTsKCiAgICAgIGlmIChzZWxmLmllNykKICAgICAgIHczY19zbGlkeS5pZV9oYWNrKCk7CgogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CgogICAgaWYgKGtleSA9PSA0MCAmJiB0aGlzLm5leHQpCiAgICB7CiAgICAgIHRoaXMubmV4dC5mb2N1cygpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CgogICAgaWYgKGtleSA9PSAzOCAmJiB0aGlzLnByZXZpb3VzKQogICAgewogICAgICB0aGlzLnByZXZpb3VzLmZvY3VzKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKICB9LAoKICB0b3VjaHN0YXJ0OiBmdW5jdGlvbiAoZSkKICB7CiAgICAvLyBhIGRvdWJsZSB0b3VjaCBvZnRlbiBzdGFydHMgd2l0aCBhCiAgICAvLyBzaW5nbGUgdG91Y2ggZHVlIHRvIGZpbmdlcnMgdG91Y2hpbmcKICAgIC8vIGRvd24gYXQgc2xpZ2h0bHkgZGlmZmVyZW50IHRpbWVzCiAgICAvLyB0aHVzIGF2b2lkIGNhbGxpbmcgcHJldmVudERlZmF1bHQgaGVyZQogICAgdGhpcy5wcmV2X3RhcCA9IHRoaXMubGFzdF90YXA7CiAgICB0aGlzLmxhc3RfdGFwID0gKG5ldyBEYXRlKS5nZXRUaW1lKCk7CgogICAgdmFyIHRhcF9kZWxheSA9IHRoaXMubGFzdF90YXAgLSB0aGlzLnByZXZfdGFwOwoKICAgIGlmICh0YXBfZGVsYXkgPD0gMjAwKQogICAgewogICAgICAvLyBkb3VibGUgdGFwCiAgICB9CgogICAgdmFyIHRvdWNoID0gZS50b3VjaGVzWzBdOwoKICAgIHRoaXMucGFnZVggPSB0b3VjaC5wYWdlWDsKICAgIHRoaXMucGFnZVkgPSB0b3VjaC5wYWdlWTsKICAgIHRoaXMuc2NyZWVuWCA9IHRvdWNoLnNjcmVlblg7CiAgICB0aGlzLnNjcmVlblkgPSB0b3VjaC5zY3JlZW5ZOwogICAgdGhpcy5jbGllbnRYID0gdG91Y2guY2xpZW50WDsKICAgIHRoaXMuY2xpZW50WSA9IHRvdWNoLmNsaWVudFk7CgogICAgdGhpcy5kZWx0YV94ID0gdGhpcy5kZWx0YV95ID0gMDsKICB9LAoKICB0b3VjaG1vdmU6IGZ1bmN0aW9uIChlKQogIHsKICAgIC8vIG92ZXJyaWRlIG5hdGl2ZSBnZXN0dXJlcyBmb3Igc2luZ2xlIHRvdWNoCiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDEpCiAgICAgIHJldHVybjsKCiAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB2YXIgdG91Y2ggPSBlLnRvdWNoZXNbMF07CiAgICB0aGlzLmRlbHRhX3ggPSB0b3VjaC5wYWdlWCAtIHRoaXMucGFnZVg7CiAgICB0aGlzLmRlbHRhX3kgPSB0b3VjaC5wYWdlWSAtIHRoaXMucGFnZVk7CiAgfSwKCiAgdG91Y2hlbmQ6IGZ1bmN0aW9uIChlKQogIHsKICAgIC8vIGRlZmF1bHQgYmVoYXZpb3IgZm9yIG11bHRpLXRvdWNoCiAgICBpZiAoZS50b3VjaGVzLmxlbmd0aCA+IDEpCiAgICAgIHJldHVybjsKCiAgICB2YXIgZGVsYXkgPSAobmV3IERhdGUpLmdldFRpbWUoKSAtIHRoaXMubGFzdF90YXA7CiAgICB2YXIgZHggPSB0aGlzLmRlbHRhX3g7CiAgICB2YXIgZHkgPSB0aGlzLmRlbHRhX3k7CiAgICB2YXIgYWJzX2R4ID0gTWF0aC5hYnMoZHgpOwogICAgdmFyIGFic19keSA9IE1hdGguYWJzKGR5KTsKCiAgICBpZiAoZGVsYXkgPCA1MDAgJiYgKGFic19keCA+IDEwMCB8fCBhYnNfZHkgPiAxMDApKQogICAgewogICAgICBpZiAoYWJzX2R4ID4gMC41ICogYWJzX2R5KQogICAgICB7CiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwoKICAgICAgICBpZiAoZHggPCAwKQogICAgICAgICAgdzNjX3NsaWR5Lm5leHRfc2xpZGUodHJ1ZSk7CiAgICAgICAgZWxzZQogICAgICAgICAgdzNjX3NsaWR5LnByZXZpb3VzX3NsaWRlKHRydWUpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKGFic19keSA+IDIgKiBhYnNfZHgpCiAgICAgIHsKICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgdzNjX3NsaWR5LnRvZ2dsZV90YWJsZV9vZl9jb250ZW50cygpOwogICAgICB9CiAgICB9CiAgfSwKCiAgLy8gIyMjIE9CU09MRVRFICMjIwogIGJlZm9yZV9wcmludDogZnVuY3Rpb24gKCkgewogICAgdGhpcy5zaG93X2FsbF9zbGlkZXMoKTsKICAgIHRoaXMuaGlkZV90b29sYmFyKCk7CiAgICBhbGVydCgiYmVmb3JlIHByaW50Iik7CiAgfSwKCiAgLy8gIyMjIE9CU09MRVRFICMjIwogIGFmdGVyX3ByaW50OiBmdW5jdGlvbiAoKSB7CiAgICBpZiAoIXRoaXMudmlld19hbGwpCiAgICB7CiAgICAgIHRoaXMuc2luZ2xlX3NsaWRlX3ZpZXcoKTsKICAgICAgdGhpcy5zaG93X3Rvb2xiYXIoKTsKICAgIH0KICAgIGFsZXJ0KCJhZnRlciBwcmludCIpOwogIH0sCgogIC8vICMjIyBPQlNPTEVURSAjIyMKICBwcmludF9zbGlkZXM6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYmVmb3JlX3ByaW50KCk7CiAgICB3aW5kb3cucHJpbnQoKTsKICAgIHRoaXMuYWZ0ZXJfcHJpbnQoKTsKICB9LAoKICAvLyAjIyMgT0JTT0xFVEUgPz8gIyMjCiAgdG9nZ2xlX3ZpZXc6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh0aGlzLnZpZXdfYWxsKQogICAgewogICAgICB0aGlzLnNpbmdsZV9zbGlkZV92aWV3KCk7CiAgICAgIHRoaXMuc2hvd190b29sYmFyKCk7CiAgICAgIHRoaXMudmlld19hbGwgPSAwOwogICAgfQogICAgZWxzZQogICAgewogICAgICB0aGlzLnNob3dfYWxsX3NsaWRlcygpOwogICAgICB0aGlzLmhpZGVfdG9vbGJhcigpOwogICAgICB0aGlzLnZpZXdfYWxsID0gMTsKICAgIH0KICB9LAoKICAvLyBwcmVwYXJlIGZvciBwcmludGluZyAgIyMjIE9CU09MRVRFICMjIwogIHNob3dfYWxsX3NsaWRlczogZnVuY3Rpb24gKCkgewogICAgdGhpcy5yZW1vdmVfY2xhc3MoZG9jdW1lbnQuYm9keSwgInNpbmdsZV9zbGlkZSIpOwogICAgdGhpcy5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICB9LAoKICAvLyByZXN0b3JlIGFmdGVyIHByaW50aW5nICAjIyMgT0JTT0xFVEUgIyMjCiAgc2luZ2xlX3NsaWRlX3ZpZXc6IGZ1bmN0aW9uICgpIHsKICAgIHRoaXMuYWRkX2NsYXNzKGRvY3VtZW50LmJvZHksICJzaW5nbGVfc2xpZGUiKTsKICAgIHRoaXMuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJ2aXNpYmxlIik7CiAgICB0aGlzLmxhc3Rfc2hvd24gPSB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obnVsbCk7CiAgfSwKCiAgLy8gc3VwcHJlc3MgSUUncyBpbWFnZSB0b29sYmFyIHBvcCB1cAogIGhpZGVfaW1hZ2VfdG9vbGJhcjogZnVuY3Rpb24gKCkgewogICAgaWYgKCF0aGlzLm5zX3BvcykKICAgIHsKICAgICAgdmFyIGltYWdlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJJTUciKTsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgaW1hZ2VzLmxlbmd0aDsgKytpKQogICAgICAgIGltYWdlc1tpXS5zZXRBdHRyaWJ1dGUoImdhbGxlcnlpbWciLCAibm8iKTsKICAgIH0KICB9LAoKICB1bmxvYWRlZDogZnVuY3Rpb24gKGUpIHsKICAgIC8vYWxlcnQoInVubG9hZGVkIik7CiAgfSwKCiAgLy8gU2FmYXJpIGFuZCBLb25xdWVyb3IgZG9uJ3QgeWV0IHN1cHBvcnQgZ2V0Q29tcHV0ZWRTdHlsZSgpCiAgLy8gYW5kIHRoZXkgYWx3YXlzIHJlbG9hZCBwYWdlIHdoZW4gbG9jYXRpb24uaHJlZiBpcyB1cGRhdGVkCiAgaXNfS0hUTUw6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBhZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7CiAgICByZXR1cm4gKGFnZW50LmluZGV4T2YoIktIVE1MIikgPj0gMCA/IHRydWUgOiBmYWxzZSk7CiAgfSwKCiAgLy8gZmluZCBzbGlkZSBuYW1lIGZyb20gZmlyc3QgaDEgZWxlbWVudAogIC8vIGRlZmF1bHQgdG8gZG9jdW1lbnQgdGl0bGUgKyBzbGlkZSBudW1iZXIKICBzbGlkZV9uYW1lOiBmdW5jdGlvbiAoaW5kZXgpIHsKICAgIHZhciBuYW1lID0gbnVsbDsKICAgIHZhciBzbGlkZSA9IHRoaXMuc2xpZGVzW2luZGV4XTsKCiAgICB2YXIgaGVhZGluZyA9IHRoaXMuZmluZF9oZWFkaW5nKHNsaWRlKTsKCiAgICBpZiAoaGVhZGluZykKICAgICAgbmFtZSA9IHRoaXMuZXh0cmFjdF90ZXh0KGhlYWRpbmcpOwoKICAgIGlmICghbmFtZSkKICAgICAgbmFtZSA9IHRoaXMudGl0bGUgKyAiKCIgKyAoaW5kZXggKyAxKSArICIpIjsKCiAgICBuYW1lLnJlcGxhY2UoL1wmL2csICImYW1wOyIpOwogICAgbmFtZS5yZXBsYWNlKC9cPC9nLCAiJmx0OyIpOwogICAgbmFtZS5yZXBsYWNlKC9cPi9nLCAiJmd0OyIpOwoKICAgIHJldHVybiBuYW1lOwogIH0sCgogIC8vIGZpbmQgZmlyc3QgaDEgZWxlbWVudCBpbiBET00gdHJlZQogIGZpbmRfaGVhZGluZzogZnVuY3Rpb24gKG5vZGUpIHsKICAgIGlmICghbm9kZSB8fCBub2RlLm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBudWxsOwoKICAgIGlmIChub2RlLm5vZGVOYW1lID09ICJIMSIgfHwgbm9kZS5ub2RlTmFtZSA9PSAiaDEiKQogICAgICByZXR1cm4gbm9kZTsKCiAgICB2YXIgY2hpbGQgPSBub2RlLmZpcnN0Q2hpbGQ7CgogICAgd2hpbGUgKGNoaWxkKQogICAgewogICAgICBub2RlID0gdGhpcy5maW5kX2hlYWRpbmcoY2hpbGQpOwoKICAgICAgaWYgKG5vZGUpCiAgICAgICAgcmV0dXJuIG5vZGU7CgogICAgICBjaGlsZCA9IGNoaWxkLm5leHRTaWJsaW5nOwogICAgfQoKICAgIHJldHVybiBudWxsOwogIH0sCgogIC8vIHJlY3Vyc2l2ZWx5IGV4dHJhY3QgdGV4dCBmcm9tIERPTSB0cmVlCiAgZXh0cmFjdF90ZXh0OiBmdW5jdGlvbiAobm9kZSkgewogICAgaWYgKCFub2RlKQogICAgICByZXR1cm4gIiI7CgogICAgLy8gdGV4dCBub2RlcwogICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMykKICAgICAgcmV0dXJuIG5vZGUubm9kZVZhbHVlOwoKICAgIC8vIGVsZW1lbnRzCiAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxKQogICAgewogICAgICBub2RlID0gbm9kZS5maXJzdENoaWxkOwogICAgICB2YXIgdGV4dCA9ICIiOwoKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB0ZXh0ID0gdGV4dCArIHRoaXMuZXh0cmFjdF90ZXh0KG5vZGUpOwogICAgICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nOwogICAgICB9CgogICAgICByZXR1cm4gdGV4dDsKICAgIH0KCiAgICByZXR1cm4gIiI7CiAgfSwKCiAgLy8gZmluZCBjb3B5cmlnaHQgdGV4dCBmcm9tIG1ldGEgZWxlbWVudAogIGZpbmRfY29weXJpZ2h0OiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgbmFtZSwgY29udGVudDsKICAgIHZhciBtZXRhID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIm1ldGEiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IG1ldGEubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIG5hbWUgPSBtZXRhW2ldLmdldEF0dHJpYnV0ZSgibmFtZSIpOwogICAgICBjb250ZW50ID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoImNvbnRlbnQiKTsKCiAgICAgIGlmIChuYW1lID09ICJjb3B5cmlnaHQiKQogICAgICAgIHJldHVybiBjb250ZW50OwogICAgfQoKICAgIHJldHVybiBudWxsOwogIH0sCgogIGZpbmRfc2l6ZV9hZGp1c3Q6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBuYW1lLCBjb250ZW50LCBvZmZzZXQ7CiAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRhIik7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXRhLmxlbmd0aDsgKytpKQogICAgewogICAgICBuYW1lID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoIm5hbWUiKTsKICAgICAgY29udGVudCA9IG1ldGFbaV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iik7CgogICAgICBpZiAobmFtZSA9PSAiZm9udC1zaXplLWFkanVzdG1lbnQiKQogICAgICAgIHJldHVybiAxICogY29udGVudDsKICAgIH0KCiAgICByZXR1cm4gMTsKICB9LAoKICAvLyA8bWV0YSBuYW1lPSJkdXJhdGlvbiIgY29udGVudD0iMjAiIC8+ICBmb3IgMjAgbWludXRlcwogIGZpbmRfZHVyYXRpb246IGZ1bmN0aW9uICgpIHsKICAgIHZhciBuYW1lLCBjb250ZW50LCBvZmZzZXQ7CiAgICB2YXIgbWV0YSA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJtZXRhIik7CgogICAgZm9yICh2YXIgaSA9IDA7IGkgPCBtZXRhLmxlbmd0aDsgKytpKQogICAgewogICAgICBuYW1lID0gbWV0YVtpXS5nZXRBdHRyaWJ1dGUoIm5hbWUiKTsKICAgICAgY29udGVudCA9IG1ldGFbaV0uZ2V0QXR0cmlidXRlKCJjb250ZW50Iik7CgogICAgICBpZiAobmFtZSA9PSAiZHVyYXRpb24iKQogICAgICAgIHJldHVybiA2MDAwMCAqIGNvbnRlbnQ7CiAgICB9CgogICAgcmV0dXJuIG51bGw7CiAgfSwKCiAgcmVwbGFjZV9ieV9ub25fYnJlYWtpbmdfc3BhY2U6IGZ1bmN0aW9uIChzdHIpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgKytpKQogICAgICBzdHJbaV0gPSAxNjA7CiAgfSwKCiAgLy8gIyMjIENIRUNLIE1FICMjIyBpcyB1c2Ugb2YgImxpIiBva2F5IGZvciB0ZXh0L2h0bWw/CiAgLy8gZm9yIFhIVE1MIGRvIHdlIGFsc28gbmVlZCB0byBzcGVjaWZ5IG5hbWVzcGFjZT8KICBpbml0X291dGxpbmVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgaXRlbXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgibGkiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgKytpKQogICAgewogICAgICB2YXIgdGFyZ2V0ID0gaXRlbXNbaV07CgogICAgICBpZiAoIXRoaXMuaGFzX2NsYXNzKHRhcmdldC5wYXJlbnROb2RlLCAib3V0bGluZSIpKQogICAgICAgIGNvbnRpbnVlOwoKICAgICAgdGFyZ2V0Lm9uY2xpY2sgPSB0aGlzLm91dGxpbmVfY2xpY2s7Ci8qICMjIyBtb3JlIHdvcmsgbmVlZGVkIGZvciBJRTYKICAgICAgaWYgKCF0aGlzLm5zX3BvcykKICAgICAgewogICAgICAgIHRhcmdldC5vbm1vdXNlb3ZlciA9IHRoaXMuaG92ZXJfb3V0bGluZTsKICAgICAgICB0YXJnZXQub25tb3VzZW91dCA9IHRoaXMudW5ob3Zlcl9vdXRsaW5lOwogICAgICB9CiovCiAgICAgIGlmICh0aGlzLmZvbGRhYmxlKHRhcmdldCkpCiAgICAgIHsKICAgICAgICB0YXJnZXQuZm9sZGFibGUgPSB0cnVlOwogICAgICAgIHRhcmdldC5vbmZvY3VzID0gZnVuY3Rpb24gKCkge3czY19zbGlkeS5vdXRsaW5lID0gdGhpczt9OwogICAgICAgIHRhcmdldC5vbmJsdXIgPSBmdW5jdGlvbiAoKSB7dzNjX3NsaWR5Lm91dGxpbmUgPSBudWxsO307CgogICAgICAgIGlmICghdGFyZ2V0LmdldEF0dHJpYnV0ZSgidGFiaW5kZXgiKSkKICAgICAgICAgIHRhcmdldC5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwgIjAiKTsKCiAgICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKHRhcmdldCwgImV4cGFuZCIpKQogICAgICAgICAgdGhpcy51bmZvbGQodGFyZ2V0KTsKICAgICAgICBlbHNlCiAgICAgICAgICB0aGlzLmZvbGQodGFyZ2V0KTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICB0aGlzLmFkZF9jbGFzcyh0YXJnZXQsICJub2ZvbGQiKTsKICAgICAgICB0YXJnZXQudmlzaWJsZSA9IHRydWU7CiAgICAgICAgdGFyZ2V0LmZvbGRhYmxlID0gZmFsc2U7CiAgICAgIH0KICAgIH0KICB9LAoKICBmb2xkYWJsZTogZnVuY3Rpb24gKGl0ZW0pIHsKICAgIGlmICghaXRlbSB8fCBpdGVtLm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICB2YXIgbm9kZSA9IGl0ZW0uZmlyc3RDaGlsZDsKCiAgICB3aGlsZSAobm9kZSkKICAgIHsKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSAmJiB0aGlzLmlzX2Jsb2NrKG5vZGUpKQogICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmc7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIC8vICMjIyBDSEVDSyBNRSAjIyMgc3dpdGNoIHRvIGFkZC9yZW1vdmUgImhpZGRlbiIgY2xhc3MKICBmb2xkOiBmdW5jdGlvbiAoaXRlbSkgewogICAgaWYgKGl0ZW0pCiAgICB7CiAgICAgIHRoaXMucmVtb3ZlX2NsYXNzKGl0ZW0sICJ1bmZvbGRlZCIpOwogICAgICB0aGlzLmFkZF9jbGFzcyhpdGVtLCAiZm9sZGVkIik7CiAgICB9CgogICAgdmFyIG5vZGUgPSBpdGVtID8gaXRlbS5maXJzdENoaWxkIDogbnVsbDsKCiAgICB3aGlsZSAobm9kZSkKICAgIHsKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSAmJiB0aGlzLmlzX2Jsb2NrKG5vZGUpKSAvLyBlbGVtZW50CiAgICAgIHsKICAgICAgICAgdzNjX3NsaWR5LmFkZF9jbGFzcyhub2RlLCAiaGlkZGVuIik7CiAgICAgIH0KCiAgICAgIG5vZGUgPSBub2RlLm5leHRTaWJsaW5nOwogICAgfQoKICAgIGl0ZW0udmlzaWJsZSA9IGZhbHNlOwogIH0sCgogIC8vICMjIyBDSEVDSyBNRSAjIyMgc3dpdGNoIHRvIGFkZC9yZW1vdmUgImhpZGRlbiIgY2xhc3MKICB1bmZvbGQ6IGZ1bmN0aW9uIChpdGVtKSB7CiAgICBpZiAoaXRlbSkKICAgIHsKICAgICAgdGhpcy5hZGRfY2xhc3MoaXRlbSwgInVuZm9sZGVkIik7CiAgICAgIHRoaXMucmVtb3ZlX2NsYXNzKGl0ZW0sICJmb2xkZWQiKTsKICAgIH0KCiAgICB2YXIgbm9kZSA9IGl0ZW0gPyBpdGVtLmZpcnN0Q2hpbGQgOiBudWxsOwoKICAgIHdoaWxlIChub2RlKQogICAgewogICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxICYmIHRoaXMuaXNfYmxvY2sobm9kZSkpIC8vIGVsZW1lbnQKICAgICAgewogICAgICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3Mobm9kZSwgImhpZGRlbiIpOwogICAgICB9CgogICAgICBub2RlID0gbm9kZS5uZXh0U2libGluZzsKICAgIH0KCiAgICBpdGVtLnZpc2libGUgPSB0cnVlOwogIH0sCgogIG91dGxpbmVfY2xpY2s6IGZ1bmN0aW9uIChlKSB7CiAgICBpZiAoIWUpCiAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgdmFyIHJpZ2h0Y2xpY2sgPSBmYWxzZTsKICAgIHZhciB0YXJnZXQgPSB3M2Nfc2xpZHkuZ2V0X3RhcmdldChlKTsKCiAgICB3aGlsZSAodGFyZ2V0ICYmIHRhcmdldC52aXNpYmxlID09IHVuZGVmaW5lZCkKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgaWYgKCF0YXJnZXQpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmIChlLndoaWNoKQogICAgICByaWdodGNsaWNrID0gKGUud2hpY2ggPT0gMyk7CiAgICBlbHNlIGlmIChlLmJ1dHRvbikKICAgICAgcmlnaHRjbGljayA9IChlLmJ1dHRvbiA9PSAyKTsKCiAgICBpZiAoIXJpZ2h0Y2xpY2sgJiYgdGFyZ2V0LnZpc2libGUgIT0gdW5kZWZpbmVkKQogICAgewogICAgICBpZiAodGFyZ2V0LmZvbGRhYmxlKQogICAgICB7CiAgICAgICAgaWYgKHRhcmdldC52aXNpYmxlKQogICAgICAgICAgdzNjX3NsaWR5LmZvbGQodGFyZ2V0KTsKICAgICAgICBlbHNlCiAgICAgICAgICB3M2Nfc2xpZHkudW5mb2xkKHRhcmdldCk7CiAgICAgIH0KCiAgICAgIHczY19zbGlkeS5zdG9wX3Byb3BhZ2F0aW9uKGUpOwogICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gZmFsc2U7CiAgfSwKCiAgYWRkX2luaXRpYWxfcHJvbXB0OiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgcHJvbXB0ID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICBwcm9tcHQuc2V0QXR0cmlidXRlKCJjbGFzcyIsICJpbml0aWFsX3Byb21wdCIpOwoKICAgIHZhciBwMSA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoInAiKTsKICAgIHByb21wdC5hcHBlbmRDaGlsZChwMSk7CiAgICBwMS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgImhlbHAiKTsKCiAgICBpZiAodGhpcy5rZXlib2FyZGxlc3MpCiAgICAgIHAxLmlubmVySFRNTCA9ICJzd2lwZSBsZWZ0IHRvIG1vdmUgdG8gbmV4dCBzbGlkZSI7CiAgICBlbHNlCiAgICAgIHAxLmlubmVySFRNTCA9ICJTcGFjZSwgUmlnaHQgQXJyb3cgb3Igc3dpcGUgbGVmdCB0byBtb3ZlIHRvICIgKwogICAgICAgICAgICAgICAgICAgICAibmV4dCBzbGlkZSwgY2xpY2sgaGVscCBiZWxvdyBmb3IgbW9yZSBkZXRhaWxzIjsKCiAgICB0aGlzLmFkZF9saXN0ZW5lcihwcm9tcHQsICJjbGljayIsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQocHJvbXB0KTsKICAgICAgdzNjX3NsaWR5LnN0b3BfcHJvcGFnYXRpb24oZSk7CiAgICAKICAgICAgaWYgKGUuY2FuY2VsICE9IHVuZGVmaW5lZCkKICAgICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIAogICAgICBpZiAoZS5yZXR1cm5WYWx1ZSAhPSB1bmRlZmluZWQpCiAgICAgICAgZS5yZXR1cm5WYWx1ZSA9IGZhbHNlOwogICAgICAKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSk7CgogICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChwcm9tcHQpOwogICAgdGhpcy5pbml0aWFsX3Byb21wdCA9IHByb21wdDsKICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChwcm9tcHQpO30sIDUwMDApOwogIH0sCgogIGFkZF90b29sYmFyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgY291bnRlciwgcGFnZTsKCiAgICAgdGhpcy50b29sYmFyID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiZGl2Iik7CiAgICAgdGhpcy50b29sYmFyLnNldEF0dHJpYnV0ZSgiY2xhc3MiLCAidG9vbGJhciIpOwoKICAgICAvLyBhIHJlYXNvbmFibHkgYmVoYXZlZCBicm93c2VyCiAgICAgaWYgKHRoaXMubnNfcG9zIHx8ICF0aGlzLmllNikKICAgICB7CiAgICAgICB2YXIgcmlnaHQgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKTsKICAgICAgIHJpZ2h0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCAiZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodCIpOwoKICAgICAgIGNvdW50ZXIgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIikKICAgICAgIGNvdW50ZXIuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgic2xpZGUiKSArICIgbi9tIjsKICAgICAgIHJpZ2h0LmFwcGVuZENoaWxkKGNvdW50ZXIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKHJpZ2h0KTsKCiAgICAgICB2YXIgbGVmdCA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImRpdiIpOwogICAgICAgbGVmdC5zZXRBdHRyaWJ1dGUoInN0eWxlIiwgInRleHQtYWxpZ246IGxlZnQiKTsKCiAgICAgICAvLyBnbG9iYWwgZW5kIG9mIHNsaWRlIGluZGljYXRvcgogICAgICAgdGhpcy5lb3MgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICB0aGlzLmVvcy5pbm5lckhUTUwgPSAiKiAiOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZCh0aGlzLmVvcyk7CgogICAgICAgdmFyIGhlbHAgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJhIik7CiAgICAgICBoZWxwLnNldEF0dHJpYnV0ZSgiaHJlZiIsIHRoaXMuaGVscF9wYWdlKTsKICAgICAgIGhlbHAuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIHRoaXMubG9jYWxpemUodGhpcy5oZWxwX3RleHQpKTsKICAgICAgIGhlbHAuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgiaGVscD8iKTsKICAgICAgIGxlZnQuYXBwZW5kQ2hpbGQoaGVscCk7CiAgICAgICBoZWxwLnN0eWxlLmRpc3BsYXk9Im5vbmUiOyAKICAgICAgIHRoaXMuaGVscF9hbmNob3IgPSBoZWxwOyAgLy8gc2F2ZSBmb3IgZm9jdXMgaGFjawoKICAgICAgIHZhciBnYXAxID0gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAiKTsKICAgICAgIGxlZnQuYXBwZW5kQ2hpbGQoZ2FwMSk7CgogICAgICAgdmFyIGNvbnRlbnRzID0gdGhpcy5jcmVhdGVfZWxlbWVudCgiYSIpOwogICAgICAgY29udGVudHMuc2V0QXR0cmlidXRlKCJocmVmIiwgImphdmFzY3JpcHQ6dzNjX3NsaWR5LnRvZ2dsZV90YWJsZV9vZl9jb250ZW50cygpIik7CiAgICAgICBjb250ZW50cy5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSgidGFibGUgb2YgY29udGVudHMiKSk7CiAgICAgICBjb250ZW50cy5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJDb250ZW50cyIpOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZChjb250ZW50cyk7CgogICAgICAgdmFyIGdhcDIgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgbGVmdC5hcHBlbmRDaGlsZChnYXAyKTsKCiAgICAgICB2YXIgY29weXJpZ2h0ID0gdGhpcy5maW5kX2NvcHlyaWdodCgpOwoKICAgICAgIGlmIChjb3B5cmlnaHQpCiAgICAgICB7CiAgICAgICAgIHZhciBzcGFuID0gdGhpcy5jcmVhdGVfZWxlbWVudCgic3BhbiIpOwogICAgICAgICBzcGFuLmNsYXNzTmFtZSA9ICJjb3B5cmlnaHQiOwogICAgICAgICBzcGFuLmlubmVySFRNTCA9IGNvcHlyaWdodDsKICAgICAgICAgbGVmdC5hcHBlbmRDaGlsZChzcGFuKTsKICAgICAgIH0KCiAgICAgICB0aGlzLnRvb2xiYXIuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsICIwIik7CiAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kQ2hpbGQobGVmdCk7CiAgICAgfQogICAgIGVsc2UgLy8gSUU2IHNvIG5lZWQgdG8gd29yayBhcm91bmQgaXRzIHBvb3IgQ1NTIHN1cHBvcnQKICAgICB7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUucG9zaXRpb24gPSAodGhpcy5pZTcgPyAiZml4ZWQiIDogImFic29sdXRlIik7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUuekluZGV4ID0gIjIwMCI7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUud2lkdGggPSAiOTkuOSUiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmhlaWdodCA9ICIxLjJlbSI7CiAgICAgICB0aGlzLnRvb2xiYXIuc3R5bGUudG9wID0gImF1dG8iOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmJvdHRvbSA9ICIwIjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5sZWZ0ID0gIjAiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLnJpZ2h0ID0gIjAiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLnRleHRBbGlnbiA9ICJsZWZ0IjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5mb250U2l6ZSA9ICI2MCUiOwogICAgICAgdGhpcy50b29sYmFyLnN0eWxlLmNvbG9yID0gInJlZCI7CiAgICAgICB0aGlzLnRvb2xiYXIuYm9yZGVyV2lkdGggPSAwOwogICAgICAgdGhpcy50b29sYmFyLmNsYXNzTmFtZSA9ICJ0b29sYmFyIjsKICAgICAgIHRoaXMudG9vbGJhci5zdHlsZS5iYWNrZ3JvdW5kID0gInJnYigyNDAsMjQwLDI0MCkiOwoKICAgICAgIC8vIHdvdWxkIGxpa2UgdG8gaGF2ZSBoZWxwIHRleHQgbGVmdCBhbGlnbmVkCiAgICAgICAvLyBhbmQgcGFnZSBjb3VudGVyIHJpZ2h0IGFsaWduZWQsIGZsb2F0aW5nCiAgICAgICAvLyBkaXYncyBkb24ndCB3b3JrLCBzbyBpbnN0ZWFkIHVzZSBuZXN0ZWQKICAgICAgIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZCBkaXYncy4KCiAgICAgICB2YXIgc3AgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICBzcC5pbm5lckhUTUwgPSAiJm5ic3A7Jm5ic3A7KiZuYnNwOyI7CiAgICAgICB0aGlzLnRvb2xiYXIuYXBwZW5kQ2hpbGQoc3ApOwogICAgICAgdGhpcy5lb3MgPSBzcDsgIC8vIGVuZCBvZiBzbGlkZSBpbmRpY2F0b3IKCiAgICAgICB2YXIgaGVscCA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImEiKTsKICAgICAgIGhlbHAuc2V0QXR0cmlidXRlKCJocmVmIiwgdGhpcy5oZWxwX3BhZ2UpOwogICAgICAgaGVscC5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSh0aGlzLmhlbHBfdGV4dCkpOwogICAgICAgaGVscC5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJoZWxwPyIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGhlbHApOwogICAgICAgdGhpcy5oZWxwX2FuY2hvciA9IGhlbHA7ICAvLyBzYXZlIGZvciBmb2N1cyBoYWNrCgogICAgICAgdmFyIGdhcDEgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGdhcDEpOwoKICAgICAgIHZhciBjb250ZW50cyA9IHRoaXMuY3JlYXRlX2VsZW1lbnQoImEiKTsKICAgICAgIGNvbnRlbnRzLnNldEF0dHJpYnV0ZSgiaHJlZiIsICJqYXZhc2NyaXB0OnRvZ2dsZVRhYmxlT2ZDb250ZW50cygpIik7CiAgICAgICBjb250ZW50cy5zZXRBdHRyaWJ1dGUoInRpdGxlIiwgdGhpcy5sb2NhbGl6ZSgidGFibGUgb2YgY29udGVudHMiLmxvY2FsaXplKSk7CiAgICAgICBjb250ZW50cy5pbm5lckhUTUwgPSB0aGlzLmxvY2FsaXplKCJjb250ZW50cz8iKTsKICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmRDaGlsZChjb250ZW50cyk7CgogICAgICAgdmFyIGdhcDIgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpOwogICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKGdhcDIpOwoKICAgICAgIHZhciBjb3B5cmlnaHQgPSB0aGlzLmZpbmRfY29weXJpZ2h0KCk7CgogICAgICAgaWYgKGNvcHlyaWdodCkKICAgICAgIHsKICAgICAgICAgdmFyIHNwYW4gPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJzcGFuIik7CiAgICAgICAgIHNwYW4uaW5uZXJIVE1MID0gY29weXJpZ2h0OwogICAgICAgICBzcGFuLnN0eWxlLmNvbG9yID0gImJsYWNrIjsKICAgICAgICAgc3Bhbi5zdHlsZS5tYXJnaW5MZWZ0ID0gIjAuNWVtIjsKICAgICAgICAgdGhpcy50b29sYmFyLmFwcGVuZENoaWxkKHNwYW4pOwogICAgICAgfQoKICAgICAgIGNvdW50ZXIgPSB0aGlzLmNyZWF0ZV9lbGVtZW50KCJkaXYiKQogICAgICAgY291bnRlci5zdHlsZS5wb3NpdGlvbiA9ICJhYnNvbHV0ZSI7CiAgICAgICBjb3VudGVyLnN0eWxlLndpZHRoID0gImF1dG8iOyAvLyIyMCUiOwogICAgICAgY291bnRlci5zdHlsZS5oZWlnaHQgPSAiMS4yZW0iOwogICAgICAgY291bnRlci5zdHlsZS50b3AgPSAiYXV0byI7CiAgICAgICBjb3VudGVyLnN0eWxlLmJvdHRvbSA9IDA7CiAgICAgICBjb3VudGVyLnN0eWxlLnJpZ2h0ID0gIjAiOwogICAgICAgY291bnRlci5zdHlsZS50ZXh0QWxpZ24gPSAicmlnaHQiOwogICAgICAgY291bnRlci5zdHlsZS5jb2xvciA9ICJyZWQiOwogICAgICAgY291bnRlci5zdHlsZS5iYWNrZ3JvdW5kID0gInJnYigyNDAsMjQwLDI0MCkiOwoKICAgICAgIGNvdW50ZXIuaW5uZXJIVE1MID0gdGhpcy5sb2NhbGl6ZSgic2xpZGUiKSArICIgbi9tIjsKICAgICAgIHRoaXMudG9vbGJhci5hcHBlbmRDaGlsZChjb3VudGVyKTsKICAgICB9CgogICAgIC8vIGVuc3VyZSB0aGF0IGNsaWNrIGlzbid0IHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBwYWdlCiAgICAgdGhpcy50b29sYmFyLm9uY2xpY2sgPQogICAgICAgICBmdW5jdGlvbiAoZSkgewogICAgICAgICAgIGlmICghZSkKICAgICAgICAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgICAgICAgIHZhciB0YXJnZXQgPSBlLnRhcmdldDsKCiAgICAgICAgICAgaWYgKCF0YXJnZXQgJiYgZS5zcmNFbGVtZW50KQogICAgICAgICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgICAgICAgICAvLyB3b3JrIGFyb3VuZCBTYWZhcmkgYnVnCiAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZVR5cGUgPT0gMykKICAgICAgICAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlOwoKICAgICAgICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKCiAgICAgICAgICAgaWYgKHRhcmdldCAmJiB0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPSAiYSIpCiAgICAgICAgICAgICB3M2Nfc2xpZHkubW91c2VfYnV0dG9uX2NsaWNrKGUpOwogICAgICAgICB9OwoKICAgICB0aGlzLnNsaWRlX251bWJlcl9lbGVtZW50ID0gY291bnRlcjsKICAgICB0aGlzLnNldF9lb3Nfc3RhdHVzKGZhbHNlKTsKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMudG9vbGJhcik7CiAgfSwKCiAgLy8gd3lzaXd5ZyBlZGl0b3JzIG1ha2UgaXQgaGFyZCB0byB1c2UgZGl2IGVsZW1lbnRzCiAgLy8gZS5nLiBhbWF5YSBsb3NlcyB0aGUgZGl2IHdoZW4geW91IGNvcHkgYW5kIHBhc3RlCiAgLy8gdGhpcyBmdW5jdGlvbiB3cmFwcyBkaXYgZWxlbWVudHMgYXJvdW5kIGltcGxpY2l0CiAgLy8gc2xpZGVzIHdoaWNoIHN0YXJ0IHdpdGggYW4gaDEgZWxlbWVudCBhbmQgY29udGludWUKICAvLyB1cCB0byB0aGUgbmV4dCBoZWFkaW5nIG9yIGRpdiBlbGVtZW50CiAgd3JhcF9pbXBsaWNpdF9zbGlkZXM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBpLCBoZWFkaW5nLCBub2RlLCBuZXh0LCBkaXY7CiAgICB2YXIgaGVhZGluZ3MgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaDEiKTsKCiAgICBpZiAoIWhlYWRpbmdzKQogICAgICByZXR1cm47CgogICAgZm9yIChpID0gMDsgaSA8IGhlYWRpbmdzLmxlbmd0aDsgKytpKQogICAgewogICAgICBoZWFkaW5nID0gaGVhZGluZ3NbaV07CgogICAgICBpZiAoaGVhZGluZy5wYXJlbnROb2RlICE9IGRvY3VtZW50LmJvZHkpCiAgICAgICAgY29udGludWU7CgogICAgICBub2RlID0gaGVhZGluZy5uZXh0U2libGluZzsKCiAgICAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICB0aGlzLmFkZF9jbGFzcyhkaXYsICJzbGlkZSIpOwogICAgICBkb2N1bWVudC5ib2R5LnJlcGxhY2VDaGlsZChkaXYsIGhlYWRpbmcpOwogICAgICBkaXYuYXBwZW5kQ2hpbGQoaGVhZGluZyk7CgogICAgICB3aGlsZSAobm9kZSkKICAgICAgewogICAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEpIC8vIGFuIGVsZW1lbnQKICAgICAgICB7CiAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gIkgxIiB8fCBub2RlLm5vZGVOYW1lID09ICJoMSIpCiAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gIkRJViIgfHwgbm9kZS5ub2RlTmFtZSA9PSAiZGl2IikKICAgICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5oYXNfY2xhc3Mobm9kZSwgInNsaWRlIikpCiAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgIGlmICh0aGlzLmhhc19jbGFzcyhub2RlLCAiaGFuZG91dCIpKQogICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBuZXh0ID0gbm9kZS5uZXh0U2libGluZzsKICAgICAgICBub2RlID0gZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChub2RlKTsKICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZSk7CiAgICAgICAgbm9kZSA9IG5leHQ7CiAgICAgIH0gCiAgICB9CiAgfSwKCiAgYXR0YWNoX3RvdWNoX2hhbmRlcnM6IGZ1bmN0aW9uKHNsaWRlcykKICB7CiAgICB2YXIgaSwgc2xpZGU7CgogICAgZm9yIChpID0gMDsgaSA8IHNsaWRlcy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgc2xpZGUgPSBzbGlkZXNbaV07CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKHNsaWRlLCAidG91Y2hzdGFydCIsIHRoaXMudG91Y2hzdGFydCk7CiAgICAgIHRoaXMuYWRkX2xpc3RlbmVyKHNsaWRlLCAidG91Y2htb3ZlIiwgdGhpcy50b3VjaG1vdmUpOwogICAgICB0aGlzLmFkZF9saXN0ZW5lcihzbGlkZSwgInRvdWNoZW5kIiwgdGhpcy50b3VjaGVuZCk7CiAgICB9CiAgfSwKCi8vIHJldHVybiBuZXcgYXJyYXkgb2YgYWxsIHNsaWRlcwogIGNvbGxlY3Rfc2xpZGVzOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgc2xpZGVzID0gbmV3IEFycmF5KCk7CiAgICB2YXIgZGl2cyA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGl2cy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgZGl2ID0gZGl2cy5pdGVtKGkpOwoKICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKGRpdiwgInNsaWRlIikpCiAgICAgIHsKICAgICAgICAvLyBhZGQgc2xpZGUgdG8gY29sbGVjdGlvbgogICAgICAgIHNsaWRlc1tzbGlkZXMubGVuZ3RoXSA9IGRpdjsKCiAgICAgICAgLy8gaGlkZSBlYWNoIHNsaWRlIGFzIGl0IGlzIGZvdW5kCiAgICAgICAgdGhpcy5hZGRfY2xhc3MoZGl2LCAiaGlkZGVuIik7CgogICAgICAgIC8vIGFkZCBkdW1teSA8YnIvPiBhdCBlbmQgZm9yIHNjcm9sbGluZyBoYWNrCiAgICAgICAgdmFyIG5vZGUxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYnIiKTsKICAgICAgICBkaXYuYXBwZW5kQ2hpbGQobm9kZTEpOwogICAgICAgIHZhciBub2RlMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJyIik7CiAgICAgICAgZGl2LmFwcGVuZENoaWxkKG5vZGUyKTsKICAgICAgfQogICAgICBlbHNlIGlmICh0aGlzLmhhc19jbGFzcyhkaXYsICJiYWNrZ3JvdW5kIikpCiAgICAgIHsgIC8vIHdvcmsgYXJvdW5kIGZvciBGaXJlZm94IFNWRyByZWxvYWQgYnVnCiAgICAgICAgLy8gd2hpY2ggb3RoZXJ3aXNlIHJlcGxhY2VzIDFzdCBTVkcgZ3JhcGhpYyB3aXRoIDJuZAogICAgICAgIGRpdi5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKICAgICAgfQogICAgfQoKICAgIHRoaXMuc2xpZGVzID0gc2xpZGVzOwogIH0sCgogIC8vIHJldHVybiBuZXcgYXJyYXkgb2YgYWxsIDxkaXYgY2xhc3M9ImhhbmRvdXQiPgogIGNvbGxlY3Rfbm90ZXM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBub3RlcyA9IG5ldyBBcnJheSgpOwogICAgdmFyIGRpdnMgPSBkb2N1bWVudC5ib2R5LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJkaXYiKTsKCiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRpdnMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGRpdiA9IGRpdnMuaXRlbShpKTsKCiAgICAgIGlmICh0aGlzLmhhc19jbGFzcyhkaXYsICJoYW5kb3V0IikpCiAgICAgIHsKICAgICAgICAvLyBhZGQgbm90ZSB0byBjb2xsZWN0aW9uCiAgICAgICAgbm90ZXNbbm90ZXMubGVuZ3RoXSA9IGRpdjsKCiAgICAgICAgLy8gYW5kIGhpZGUgaXQKICAgICAgICB0aGlzLmFkZF9jbGFzcyhkaXYsICJoaWRkZW4iKTsKICAgICAgfQogICAgfQoKICAgIHRoaXMubm90ZXMgPSBub3RlczsKICB9LAoKICAvLyByZXR1cm4gbmV3IGFycmF5IG9mIGFsbCA8ZGl2IGNsYXNzPSJiYWNrZ3JvdW5kIj4KICAvLyBpbmNsdWRpbmcgbmFtZWQgYmFja2dyb3VuZHMgZS5nLiBjbGFzcz0iYmFja2dyb3VuZCB0aXRsZXBhZ2UiCiAgY29sbGVjdF9iYWNrZ3JvdW5kczogZnVuY3Rpb24gKCkgewogICAgdmFyIGJhY2tncm91bmRzID0gbmV3IEFycmF5KCk7CiAgICB2YXIgZGl2cyA9IGRvY3VtZW50LmJvZHkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGl2cy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgZGl2ID0gZGl2cy5pdGVtKGkpOwoKICAgICAgaWYgKHRoaXMuaGFzX2NsYXNzKGRpdiwgImJhY2tncm91bmQiKSkKICAgICAgewogICAgICAgIC8vIGFkZCBiYWNrZ3JvdW5kIHRvIGNvbGxlY3Rpb24KICAgICAgICBiYWNrZ3JvdW5kc1tiYWNrZ3JvdW5kcy5sZW5ndGhdID0gZGl2OwoKICAgICAgICAvLyBhbmQgaGlkZSBpdAogICAgICAgIHRoaXMuYWRkX2NsYXNzKGRpdiwgImhpZGRlbiIpOwogICAgICB9CiAgICB9CgogICAgdGhpcy5iYWNrZ3JvdW5kcyA9IGJhY2tncm91bmRzOwogIH0sCgogIC8vIHNldCBjbGljayBoYW5kbGVycyBvbiBhbGwgYW5jaG9ycwogIHBhdGNoX2FuY2hvcnM6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBzZWxmID0gdzNjX3NsaWR5OwogICAgdmFyIGhhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQpIHsKICAgICAgLy8gY29tcGFyZSB0aGlzLmhyZWYgd2l0aCBsb2NhdGlvbi5ocmVmCiAgICAgIC8vIGZvciBsaW5rIHRvIGFub3RoZXIgc2xpZGUgaW4gdGhpcyBkb2MKCiAgICAgIGlmIChzZWxmLnBhZ2VfYWRkcmVzcyh0aGlzLmhyZWYpID09IHNlbGYucGFnZV9hZGRyZXNzKGxvY2F0aW9uLmhyZWYpKQogICAgICB7CiAgICAgICAgLy8geWVzLCBzbyBmaW5kIG5ldyBzbGlkZSBudW1iZXIKICAgICAgICB2YXIgbmV3c2xpZGVudW0gPSBzZWxmLmZpbmRfc2xpZGVfbnVtYmVyKHRoaXMuaHJlZik7CgogICAgICAgIGlmIChuZXdzbGlkZW51bSAhPSBzZWxmLnNsaWRlX251bWJlcikKICAgICAgICB7CiAgICAgICAgICB2YXIgc2xpZGUgPSBzZWxmLnNsaWRlc1tzZWxmLnNsaWRlX251bWJlcl07CiAgICAgICAgICBzZWxmLmhpZGVfc2xpZGUoc2xpZGUpOwogICAgICAgICAgc2VsZi5zbGlkZV9udW1iZXIgPSBuZXdzbGlkZW51bTsKICAgICAgICAgIHNsaWRlID0gc2VsZi5zbGlkZXNbc2VsZi5zbGlkZV9udW1iZXJdOwogICAgICAgICAgc2VsZi5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgICAgIHNlbGYuc2V0X2xvY2F0aW9uKCk7CiAgICAgICAgfQogICAgICB9CiAgICAgIGVsc2UKICAgICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihldmVudCk7CgovLyAgICAgIGVsc2UgaWYgKHRoaXMudGFyZ2V0ID09IG51bGwpCi8vICAgICAgICBsb2NhdGlvbi5ocmVmID0gdGhpcy5ocmVmOwoKICAgICAgdGhpcy5ibHVyKCk7CiAgICAgIHNlbGYuZGlzYWJsZV9zbGlkZV9jbGljayA9IHRydWU7CiAgICB9OwoKICAgIHZhciBhbmNob3JzID0gZG9jdW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYW5jaG9ycy5sZW5ndGg7ICsraSkKICAgIHsKICAgICAgaWYgKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKQogICAgICAgIGFuY2hvcnNbaV0uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCBoYW5kbGVyLCBmYWxzZSk7CiAgICAgIGVsc2UKICAgICAgICBhbmNob3JzW2ldLmF0dGFjaEV2ZW50KCJvbmNsaWNrIiwgaGFuZGxlcik7CiAgICB9CiAgfSwKCiAgLy8gIyMjIENIRUNLIE1FICMjIyBzZWUgd2hpY2ggZnVuY3Rpb25zIGFyZSBpbnZva2VkIHZpYSBzZXRUaW1lb3V0CiAgLy8gZWl0aGVyIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgZm9yIHVzZSBvZiB3M2Nfc2xpZHkgdnMgdGhpcwogIHNob3dfc2xpZGVfbnVtYmVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgdGltZXIgPSB3M2Nfc2xpZHkuZ2V0X3RpbWVyKCk7CiAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyX2VsZW1lbnQuaW5uZXJIVE1MID0gdGltZXIgKyB3M2Nfc2xpZHkubG9jYWxpemUoInNsaWRlIikgKyAiICIgKwogICAgICAgICAgICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyICsgMSkgKyAiLyIgKyB3M2Nfc2xpZHkuc2xpZGVzLmxlbmd0aDsKICB9LAoKICAvLyBldmVyeSAyMDBtUyBjaGVjayBpZiB0aGUgbG9jYXRpb24gaGFzIGJlZW4gY2hhbmdlZCBhcyBhCiAgLy8gcmVzdWx0IG9mIHRoZSB1c2VyIGFjdGl2YXRpbmcgdGhlIEJhY2sgYnV0dG9uL21lbnUgaXRlbQogIC8vIGRvZXNuJ3Qgd29yayBmb3IgT3BlcmEgPCA5LjUKICBjaGVja19sb2NhdGlvbjogZnVuY3Rpb24gKCkgewogICAgdmFyIGhhc2ggPSBsb2NhdGlvbi5oYXNoOwoKICAgIGlmICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID4gMCAmJiAoaGFzaCA9PSAiIiB8fCBoYXNoID09ICIjIikpCiAgICAgIHczY19zbGlkeS5nb3RvX3NsaWRlKDApOwogICAgZWxzZSBpZiAoaGFzaC5sZW5ndGggPiAyICYmIGhhc2ggIT0gIiMoIisodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSsiKSIpCiAgICB7CiAgICAgIHZhciBudW0gPSBwYXJzZUludChsb2NhdGlvbi5oYXNoLnN1YnN0cigyKSk7CgogICAgICBpZiAoIWlzTmFOKG51bSkpCiAgICAgICAgdzNjX3NsaWR5LmdvdG9fc2xpZGUobnVtLTEpOwogICAgfQoKICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0ICYmIHczY19zbGlkeS5zbGlkZV9udW1iZXIgPiAwKQogICAgewogICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKCiAgICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0ID4gMCkKICAgICAgICB3M2Nfc2xpZHkudGltZV9sZWZ0IC09IDIwMDsKICAgIH0gCiAgfSwKCiAgZ2V0X3RpbWVyOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgdGltZXIgPSAiIjsKICAgIGlmICh3M2Nfc2xpZHkudGltZV9sZWZ0KQogICAgewogICAgICB2YXIgbWlucywgc2VjczsKICAgICAgc2VjcyA9IE1hdGguZmxvb3IodzNjX3NsaWR5LnRpbWVfbGVmdC8xMDAwKTsKICAgICAgbWlucyA9IE1hdGguZmxvb3Ioc2VjcyAvIDYwKTsKICAgICAgc2VjcyA9IHNlY3MgJSA2MDsKICAgICAgdGltZXIgPSAobWlucyA/IG1pbnMrIm0iIDogIiIpICsgc2VjcyArICJzICI7CiAgICB9CgogICAgcmV0dXJuIHRpbWVyOwogIH0sCgogIC8vIHRoaXMgZG9lc24ndCBwdXNoIGxvY2F0aW9uIG9udG8gaGlzdG9yeSBzdGFjayBmb3IgSUUKICAvLyBmb3Igd2hpY2ggYSBoaWRkZW4gaWZyYW1lIGhhY2sgaXMgbmVlZGVkOiBsb2FkIHBhZ2UgaW50bwogIC8vIHRoZSBpZnJhbWUgd2l0aCBzY3JpcHQgdGhhdCBzZXQncyBwYXJlbnQncyBsb2NhdGlvbi5oYXNoCiAgLy8gYnV0IHRoYXQgd29uJ3Qgd29yayBmb3Igc3RhbmRhbG9uZSB1c2UgdW5sZXNzIHdlIGNhbgogIC8vIGNyZWF0ZSB0aGUgcGFnZSBkeW5hbWljYWxseSB2aWEgYSBqYXZhc2NyaXB0OiBVUkwKICAvLyAjIyMgdXNlIGhpc3RvcnkucHVzaFN0YXRlIGlmIGF2YWlsYWJsZQogIHNldF9sb2NhdGlvbjogZnVuY3Rpb24gKCkgewogICAgIHZhciB1cmkgPSB3M2Nfc2xpZHkucGFnZV9hZGRyZXNzKGxvY2F0aW9uLmhyZWYpOwogICAgIHZhciBoYXNoID0gIiMoIiArICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyKzEpICsgIikiOwoKICAgICBpZiAodzNjX3NsaWR5LnNsaWRlX251bWJlciA+PSAwKQogICAgICAgdXJpID0gdXJpICsgaGFzaDsKCiAgICAgaWYgKHR5cGVvZihoaXN0b3J5LnB1c2hTdGF0ZSkgIT0gInVuZGVmaW5lZCIgJiYgbG9jYXRpb24ucHJvdG9jb2wgIT09ICJmaWxlOiIpCiAgICAgewogICAgICAgZG9jdW1lbnQudGl0bGUgPSB3M2Nfc2xpZHkudGl0bGUgKyAiICgiICsgKHczY19zbGlkeS5zbGlkZV9udW1iZXIrMSkgKyAiKSI7CiAgICAgICBoaXN0b3J5LnB1c2hTdGF0ZSgwLCBkb2N1bWVudC50aXRsZSwgaGFzaCk7CiAgICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKICAgICAgIHczY19zbGlkeS5ub3RpZnlfb2JzZXJ2ZXJzKCk7CiAgICAgICByZXR1cm47CiAgICAgfQoKICAgICBpZiAodzNjX3NsaWR5LmllICYmICh3M2Nfc2xpZHkuaWU2IHx8IHczY19zbGlkeS5pZTcpKQogICAgICAgdzNjX3NsaWR5LnB1c2hfaGFzaChoYXNoKTsKCiAgICAgaWYgKHVyaSAhPSBsb2NhdGlvbi5ocmVmKSAvLyAmJiAha2h0bWwKICAgICAgICBsb2NhdGlvbi5ocmVmID0gdXJpOwoKICAgICBpZiAodGhpcy5raHRtbCkKICAgICAgICBoYXNoID0gIigiICsgKHczY19zbGlkeS5zbGlkZV9udW1iZXIrMSkgKyAiKSI7CgogICAgIGlmICghdGhpcy5pZSAmJiBsb2NhdGlvbi5oYXNoICE9IGhhc2ggJiYgbG9jYXRpb24uaGFzaCAhPSAiIikKICAgICAgIGxvY2F0aW9uLmhhc2ggPSBoYXNoOwoKICAgICBkb2N1bWVudC50aXRsZSA9IHczY19zbGlkeS50aXRsZSArICIgKCIgKyAodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSArICIpIjsKICAgICB3M2Nfc2xpZHkuc2hvd19zbGlkZV9udW1iZXIoKTsKICAgICB3M2Nfc2xpZHkubm90aWZ5X29ic2VydmVycygpOwogIH0sCgogIG5vdGlmeV9vYnNlcnZlcnM6IGZ1bmN0aW9uICgpCiAgewogICAgdmFyIHNsaWRlID0gdGhpcy5zbGlkZXNbdGhpcy5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYnNlcnZlcnMubGVuZ3RoOyArK2kpCiAgICAgIHRoaXMub2JzZXJ2ZXJzW2ldKHRoaXMuc2xpZGVfbnVtYmVyKzEsIHRoaXMuZmluZF9oZWFkaW5nKHNsaWRlKS5pbm5lclRleHQsIGxvY2F0aW9uLmhyZWYpOwogIH0sCgogIGFkZF9vYnNlcnZlcjogZnVuY3Rpb24gKG9ic2VydmVyKQogIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5vYnNlcnZlcnMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGlmIChvYnNlcnZlciA9PSB0aGlzLm9ic2VydmVyc1tpXSkKICAgICAgICByZXR1cm47CiAgICB9CgogICAgdGhpcy5vYnNlcnZlcnMucHVzaChvYnNlcnZlcik7CiAgfSwKCiAgcmVtb3ZlX29ic2VydmVyOiBmdW5jdGlvbiAobykKICB7CiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMub2JzZXJ2ZXJzLmxlbmd0aDsgKytpKQogICAgewogICAgICBpZiAob2JzZXJ2ZXIgPT0gdGhpcy5vYnNlcnZlcnNbaV0pCiAgICAgIHsKICAgICAgICB0aGlzLm9ic2VydmVycy5zcGxpY2UoaSwxKTsKICAgICAgICBicmVhazsKICAgICAgfQogICAgfQogIH0sCgogIHBhZ2VfYWRkcmVzczogZnVuY3Rpb24gKHVyaSkgewogICAgdmFyIGkgPSB1cmkuaW5kZXhPZigiIyIpOwoKICAgIGlmIChpIDwgMCkKICAgICAgaSA9IHVyaS5pbmRleE9mKCIlMjMiKTsKCiAgICAvLyBjaGVjayBpZiBhbmNob3IgaXMgZW50aXJlIHBhZ2UKCiAgICBpZiAoaSA8IDApCiAgICAgIHJldHVybiB1cmk7ICAvLyB5ZXMKCiAgICByZXR1cm4gdXJpLnN1YnN0cigwLCBpKTsKICB9LAoKICAvLyBvbmx5IHVzZWQgZm9yIElFNiBhbmQgSUU3CiAgb25fZnJhbWVfbG9hZGVkOiBmdW5jdGlvbiAoaGFzaCkgewogICAgbG9jYXRpb24uaGFzaCA9IGhhc2g7CiAgICB2YXIgdXJpID0gdzNjX3NsaWR5LnBhZ2VfYWRkcmVzcyhsb2NhdGlvbi5ocmVmKTsKICAgIGxvY2F0aW9uLmhyZWYgPSB1cmkgKyBoYXNoOwogIH0sCgogIC8vIGhpc3RvcnkgaGFjayB3aXRoIHRoYW5rcyB0byBCZXJ0cmFuZCBMZSBSb3kKICBwdXNoX2hhc2g6IGZ1bmN0aW9uIChoYXNoKSB7CiAgICBpZiAoaGFzaCA9PSAiIikgaGFzaCA9ICIjKDEpIjsKICAgICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPSBoYXNoOwoKICAgIHZhciBkb2MgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiaGlzdG9yeUZyYW1lIikuY29udGVudFdpbmRvdy5kb2N1bWVudDsKICAgIGRvYy5vcGVuKCJqYXZhc2NyaXB0Oic8aHRtbD48L2h0bWw+JyIpOwogICAgZG9jLndyaXRlKCI8aHRtbD48aGVhZD48c2NyaXB0IHR5cGU9XCJ0ZXh0L2phdmFzY3JpcHRcIj53aW5kb3cucGFyZW50LnczY19zbGlkeS5vbl9mcmFtZV9sb2FkZWQoJyIrCiAgICAgIChoYXNoKSArICInKTs8L3NjcmlwdD48L2hlYWQ+PGJvZHk+aGVsbG8gbXVtPC9ib2R5PjwvaHRtbD4iKTsKICAgICAgZG9jLmNsb3NlKCk7CiAgfSwKCiAgLy8gZmluZCBjdXJyZW50IHNsaWRlIGJhc2VkIHVwb24gbG9jYXRpb24KICAvLyBmaXJzdCBmaW5kIHRhcmdldCBhbmNob3IgYW5kIHRoZW4gbG9vawogIC8vIGZvciBhc3NvY2lhdGVkIGRpdiBlbGVtZW50IGVuY2xvc2luZyBpdAogIC8vIGZpbmFsbHkgbWFwIHRoYXQgdG8gc2xpZGUgbnVtYmVyCiAgZmluZF9zbGlkZV9udW1iZXI6IGZ1bmN0aW9uICh1cmkpIHsKICAgIC8vIGZpcnN0IGdldCBhbmNob3IgZnJvbSBwYWdlIGxvY2F0aW9uCgogICAgdmFyIGkgPSB1cmkuaW5kZXhPZigiIyIpOwoKICAgIC8vIGNoZWNrIGlmIGFuY2hvciBpcyBlbnRpcmUgcGFnZQogICAgaWYgKGkgPCAwKQogICAgICByZXR1cm4gMDsgIC8vIHllcwoKICAgIHZhciBhbmNob3IgPSB1bmVzY2FwZSh1cmkuc3Vic3RyKGkrMSkpOwoKICAgIC8vIG5vdyB1c2UgYW5jaG9yIGFzIFhNTCBJRCB0byBmaW5kIHRhcmdldAogICAgdmFyIHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGFuY2hvcik7CgogICAgaWYgKCF0YXJnZXQpCiAgICB7CiAgICAgIC8vIGRvZXMgYW5jaG9yIGxvb2sgbGlrZSAiKDIpIiBmb3Igc2xpZGUgMiA/PwogICAgICAvLyB3aGVyZSBmaXJzdCBzbGlkZSBpcyAoMSkKICAgICAgdmFyIHJlID0gL1woKFxkKStcKS87CgogICAgICBpZiAoYW5jaG9yLm1hdGNoKHJlKSkKICAgICAgewogICAgICAgIHZhciBudW0gPSBwYXJzZUludChhbmNob3Iuc3Vic3RyaW5nKDEsIGFuY2hvci5sZW5ndGgtMSkpOwoKICAgICAgICBpZiAobnVtID4gdGhpcy5zbGlkZXMubGVuZ3RoKQogICAgICAgICAgbnVtID0gMTsKCiAgICAgICAgaWYgKC0tbnVtIDwgMCkKICAgICAgICAgIG51bSA9IDA7CgogICAgICAgIHJldHVybiBudW07CiAgICAgIH0KCiAgICAgIC8vIGFjY2VwdCBbMl0gZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5CiAgICAgIHJlID0gL1xbKFxkKStcXS87CgogICAgICBpZiAoYW5jaG9yLm1hdGNoKHJlKSkKICAgICAgewogICAgICAgICB2YXIgbnVtID0gcGFyc2VJbnQoYW5jaG9yLnN1YnN0cmluZygxLCBhbmNob3IubGVuZ3RoLTEpKTsKCiAgICAgICAgIGlmIChudW0gPiB0aGlzLnNsaWRlcy5sZW5ndGgpCiAgICAgICAgICAgIG51bSA9IDE7CgogICAgICAgICBpZiAoLS1udW0gPCAwKQogICAgICAgICAgICBudW0gPSAwOwoKICAgICAgICAgcmV0dXJuIG51bTsKICAgICAgfQoKICAgICAgLy8gb2ggZGVhciB1bmtub3duIGFuY2hvcgogICAgICByZXR1cm4gMDsKICAgIH0KCiAgICAvLyBzZWFyY2ggZm9yIGVuY2xvc2luZyBzbGlkZQoKICAgIHdoaWxlICh0cnVlKQogICAgewogICAgICAvLyBicm93c2VyIGNvZXJjZXMgaHRtbCBlbGVtZW50cyB0byB1cHBlcmNhc2UhCiAgICAgIGlmICh0YXJnZXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PSAiZGl2IiAmJgogICAgICAgICAgICB0aGlzLmhhc19jbGFzcyh0YXJnZXQsICJzbGlkZSIpKQogICAgICB7CiAgICAgICAgLy8gZm91bmQgdGhlIHNsaWRlIGVsZW1lbnQKICAgICAgICBicmVhazsKICAgICAgfQoKICAgICAgLy8gb3RoZXJ3aXNlIHRyeSBwYXJlbnQgZWxlbWVudCBpZiBhbnkKCiAgICAgIHRhcmdldCA9IHRhcmdldC5wYXJlbnROb2RlOwoKICAgICAgaWYgKCF0YXJnZXQpCiAgICAgIHsKICAgICAgICByZXR1cm4gMDsgICAvLyBubyBsdWNrIQogICAgICB9CiAgICB9OwoKICAgIGZvciAoaSA9IDA7IGkgPCBzbGlkZXMubGVuZ3RoOyArK2kpCiAgICB7CiAgICAgIGlmIChzbGlkZXNbaV0gPT0gdGFyZ2V0KQogICAgICAgIHJldHVybiBpOyAgLy8gc3VjY2VzcwogICAgfQoKICAgIC8vIG9oIGRlYXIgc3RpbGwgbm8gbHVjawogICAgcmV0dXJuIDA7CiAgfSwKCiAgcHJldmlvdXNfc2xpZGU6IGZ1bmN0aW9uIChpbmNyZW1lbnRhbCkgewogICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICB7CiAgICAgIHZhciBzbGlkZTsKCiAgICAgIGlmICgoaW5jcmVtZW50YWwgfHwgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9PSAwKSAmJiB3M2Nfc2xpZHkubGFzdF9zaG93biAhPSBudWxsKQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkuaGlkZV9wcmV2aW91c19pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXMoZmFsc2UpOwogICAgICB9CiAgICAgIGVsc2UgaWYgKHczY19zbGlkeS5zbGlkZV9udW1iZXIgPiAwKQogICAgICB7CiAgICAgICAgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgIHczY19zbGlkeS5oaWRlX3NsaWRlKHNsaWRlKTsKCiAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5zbGlkZV9udW1iZXIgLSAxOwogICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJ2aXNpYmxlIik7CiAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkucHJldmlvdXNfaW5jcmVtZW50YWxfaXRlbShudWxsKTsKICAgICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXModHJ1ZSk7CiAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CgogICAgICBpZiAoIXczY19zbGlkeS5uc19wb3MpCiAgICAgICAgdzNjX3NsaWR5LnJlZnJlc2hfdG9vbGJhcigyMDApOwogICAgfQogIH0sCgogIG5leHRfc2xpZGU6IGZ1bmN0aW9uIChpbmNyZW1lbnRhbCkgewogICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICB7CiAgICAgIHZhciBzbGlkZSwgbGFzdCA9IHczY19zbGlkeS5sYXN0X3Nob3duOwoKICAgICAgaWYgKGluY3JlbWVudGFsIHx8IHczY19zbGlkeS5zbGlkZV9udW1iZXIgPT0gdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IHczY19zbGlkeS5yZXZlYWxfbmV4dF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKTsKCiAgICAgIGlmICgoIWluY3JlbWVudGFsIHx8IHczY19zbGlkeS5sYXN0X3Nob3duID09IG51bGwpICYmCiAgICAgICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyIDwgdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwoKICAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IHczY19zbGlkeS5zbGlkZV9udW1iZXIgKyAxOwogICAgICAgICBzbGlkZSA9IHczY19zbGlkeS5zbGlkZXNbdzNjX3NsaWR5LnNsaWRlX251bWJlcl07CiAgICAgICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgiaGlkZGVuIik7CiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgfQogICAgICBlbHNlIGlmICghdzNjX3NsaWR5Lmxhc3Rfc2hvd24pCiAgICAgIHsKICAgICAgICAgaWYgKGxhc3QgJiYgaW5jcmVtZW50YWwpCiAgICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSBsYXN0OwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2xvY2F0aW9uKCk7CgogICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXMoIXczY19zbGlkeS5uZXh0X2luY3JlbWVudGFsX2l0ZW0odzNjX3NsaWR5Lmxhc3Rfc2hvd24pKTsKCiAgICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcykKICAgICAgICAgdzNjX3NsaWR5LnJlZnJlc2hfdG9vbGJhcigyMDApOwogICAgIH0KICB9LAoKICAvLyB0byBmaXJzdCBzbGlkZSB3aXRoIG5vdGhpbmcgcmV2ZWFsZWQKICAvLyBpLmUuIHN0YXRlIGF0IHN0YXJ0IG9mIHByZXNlbnRhdGlvbgogIGZpcnN0X3NsaWRlOiBmdW5jdGlvbiAoKSB7CiAgICAgaWYgKCF3M2Nfc2xpZHkudmlld19hbGwpCiAgICAgewogICAgICAgdmFyIHNsaWRlOwoKICAgICAgIGlmICh3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyICE9IDApCiAgICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwoKICAgICAgICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IDA7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSBudWxsOwogICAgICAgICB3M2Nfc2xpZHkuc2V0X3Zpc2liaWxpdHlfYWxsX2luY3JlbWVudGFsKCJoaWRkZW4iKTsKICAgICAgICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgICAgfQoKICAgICAgIHczY19zbGlkeS5zZXRfZW9zX3N0YXR1cygKICAgICAgICAgIXczY19zbGlkeS5uZXh0X2luY3JlbWVudGFsX2l0ZW0odzNjX3NsaWR5Lmxhc3Rfc2hvd24pKTsKICAgICAgIHczY19zbGlkeS5zZXRfbG9jYXRpb24oKTsKICAgICB9CiAgfSwKCiAgLy8gZ290byBsYXN0IHNsaWRlIHdpdGggZXZlcnl0aGluZyByZXZlYWxlZAogIC8vIGkuZS4gc3RhdGUgYXQgZW5kIG9mIHByZXNlbnRhdGlvbgogIGxhc3Rfc2xpZGU6IGZ1bmN0aW9uICgpIHsKICAgIGlmICghdzNjX3NsaWR5LnZpZXdfYWxsKQogICAgewogICAgICB2YXIgc2xpZGU7CgogICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IG51bGw7IC8vcmV2ZWFsTmV4dEl0ZW0obGFzdFNob3duKTsKCiAgICAgIGlmICh3M2Nfc2xpZHkubGFzdF9zaG93biA9PSBudWxsICYmCiAgICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyIDwgdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxKQogICAgICB7CiAgICAgICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgICAgICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgICAgICB3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyID0gdzNjX3NsaWR5LnNsaWRlcy5sZW5ndGggLSAxOwogICAgICAgICBzbGlkZSA9IHczY19zbGlkeS5zbGlkZXNbdzNjX3NsaWR5LnNsaWRlX251bWJlcl07CiAgICAgICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoInZpc2libGUiKTsKICAgICAgICAgdzNjX3NsaWR5Lmxhc3Rfc2hvd24gPSB3M2Nfc2xpZHkucHJldmlvdXNfaW5jcmVtZW50YWxfaXRlbShudWxsKTsKCiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgfQogICAgICBlbHNlCiAgICAgIHsKICAgICAgICAgdzNjX3NsaWR5LnNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbCgidmlzaWJsZSIpOwogICAgICAgICB3M2Nfc2xpZHkubGFzdF9zaG93biA9IHczY19zbGlkeS5wcmV2aW91c19pbmNyZW1lbnRhbF9pdGVtKG51bGwpOwogICAgICB9CgogICAgICB3M2Nfc2xpZHkuc2V0X2Vvc19zdGF0dXModHJ1ZSk7CiAgICAgIHczY19zbGlkeS5zZXRfbG9jYXRpb24oKTsKICAgIH0KICB9LAoKCiAgLy8gIyMjIGNoZWNrIHRoaXMgYW5kIGNvbnNpZGVyIGFkZC9yZW1vdmUgY2xhc3MKICBzZXRfZW9zX3N0YXR1czogZnVuY3Rpb24gKHN0YXRlKSB7CiAgICBpZiAodGhpcy5lb3MpCiAgICAgIHRoaXMuZW9zLnN0eWxlLmNvbG9yID0gKHN0YXRlID8gInJnYigyNDAsMjQwLDI0MCkiIDogInJlZCIpOwogIH0sCgogIC8vIGZpcnN0IHNsaWRlIGlzIDAKICBnb3RvX3NsaWRlOiBmdW5jdGlvbiAobnVtKSB7CiAgICAvL2FsZXJ0KCJnb2luZyB0byBzbGlkZSAiICsgKG51bSsxKSk7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNsaWRlX251bWJlciA9IG51bTsKICAgIHNsaWRlID0gdzNjX3NsaWR5LnNsaWRlc1t3M2Nfc2xpZHkuc2xpZGVfbnVtYmVyXTsKICAgIHczY19zbGlkeS5sYXN0X3Nob3duID0gbnVsbDsKICAgIHczY19zbGlkeS5zZXRfdmlzaWJpbGl0eV9hbGxfaW5jcmVtZW50YWwoImhpZGRlbiIpOwogICAgdzNjX3NsaWR5LnNldF9lb3Nfc3RhdHVzKCF3M2Nfc2xpZHkubmV4dF9pbmNyZW1lbnRhbF9pdGVtKHczY19zbGlkeS5sYXN0X3Nob3duKSk7CiAgICBkb2N1bWVudC50aXRsZSA9IHczY19zbGlkeS50aXRsZSArICIgKCIgKyAodzNjX3NsaWR5LnNsaWRlX251bWJlcisxKSArICIpIjsKICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgIHczY19zbGlkeS5zaG93X3NsaWRlX251bWJlcigpOwogIH0sCgoKICBzaG93X3NsaWRlOiBmdW5jdGlvbiAoc2xpZGUpIHsKICAgIHRoaXMuc3luY19iYWNrZ3JvdW5kKHNsaWRlKTsKICAgIHRoaXMucmVtb3ZlX2NsYXNzKHNsaWRlLCAiaGlkZGVuIik7CgogICAgLy8gd29yayBhcm91bmQgSUU5IG9iamVjdCByZW5kZXJpbmcgYnVnCiAgICBzZXRUaW1lb3V0KCJ3aW5kb3cuc2Nyb2xsVG8oMCwwKTsiLCAxKTsKICB9LAoKICBoaWRlX3NsaWRlOiBmdW5jdGlvbiAoc2xpZGUpIHsKICAgIHRoaXMuYWRkX2NsYXNzKHNsaWRlLCAiaGlkZGVuIik7CiAgfSwKCiAgc2V0X2ZvY3VzOiBmdW5jdGlvbiAoZWxlbWVudCkKICB7CiAgICBpZiAoZWxlbWVudCkKICAgICAgZWxlbWVudC5mb2N1cygpOwogICAgZWxzZQogICAgewogICAgICB3M2Nfc2xpZHkuaGVscF9hbmNob3IuZm9jdXMoKTsKCiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgdzNjX3NsaWR5LmhlbHBfYW5jaG9yLmJsdXIoKTsKICAgICAgfSwgMSk7CiAgICB9CiAgfSwKCiAgLy8gc2hvdyBqdXN0IHRoZSBiYWNrZ3JvdW5kcyBwZXJ0aW5lbnQgdG8gdGhpcyBzbGlkZQogIC8vIHdoZW4gc2xpZGUgYmFja2dyb3VuZC1jb2xvciBpcyB0cmFuc3BhcmVudAogIC8vIHRoaXMgc2hvdWxkIG5vdyB3b3JrIHdpdGggcmdiYSBjb2xvciB2YWx1ZXMKICBzeW5jX2JhY2tncm91bmQ6IGZ1bmN0aW9uIChzbGlkZSkgewogICAgdmFyIGJhY2tncm91bmQ7CiAgICB2YXIgYmdDb2xvcjsKCiAgICBpZiAoc2xpZGUuY3VycmVudFN0eWxlKQogICAgICBiZ0NvbG9yID0gc2xpZGUuY3VycmVudFN0eWxlWyJiYWNrZ3JvdW5kQ29sb3IiXTsKICAgIGVsc2UgaWYgKGRvY3VtZW50LmRlZmF1bHRWaWV3KQogICAgewogICAgICB2YXIgc3R5bGVzID0gZG9jdW1lbnQuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShzbGlkZSxudWxsKTsKCiAgICAgIGlmIChzdHlsZXMpCiAgICAgICAgYmdDb2xvciA9IHN0eWxlcy5nZXRQcm9wZXJ0eVZhbHVlKCJiYWNrZ3JvdW5kLWNvbG9yIik7CiAgICAgIGVsc2UgLy8gYnJva2VuIGltcGxlbWVudGF0aW9uIHByb2JhYmx5IGR1ZSBTYWZhcmkgb3IgS29ucXVlcm9yCiAgICAgIHsKICAgICAgICAvL2FsZXJ0KCJkZWZlY3RpdmUgaW1wbGVtZW50YXRpb24gb2YgZ2V0Q29tcHV0ZWRTdHlsZSgpIik7CiAgICAgICAgYmdDb2xvciA9ICJ0cmFuc3BhcmVudCI7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgICAgYmdDb2xvciA9PSAidHJhbnNwYXJlbnQiOwoKICAgIGlmIChiZ0NvbG9yID09ICJ0cmFuc3BhcmVudCIgfHwKICAgICAgICBiZ0NvbG9yLmluZGV4T2YoInJnYmEiKSA+PSAwIHx8CiAgICAgICAgYmdDb2xvci5pbmRleE9mKCJvcGFjaXR5IikgPj0gMCkKICAgIHsKICAgICAgdmFyIHNsaWRlQ2xhc3MgPSB0aGlzLmdldF9jbGFzc19saXN0KHNsaWRlKTsKCiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5iYWNrZ3JvdW5kcy5sZW5ndGg7IGkrKykKICAgICAgewogICAgICAgIGJhY2tncm91bmQgPSB0aGlzLmJhY2tncm91bmRzW2ldOwoKICAgICAgICB2YXIgYmdDbGFzcyA9IHRoaXMuZ2V0X2NsYXNzX2xpc3QoYmFja2dyb3VuZCk7CgogICAgICAgIGlmICh0aGlzLm1hdGNoaW5nX2JhY2tncm91bmQoc2xpZGVDbGFzcywgYmdDbGFzcykpCiAgICAgICAgICB0aGlzLnJlbW92ZV9jbGFzcyhiYWNrZ3JvdW5kLCAiaGlkZGVuIik7CiAgICAgICAgZWxzZQogICAgICAgICAgdGhpcy5hZGRfY2xhc3MoYmFja2dyb3VuZCwgImhpZGRlbiIpOwogICAgICB9CiAgICB9CiAgICBlbHNlIC8vIGZvcmNpYmx5IGhpZGUgYWxsIGJhY2tncm91bmRzCiAgICAgIHRoaXMuaGlkZV9iYWNrZ3JvdW5kcygpOwogIH0sCgogIGhpZGVfYmFja2dyb3VuZHM6IGZ1bmN0aW9uICgpIHsKICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5iYWNrZ3JvdW5kcy5sZW5ndGg7IGkrKykKICAgIHsKICAgICAgYmFja2dyb3VuZCA9IHRoaXMuYmFja2dyb3VuZHNbaV07CiAgICAgIHRoaXMuYWRkX2NsYXNzKGJhY2tncm91bmQsICJoaWRkZW4iKTsKICAgIH0KICB9LAoKICAvLyBjb21wYXJlIGNsYXNzZXMgZm9yIHNsaWRlIGFuZCBiYWNrZ3JvdW5kCiAgbWF0Y2hpbmdfYmFja2dyb3VuZDogZnVuY3Rpb24gKHNsaWRlQ2xhc3MsIGJnQ2xhc3MpIHsKICAgIHZhciBpLCBjb3VudCwgcGF0dGVybiwgcmVzdWx0OwoKICAgIC8vIGRlZmluZSBwYXR0ZXJuIGFzIHJlZ3VsYXIgZXhwcmVzc2lvbgogICAgcGF0dGVybiA9IC9cdysvZzsKCiAgICAvLyBjaGVjayBiYWNrZ3JvdW5kIGNsYXNzIG5hbWVzCiAgICByZXN1bHQgPSBiZ0NsYXNzLm1hdGNoKHBhdHRlcm4pOwoKICAgIGZvciAoaSA9IGNvdW50ID0gMDsgaSA8IHJlc3VsdC5sZW5ndGg7IGkrKykKICAgIHsKICAgICAgaWYgKHJlc3VsdFtpXSA9PSAiaGlkZGVuIikKICAgICAgICBjb250aW51ZTsKCiAgICAgIGlmIChyZXN1bHRbaV0gPT0gImJhY2tncm91bmQiKQoJY29udGludWU7CgogICAgICArK2NvdW50OwogICAgfQoKICAgIGlmIChjb3VudCA9PSAwKSAgLy8gZGVmYXVsdCBtYXRjaAogICAgICByZXR1cm4gdHJ1ZTsKCiAgICAvLyBjaGVjayBmb3IgbWF0Y2hlcyBhbmQgcGxhY2UgcmVzdWx0IGluIGFycmF5CiAgICByZXN1bHQgPSBzbGlkZUNsYXNzLm1hdGNoKHBhdHRlcm4pOwoKICAgIC8vIG5vdyBjaGVjayBpZiBkZXNpcmVkIG5hbWUgaXMgcHJlc2VudCBmb3IgYmFja2dyb3VuZAogICAgZm9yIChpID0gY291bnQgPSAwOyBpIDwgcmVzdWx0Lmxlbmd0aDsgaSsrKQogICAgewogICAgICBpZiAocmVzdWx0W2ldID09ICJoaWRkZW4iKQogICAgICAgIGNvbnRpbnVlOwoKICAgICAgaWYgKHRoaXMuaGFzX3Rva2VuKGJnQ2xhc3MsIHJlc3VsdFtpXSkpCiAgICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIHJlc2l6ZWQ6IGZ1bmN0aW9uICgpIHsKICAgICB2YXIgd2lkdGggPSAwOwoKICAgICBpZiAoIHR5cGVvZiggd2luZG93LmlubmVyV2lkdGggKSA9PSAnbnVtYmVyJyApCiAgICAgICB3aWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoOyAgLy8gTm9uIElFIGJyb3dzZXIKICAgICBlbHNlIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKQogICAgICAgd2lkdGggPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7ICAvLyBJRTYKICAgICBlbHNlIGlmIChkb2N1bWVudC5ib2R5ICYmIGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGgpCiAgICAgICB3aWR0aCA9IGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg7IC8vIElFNAoKICAgICB2YXIgaGVpZ2h0ID0gMDsKCiAgICAgaWYgKCB0eXBlb2YoIHdpbmRvdy5pbm5lckhlaWdodCApID09ICdudW1iZXInICkKICAgICAgIGhlaWdodCA9IHdpbmRvdy5pbm5lckhlaWdodDsgIC8vIE5vbiBJRSBicm93c2VyCiAgICAgZWxzZSBpZiAoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpCiAgICAgICBoZWlnaHQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0OyAgLy8gSUU2CiAgICAgZWxzZSBpZiAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkKICAgICAgIGhlaWdodCA9IGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OyAvLyBJRTQKCiAgICAgaWYgKGhlaWdodCAmJiAod2lkdGgvaGVpZ2h0ID4gMS4wNSoxMDI0Lzc2OCkpCiAgICAgewogICAgICAgd2lkdGggPSBoZWlnaHQgKiAxMDI0LjAvNzY4OwogICAgIH0KCiAgICAgLy8gSUUgZmlyZXMgb25yZXNpemUgZXZlbiB3aGVuIG9ubHkgZm9udCBzaXplIGlzIGNoYW5nZWQhCiAgICAgLy8gc28gd2UgZG8gYSBjaGVjayB0byBhdm9pZCBibG9ja2luZyA8IGFuZCA+IGFjdGlvbnMKICAgICBpZiAod2lkdGggIT0gdzNjX3NsaWR5Lmxhc3Rfd2lkdGggfHwgaGVpZ2h0ICE9IHczY19zbGlkeS5sYXN0X2hlaWdodCkKICAgICB7CiAgICAgICBpZiAod2lkdGggPj0gMTEwMCkKICAgICAgICAgdzNjX3NsaWR5LnNpemVfaW5kZXggPSA1OyAgICAvLyA0CiAgICAgICBlbHNlIGlmICh3aWR0aCA+PSAxMDAwKQogICAgICAgICB3M2Nfc2xpZHkuc2l6ZV9pbmRleCA9IDQ7ICAgIC8vIDMKICAgICAgIGVsc2UgaWYgKHdpZHRoID49IDgwMCkKICAgICAgICAgdzNjX3NsaWR5LnNpemVfaW5kZXggPSAzOyAgICAvLyAyCiAgICAgICBlbHNlIGlmICh3aWR0aCA+PSA2MDApCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gMjsgICAgLy8gMQogICAgICAgZWxzZSBpZiAod2lkdGgpCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gMDsKCiAgICAgICAvLyBhZGQgaW4gZm9udCBzaXplIGFkanVzdG1lbnQgZnJvbSBtZXRhIGVsZW1lbnQgZS5nLgogICAgICAgLy8gPG1ldGEgbmFtZT0iZm9udC1zaXplLWFkanVzdG1lbnQiIGNvbnRlbnQ9Ii0yIiAvPgogICAgICAgLy8gdXNlZnVsIHdoZW4gc2xpZGVzIGhhdmUgdG9vIG11Y2ggY29udGVudCA7LSkKCiAgICAgICBpZiAoMCA8PSB3M2Nfc2xpZHkuc2l6ZV9pbmRleCArIHczY19zbGlkeS5zaXplX2FkanVzdG1lbnQgJiYKICAgICAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ICsgdzNjX3NsaWR5LnNpemVfYWRqdXN0bWVudCA8IHczY19zbGlkeS5zaXplcy5sZW5ndGgpCiAgICAgICAgIHczY19zbGlkeS5zaXplX2luZGV4ID0gdzNjX3NsaWR5LnNpemVfaW5kZXggKyB3M2Nfc2xpZHkuc2l6ZV9hZGp1c3RtZW50OwoKICAgICAgIC8vIGVuYWJsZXMgY3Jvc3MgYnJvd3NlciB1c2Ugb2YgcmVsYXRpdmUgd2lkdGgvaGVpZ2h0CiAgICAgICAvLyBvbiBvYmplY3QgZWxlbWVudHMgZm9yIHVzZSB3aXRoIFNWRyBhbmQgRmxhc2ggbWVkaWEKICAgICAgIHczY19zbGlkeS5hZGp1c3Rfb2JqZWN0X2RpbWVuc2lvbnMod2lkdGgsIGhlaWdodCk7CgogICAgICAgaWYgKGRvY3VtZW50LmJvZHkuc3R5bGUuZm9udFNpemUgIT0gdzNjX3NsaWR5LnNpemVzW3czY19zbGlkeS5zaXplX2luZGV4XSkKICAgICAgIHsKICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICAgICB9CgogICAgICAgdzNjX3NsaWR5Lmxhc3Rfd2lkdGggPSB3aWR0aDsKICAgICAgIHczY19zbGlkeS5sYXN0X2hlaWdodCA9IGhlaWdodDsKCiAgICAgICAvLyBmb3JjZSByZWZsb3cgdG8gd29yayBhcm91bmQgTW96aWxsYSBidWcKICAgICAgIGlmICh3M2Nfc2xpZHkubnNfcG9zKQogICAgICAgewogICAgICAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgICAgICB3M2Nfc2xpZHkuaGlkZV9zbGlkZShzbGlkZSk7CiAgICAgICAgIHczY19zbGlkeS5zaG93X3NsaWRlKHNsaWRlKTsKICAgICAgIH0KCiAgICAgICAvLyBmb3JjZSBjb3JyZWN0IHBvc2l0aW9uaW5nIG9mIHRvb2xiYXIKICAgICAgIHczY19zbGlkeS5yZWZyZXNoX3Rvb2xiYXIoMjAwKTsKICAgICB9CiAgfSwKCiAgc2Nyb2xsZWQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3M2Nfc2xpZHkudG9vbGJhciAmJiAhdzNjX3NsaWR5Lm5zX3BvcyAmJiAhdzNjX3NsaWR5LmllNykKICAgIHsKICAgICAgdzNjX3NsaWR5LmhhY2tfb2Zmc2V0ID0gdzNjX3NsaWR5LnNjcm9sbF94X29mZnNldCgpOwogICAgICAvLyBoaWRlIHRvb2xiYXIKICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUuZGlzcGxheSA9ICJub25lIjsKCiAgICAgIC8vIG1ha2UgaXQgcmVhcHBlYXIgbGF0ZXIKICAgICAgaWYgKHczY19zbGlkeS5zY3JvbGxoYWNrID09IDAgJiYgIXczY19zbGlkeS52aWV3X2FsbCkKICAgICAgewogICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge3czY19zbGlkeS5zaG93X3Rvb2xiYXIoKTsgfSwgMTAwMCk7CiAgICAgICAgdzNjX3NsaWR5LnNjcm9sbGhhY2sgPSAxOwogICAgICB9CiAgICB9CiAgfSwKCiAgaGlkZV90b29sYmFyOiBmdW5jdGlvbiAoKSB7CiAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKHczY19zbGlkeS50b29sYmFyLCAiaGlkZGVuIik7CiAgICB3aW5kb3cuZm9jdXMoKTsKICB9LAoKICAvLyB1c2VkIHRvIGVuc3VyZSBJRSByZWZyZXNoZXMgdG9vbGJhciBpbiBjb3JyZWN0IHBvc2l0aW9uCiAgcmVmcmVzaF90b29sYmFyOiBmdW5jdGlvbiAoaW50ZXJ2YWwpIHsKICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcyAmJiAhdzNjX3NsaWR5LmllNykKICAgIHsKICAgICAgdzNjX3NsaWR5LmhpZGVfdG9vbGJhcigpOwogICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHt3M2Nfc2xpZHkuc2hvd190b29sYmFyKCk7fSwgaW50ZXJ2YWwpOwogICAgfQogIH0sCgogIC8vIHJlc3RvcmVzIHRvb2xiYXIgYWZ0ZXIgc2hvcnQgZGVsYXkKICBzaG93X3Rvb2xiYXI6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3M2Nfc2xpZHkud2FudF90b29sYmFyKQogICAgewogICAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsKCiAgICAgIGlmICghdzNjX3NsaWR5Lm5zX3BvcykKICAgICAgewogICAgICAgIC8vIGFkanVzdCBwb3NpdGlvbiB0byBhbGxvdyBmb3Igc2Nyb2xsaW5nCiAgICAgICAgdmFyIHhvZmZzZXQgPSB3M2Nfc2xpZHkuc2Nyb2xsX3hfb2Zmc2V0KCk7CiAgICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUubGVmdCA9IHhvZmZzZXQ7CiAgICAgICAgdzNjX3NsaWR5LnRvb2xiYXIuc3R5bGUucmlnaHQgPSB4b2Zmc2V0OwoKICAgICAgICAvLyBkZXRlcm1pbmUgdmVydGljYWwgc2Nyb2xsIG9mZnNldAogICAgICAgIC8vdmFyIHlvZmZzZXQgPSBzY3JvbGxZT2Zmc2V0KCk7CgogICAgICAgIC8vIGJvdHRvbSBpcyBkb2MgaGVpZ2h0IC0gd2luZG93IGhlaWdodCAtIHNjcm9sbCBvZmZzZXQKICAgICAgICAvL3ZhciBib3R0b20gPSBkb2N1bWVudEhlaWdodCgpIC0gbGFzdEhlaWdodCAtIHlvZmZzZXQKCiAgICAgICAgLy9pZiAoeW9mZnNldCA+IDAgfHwgZG9jdW1lbnRIZWlnaHQoKSA+IGxhc3RIZWlnaHQpCiAgICAgICAgLy8gICBib3R0b20gKz0gMTY7ICAvLyBhbGxvdyBmb3IgaGVpZ2h0IG9mIHNjcm9sbGJhcgoKICAgICAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5ib3R0b20gPSAwOyAvL2JvdHRvbTsKICAgICAgfQoKICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpOwogICAgfQoKICAgIHczY19zbGlkeS5zY3JvbGxoYWNrID0gMDsKCgogICAgLy8gc2V0IHRoZSBrZXlib2FyZCBmb2N1cyB0byB0aGUgaGVscCBsaW5rIG9uIHRoZQogICAgLy8gdG9vbGJhciB0byBlbnN1cmUgdGhhdCBkb2N1bWVudCBoYXMgdGhlIGZvY3VzCiAgICAvLyBJRSBkb2Vzbid0IGFsd2F5cyB3b3JrIHdpdGggd2luZG93LmZvY3VzKCkKICAgIC8vIGFuZCB0aGlzIGhhY2sgaGFzIGJlbmVmaXQgb2YgRW50ZXIgZm9yIGhlbHAKCiAgICB0cnkKICAgIHsKICAgICAgaWYgKCF3M2Nfc2xpZHkub3BlcmEpCiAgICAgICAgdzNjX3NsaWR5LnNldF9mb2N1cygpOwogICAgfQogICAgY2F0Y2ggKGUpCiAgICB7CiAgICB9CiAgfSwKCi8vIGludm9rZWQgdmlhIEYga2V5CiAgdG9nZ2xlX3Rvb2xiYXI6IGZ1bmN0aW9uICgpIHsKICAgIGlmICghdzNjX3NsaWR5LnZpZXdfYWxsKQogICAgewogICAgICBpZiAodzNjX3NsaWR5Lmhhc19jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpKQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5LnJlbW92ZV9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgICAgdzNjX3NsaWR5LndhbnRfdG9vbGJhciA9IDE7CiAgICAgIH0KICAgICAgZWxzZQogICAgICB7CiAgICAgICAgdzNjX3NsaWR5LmFkZF9jbGFzcyh3M2Nfc2xpZHkudG9vbGJhciwgImhpZGRlbiIpCiAgICAgICAgdzNjX3NsaWR5LndhbnRfdG9vbGJhciA9IDA7CiAgICAgIH0KICAgIH0KICB9LAoKICBzY3JvbGxfeF9vZmZzZXQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3aW5kb3cucGFnZVhPZmZzZXQpCiAgICAgIHJldHVybiBzZWxmLnBhZ2VYT2Zmc2V0OwoKICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgCiAgICAgICAgICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxMZWZ0OwoKICAgIGlmIChkb2N1bWVudC5ib2R5KQogICAgICByZXR1cm4gZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0OwoKICAgIHJldHVybiAwOwogIH0sCgogIHNjcm9sbF95X29mZnNldDogZnVuY3Rpb24gKCkgewogICAgaWYgKHdpbmRvdy5wYWdlWU9mZnNldCkKICAgICAgcmV0dXJuIHNlbGYucGFnZVlPZmZzZXQ7CgogICAgaWYgKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCAmJiAKICAgICAgICAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3ApCiAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsVG9wOwoKICAgIGlmIChkb2N1bWVudC5ib2R5KQogICAgICByZXR1cm4gZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7CgogICAgcmV0dXJuIDA7CiAgfSwKCiAgLy8gbG9va2luZyBmb3IgYSB3YXkgdG8gZGV0ZXJtaW5lIGhlaWdodCBvZiBzbGlkZSBjb250ZW50CiAgLy8gdGhlIHNsaWRlIGl0c2VsZiBpcyBzZXQgdG8gdGhlIGhlaWdodCBvZiB0aGUgd2luZG93CiAgb3B0aW1pemVfZm9udF9zaXplOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIC8vdmFyIGRoID0gZG9jdW1lbnRIZWlnaHQoKTsgLy9nZXREb2NIZWlnaHQoZG9jdW1lbnQpOwogICAgdmFyIGRoID0gc2xpZGUuc2Nyb2xsSGVpZ2h0OwogICAgdmFyIHdoID0gZ2V0V2luZG93SGVpZ2h0KCk7CiAgICB2YXIgdSA9IDEwMCAqIGRoIC8gd2g7CgogICAgYWxlcnQoIndpbmRvdyB1dGlsaXphdGlvbiA9ICIgKyB1ICsgIiUgKGRvYyAiCiAgICAgICsgZGggKyAiIHdpbiAiICsgd2ggKyAiKSIpOwogIH0sCgogIC8vIGZyb20gZG9jdW1lbnQgb2JqZWN0CiAgZ2V0X2RvY19oZWlnaHQ6IGZ1bmN0aW9uIChkb2MpIHsKICAgIGlmICghZG9jKQogICAgICBkb2MgPSBkb2N1bWVudDsKCiAgICBpZiAoZG9jICYmIGRvYy5ib2R5ICYmIGRvYy5ib2R5Lm9mZnNldEhlaWdodCkKICAgICAgcmV0dXJuIGRvYy5ib2R5Lm9mZnNldEhlaWdodDsgIC8vIG5zL2dlY2tvIHN5bnRheAoKICAgIGlmIChkb2MgJiYgZG9jLmJvZHkgJiYgZG9jLmJvZHkuc2Nyb2xsSGVpZ2h0KQogICAgICByZXR1cm4gZG9jLmJvZHkuc2Nyb2xsSGVpZ2h0OwoKICAgIGFsZXJ0KCJjb3VsZG4ndCBkZXRlcm1pbmUgZG9jdW1lbnQgaGVpZ2h0Iik7CiAgfSwKCiAgZ2V0X3dpbmRvd19oZWlnaHQ6IGZ1bmN0aW9uICgpIHsKICAgIGlmICggdHlwZW9mKCB3aW5kb3cuaW5uZXJIZWlnaHQgKSA9PSAnbnVtYmVyJyApCiAgICAgIHJldHVybiB3aW5kb3cuaW5uZXJIZWlnaHQ7ICAvLyBOb24gSUUgYnJvd3NlcgoKICAgIGlmIChkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7ICAvLyBJRTYKCiAgICBpZiAoZG9jdW1lbnQuYm9keSAmJiBkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCkKICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHkuY2xpZW50SGVpZ2h0OyAvLyBJRTQKICB9LAoKICBkb2N1bWVudF9oZWlnaHQ6IGZ1bmN0aW9uICgpIHsKICAgIHZhciBzaCwgb2g7CgogICAgc2ggPSBkb2N1bWVudC5ib2R5LnNjcm9sbEhlaWdodDsKICAgIG9oID0gZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7CgogICAgaWYgKHNoICYmIG9oKQogICAgewogICAgICByZXR1cm4gKHNoID4gb2ggPyBzaCA6IG9oKTsKICAgIH0KCiAgICAvLyBubyBpZGVhIQogICAgcmV0dXJuIDA7CiAgfSwKCiAgc21hbGxlcjogZnVuY3Rpb24gKCkgewogICAgaWYgKHczY19zbGlkeS5zaXplX2luZGV4ID4gMCkKICAgIHsKICAgICAgLS13M2Nfc2xpZHkuc2l6ZV9pbmRleDsKICAgIH0KCiAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7dzNjX3NsaWR5LnNob3dfdG9vbGJhcigpOyB9LCA1MCk7CiAgfSwKCiAgYmlnZ2VyOiBmdW5jdGlvbiAoKSB7CiAgICBpZiAodzNjX3NsaWR5LnNpemVfaW5kZXggPCB3M2Nfc2xpZHkuc2l6ZXMubGVuZ3RoIC0gMSkKICAgIHsKICAgICAgKyt3M2Nfc2xpZHkuc2l6ZV9pbmRleDsKICAgIH0KCiAgICB3M2Nfc2xpZHkudG9vbGJhci5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5mb250U2l6ZSA9IHczY19zbGlkeS5zaXplc1t3M2Nfc2xpZHkuc2l6ZV9pbmRleF07CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwogICAgdzNjX3NsaWR5LmhpZGVfc2xpZGUoc2xpZGUpOwogICAgdzNjX3NsaWR5LnNob3dfc2xpZGUoc2xpZGUpOwogICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7dzNjX3NsaWR5LnNob3dfdG9vbGJhcigpOyB9LCA1MCk7CiAgfSwKCiAgLy8gZW5hYmxlcyBjcm9zcyBicm93c2VyIHVzZSBvZiByZWxhdGl2ZSB3aWR0aC9oZWlnaHQKICAvLyBvbiBvYmplY3QgZWxlbWVudHMgZm9yIHVzZSB3aXRoIFNWRyBhbmQgRmxhc2ggbWVkaWEKICAvLyB3aXRoIHRoYW5rcyB0byBJdmFuIEhlcm1hbiBmb3IgdGhlIHN1Z2dlc3Rpb24KICBhZGp1c3Rfb2JqZWN0X2RpbWVuc2lvbnM6IGZ1bmN0aW9uICh3aWR0aCwgaGVpZ2h0KSB7CiAgICBmb3IoIHZhciBpID0gMDsgaSA8IHczY19zbGlkeS5vYmplY3RzLmxlbmd0aDsgaSsrICkKICAgIHsKICAgICAgdmFyIG9iaiA9IHRoaXMub2JqZWN0c1tpXTsKICAgICAgdmFyIG1pbWVUeXBlID0gb2JqLmdldEF0dHJpYnV0ZSgidHlwZSIpOwoKICAgICAgaWYgKG1pbWVUeXBlID09ICJpbWFnZS9zdmcreG1sIiB8fCBtaW1lVHlwZSA9PSAiYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2giKQogICAgICB7CiAgICAgICAgaWYgKCAhb2JqLmluaXRpYWxXaWR0aCApIAogICAgICAgICAgb2JqLmluaXRpYWxXaWR0aCA9IG9iai5nZXRBdHRyaWJ1dGUoIndpZHRoIik7CgogICAgICAgIGlmICggIW9iai5pbml0aWFsSGVpZ2h0ICkgCiAgICAgICAgICBvYmouaW5pdGlhbEhlaWdodCA9IG9iai5nZXRBdHRyaWJ1dGUoImhlaWdodCIpOwoKICAgICAgICBpZiAoIG9iai5pbml0aWFsV2lkdGggJiYgb2JqLmluaXRpYWxXaWR0aC5jaGFyQXQob2JqLmluaXRpYWxXaWR0aC5sZW5ndGgtMSkgPT0gIiUiICkKICAgICAgICB7CiAgICAgICAgICB2YXIgdyA9IHBhcnNlSW50KG9iai5pbml0aWFsV2lkdGguc2xpY2UoMCwgb2JqLmluaXRpYWxXaWR0aC5sZW5ndGgtMSkpOwogICAgICAgICAgdmFyIG5ld1cgPSB3aWR0aCAqICh3LzEwMC4wKTsKICAgICAgICAgIG9iai5zZXRBdHRyaWJ1dGUoIndpZHRoIixuZXdXKTsKICAgICAgICB9CgogICAgICAgIGlmICggb2JqLmluaXRpYWxIZWlnaHQgJiYKICAgICAgICAgICAgIG9iai5pbml0aWFsSGVpZ2h0LmNoYXJBdChvYmouaW5pdGlhbEhlaWdodC5sZW5ndGgtMSkgPT0gIiUiICkKICAgICAgICB7CiAgICAgICAgICB2YXIgaCA9IHBhcnNlSW50KG9iai5pbml0aWFsSGVpZ2h0LnNsaWNlKDAsIG9iai5pbml0aWFsSGVpZ2h0Lmxlbmd0aC0xKSk7CiAgICAgICAgICB2YXIgbmV3SCA9IGhlaWdodCAqIChoLzEwMC4wKTsKICAgICAgICAgIG9iai5zZXRBdHRyaWJ1dGUoImhlaWdodCIsIG5ld0gpOwogICAgICAgIH0KICAgICAgfQogICAgfQogIH0sCgogIC8vIG5lZWRlZCBmb3IgT3BlcmEgdG8gaW5oaWJpdCBkZWZhdWx0IGJlaGF2aW9yCiAgLy8gc2luY2UgT3BlcmEgZGVsaXZlcnMga2V5UHJlc3MgZXZlbiBpZiBrZXlEb3duCiAgLy8gd2FzIGNhbmNlbGxlZAogIGtleV9wcmVzczogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICBpZiAoIWV2ZW50KQogICAgICBldmVudCA9IHdpbmRvdy5ldmVudDsKCiAgICBpZiAoIXczY19zbGlkeS5rZXlfd2FudGVkKQogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgLy8gIFNlZSBlLmcuIGh0dHA6Ly93d3cucXVpcmtzbW9kZS5vcmcvanMvZXZlbnRzL2tleXMuaHRtbCBmb3Iga2V5Y29kZXMKICBrZXlfZG93bjogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICB2YXIga2V5LCB0YXJnZXQsIHRhZzsKCiAgICB3M2Nfc2xpZHkua2V5X3dhbnRlZCA9IHRydWU7CgogICAgaWYgKCFldmVudCkKICAgICAgZXZlbnQgPSB3aW5kb3cuZXZlbnQ7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh3aW5kb3cuZXZlbnQpCiAgICB7CiAgICAgIGtleSA9IHdpbmRvdy5ldmVudC5rZXlDb2RlOwogICAgICB0YXJnZXQgPSB3aW5kb3cuZXZlbnQuc3JjRWxlbWVudDsKICAgIH0KICAgIGVsc2UgaWYgKGV2ZW50LndoaWNoKQogICAgewogICAgICBrZXkgPSBldmVudC53aGljaDsKICAgICAgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0OwogICAgfQogICAgZWxzZQogICAgICByZXR1cm4gdHJ1ZTsgLy8gWWlrZXMhIHVua25vd24gYnJvd3NlcgoKICAgIC8vIGlnbm9yZSBldmVudCBpZiBrZXkgdmFsdWUgaXMgemVybwogICAgLy8gYXMgZm9yIGFsdCBvbiBPcGVyYSBhbmQgS29ucXVlcm9yCiAgICBpZiAoIWtleSkKICAgICAgIHJldHVybiB0cnVlOwoKICAgIC8vIGF2b2lkIGludGVyZmVyaW5nIHdpdGgga2V5c3Ryb2tlCiAgICAvLyBiZWhhdmlvciBmb3Igbm9uLXNsaWR5IGNocm9tZSBlbGVtZW50cwogICAgaWYgKCF3M2Nfc2xpZHkuc2xpZHlfY2hyb21lKHRhcmdldCkgJiYKICAgICAgICB3M2Nfc2xpZHkuc3BlY2lhbF9lbGVtZW50KHRhcmdldCkpCiAgICAgIHJldHVybiB0cnVlOwoKICAgIC8vIGNoZWNrIGZvciBjb25jdXJyZW50IGNvbnRyb2wvY29tbWFuZC9hbHQga2V5CiAgICAvLyBidXQgYXJlIHRoZXNlIG9ubHkgcHJlc2VudCBvbiBtb3VzZSBldmVudHM/CgogICAgaWYgKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50Lm1ldGFLZXkpCiAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAvLyBkaXNtaXNzIHRhYmxlIG9mIGNvbnRlbnRzIGlmIHZpc2libGUKICAgIGlmICh3M2Nfc2xpZHkuaXNfc2hvd25fdG9jKCkgJiYga2V5ICE9IDkgJiYga2V5ICE9IDE2ICYmIGtleSAhPSAzOCAmJiBrZXkgIT0gNDApCiAgICB7CiAgICAgIHczY19zbGlkeS5oaWRlX3RhYmxlX29mX2NvbnRlbnRzKHRydWUpOwoKICAgICAgaWYgKGtleSA9PSAyNyB8fCBrZXkgPT0gODQgfHwga2V5ID09IDY3KQogICAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KCiAgICBpZiAoa2V5ID09IDM0KSAvLyBQYWdlIERvd24KICAgIHsKICAgICAgaWYgKHczY19zbGlkeS52aWV3X2FsbCkKICAgICAgICByZXR1cm4gdHJ1ZTsKCiAgICAgIHczY19zbGlkeS5uZXh0X3NsaWRlKGZhbHNlKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDMzKSAvLyBQYWdlIFVwCiAgICB7CiAgICAgIGlmICh3M2Nfc2xpZHkudmlld19hbGwpCiAgICAgICAgcmV0dXJuIHRydWU7CgogICAgICB3M2Nfc2xpZHkucHJldmlvdXNfc2xpZGUoZmFsc2UpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMzIpIC8vIHNwYWNlIGJhcgogICAgewogICAgICB3M2Nfc2xpZHkubmV4dF9zbGlkZSh0cnVlKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDM3KSAvLyBMZWZ0IGFycm93CiAgICB7CiAgICAgIHczY19zbGlkeS5wcmV2aW91c19zbGlkZSghZXZlbnQuc2hpZnRLZXkpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMzYpIC8vIEhvbWUKICAgIHsKICAgICAgdzNjX3NsaWR5LmZpcnN0X3NsaWRlKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSAzNSkgLy8gRW5kCiAgICB7CiAgICAgIHczY19zbGlkeS5sYXN0X3NsaWRlKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSAzOSkgLy8gUmlnaHQgYXJyb3cKICAgIHsKICAgICAgdzNjX3NsaWR5Lm5leHRfc2xpZGUoIWV2ZW50LnNoaWZ0S2V5KTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDEzKSAvLyBFbnRlcgogICAgewogICAgICBpZiAodzNjX3NsaWR5Lm91dGxpbmUpCiAgICAgIHsKICAgICAgICBpZiAodzNjX3NsaWR5Lm91dGxpbmUudmlzaWJsZSkKICAgICAgICAgIHczY19zbGlkeS5mb2xkKHczY19zbGlkeS5vdXRsaW5lKTsKICAgICAgICBlbHNlCiAgICAgICAgICB3M2Nfc2xpZHkudW5mb2xkKHczY19zbGlkeS5vdXRsaW5lKTsKICAgICAgICAgIAogICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgICB9CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTg4KSAgLy8gPCBmb3Igc21hbGxlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuc21hbGxlcigpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTkwKSAgLy8gPiBmb3IgbGFyZ2VyIGZvbnRzCiAgICB7CiAgICAgIHczY19zbGlkeS5iaWdnZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDE4OSB8fCBrZXkgPT0gMTA5KSAgLy8gLSBmb3Igc21hbGxlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuc21hbGxlcigpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gMTg3IHx8IGtleSA9PSAxOTEgfHwga2V5ID09IDEwNykgIC8vID0gKyAgZm9yIGxhcmdlciBmb250cwogICAgewogICAgICB3M2Nfc2xpZHkuYmlnZ2VyKCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA4MykgIC8vIFMgZm9yIHNtYWxsZXIgZm9udHMKICAgIHsKICAgICAgdzNjX3NsaWR5LnNtYWxsZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDY2KSAgLy8gQiBmb3IgbGFyZ2VyIGZvbnRzCiAgICB7CiAgICAgIHczY19zbGlkeS5iaWdnZXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDkwKSAgLy8gWiBmb3IgbGFzdCBzbGlkZQogICAgewogICAgICB3M2Nfc2xpZHkubGFzdF9zbGlkZSgpOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICBlbHNlIGlmIChrZXkgPT0gNzApICAvLyBGIGZvciB0b2dnbGUgdG9vbGJhcgogICAgewogICAgICB3M2Nfc2xpZHkudG9nZ2xlX3Rvb2xiYXIoKTsKICAgICAgcmV0dXJuIHczY19zbGlkeS5jYW5jZWwoZXZlbnQpOwogICAgfQogICAgZWxzZSBpZiAoa2V5ID09IDY1KSAgLy8gQSBmb3IgdG9nZ2xlIHZpZXcgc2luZ2xlL2FsbCBzbGlkZXMKICAgIHsKICAgICAgdzNjX3NsaWR5LnRvZ2dsZV92aWV3KCk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA3NSkgIC8vIHRvZ2dsZSBhY3Rpb24gb2YgbGVmdCBjbGljayBmb3IgbmV4dCBwYWdlCiAgICB7CiAgICAgIHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkID0gIXczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkOwogICAgICB2YXIgYWxlcnRfbXNnID0gKHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkID8KICAgICAgICAgICAgICAgICJlbmFibGVkIiA6ICJkaXNhYmxlZCIpICsgICIgbW91c2UgY2xpY2sgYWR2YW5jZSI7CgogICAgICBhbGVydCh3M2Nfc2xpZHkubG9jYWxpemUoYWxlcnRfbXNnKSk7CiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA4NCB8fCBrZXkgPT0gNjcpICAvLyBUIG9yIEMgZm9yIHRhYmxlIG9mIGNvbnRlbnRzCiAgICB7CiAgICAgIGlmICh3M2Nfc2xpZHkudG9jKQogICAgICAgIHczY19zbGlkeS50b2dnbGVfdGFibGVfb2ZfY29udGVudHMoKTsKCiAgICAgIHJldHVybiB3M2Nfc2xpZHkuY2FuY2VsKGV2ZW50KTsKICAgIH0KICAgIGVsc2UgaWYgKGtleSA9PSA3MikgLy8gSCBmb3IgaGVscAogICAgewogICAgICB3aW5kb3cubG9jYXRpb24gPSB3M2Nfc2xpZHkuaGVscF9wYWdlOwogICAgICByZXR1cm4gdzNjX3NsaWR5LmNhbmNlbChldmVudCk7CiAgICB9CiAgICAvL2Vsc2UgYWxlcnQoImtleSBjb2RlIGlzICIrIGtleSk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgLy8gc2FmZSBmb3IgYm90aCB0ZXh0L2h0bWwgYW5kIGFwcGxpY2F0aW9uL3hodG1sK3htbAogIGNyZWF0ZV9lbGVtZW50OiBmdW5jdGlvbiAobmFtZSkgewogICAgaWYgKHRoaXMueGh0bWwgJiYgKHR5cGVvZiBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMgIT0gJ3VuZGVmaW5lZCcpKQogICAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiwgbmFtZSkKCiAgICByZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lKTsKICB9LAoKICBnZXRfZWxlbWVudF9zdHlsZTogZnVuY3Rpb24gKGVsZW0sIElFU3R5bGVQcm9wLCBDU1NTdHlsZVByb3ApIHsKICAgIGlmIChlbGVtLmN1cnJlbnRTdHlsZSkKICAgIHsKICAgICAgcmV0dXJuIGVsZW0uY3VycmVudFN0eWxlW0lFU3R5bGVQcm9wXTsKICAgIH0KICAgIGVsc2UgaWYgKHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKQogICAgewogICAgICB2YXIgY29tcFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbSwgIiIpOwogICAgICByZXR1cm4gY29tcFN0eWxlLmdldFByb3BlcnR5VmFsdWUoQ1NTU3R5bGVQcm9wKTsKICAgIH0KICAgIHJldHVybiAiIjsKICB9LAoKICAvLyB0aGUgc3RyaW5nIHN0ciBpcyBhIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgdG9rZW5zCiAgLy8gdGVzdCBpZiBzdHIgY29udGFpbnMgYSBwYXJ0aWN1bGFyIHRva2VuLCBlLmcuICJzbGlkZSIKICBoYXNfdG9rZW46IGZ1bmN0aW9uIChzdHIsIHRva2VuKSB7CiAgICBpZiAoc3RyKQogICAgewogICAgICAvLyBkZWZpbmUgcGF0dGVybiBhcyByZWd1bGFyIGV4cHJlc3Npb24KICAgICAgdmFyIHBhdHRlcm4gPSAvXHcrL2c7CgogICAgICAvLyBjaGVjayBmb3IgbWF0Y2hlcwogICAgICAvLyBwbGFjZSByZXN1bHQgaW4gYXJyYXkKICAgICAgdmFyIHJlc3VsdCA9IHN0ci5tYXRjaChwYXR0ZXJuKTsKCiAgICAgIC8vIG5vdyBjaGVjayBpZiBkZXNpcmVkIHRva2VuIGlzIHByZXNlbnQKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspCiAgICAgIHsKICAgICAgICBpZiAocmVzdWx0W2ldID09IHRva2VuKQogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gZmFsc2U7CiAgfSwKCiAgZ2V0X2NsYXNzX2xpc3Q6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lICE9ICd1bmRlZmluZWQnKQogICAgICByZXR1cm4gZWxlbWVudC5jbGFzc05hbWU7CgogICAgcmV0dXJuIGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOwogIH0sCgogIGhhc19jbGFzczogZnVuY3Rpb24gKGVsZW1lbnQsIG5hbWUpIHsKICAgIGlmIChlbGVtZW50Lm5vZGVUeXBlICE9IDEpCiAgICAgIHJldHVybiBmYWxzZTsKCiAgICB2YXIgcmVnZXhwID0gbmV3IFJlZ0V4cCgiKF58ICkiICsgbmFtZSArICJcVyoiKTsKCiAgICBpZiAodHlwZW9mIGVsZW1lbnQuY2xhc3NOYW1lICE9ICd1bmRlZmluZWQnKQogICAgICByZXR1cm4gcmVnZXhwLnRlc3QoZWxlbWVudC5jbGFzc05hbWUpOwoKICAgIHJldHVybiByZWdleHAudGVzdChlbGVtZW50LmdldEF0dHJpYnV0ZSgiY2xhc3MiKSk7CiAgfSwKCiAgcmVtb3ZlX2NsYXNzOiBmdW5jdGlvbiAoZWxlbWVudCwgbmFtZSkgewogICAgdmFyIHJlZ2V4cCA9IG5ldyBSZWdFeHAoIihefCApIiArIG5hbWUgKyAiXFcqIik7CiAgICB2YXIgY2xzdmFsID0gIiI7CgogICAgaWYgKHR5cGVvZiBlbGVtZW50LmNsYXNzTmFtZSAhPSAndW5kZWZpbmVkJykKICAgIHsKICAgICAgY2xzdmFsID0gZWxlbWVudC5jbGFzc05hbWU7CgogICAgICBpZiAoY2xzdmFsKQogICAgICB7CiAgICAgICAgY2xzdmFsID0gY2xzdmFsLnJlcGxhY2UocmVnZXhwLCAiIik7CiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgPSBjbHN2YWw7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgY2xzdmFsID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoImNsYXNzIik7CgogICAgICBpZiAoY2xzdmFsKQogICAgICB7CiAgICAgICAgY2xzdmFsID0gY2xzdmFsLnJlcGxhY2UocmVnZXhwLCAiIik7CiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwgY2xzdmFsKTsKICAgICAgfQogICAgfQogIH0sCgogIGFkZF9jbGFzczogZnVuY3Rpb24gKGVsZW1lbnQsIG5hbWUpIHsKICAgIGlmICghdGhpcy5oYXNfY2xhc3MoZWxlbWVudCwgbmFtZSkpCiAgICB7CiAgICAgIGlmICh0eXBlb2YgZWxlbWVudC5jbGFzc05hbWUgIT0gJ3VuZGVmaW5lZCcpCiAgICAgICAgZWxlbWVudC5jbGFzc05hbWUgKz0gIiAiICsgbmFtZTsKICAgICAgZWxzZQogICAgICB7CiAgICAgICAgdmFyIGNsc3ZhbCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpOwogICAgICAgIGNsc3ZhbCA9IGNsc3ZhbCA/IGNsc3ZhbCArICIgIiArIG5hbWUgOiBuYW1lOwogICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsIGNsc3ZhbCk7CiAgICAgIH0KICAgIH0KICB9LAoKICAvLyBIVE1MIGVsZW1lbnRzIHRoYXQgY2FuIGJlIHVzZWQgd2l0aCBjbGFzcz0iaW5jcmVtZW50YWwiCiAgLy8gbm90ZSB0aGF0IHlvdSBjYW4gYWxzbyBwdXQgdGhlIGNsYXNzIG9uIGNvbnRhaW5lcnMgbGlrZQogIC8vIHVwLCBvbCwgZGwsIGFuZCBkaXYgdG8gbWFrZSB0aGVpciBjb250ZW50cyBhcHBlYXIKICAvLyBpbmNyZW1lbnRhbGx5LiBVcHBlciBjYXNlIGlzIHVzZWQgc2luY2UgdGhpcyBpcyB3aGF0CiAgLy8gYnJvd3NlcnMgcmVwb3J0IGZvciBIVE1MIG5vZGUgbmFtZXMgKHRleHQvaHRtbCkuCiAgaW5jcmVtZW50YWxfZWxlbWVudHM6IG51bGwsCiAgb2theV9mb3JfaW5jcmVtZW50YWw6IGZ1bmN0aW9uIChuYW1lKSB7CiAgICBpZiAoIXRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHMpCiAgICB7CiAgICAgIHZhciBpbmNsaXN0ID0gbmV3IEFycmF5KCk7CiAgICAgIGluY2xpc3RbInAiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbInByZSJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsibGkiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImJsb2NrcXVvdGUiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImR0Il0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJkZCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaDIiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImgzIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJoNCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaDUiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbImg2Il0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJzcGFuIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJhZGRyZXNzIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJ0YWJsZSJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsidHIiXSA9IHRydWU7CiAgICAgIGluY2xpc3RbInRoIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJ0ZCJdID0gdHJ1ZTsKICAgICAgaW5jbGlzdFsiaW1nIl0gPSB0cnVlOwogICAgICBpbmNsaXN0WyJvYmplY3QiXSA9IHRydWU7CiAgICAgIHRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHMgPSBpbmNsaXN0OwogICAgfQogICAgcmV0dXJuIHRoaXMuaW5jcmVtZW50YWxfZWxlbWVudHNbbmFtZS50b0xvd2VyQ2FzZSgpXTsKICB9LAoKICBuZXh0X2luY3JlbWVudGFsX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICB2YXIgYnIgPSB0aGlzLmlzX3hodG1sID8gImJyIiA6ICJCUiI7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSB3M2Nfc2xpZHkubmV4dF9ub2RlKHNsaWRlLCBub2RlKTsKCiAgICAgIGlmIChub2RlID09IG51bGwgfHwgbm9kZS5wYXJlbnROb2RlID09IG51bGwpCiAgICAgICAgYnJlYWs7CgogICAgICBpZiAobm9kZS5ub2RlVHlwZSA9PSAxKSAgLy8gRUxFTUVOVAogICAgICB7CiAgICAgICAgaWYgKG5vZGUubm9kZU5hbWUgPT0gYnIpCiAgICAgICAgICBjb250aW51ZTsKCiAgICAgICAgaWYgKHczY19zbGlkeS5oYXNfY2xhc3Mobm9kZSwgImluY3JlbWVudGFsIikKICAgICAgICAgICAgICYmIHczY19zbGlkeS5va2F5X2Zvcl9pbmNyZW1lbnRhbChub2RlLm5vZGVOYW1lKSkKICAgICAgICAgIHJldHVybiBub2RlOwoKICAgICAgICBpZiAodzNjX3NsaWR5Lmhhc19jbGFzcyhub2RlLnBhcmVudE5vZGUsICJpbmNyZW1lbnRhbCIpCiAgICAgICAgICAgICAmJiAhdzNjX3NsaWR5Lmhhc19jbGFzcyhub2RlLCAibm9uLWluY3JlbWVudGFsIikpCiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgfQogICAgfQoKICAgIHJldHVybiBub2RlOwogIH0sCgogIHByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICB2YXIgYnIgPSB0aGlzLmlzX3hodG1sID8gImJyIiA6ICJCUiI7CiAgICB2YXIgc2xpZGUgPSB3M2Nfc2xpZHkuc2xpZGVzW3czY19zbGlkeS5zbGlkZV9udW1iZXJdOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSB3M2Nfc2xpZHkucHJldmlvdXNfbm9kZShzbGlkZSwgbm9kZSk7CgogICAgICBpZiAobm9kZSA9PSBudWxsIHx8IG5vZGUucGFyZW50Tm9kZSA9PSBudWxsKQogICAgICAgIGJyZWFrOwoKICAgICAgaWYgKG5vZGUubm9kZVR5cGUgPT0gMSkKICAgICAgewogICAgICAgIGlmIChub2RlLm5vZGVOYW1lID09IGJyKQogICAgICAgICAgY29udGludWU7CgogICAgICAgIGlmICh3M2Nfc2xpZHkuaGFzX2NsYXNzKG5vZGUsICJpbmNyZW1lbnRhbCIpCiAgICAgICAgICAgICAmJiB3M2Nfc2xpZHkub2theV9mb3JfaW5jcmVtZW50YWwobm9kZS5ub2RlTmFtZSkpCiAgICAgICAgICByZXR1cm4gbm9kZTsKCiAgICAgICAgaWYgKHczY19zbGlkeS5oYXNfY2xhc3Mobm9kZS5wYXJlbnROb2RlLCAiaW5jcmVtZW50YWwiKQogICAgICAgICAgICAgJiYgIXczY19zbGlkeS5oYXNfY2xhc3Mobm9kZSwgIm5vbi1pbmNyZW1lbnRhbCIpKQogICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gbm9kZTsKICB9LAoKICAvLyBzZXQgdmlzaWJpbGl0eSBmb3IgYWxsIGVsZW1lbnRzIG9uIGN1cnJlbnQgc2xpZGUgd2l0aAogIC8vIGEgcGFyZW50IGVsZW1lbnQgd2l0aCBhdHRyaWJ1dGUgY2xhc3M9ImluY3JlbWVudGFsIgogIHNldF92aXNpYmlsaXR5X2FsbF9pbmNyZW1lbnRhbDogZnVuY3Rpb24gKHZhbHVlKSB7CiAgICB2YXIgbm9kZSA9IHRoaXMubmV4dF9pbmNyZW1lbnRhbF9pdGVtKG51bGwpOwoKICAgIGlmICh2YWx1ZSA9PSAiaGlkZGVuIikKICAgIHsKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB3M2Nfc2xpZHkuYWRkX2NsYXNzKG5vZGUsICJpbnZpc2libGUiKTsKICAgICAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKICAgICAgfQogICAgfQogICAgZWxzZSAvLyB2YWx1ZSA9PSAidmlzaWJsZSIKICAgIHsKICAgICAgd2hpbGUgKG5vZGUpCiAgICAgIHsKICAgICAgICB3M2Nfc2xpZHkucmVtb3ZlX2NsYXNzKG5vZGUsICJpbnZpc2libGUiKTsKICAgICAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKICAgICAgfQogICAgfQogIH0sCgogIC8vIHJldmVhbCB0aGUgbmV4dCBoaWRkZW4gaXRlbSBvbiB0aGUgc2xpZGUKICAvLyBub2RlIGlzIG51bGwgb3IgdGhlIG5vZGUgdGhhdCB3YXMgbGFzdCByZXZlYWxlZAogIHJldmVhbF9uZXh0X2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICBub2RlID0gdzNjX3NsaWR5Lm5leHRfaW5jcmVtZW50YWxfaXRlbShub2RlKTsKCiAgICBpZiAobm9kZSAmJiBub2RlLm5vZGVUeXBlID09IDEpICAvLyBhbiBlbGVtZW50CiAgICAgIHczY19zbGlkeS5yZW1vdmVfY2xhc3Mobm9kZSwgImludmlzaWJsZSIpOwoKICAgIHJldHVybiBub2RlOwogIH0sCgogIC8vIGV4YWN0IGludmVyc2Ugb2YgcmV2ZWFsTmV4dEl0ZW0obm9kZSkKICBoaWRlX3ByZXZpb3VzX2l0ZW06IGZ1bmN0aW9uIChub2RlKSB7CiAgICBpZiAobm9kZSAmJiBub2RlLm5vZGVUeXBlID09IDEpICAvLyBhbiBlbGVtZW50CiAgICAgIHczY19zbGlkeS5hZGRfY2xhc3Mobm9kZSwgImludmlzaWJsZSIpOwoKICAgIHJldHVybiB0aGlzLnByZXZpb3VzX2luY3JlbWVudGFsX2l0ZW0obm9kZSk7CiAgfSwKCiAgLy8gbGVmdCB0byByaWdodCB0cmF2ZXJzYWwgb2Ygcm9vdCdzIGNvbnRlbnQKICBuZXh0X25vZGU6IGZ1bmN0aW9uIChyb290LCBub2RlKSB7CiAgICBpZiAobm9kZSA9PSBudWxsKQogICAgICByZXR1cm4gcm9vdC5maXJzdENoaWxkOwoKICAgIGlmIChub2RlLmZpcnN0Q2hpbGQpCiAgICAgIHJldHVybiBub2RlLmZpcnN0Q2hpbGQ7CgogICAgaWYgKG5vZGUubmV4dFNpYmxpbmcpCiAgICAgIHJldHVybiBub2RlLm5leHRTaWJsaW5nOwoKICAgIGZvciAoOzspCiAgICB7CiAgICAgIG5vZGUgPSBub2RlLnBhcmVudE5vZGU7CgogICAgICBpZiAoIW5vZGUgfHwgbm9kZSA9PSByb290KQogICAgICAgIGJyZWFrOwoKICAgICAgaWYgKG5vZGUgJiYgbm9kZS5uZXh0U2libGluZykKICAgICAgICByZXR1cm4gbm9kZS5uZXh0U2libGluZzsKICAgIH0KCiAgICByZXR1cm4gbnVsbDsKICB9LAoKICAvLyByaWdodCB0byBsZWZ0IHRyYXZlcnNhbCBvZiByb290J3MgY29udGVudAogIHByZXZpb3VzX25vZGU6IGZ1bmN0aW9uIChyb290LCBub2RlKSB7CiAgICBpZiAobm9kZSA9PSBudWxsKQogICAgewogICAgICBub2RlID0gcm9vdC5sYXN0Q2hpbGQ7CgogICAgICBpZiAobm9kZSkKICAgICAgewogICAgICAgIHdoaWxlIChub2RlLmxhc3RDaGlsZCkKICAgICAgICAgIG5vZGUgPSBub2RlLmxhc3RDaGlsZDsKICAgICAgfQoKICAgICAgcmV0dXJuIG5vZGU7CiAgICB9CgogICAgaWYgKG5vZGUucHJldmlvdXNTaWJsaW5nKQogICAgewogICAgICBub2RlID0gbm9kZS5wcmV2aW91c1NpYmxpbmc7CgogICAgICB3aGlsZSAobm9kZS5sYXN0Q2hpbGQpCiAgICAgICAgbm9kZSA9IG5vZGUubGFzdENoaWxkOwoKICAgICAgcmV0dXJuIG5vZGU7CiAgICB9CgogICAgaWYgKG5vZGUucGFyZW50Tm9kZSAhPSByb290KQogICAgICByZXR1cm4gbm9kZS5wYXJlbnROb2RlOwoKICAgIHJldHVybiBudWxsOwogIH0sCgogIHByZXZpb3VzX3NpYmxpbmdfZWxlbWVudDogZnVuY3Rpb24gKGVsKSB7CiAgICBlbCA9IGVsLnByZXZpb3VzU2libGluZzsKCiAgICB3aGlsZSAoZWwgJiYgZWwubm9kZVR5cGUgIT0gMSkKICAgICAgZWwgPSBlbC5wcmV2aW91c1NpYmxpbmc7CgogICAgcmV0dXJuIGVsOwogIH0sCgogIG5leHRfc2libGluZ19lbGVtZW50OiBmdW5jdGlvbiAoZWwpIHsKICAgIGVsID0gZWwubmV4dFNpYmxpbmc7CgogICAgd2hpbGUgKGVsICYmIGVsLm5vZGVUeXBlICE9IDEpCiAgICAgIGVsID0gZWwubmV4dFNpYmxpbmc7CgogICAgcmV0dXJuIGVsOwogIH0sCgogIGZpcnN0X2NoaWxkX2VsZW1lbnQ6IGZ1bmN0aW9uIChlbCkgewogICAgdmFyIG5vZGU7CgogICAgZm9yIChub2RlID0gZWwuZmlyc3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpCiAgICB7CiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEpCiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0dXJuIG5vZGU7CiAgfSwKCiAgZmlyc3RfdGFnOiBmdW5jdGlvbiAoZWxlbWVudCwgdGFnKSB7CiAgICB2YXIgbm9kZTsKCiAgICBpZiAoIXRoaXMuaXNfeGh0bWwpCiAgICAgIHRhZyA9IHRhZy50b1VwcGVyQ2FzZSgpOwoKICAgIGZvciAobm9kZSA9IGVsZW1lbnQuZmlyc3RDaGlsZDsgbm9kZTsgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmcpCiAgICB7CiAgICAgIGlmIChub2RlLm5vZGVUeXBlID09IDEgJiYgbm9kZS5ub2RlTmFtZSA9PSB0YWcpCiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0dXJuIG5vZGU7CiAgfSwKCiAgaGlkZV9zZWxlY3Rpb246IGZ1bmN0aW9uICgpIHsKICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKSAvLyBGaXJlZm94LCBDaHJvbWl1bSwgU2FmYXJpLCBPcGVyYQogICAgewogICAgICB2YXIgc2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpOwoKICAgICAgaWYgKHNlbGVjdGlvbi5yYW5nZUNvdW50ID4gMCkKICAgICAgewogICAgICAgIHZhciByYW5nZSA9IHNlbGVjdGlvbi5nZXRSYW5nZUF0KDApOwogICAgICAgIHJhbmdlLmNvbGxhcHNlIChmYWxzZSk7CiAgICAgIH0KICAgIH0KICAgIGVsc2UgLy8gSW50ZXJuZXQgRXhwbG9yZXIKICAgIHsKICAgICAgdmFyIHRleHRSYW5nZSA9IGRvY3VtZW50LnNlbGVjdGlvbi5jcmVhdGVSYW5nZSAoKTsKICAgICAgdGV4dFJhbmdlLmNvbGxhcHNlIChmYWxzZSk7CiAgICB9CiAgfSwKCiAgZ2V0X3NlbGVjdGVkX3RleHQ6IGZ1bmN0aW9uICgpIHsKICAgIHRyeQogICAgewogICAgICBpZiAod2luZG93LmdldFNlbGVjdGlvbikKICAgICAgICByZXR1cm4gd2luZG93LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCk7CgogICAgICBpZiAoZG9jdW1lbnQuZ2V0U2VsZWN0aW9uKQogICAgICAgIHJldHVybiBkb2N1bWVudC5nZXRTZWxlY3Rpb24oKS50b1N0cmluZygpOwoKICAgICAgaWYgKGRvY3VtZW50LnNlbGVjdGlvbikKICAgICAgICByZXR1cm4gZG9jdW1lbnQuc2VsZWN0aW9uLmNyZWF0ZVJhbmdlKCkudGV4dDsKICAgIH0KICAgIGNhdGNoIChlKQogICAgewogICAgfQoKICAgIHJldHVybiAiIjsKICB9LAoKICAvLyBtYWtlIG5vdGUgb2YgbGVuZ3RoIG9mIHNlbGVjdGVkIHRleHQKICAvLyBhcyB0aGlzIGV2YWx1YXRlcyB0byB6ZXJvIGluIGNsaWNrIGV2ZW50CiAgbW91c2VfYnV0dG9uX3VwOiBmdW5jdGlvbiAoZSkgewogICAgdzNjX3NsaWR5LnNlbGVjdGVkX3RleHRfbGVuID0gdzNjX3NsaWR5LmdldF9zZWxlY3RlZF90ZXh0KCkubGVuZ3RoOwogIH0sCgogIG1vdXNlX2J1dHRvbl9kb3duOiBmdW5jdGlvbiAoZSkgewogICAgdzNjX3NsaWR5LnNlbGVjdGVkX3RleHRfbGVuID0gdzNjX3NsaWR5LmdldF9zZWxlY3RlZF90ZXh0KCkubGVuZ3RoOwogICAgdzNjX3NsaWR5Lm1vdXNlX3ggPSBlLmNsaWVudFg7CiAgICB3M2Nfc2xpZHkubW91c2VfeSA9IGUuY2xpZW50WTsKICB9LAoKICAvLyByaWdodCBtb3VzZSBidXR0b24gY2xpY2sgaXMgcmVzZXJ2ZWQgZm9yIGNvbnRleHQgbWVudXMKICAvLyBpdCBpcyBtb3JlIHJlbGlhYmxlIHRvIGRldGVjdCByaWdodGNsaWNrIHRoYW4gbGVmdGNsaWNrCiAgbW91c2VfYnV0dG9uX2NsaWNrOiBmdW5jdGlvbiAoZSkgewogICAgaWYgKCFlKQogICAgICB2YXIgZSA9IHdpbmRvdy5ldmVudDsKCiAgICBpZiAoTWF0aC5hYnMoZS5jbGllbnRYIC13M2Nfc2xpZHkubW91c2VfeCkgKwogICAgICAgIE1hdGguYWJzKGUuY2xpZW50WSAtdzNjX3NsaWR5Lm1vdXNlX3kpID4gMTApCiAgICAgIHJldHVybiB0cnVlOwoKICAgIGlmICh3M2Nfc2xpZHkuc2VsZWN0ZWRfdGV4dF9sZW4gPiAwKQogICAgICByZXR1cm4gdHJ1ZTsKCiAgICB2YXIgcmlnaHRjbGljayA9IGZhbHNlOwogICAgdmFyIGxlZnRjbGljayA9IGZhbHNlOwogICAgdmFyIG1pZGRsZWNsaWNrID0gZmFsc2U7CiAgICB2YXIgdGFyZ2V0OwoKICAgIGlmICghZSkKICAgICAgdmFyIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgaWYgKGUudGFyZ2V0KQogICAgICB0YXJnZXQgPSBlLnRhcmdldDsKICAgIGVsc2UgaWYgKGUuc3JjRWxlbWVudCkKICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgIC8vIHdvcmsgYXJvdW5kIFNhZmFyaSBidWcKICAgIGlmICh0YXJnZXQubm9kZVR5cGUgPT0gMykKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgaWYgKGUud2hpY2gpIC8vIGFsbCBicm93c2VycyBleGNlcHQgSUUKICAgIHsKICAgICAgbGVmdGNsaWNrID0gKGUud2hpY2ggPT0gMSk7CiAgICAgIG1pZGRsZWNsaWNrID0gKGUud2hpY2ggPT0gMik7CiAgICAgIHJpZ2h0Y2xpY2sgPSAoZS53aGljaCA9PSAzKTsKICAgIH0KICAgIGVsc2UgaWYgKGUuYnV0dG9uKQogICAgewogICAgICAvLyBLb25xdWVyb3IgZ2l2ZXMgMSBmb3IgbGVmdCwgNCBmb3IgbWlkZGxlCiAgICAgIC8vIElFNiBnaXZlcyAwIGZvciBsZWZ0IGFuZCBub3QgMSBhcyBJIGV4cGVjdGVkCgogICAgICBpZiAoZS5idXR0b24gPT0gNCkKICAgICAgICBtaWRkbGVjbGljayA9IHRydWU7CgogICAgICAvLyBhbGwgYnJvd3NlcnMgYWdyZWUgb24gMiBmb3IgcmlnaHQgYnV0dG9uCiAgICAgIHJpZ2h0Y2xpY2sgPSAoZS5idXR0b24gPT0gMik7CiAgICB9CiAgICBlbHNlCiAgICAgIGxlZnRjbGljayA9IHRydWU7CgogICAgaWYgKHczY19zbGlkeS5zZWxlY3RlZF90ZXh0X2xlbiA+IDApCiAgICB7CiAgICAgIHczY19zbGlkeS5zdG9wX3Byb3BhZ2F0aW9uKGUpOwogICAgICBlLmNhbmNlbCA9IHRydWU7CiAgICAgIGUucmV0dXJuVmFsdWUgPSBmYWxzZTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8vIGRpc21pc3MgdGFibGUgb2YgY29udGVudHMKICAgIHczY19zbGlkeS5oaWRlX3RhYmxlX29mX2NvbnRlbnRzKGZhbHNlKTsKCiAgICAvLyBjaGVjayBpZiB0YXJnZXQgaXMgc29tZXRoaW5nIHRoYXQgcHJvYmFibHkgd2FudCdzIGNsaWNrcwogICAgLy8gZS5nLiBhLCBlbWJlZCwgb2JqZWN0LCBpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgb3B0aW9uCiAgICB2YXIgdGFnID0gdGFyZ2V0Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7CgogICAgaWYgKHczY19zbGlkeS5tb3VzZV9jbGlja19lbmFibGVkICYmIGxlZnRjbGljayAmJgogICAgICAgICF3M2Nfc2xpZHkuc3BlY2lhbF9lbGVtZW50KHRhcmdldCkgJiYKICAgICAgICAhdGFyZ2V0Lm9uY2xpY2spCiAgICB7CiAgICAgIHczY19zbGlkeS5uZXh0X3NsaWRlKHRydWUpOwogICAgICB3M2Nfc2xpZHkuc3RvcF9wcm9wYWdhdGlvbihlKTsKICAgICAgZS5jYW5jZWwgPSB0cnVlOwogICAgICBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICByZXR1cm4gdHJ1ZTsKICB9LAoKICBzcGVjaWFsX2VsZW1lbnQ6IGZ1bmN0aW9uIChlbGVtZW50KSB7CiAgICBpZiAodGhpcy5oYXNfY2xhc3MoZWxlbWVudCwgIm5vbi1pbnRlcmFjdGl2ZSIpKQogICAgICByZXR1cm4gZmFsc2U7CgogICAgdmFyIHRhZyA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCiAgICByZXR1cm4gZWxlbWVudC5vbmtleWRvd24gfHwKICAgICAgZWxlbWVudC5vbmNsaWNrIHx8CiAgICAgIHRhZyA9PSAiYSIgfHwKICAgICAgdGFnID09ICJlbWJlZCIgfHwKICAgICAgdGFnID09ICJvYmplY3QiIHx8CiAgICAgIHRhZyA9PSAidmlkZW8iIHx8CiAgICAgIHRhZyA9PSAiYXVkaW8iIHx8CiAgICAgIHRhZyA9PSAic3ZnIiB8fAogICAgICB0YWcgPT0gImNhbnZhcyIgfHwKICAgICAgdGFnID09ICJpbnB1dCIgfHwKICAgICAgdGFnID09ICJ0ZXh0YXJlYSIgfHwKICAgICAgdGFnID09ICJzZWxlY3QiIHx8CiAgICAgIHRhZyA9PSAib3B0aW9uIjsKICB9LAoKICBzbGlkeV9jaHJvbWU6IGZ1bmN0aW9uIChlbCkgewogICAgd2hpbGUgKGVsKQogICAgewogICAgICBpZiAoZWwgPT0gdzNjX3NsaWR5LnRvYyB8fAogICAgICAgICAgZWwgPT0gdzNjX3NsaWR5LnRvb2xiYXIgfHwKICAgICAgICAgIHczY19zbGlkeS5oYXNfY2xhc3MoZWwsICJvdXRsaW5lIikpCiAgICAgICAgcmV0dXJuIHRydWU7CgogICAgICBlbCA9IGVsLnBhcmVudE5vZGU7CiAgICB9CgogICAgcmV0dXJuIGZhbHNlOwogIH0sCgogIGdldF9rZXk6IGZ1bmN0aW9uIChlKQogIHsKICAgIHZhciBrZXk7CgogICAgLy8ga2x1ZGdlIGFyb3VuZCBOUy9JRSBkaWZmZXJlbmNlcyAKICAgIGlmICh0eXBlb2Ygd2luZG93LmV2ZW50ICE9ICJ1bmRlZmluZWQiKQogICAgICBrZXkgPSB3aW5kb3cuZXZlbnQua2V5Q29kZTsKICAgIGVsc2UgaWYgKGUud2hpY2gpCiAgICAgIGtleSA9IGUud2hpY2g7CgogICAgcmV0dXJuIGtleTsKICB9LAoKICBnZXRfdGFyZ2V0OiBmdW5jdGlvbiAoZSkgewogICAgdmFyIHRhcmdldDsKCiAgICBpZiAoIWUpCiAgICAgIGUgPSB3aW5kb3cuZXZlbnQ7CgogICAgaWYgKGUudGFyZ2V0KQogICAgICB0YXJnZXQgPSBlLnRhcmdldDsKICAgIGVsc2UgaWYgKGUuc3JjRWxlbWVudCkKICAgICAgdGFyZ2V0ID0gZS5zcmNFbGVtZW50OwoKICAgIGlmICh0YXJnZXQubm9kZVR5cGUgIT0gMSkKICAgICAgdGFyZ2V0ID0gdGFyZ2V0LnBhcmVudE5vZGU7CgogICAgcmV0dXJuIHRhcmdldDsKICB9LAoKICAvLyBkb2VzIGRpc3BsYXkgcHJvcGVydHkgcHJvdmlkZSBjb3JyZWN0IGRlZmF1bHRzPwogIGlzX2Jsb2NrOiBmdW5jdGlvbiAoZWxlbSkgewogICAgdmFyIHRhZyA9IGVsZW0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsKCiAgICByZXR1cm4gdGFnID09ICJvbCIgfHwgdGFnID09ICJ1bCIgfHwgdGFnID09ICJwIiB8fCB0YWcgPT0gImRsIiB8fAogICAgICAgICAgIHRhZyA9PSAibGkiIHx8IHRhZyA9PSAidGFibGUiIHx8IHRhZyA9PSAicHJlIiB8fAogICAgICAgICAgIHRhZyA9PSAiaDEiIHx8IHRhZyA9PSAiaDIiIHx8IHRhZyA9PSAiaDMiIHx8CiAgICAgICAgICAgdGFnID09ICJoNCIgfHwgdGFnID09ICJoNSIgfHwgdGFnID09ICJoNiIgfHwKICAgICAgICAgICB0YWcgPT0gImJsb2NrcXVvdGUiIHx8IHRhZyA9PSAiYWRkcmVzcyI7IAogIH0sCgogIGFkZF9saXN0ZW5lcjogZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50LCBoYW5kbGVyKSB7CiAgICBpZiAod2luZG93LmFkZEV2ZW50TGlzdGVuZXIpCiAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgZmFsc2UpOwogICAgZWxzZQogICAgICBlbGVtZW50LmF0dGFjaEV2ZW50KCJvbiIrZXZlbnQsIGhhbmRsZXIpOwogIH0sCgogIC8vIHVzZWQgdG8gcHJldmVudCBldmVudCBwcm9wYWdhdGlvbiBmcm9tIGZpZWxkIGNvbnRyb2xzCiAgc3RvcF9wcm9wYWdhdGlvbjogZnVuY3Rpb24gKGV2ZW50KSB7CiAgICBldmVudCA9IGV2ZW50ID8gZXZlbnQgOiB3aW5kb3cuZXZlbnQ7CiAgICBldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlOyAgLy8gZm9yIElFCgogICAgaWYgKGV2ZW50LnN0b3BQcm9wYWdhdGlvbikKICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7CgogICAgcmV0dXJuIHRydWU7CiAgfSwKCiAgY2FuY2VsOiBmdW5jdGlvbiAoZXZlbnQpIHsKICAgIGlmIChldmVudCkKICAgIHsKICAgICAgIGV2ZW50LmNhbmNlbCA9IHRydWU7CiAgICAgICBldmVudC5yZXR1cm5WYWx1ZSA9IGZhbHNlOwoKICAgICAgaWYgKGV2ZW50LnByZXZlbnREZWZhdWx0KQogICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICB9CgogICAgdzNjX3NsaWR5LmtleV93YW50ZWQgPSBmYWxzZTsKICAgIHJldHVybiBmYWxzZTsKICB9LAoKLy8gZm9yIGVhY2ggbGFuZ3VhZ2UgZGVmaW5lIGFuIGFzc29jaWF0aXZlIGFycmF5Ci8vIGFuZCBhbHNvIHRoZSBoZWxwIHRleHQgd2hpY2ggaXMgbG9uZ2VyCgogIHN0cmluZ3NfZXM6IHsKICAgICJzbGlkZSI6InDDoWcuIiwKICAgICJoZWxwPyI6IkF5dWRhIiwKICAgICJjb250ZW50cz8iOiLDjW5kaWNlIiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6InRhYmxhIGRlIGNvbnRlbmlkb3MiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoiVGFibGEgZGUgQ29udGVuaWRvcyIsCiAgICAicmVzdGFydCBwcmVzZW50YXRpb24iOiJSZWluaWNpYXIgcHJlc2VudGFjacOzbiIsCiAgICAicmVzdGFydD8iOiJJbmljaW8iCiAgfSwKICBoZWxwX2VzOgogICAgIlV0aWxpY2UgZWwgcmF0w7NuLCBiYXJyYSBlc3BhY2lhZG9yYSwgdGVjbGFzIEl6ZGEvRGNoYSwgIiArCiAgICAibyBSZSBww6FnIHkgQXYgcMOhZy4gVXNlIFMgeSBCIHBhcmEgY2FtYmlhciBlbCB0YW1hw7FvIGRlIGZ1ZW50ZS4iLAoKICBzdHJpbmdzX2NhOiB7CiAgICAic2xpZGUiOiJww6BnLi4iLAogICAgImhlbHA/IjoiQWp1ZGEiLAogICAgImNvbnRlbnRzPyI6IsONbmRleCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJ0YXVsYSBkZSBjb250aW5ndXRzIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlRhdWxhIGRlIENvbnRpbmd1dHMiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmVpbmljaWFyIHByZXNlbnRhY2nDsyIsCiAgICAicmVzdGFydD8iOiJJbmljaSIKICB9LAogIGhlbHBfY2E6CiAgICAiVXRpbGl0emkgZWwgcmF0b2zDrSwgYmFycmEgZXNwYWlhZG9yYSwgdGVjbGVzIEVzcS4vRHRhLiAiICsKICAgICJvIFJlIHDDoGcgeSBBdiBww6BnLiBVc2kgUyBpIEIgcGVyIGNhbnZpYXIgZ3JhbmTDoHJpYSBkZSBmb250LiIsCgogIHN0cmluZ3NfY3M6IHsKICAgICJzbGlkZSI6InNuw61tZWsiLAogICAgImhlbHA/IjoibsOhcG92xJtkYSIsCiAgICAiY29udGVudHM/Ijoib2JzYWgiLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoib2JzYWggcHJlemVudGFjZSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJPYnNhaCBwcmV6ZW50YWNlIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6Inpub3Z1IHNwdXN0aXQgcHJlemVudGFjaSIsCiAgICAicmVzdGFydD8iOiJyZXN0YXJ0IgogIH0sCiAgaGVscF9jczoKICAgICJQcmV6ZW50YWNpIG3Fr8W+ZXRlIHByb2Now6F6ZXQgcG9tb2PDrSBrbGlrbnV0w60gbXnFoWksIG1lemVybsOta3UsICIgKwogICAgIsWhaXBlayB2bGV2byBhIHZwcmF2byBuZWJvIGtsw6F2ZXMgUGFnZVVwIGEgUGFnZURvd24uIFDDrXNtbyBzZSAiICsKICAgICJkw6EgenbEm3TFoWl0IGEgem1lbsWhaXQgcG9tb2PDrSBrbMOhdmVzIEIgYSBTLiIsCgogIHN0cmluZ3Nfbmw6IHsKICAgICJzbGlkZSI6InBhZ2luYSIsCiAgICAiaGVscD8iOiJIZWxwPyIsCiAgICAiY29udGVudHM/IjoiSW5ob3VkPyIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJpbmhvdWRzb3BnYXZlIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IkluaG91ZHNvcGdhdmUiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiaGVyc3RhcnQgcHJlc2VudGF0aWUiLAogICAgInJlc3RhcnQ/IjoiSGVyc3RhcnQ/IgogIH0sCiAgaGVscF9ubDoKICAgICAiTmF2aWdlZXIgZC5tLnYuIGhldCBtdWlzLCBzcGF0aWViYXIsIExpbmtzL1JlY2h0cyB0b2V0c2VuLCAiICsKICAgICAib2YgUGdVcCBlbiBQZ0RuLiBHZWJydWlrIFMgZW4gQiBvbSBkZSBrYXJha3Rlcmdyb290dGUgdGUgdmVyYW5kZXJlbi4iLAoKICBzdHJpbmdzX2RlOiB7CiAgICAic2xpZGUiOiJTZWl0ZSIsCiAgICAiaGVscD8iOiJIaWxmZSIsCiAgICAiY29udGVudHM/Ijoiw5xiZXJzaWNodCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJJbmhhbHRzdmVyemVpY2huaXMiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoiSW5oYWx0c3ZlcnplaWNobmlzIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IlByw6RzZW50YXRpb24gbmV1IHN0YXJ0ZW4iLAogICAgInJlc3RhcnQ/IjoiTmV1c3RhcnQiCiAgfSwKICBoZWxwX2RlOgogICAgIkJlbnV0emVuIFNpZSBkaWUgTWF1cywgTGVlcnNjaGxhZywgZGllIEN1cnNvcnRhc3RlbiBsaW5rcy9yZWNodHMgb2RlciAiICsKICAgICJQYWdlIHVwL1BhZ2UgRG93biB6dW0gV2VjaHNlbG4gZGVyIFNlaXRlbiB1bmQgUyB1bmQgQiBmw7xyIGRpZSBTY2hyaWZ0Z3LDtnNzZS4iLAoKICBzdHJpbmdzX3BsOiB7CiAgICAic2xpZGUiOiJzbGFqZCIsCiAgICAiaGVscD8iOiJwb21vYz8iLAogICAgImNvbnRlbnRzPyI6InNwaXMgdHJlxZtjaT8iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoic3BpcyB0cmXFm2NpIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlNwaXMgVHJlxZtjaSIsCiAgICAicmVzdGFydCBwcmVzZW50YXRpb24iOiJSZXN0YXJ0dWogcHJlemVudGFjasSZIiwKICAgICJyZXN0YXJ0PyI6InJlc3RhcnQ/IgogIH0sCiAgaGVscF9wbDoKICAgICJabWllbmlhaiBzbGFqZHkga2xpa2FqxIVjIG15c3rEhSwgbmFjaXNrYWrEhWMgc3BhY2rEmSwgc3RyemHFgmtpIGxld28vcHJhd28iICsKICAgICJsdWIgUGdVcCAvIFBnRG4uIFXFvHlqIGtsYXdpc3p5IFMgaSBCLCBhYnkgem1pZW5pxIcgcm96bWlhciBjemN6aW9ua2kuIiwKCiAgc3RyaW5nc19mcjogewogICAgInNsaWRlIjoicGFnZSIsCiAgICAiaGVscD8iOiJBaWRlIiwKICAgICJjb250ZW50cz8iOiJJbmRleCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJ0YWJsZSBkZXMgbWF0acOocmVzIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IlRhYmxlIGRlcyBtYXRpw6hyZXMiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmVjb21tZW5jZXIgbCdleHBvc8OpIiwKICAgICJyZXN0YXJ0PyI6IkTDqWJ1dCIKICB9LAogIGhlbHBfZnI6CiAgICAiTmF2aWd1ZXogYXZlYyBsYSBzb3VyaXMsIGxhIGJhcnJlIGQnZXNwYWNlLCBsZXMgZmzDqGNoZXMgIiArCiAgICAiZ2F1Y2hlL2Ryb2l0ZSBvdSBsZXMgdG91Y2hlcyBQZyBVcCwgUGcgRG4uIFV0aWxpc2V6ICIgKwogICAgImxlcyB0b3VjaGVzIFMgZXQgQiBwb3VyIG1vZGlmaWVyIGxhIHRhaWxsZSBkZSBsYSBwb2xpY2UuIiwKCiAgc3RyaW5nc19odTogewogICAgInNsaWRlIjoib2xkYWwiLAogICAgImhlbHA/Ijoic2Vnw610c8OpZyIsCiAgICAiY29udGVudHM/IjoidGFydGFsb20iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoidGFydGFsb21qZWd5esOpayIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJUYXJ0YWxvbWplZ3l6w6lrIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6ImJlbXV0YXTDsyDDumpyYWluZMOtdMOhc2EiLAogICAgInJlc3RhcnQ/Ijoiw7pqcmFpbmTDrXTDoXMiCiAgfSwKICBoZWxwX2h1OgogICAgIkF6IG9sZGFsYWsga8O2enRpIGzDqXBrZWTDqXNoZXoga2F0dGludHNvbiBheiBlZ8OpcnJlbCwgdmFneSAiICsKICAgICJoYXN6bsOhbGphIGEgc3rDs2vDtnosIGEgYmFsLCB2YWd5IGEgam9iYiBuecOtbCwgaWxsZXR2ZSBhIFBhZ2UgRG93biwgIiArCiAgICAiUGFnZSBVcCBiaWxsZW50ecWxa2V0LiBBeiBTIMOpcyBhIEIgYmlsbGVudHnFsWtrZWwgdsOhbHRvenRhdGhhdGphICIgKwogICAgImEgc3rDtnZlZyBtw6lyZXTDqXQuIiwKCiAgc3RyaW5nc19pdDogewogICAgInNsaWRlIjoicGFnLiIsCiAgICAiaGVscD8iOiJBaXV0byIsCiAgICAiY29udGVudHM/IjoiSW5kaWNlIiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6ImluZGljZSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiJJbmRpY2UiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoiUmljb21pbmNpYXJlIGxhIHByZXNlbnRhemlvbmUiLAogICAgInJlc3RhcnQ/IjoiSW5pemlvIgogIH0sCiAgaGVscF9pdDoKICAgICJOYXZpZ2FyZSBjb24gbW91c2UsIGJhcnJhIHNwYXppbywgZnJlY2NlIHNpbmlzdHJhL2Rlc3RyYSBvICIgKwogICAgIlBnVXAgZSBQZ0RuLiBVc2FyZSBTIGUgQiBwZXIgY2FtYmlhcmUgbGEgZGltZW5zaW9uZSBkZWkgY2FyYXR0ZXJpLiIsCgogIHN0cmluZ3NfZWw6IHsKICAgICJzbGlkZSI6Is+DzrXOu86vzrTOsSIsCiAgICAiaGVscD8iOiLOss6/zq7OuM61zrnOsTsiLAogICAgImNvbnRlbnRzPyI6Is+AzrXPgc65zrXPh8+MzrzOtc69zrE7IiwKICAgICJ0YWJsZSBvZiBjb250ZW50cyI6Is+Azq/Ovc6xzrrOsc+CIM+AzrXPgc65zrXPh86/zrzOrc69z4nOvSIsCiAgICAiVGFibGUgb2YgQ29udGVudHMiOiLOoM6vzr3Osc66zrHPgiDOoM61z4HOuc61z4fOv868zq3Ovc+Jzr0iLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoizrXPgM6xzr3Otc66zrrOr869zrfPg863IM+AzrHPgc6/z4XPg86vzrHPg863z4IiLAogICAgInJlc3RhcnQ/IjoizrXPgM6xzr3Otc66zrrOr869zrfPg863OyIKICB9LAogIGhlbHBfZWw6CiAgICAizqDOu86/zrfOs863zrjOtc6vz4TOtSDOvM61IM+Ezr8gzrrOu86vzrogz4TOv8+FIM+Azr/Ovc+EzrnOus65zr/PjSwgz4TOvyBzcGFjZSwgz4TOsSDOss6tzrvOtyDOsc+BzrnPg8+EzrXPgc6sL860zrXOvs65zqwsICIgKwogICAgIs6uIFBhZ2UgVXAgzrrOsc65IFBhZ2UgRG93bi4gzqfPgc63z4POuc68zr/PgM6/zrnOrs+Dz4TOtSDPhM6xIM+AzrvOrs66z4TPgc6xIFMgzrrOsc65IEIgzrPOuc6xIM69zrEgzrHOu867zqzOvs61z4TOtSAiICsKICAgICLPhM6/IM68zq3Os861zrjOv8+CIM+EzrfPgiDOs8+BzrHOvM68zrHPhM6/z4POtc65z4HOrM+CLiIsCgogIHN0cmluZ3NfamE6IHsKICAgICJzbGlkZSI6IuOCueODqeOCpOODiSIsCiAgICAiaGVscD8iOiLjg5jjg6vjg5ciLAogICAgImNvbnRlbnRzPyI6IuebruasoSIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiLnm67mrKHjgpLooajnpLoiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi55uu5qyhIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IuacgOWIneOBi+OCieWGjeeUnyIsCiAgICAicmVzdGFydD8iOiLmnIDliJ3jgYvjgokiCiAgfSwKICBoZWxwX2phOgogICAgICLjg57jgqbjgrnlt6bjgq/jg6rjg4Pjgq8g44O7IOOCueODmuODvOOCuSDjg7sg5bem5Y+z44Kt44O8ICIgKwogICAgICLjgb7jgZ/jga8gUGFnZSBVcCDjg7sgUGFnZSBEb3du44Gn5pON5L2c77yMIFMg44O7IELjgafjg5Xjgqnjg7Pjg4jjgrXjgqTjgrrlpInmm7QiLAoKICBzdHJpbmdzX3poOiB7CiAgICAic2xpZGUiOiLlubvnga/niYciLAogICAgImhlbHA/Ijoi5biu5YqpPyIsCiAgICAiY29udGVudHM/Ijoi5YaF5a65PyIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiLnm67lvZUiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi55uu5b2VIiwKICAgICJyZXN0YXJ0IHByZXNlbnRhdGlvbiI6IumHjeaWsOWQr+WKqOWxleekuiIsCiAgICAicmVzdGFydD8iOiLph43mlrDlkK/liqg/IgogIH0sCiAgaGVscF96aDoKICAgICLnlKjpvKDmoIfngrnlh7ssIOepuuagvOadoSwg5bem5Y+z566t5aS0LCBQZyBVcCDlkowgUGcgRG4g5a+86IiqLiAiICsKICAgICLnlKggUywgQiDmlLnlj5jlrZfkvZPlpKflsI8uIiwKCiAgc3RyaW5nc19ydTogewogICAgInNsaWRlIjoi0YHQu9Cw0LnQtCIsCiAgICAiaGVscD8iOiLQv9C+0LzQvtGJ0Yw/IiwKICAgICJjb250ZW50cz8iOiLRgdC+0LTQtdGA0LbQsNC90LjQtT8iLAogICAgInRhYmxlIG9mIGNvbnRlbnRzIjoi0L7Qs9C70LDQstC70LXQvdC40LUiLAogICAgIlRhYmxlIG9mIENvbnRlbnRzIjoi0J7Qs9C70LDQstC70LXQvdC40LUiLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoi0L/QtdGA0LXQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC10LfQtdC90YLQsNGG0LjRjiIsCiAgICAicmVzdGFydD8iOiLQv9C10YDQtdC30LDQv9GD0YHQuj8iCiAgfSwKICBoZWxwX3J1OgogICAgItCf0LXRgNC10LzQtdGJ0LDQudGC0LXRgdGMINC60LvQuNC60LDRjyDQvNGL0YjQutC+0LksINC40YHQv9C+0LvRjNC30YPRjyDQutC70LDQstC40YjRgyDQv9GA0L7QsdC10LssINGB0YLRgNC10LvQutC4IiArCiAgICAi0LLQu9C10LLQvi/QstC/0YDQsNCy0L4g0LjQu9C4IFBnIFVwINC4IFBnIERuLiDQmtC70LDQstC40YjQuCBTINC4IEIg0LzQtdC90Y/RjtGCINGA0LDQt9C80LXRgCDRiNGA0LjRhNGC0LAuIiwKCiAgc3RyaW5nc19zdjogewogICAgInNsaWRlIjoic2lkYSIsCiAgICAiaGVscD8iOiJoasOkbHAiLAogICAgImNvbnRlbnRzPyI6ImlubmVow6VsbCIsCiAgICAidGFibGUgb2YgY29udGVudHMiOiJpbm5laMOlbGxzZsO2cnRlY2tuaW5nIiwKICAgICJUYWJsZSBvZiBDb250ZW50cyI6IklubmVow6VsbHNmw7ZydGVja25pbmciLAogICAgInJlc3RhcnQgcHJlc2VudGF0aW9uIjoidmlzYSBwcmVzZW50YXRpb25lbiBmcsOlbiBiw7ZyamFuIiwKICAgICJyZXN0YXJ0PyI6ImLDtnJqYSBvbSIKICB9LAogIGhlbHBfc3Y6CiAgICAiQmzDpGRkcmEgbWVkIGV0dCBrbGljayBtZWQgdsOkbnN0cmEgbXVza25hcHBlbiwgbWVsbGFuc2xhZ3N0YW5nZW50ZW4sICIgKwogICAgInbDpG5zdGVyLSBvY2ggaMO2Z2VycGlsdGFuZ2VudGVybmEgZWxsZXIgdGFuZ2VudGVybmEgUGcgVXAsIFBnIERuLiAiICsKICAgICJBbnbDpG5kIHRhbmdlbnRlcm5hIFMgb2NoIEIgZsO2ciBhdHQgw6RuZHJhIHRleHRlbnMgc3Rvcmxlay4iLAoKICBzdHJpbmdzOiB7IH0sCgogIGxvY2FsaXplOiBmdW5jdGlvbiAoc3JjKSB7CiAgICBpZiAoc3JjID09ICIiKQogICAgICByZXR1cm4gc3JjOwoKICAgICAvLyB0cnkgZnVsbCBsYW5ndWFnZSBjb2RlLCBlLmcuIGVuLVVTCiAgICAgdmFyIHMsIGxvb2t1cCA9IHczY19zbGlkeS5zdHJpbmdzW3czY19zbGlkeS5sYW5nXTsKCiAgICAgaWYgKGxvb2t1cCkKICAgICB7CiAgICAgICBzID0gbG9va3VwW3NyY107CgogICAgICAgaWYgKHMpCiAgICAgICAgcmV0dXJuIHM7CiAgICAgfQoKICAgICAvLyBzdHJpcCBjb3VudHJ5IGNvZGUgc3VmZml4LCBlLmcuCiAgICAgLy8gdHJ5IGVuIGlmIHVuZGVmaW5lZCBmb3IgZW4tVVMKICAgICB2YXIgbGcgPSB3M2Nfc2xpZHkubGFuZy5zcGxpdCgiLSIpOwoKICAgICBpZiAobGcubGVuZ3RoID4gMSkKICAgICB7CiAgICAgICBsb29rdXAgPSB3M2Nfc2xpZHkuc3RyaW5nc1tsZ1swXV07CgogICAgICAgaWYgKGxvb2t1cCkKICAgICAgIHsKICAgICAgICAgcyA9IGxvb2t1cFtzcmNdOwoKICAgICAgICAgaWYgKHMpCiAgICAgICAgICByZXR1cm4gczsKICAgICAgIH0KICAgICB9CgogICAgIC8vIG90aGVyd2lzZSBzdHJpbmcgYXMgaXMKICAgICByZXR1cm4gc3JjOwogIH0sCgogIGluaXRfbG9jYWxpemF0aW9uOiBmdW5jdGlvbiAoKSB7CiAgICB2YXIgaTE4biA9IHczY19zbGlkeTsKICAgIHZhciBoZWxwX3RleHQgPSB3M2Nfc2xpZHkuaGVscF90ZXh0OwoKICAgIC8vIGVhY2ggc3VjaCBsYW5ndWFnZSBhcnJheSBpcyBkZWNsYXJlZCBpbiB0aGUgbG9jYWxpemUgYXJyYXkKICAgIC8vIHRoaXMgaXMgdXNlZCBhcyBpbiAgdzNjX3NsaWR5LmxvY2FsaXplKCJmb28iKTsKICAgIHRoaXMuc3RyaW5ncyA9IHsKICAgICAgImVzIjp0aGlzLnN0cmluZ3NfZXMsCiAgICAgICJjYSI6dGhpcy5zdHJpbmdzX2NhLAogICAgICAiY3MiOnRoaXMuc3RyaW5nc19jcywKICAgICAgIm5sIjp0aGlzLnN0cmluZ3NfbmwsCiAgICAgICJkZSI6dGhpcy5zdHJpbmdzX2RlLAogICAgICAicGwiOnRoaXMuc3RyaW5nc19wbCwKICAgICAgImZyIjp0aGlzLnN0cmluZ3NfZnIsCiAgICAgICJodSI6dGhpcy5zdHJpbmdzX2h1LAogICAgICAiaXQiOnRoaXMuc3RyaW5nc19pdCwKICAgICAgImVsIjp0aGlzLnN0cmluZ3NfZWwsCiAgICAgICJqcCI6dGhpcy5zdHJpbmdzX2phLAogICAgICAiemgiOnRoaXMuc3RyaW5nc196aCwKICAgICAgInJ1Ijp0aGlzLnN0cmluZ3NfcnUsCiAgICAgICJzdiI6dGhpcy5zdHJpbmdzX3N2CiAgICB9LAoKICAgIGkxOG4uc3RyaW5nc19lc1toZWxwX3RleHRdID0gaTE4bi5oZWxwX2VzOwogICAgaTE4bi5zdHJpbmdzX2NhW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfY2E7CiAgICBpMThuLnN0cmluZ3NfY3NbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9jczsKICAgIGkxOG4uc3RyaW5nc19ubFtoZWxwX3RleHRdID0gaTE4bi5oZWxwX25sOwogICAgaTE4bi5zdHJpbmdzX2RlW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfZGU7CiAgICBpMThuLnN0cmluZ3NfcGxbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9wbDsKICAgIGkxOG4uc3RyaW5nc19mcltoZWxwX3RleHRdID0gaTE4bi5oZWxwX2ZyOwogICAgaTE4bi5zdHJpbmdzX2h1W2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfaHU7CiAgICBpMThuLnN0cmluZ3NfaXRbaGVscF90ZXh0XSA9IGkxOG4uaGVscF9pdDsKICAgIGkxOG4uc3RyaW5nc19lbFtoZWxwX3RleHRdID0gaTE4bi5oZWxwX2VsOwogICAgaTE4bi5zdHJpbmdzX2phW2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfamE7CiAgICBpMThuLnN0cmluZ3NfemhbaGVscF90ZXh0XSA9IGkxOG4uaGVscF96aDsKICAgIGkxOG4uc3RyaW5nc19ydVtoZWxwX3RleHRdID0gaTE4bi5oZWxwX3J1OwogICAgaTE4bi5zdHJpbmdzX3N2W2hlbHBfdGV4dF0gPSBpMThuLmhlbHBfc3Y7CgogICAgdzNjX3NsaWR5LmxhbmcgPSBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCJsYW5nIik7CgogICAgaWYgKCF3M2Nfc2xpZHkubGFuZykKICAgICAgdzNjX3NsaWR5LmxhbmcgPSBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuZ2V0QXR0cmlidXRlKCJ4bWw6bGFuZyIpOwoKICAgIGlmICghdzNjX3NsaWR5LmxhbmcpCiAgICAgIHczY19zbGlkeS5sYW5nID0gImVuIjsKICB9Cn07CgovLyBoYWNrIGZvciBiYWNrIGJ1dHRvbiBiZWhhdmlvcgppZiAodzNjX3NsaWR5LmllNiB8fCB3M2Nfc2xpZHkuaWU3KQp7CiAgZG9jdW1lbnQud3JpdGUoIjxpZnJhbWUgaWQ9J2hpc3RvcnlGcmFtZScgIiArCiAgInNyYz0namF2YXNjcmlwdDpcIjxodG1sIisiPjwvIisiaHRtbD5cIicgIiArCiAgImhlaWdodD0nMScgd2lkdGg9JzEnICIgKwogICJzdHlsZT0ncG9zaXRpb246YWJzb2x1dGU7bGVmdDotODAwcHgnPjwvaWZyYW1lPiIpOwp9CgovLyBhdHRhY2ggZXZlbnQgbGlzdGVuZXJzIGZvciBpbml0aWFsaXphdGlvbgp3M2Nfc2xpZHkuc2V0X3VwKCk7CgovLyBoaWRlIHRoZSBzbGlkZXMgYXMgc29vbiBhcyBib2R5IGVsZW1lbnQgaXMgYXZhaWxhYmxlCi8vIHRvIHJlZHVjZSBhbm5veWluZyBzY3JlZW4gbWVzcyBiZWZvcmUgdGhlIG9ubG9hZCBldmVudApzZXRUaW1lb3V0KHczY19zbGlkeS5oaWRlX3NsaWRlcywgNTApOwoK"></script>
</head>
<body>
<div class="slide titlepage">
<h1 class="title">SparkR Demo</h1>
<p class="author">
Jaehyeon Kim
</p>
<p class="date">March, 2018</p>
</div>
<div id="intro-to-spark" class="slide section level1">
<h1>Intro to Spark</h1>
<p style="text-align:center;">
<img src="data:image/png;base64,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" height="350" width="500" align="middle" /> <br> <sub>Source: <a href="https://databricks.com/spark/about">Apache Spark Ecosystem</a></sub>
</p>
<ul>
<li><a href="https://spark.apache.org/">Apache Spark™</a> is a fast and general engine for large-scale data processing
<ul>
<li>built around speed, ease of use, scalable, fault tolerant …</li>
</ul></li>
<li>Main focus is Spark SQL, DataFrame and MLlib
<ul>
<li>Spark SQL allows to execute SQL queries or to read data from an existing Hive installation</li>
<li>DataFrame is immutable distributed collection of data, organized into named columns
<ul>
<li>conceptually equivalent to a table in a relational database or a data frame in R/Python</li>
<li>returned when running SQL from another programming language</li>
</ul></li>
<li><a href="https://databricks.com/blog/2015/10/05/generalized-linear-models-in-sparkr-and-r-formula-support-in-mllib.html">ML algorithms since Spark 1.5</a></li>
</ul></li>
</ul>
</div>
<div id="intro-to-sparkr" class="slide section level1">
<h1>Intro to SparkR</h1>
<p style="text-align:center;">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAzcAAAHyCAIAAABZCaejAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAFiUAABYlAUlSJPAAAP+lSURBVHhe7J0FXBTP/4dJG7ELA7u7O7G7u7u7E7sVA7s7MWkRQRokpLs7r9P/+9gFj+Pw6+KJ/PjP87qXsp+dm92dmZ19dm93Vu0HgUAgEAgEAqH4QSyNQCAQCAQCoThCLI1AIBAIBAKhOEIsjUAgEAgEAqE4QiyNQCAQCAQCoThCLI1AIBAIBAKhOKLE0sRiMZvNTk9P53A41GRmZmZGRgaPx6Mm8TfmCoVCqVTK5/MxF2ASc5EGc1ksFiYlEgkmkTIrKwspAZUt/qUm8S1MIg1SikQifAuTyBD54OtUtphESkxiFnJGMmopmMRcrAwmc7PFJLLCamMS/+KLiCBbfJHaFszFLJCbLTLBZG62mMTaIo651FLwdSpbLpeLScxFSoA/MIlsMQsJqEl8hcoWk7klhkn8jZwFAgHm4l+kBPgi5iJbqsSQCebmljwmQe62ICUmqWzxFUzmbgu1tsgWi8BcTGIuFk1li0mkpLYFX8ffgMoWc/FFJKYKAWkwS6EiqGxB/orAJILUJL6IxMgWf+evCCpbxDGX2hZE8De1FOSDudQktS0IYolY29xtwSysFZLhi9QkEmAWElNrSy0F5FYE/sbXf1ER1LYApMRcqiKQHiuPSaUVgSBmYZLKVqEicusXi8Dc3JWnssUk5lIrj0nZuspVBFICxDGJbDELS6E2DV+h1hZzqYpASmrlMUllS1UEwBcxF9liofg6MsFcain4l8pWviIwiUwwlyoipRVBLQVzqZX/dUUgc/wNqG1BGqTE1zEXOVNLwSSVLVX7mERKzMXKYK5CRVArj2wxiawAgoUGa06tJ1V3mMRqYHHUmmASswD+wCSCmIUEmERifAWzcjc/dxIpMZm7+UiJCL6IydwNpEoDbQNzqRaCSG6DwSxEsIGYpLLFJP5GYipbFALmAuSPSaTBXKwG5mJB1LZgLmZhMncp1DogjkmkwSS18rlLoUoVUIWMuUiJbaHWlloK5mJlMJm7tpiLrLBpuUtBBNuIuQgiJSL4G3Nzs0WeiFDbgmwxidXI3RakxCSVLVoIUmISswC1tvkrApPUtshXBP4GVLZURQCkxCSVrUJFIFvkCXI3DbOopWCSat6520JlS1UElpK7LZiL9JhEytxtwd+AKiKqeQN8EZPIFrOwGtRSqJWnKgLZ5m4LUmKSWlssFCkxiXXDJLLFZG5F5G4Lla18RSA9voVJqiIwF5NInLvymMRyC6oITGIuZgFkm7sUgGSYxFfwN3LDJLLK3Rb8DeQbFdYBKTGZW7/UtuSWPCYBtS34F7OwGlQRUduCr2MWoNY2t8TktwXpMYmUuduCvwFVYphESkBlK18RSJy78phEVtQktfK5S8EWYRLfxRcxSWVLNSpEFCqC2jRq5bFpyASTVLaYi0kkzs2W2hYkQDA/SiwtLi7u0aNHu3fvfvbsGSYTExPPnDmzd+9ea2trTCYkJOzbt2/btm0BAQHYHicnp+PHj584ccLX1xdzbWxskPLq1ashISFYFXwFKc+fP48twfo9ePAAk3fv3qU27/Tp05hEGqQMDQ29cuXKrl27bG1tkc/3799PnTqFbB0dHbEUf39/pDx48GBMTAy+iKVg9TA3JSUFiZ88eYJJrDPWPC0tDauNxPgXS0T627dvY4Vfv36NlCgspNy+fburqyuyxSYcOXIEibG2mItFHz169MKFC9gWzP38+TNmYa2QLb744cOHHTt2GBkZISXW4fLly5g0MTFBQWM1Ll26hMTIAXXv5+eHuYcPH6a2BSu/f/9+lJKXlxfKwdPTEymxDmgQmPvu3TusHkoMS0G2jx8/plY+KSkpPj7+6dOnO3fuxL9IiUksHYnNzMwwidrFtiAx1hbZurm5YRFYKJaOuSgiLBQrHxgYiAVhEimxafgbIH+swPXr17GZSIz6xaSFhQUqIiIiAt9C4i9fvmCWj4/P2bNnkfPXr1/RjJAbZmEp4eHhaFj29vZYvUOHDqHYkRjZovbv378fGxuLEqMq4vnz5ygiVMS9e/ew8i9evEBKpEdtorodHByQD2ofeSJxcHAwloJsjx07du7cOapRoRgxC0UUFRWFbM3NzbG2WCvMwvojjkksBduF9UcRITHqDk0fa2tsbHzgwAFMIjFyw6qi2bi7u6PEsGlIiTJEnphramqK1bt48SLKGZOoCNQvNgENHrsAtS0IYhZqCtmieNEkMImFYgUw19vbm6pfFBcWitaFuSh5LBTpMYkGSTUqtBZUH4rl5cuXWAoKnNo/scmYxJogT5RhbkWgiLBHYNNQLHZ2dkgZFBSEWWiu+AOF4OzsjHXYs2cPvoi5yBbbcufOHWSCheZWBBaKCHZDpEQQKdF0kScKAYWMdUAJGxoaIjHWFgtF7WBbsJ9i6UiMlUd1o8BR+1iQpaUlUqLxYBb2aOxomMRuiCViEtuCyU+fPmEzsZLYFqxSbkVgoagIFxcXlBhaLFJibnJyMuaiHaIVoX5R7JjE3o12gn9R7KmpqdhSqlUUjsjISBQLNv/9+/eYxIacPHkSFYRSxfZiLtYEoBwwiZLHLGw+kiExvoKCwteRDCWJSaS8efMmNgErhjjmYj2REiWJBoC52GtQGmiHKA3MRcPDXHQ+KFVsoIeHB76LIFKiu0PDQ7mheVOT+CIS37p1C5uPvQY1BdB5Yi4aHlJir0FdYD+iOgTULBaBZokWiElUGYoRidGAMYlssS2oBXwLDQY5YBZyQyEjW3SPWAq2BSmxH1F1hzQ40qBSUFOYRA+DhSJzzEW3ibpDYmwLKg49PCoRK4zuGimxIOqIhSZHZYviQplcu3YNc9HjYfdHCWPpaE5URYSFhSFbfBH7C3oAdBdICVDymEQ7xGaizaDkkRhfwUJRMuis0A6pbcEkdnlUBJo3ygH/IiWg2jOaN1YP/Ty1aSh5zMLKo/bRgFEFqG4EMQuTWDd049TBC/0S6giJsbbIFl0xigubg+rG3I8fP2KhWPkbN26gxqkOITo6Gn8D5I+tRuPHF5GY6uGtrKywmehnUBGYpFoRMqea95s3b9ADoGdGPtg0HEdQRDjKoMrQTaEEkBglj9VDb4NiR1ZYChIjiCLC1qFbw1xMIiX6B2SCTUP9Ih/0QlRfh/zRXWBZWCKaDdWoqIrAWuEwgWyxnlg9rBVmoRKxFagIZIvyBCgiJMbmYzNRvygBNBuqIlAyWApKCWWFDcckUmL9qR4eHQIqAvWIcsYkyhyrh/LHJNo8tS3fvn3DLOwgyBaJqf4fC8X6YC5Vvw8fPsQisFCq28GisaVoLWgGaBvUtmApaKgoFjRLrDxyozpqtC5MoqVhlVBi2GQkxldQ8igKVB/aJ1opUmL/wixUN+qX2g2xDihealuQLVYPLR8Vgf0utyKwUGSLPQX7C4JIif0dRY2GhPXEOiA9ekUkRtGhXlA72BYc8dFd4AiIuAJKLA25z5gxo1y5cvPmzcMkVqJ169YVK1bE1mIV0UXq6uqqqamhhrC62IzGjRs3adIEVY7EaBY6OjoDBgxAZaDTwVeQsmPHjtgYrOWUKVPU1dXHjx+PAkUxtWrVCnORBinRfffr169MmTLYbZDPq1evWrRogWzRsLCp2DakrFGjBioVX0Rjxeo1bdqU2qQ5c+aUL18e64w1x367YMECJMa/KFxU/6hRoypVqrRixQqkRIssW7ashoYG6hLZYhPq1auHVaIEFK2kQYMGXbt2xbZgLvom5NO/f39kiy9u2bJFS0urc+fOSIl16NWrFyZXrVqFThDV3KNHDyRGDvBoVDDm1qlTh9oWTFauXBmlhFaLXRpHeqTEOqD7Q3muX78eq4cSg8NhcubMmdTK4zCJ/Q2bVqpUKfyLfLBbdunSBYnRXJASTRDbgsTYh1G8aKxYRN26dd++fYvEqIgqVaqgSNE7o/oxiZTYNCwUk6hZTU1NAwMD1CASo36xPujTsU+iQ8S3UCbYFsxCRbRr1w45QxGwp+F4gHywaRAptDm0Nqxe7dq1UexIjNVGO5k0aRJ2M2RFVcSiRYtwJEBFTJgwAS1n8eLFSIn0qM3SpUvDV5APah95IjG6Buy0aOINGzbs0KEDNg1bimLELBQRjtCoCGw+Vh5rhXyw/gMHDsQkloJNQ0NCESExZfDQnb59+1arVg07CRKjWrGqaFTwRVQEVAYpUYbIE0vBzoPV6969O4odiVERqF8UFBo8dgH8gcSzZs3CLLQHZIs63bx5M76IhaL0MBfHJFQENKVRo0ZYKNVlo63WqlWrT58+mMTOTzWqnj17ovrQcpYtW4aloMDRopAYm4xJrAlKD00dS0FiWAKOediT0fZQLOi8sFAYEmbVr18fToO2iuMf1gG7Hr6IfJYsWYJtGTt2LCoC+938+fORGEWEvhXZTp06tUKFCggiJfYg5Im9CdWNdUAXU716dSRGRWOhOJag6rGfUic5KEZUNyoCToMFoWNCSjQezMIePXr0aDQb7IbYTExiWzAXHRZqH2uLbcQqURWBasVCURHo+1Bi2EGQEnNhM9g0dLLYENQvih2JZ8+ejW4B/2InhTahJ0WbQbxwoHmPGTMGm79p0yZMYkOaNWuGVoFSRTtEt4s1AWhpmETJY1bLli0pM964cSMKCl9HMlQfckDKYcOGYRNwAEBpoy1hPZESJVm1alXMxQEPpYHCRGlgLo4BmIuuGS0EG4jjDdohgkiJ7g4ND+WGIxCKEZPovpB45MiR2HzsNagpMG7cOCTeunUrUmKvQeOvWbMmOnqkRF1jEWiW6GFQjChkFCOyogwb2aIdohZwcMJeg94M+aArRiEjW3SP2BmHDx+OlOgfsLb4IpaCoyAOz+hpkRg9DA4tyBxz0fBQd0iMjhQVhx4elYgVRneNlFgQvoh1WLhwIVYeRYTiQpkMHjwYczds2ICjKVoaSgzNCaWKfHAkbt++PUob+wv6GXQXSIl1QMljEu0Qm6mvr4/qQ2Lsd1goSga9ENohtS2YRFOHh+Eog2pCI0dKrAPaM/JB80ZFYNuxFEziTJJa+ebNm6MBowpQ3QgiH0yi9tGN40iMlHp6eqgjJEbJo3jnzp2L4sJ+hGaAxCgi9DNY+aFDh2KXxyRS4sCMvwFKDL0Z9lB8EYnRw6MQoDXYTPQzWBmsHrYFs1AR6FWw8mvWrEEPMGTIEOSDTevdu7e2tvbq1auxj2MSJYDEKHloEIwBxY6iptwa/6KIUDXo1rDySIOUqCZ0MtiRV65ciXzQn0BQkBj5o8/EsnDkQrPB0pGYqgg0qm7dumENYUVYeawzZqFtYBdGRWApKE903SgiJMb2op2jflECaDaYRGL0A1gKSgmHLWw4yg0p0eRQkihPdAhoJ9iD2rRpg8Qoc5Q8yh/FjjaPGkFiGBhmYQdBtkiM/h9fxEKxPphL1e+0adNQXOjzcXxHYrQBlA9aC5oBDpEoVaTEUlACKBbILlYevQe2GonRujCJYyIOOigx6tQRuzOKCG0S1Yf2iVaKlNi/MAvVjfpFIaALxTqg8KmjFVo7Vg8HXFQE9rvcioBUIFucsGEnRRtASvSiKGo0JKwYOupOnTpRp6DY47ALYO9DS0b/tm7dOmw74gooWhrKF+I1aNAgaAdl9DiGoRdYvnw5DnJoVZhEpujiqStDaGooIFQPen8khpAiJfY07PxoK/gKUuLwj4aC/RbdKyZxvEedIStki0mkQUrqshaOLjAn5IPzNnTHyBa2hwLFspASrQpHd3wRB7ylS5dCUanTRByiMIkiQ2lin0EDRWL8i0JBekg62ijVP6JMsQjYAyqMyhZNE4mp4wEO6qgq7EXYFszFmmAW6hLZ4otwLHQ6OIQgJdYBZxuYxPEedYYGCtdEYuSALhvtHnOhX9S2YBIrgFJCy0Y5ODk5ISXWAVWIfHBQx1yUGJaCSZzsUiuPYz+kHpuGloF/kQ8mcVxEYsrosaXYFiTG2iJbNFAsAm0Li0NiVAQMEkVKdf2YREpsGv4GqFmsAFo/ahCJURGYhJBhM7F34VvUtmAWKgL9O3LGXooGitwwC5uGvpvqgLB6aFtYGSTGaqP2cWRCp4ysqIpAq0URoSJQ72g51H6I9KhNHHvQNJEPah95IjGUCB0ZskVrRrPBpmFLqYpAEaGhI1tsPtYWa4V8sP6IYxJLwXahIaGIkBhfwREFXottQR9HCRNyw6qiUeGUBSWGTUNKlCHyxFLgWFg99E0oZyRGRaB+UVBo8AB/IDGCmIWaQraoCOyH+CIWihXAXBx4kC26BhQXForWhcRYNBaKHh+T2AWobUFrQQmgWHCiiaUgN+SDxNhkTFIXvVBiVEXgGI/WiJ4FbQ/FAu1GYhx6MQutF39gLjoarAMKH19EPugasC2QXVQEFppbETiMIVvshrBDBJESexDyxO6D6ka2sA3UCxKjopEtpBnbguaBpVPbgupGgUOnsCB4AFJSioA9GqKDSeyGWCImsS2YxMEbm4mVxLZglXIrAgtFRaAXRomhxSIl5qLNYx1ghNgQ1C+KHYnRHaGO8C9aIHYW7KHU7lAIUOZo5BBuHJaoy6LUtWFUEEoV7RD9PtYEoKVhEiWPWeiIkAyJ8RUUFEoVyZAVJpESh39sAnoAxKn1REpsBfY+zMU6ozRQmCgNzEVfjLnofFCq2EA4B76LIFJiKWh4KDccZalJSg7QfeGL2GtQUwDnRZiLvggpsdegLtauXYs9AilR10iJZokeBiuAQkYxIjF1YEa22BbUgr+/P/Ya5IBZ2CVRyMgW3SN2RlgpUmI/ouoOaSAHmIsiwiR6GCwUmWMuGh7qjtoWVBwiqESsMLprpMSC8EWsA5ocVglFhOLCJBwdc1GJOLiipaHE0JyoisC27NmzB19EC0HJo5UiJUDJYxLtEJuJNoPeCYmx32GhKBn0QmiH1LZgEkWNgx+aN6qJUnkslGrPaN6Yi23HUjCJHoBaeZwRoQGjCrAUBDELk6h96uQBk+iXUEdIjJLHtqDtoUCwH2HlMReLRj+DlUdfil0ek0iJTcPfACWG3gyNH19EYqqHx16DzUQ/g5XBJLYFs1ARmIuVh7ijB8C5HPLBpuE4giKCymBnxCRKAIlR8lg9yASKHVlhK6htQREhgm4Nc5EGKVFN2PvwXRynkA9qH6qKxMgf3QWWhXaLZoOlI3FuReAwgWxxXMbKY60wC20DW4EiwlJQngBFhMTYXrRz1C++hWZDVQT6ASwFpYSywoaj3JASTY7q4VGqaCfYg3CyjUmUObJF+aPY0eapbUEXilnYQZAtElN9JhaK9cFcqn4hXiguLBT1jrlYNMoHrQWTVM+MlFgKSgDFQh1lMJfqqNG6MIljIlYJJYalIDE2H0WEakX1oX2ilSIl9i/MQnWjflEIaM9YBxQvtS1o7Vg9tHxkgoXmVgQWiggO99hf0AaQEvs7ihoNCSuGdUBPjnpBYuxxWCj2PnQUqGUUJvUThwKKlob9AWqMMwysFh0iEAiEfw26fhyZ0EFRh+pCgA4U/eDcuXOp680EAoFQHIAXwk3RuUGa6ZAcipYGZYaf4eSJug5EIBAIxQGcjuMENCUlhbrIVAhMTEwGDRrUsWNH6joigUAgFAcE2U/hpKam8rLvQVJAyX1pBAKBUNyIjo5++fLlhQsXqJuTCoGnp+epU6cMDQ3tsu8zIxAIhOJAeHj448ePL1265JF955gCipbGYrHwhaCgoOTs560IBAKhOGBra2tgYKCjo7N37146RCAQCP/7mJqa9ujRQ1dX1yh7EAkFFC0NXeGkSZO6deuGc1Y6RCAQCP8aZ2fnuXPntmvX7ty5c3SIITgFjY6OjoiIyMgZe4lAIBD+OZR3dejQgXrMUQElTw8MHTq0efPm1GMmBAKBUBwQi8U8Ho/NZlMPJheCV69e9erVq2XLltSTmAQCgVAcEIlEXC6Xw+Eo7dwULQ0nms+ePbt+/To1IAqBQCAUByQSiUAggKihR6NDDHn58mXPnj1xCmpsbEyHCAQC4V/z686NPD1AIBD+B/D39z927NjixYup4cEKAU5B379//+rVK2qEJAKBQCgOeHl57du3b8mSJebm5nRIDkVLy8jI8PX1dXd3p8ZCJBAIhOLAly9fhg8fXrly5f3799Mhhkiz30oJqOExCQQCoThgZmbWu3fvqlWrXrx4kQ7JoWhp1tbWI0aMaN269ansFwQRCARCccDHx2f37t2TJ0/OfUUjU2JjY+3s7NDFRWS/0IxAIBCKA25ubhs3bpwyZYrSAbcVLQ1O16dPHz09vUOHDtEhAoFA+NcIBIK0tLTExERW9ouKCwF6QAMDgy5dulCvKSMQCITiAJ/PT01NReemdMhuRUtLSUlxd3f/+vUrOd0kEAjFB6lUKskGf9Ahhjx79ox6Yz31kkcCgUAoDvy6c1O0NKQTiURCoVCc/f55AoFAKA58+/Zt3bp1Q4YMuX79Oh1iCE5Bvby8cBYaHx9PhwgEAuFf4+jouGTJEgMDg+fPn9MhORQtjYzEQSAQiiHk3QMEAqFEwvjdA1OmTMEXlD5rQPh7SCXZ1zD/m7/4fFpqhNfzO1ePH7/0xtojMZNPRwmEYkBYWNiNGzf27dtnaWlJhxji7+9/69aty5cvu7u70yECgUD41wQGBl66dGn//v1fv36lQ3IoWhoSzZ07d/DgwdeuXaNDhCIh2vGe4dalM/+DWbNmzZ6/cNGxE1cfmZi7+4amZvEkhb1NRwEpL/b6zpV92rSoX79JZ4P1dz9+V/J2fgLhH8Hn85OSkmJiYgr9fqf379+PGDGiZ8+ed+7coUMEAoHwr+HxeAkJCejclD4apWhp6AchajhbDQoKokOEIiE5wPr+laNrFk5qpl9bLS86ulVad+zapXPnpvr6mNTQ1Kpbr3n7br1HjJ00Z8Hik1efOX2PyOIL/1DWpJyQIzMH1y2vJVtk+S7bzr5NFanG/wiEPyczM9PX19fZ2TkqKooOMcTa2nrevHkTJkxQevMHgUAg/BPS09O9vb1dXFyU3jKraGmEf4VULOCyUsP9Xc/vWtRWv4pMlYBW9dbdJx46b/zC5P3bN28e37t39LDh9o3Lxw/tRidQU6vbrPPISXNWH75j5xvHEf7Bz6GCyLOzhuqX10ae6nUG7blhnUkeICEUG9CL7dy5c+LEiffv36dDDEEPaG9vb2NjQx5gJxAIxQdXV9f169dPmjTpzZs3dEgORUsLDQ29e/eukZERujM6RChaIhwezhrWjjIwreqdZu55lpp7mUwqFQt5aYnhzjYme7atmzq0e+lS2Ze+4FXVWo+cvfOdQ0Amv7CiJs6wvXtx08I506bNWm54y9onvpCvSyQQ/gJfvnwZOXJktWrVDA0N6RBDJNkvywPkAXYCgVB8MDc379evX40aNZQOEqRoaUjdv3//Bg0aHDlyhA4RipbMEOvl0wdQ7qXdsN/Cc9b8/D88SqVSXpr3Z5NNy6e3qlyxlLq6LLVGlUFTt753DmEV9sdPCT8zKsTfx8c/NjlTQF6iQyhOhIWF3bp1C4pmZWVFhxji5+d348aNixcvurm50SECgUD41wQFBV25cuXgwYOOjo50SA5FS3N1dV23bt3UqVML/RoWwh/CjbZfNWdotqSpadTvN+eUMkvLgZPgd2PTvOZVdOlLatp1Ri4/8zkgkVwGIxAUePbsWadOnfT19ckD7AQC4X8FRUtLT0/38fGBq0VHR9MhQtHCibZf+duWBoSpvntnDq2hU5b6ilrNruuMTCIyyDgahBJFWlqah4eHjY1NaGgoHWLI58+fly9fPmvWLBMTEzpEIBAI/5qUlBQXFxd0bkofjVK0ND6fn5ycHB8fn5WVRYcIRQtTSwPRTvdHtm9cRiP7d081tdaj1z1ziJC/9UYiFrLSU2JjE2Q3rUklIj4rLjocR7uYhHSRRDF3IZ+dlJCQkp5F/XAqEQk4WRlpaenpafiX/qSnZ6Slpss9rCDlsjKzE4GMdNn/WTy+kJ6ZCxYt4KQmxUdHReE0IDomPjWTIy5468RCXmpSYlJyukAi+yqXlRYTFR4WEZmQmkV+j/3/Bk4dlyxZ0r1790K/3ykjIyMoKMjf3x99Ih0iEAiEf42dnR3OHnv06PHw4UM6JIeipQUHB9+4cePkyZM476RDhKKlEJb2Q5p0a8n4RpXKUd9Sq9Vjx7UPaSLZu8H4nKyEqBBXO/Pbly+cOnsvhivIiA9+++zW/h0bVq1atevIJdewFIFY5jxiET8zNSHYz8X87f0TR86+tHBJy7YsdnKUg/nzixcuXb5ofOGC7HPxovFl4yuXLt33TuDlOJ7Q3+7j3etXLl++fOmS8eULl64+NPUISZR3KRGfHRvibfnq4bmTh3Zs3boT7D507vqDDzbecWlcsZwsyoQsKy0qxO+L+SujE2fvv7RKZLOiAt0f3bqwa+u6dRs2n7z6OCBJyVtpCSUYJyenmTNntmjR4tSpU3SIIRwOJyEhIS4urtDvaycQCASVY2NjM3bs2FatWt26dYsOyaFoaWZmZn379q1bt+6hQ4foEKFoKYyl/fgRYX2+Z7v61LfArM2GX/3D/Twc3z+/e3Dj/B6t9NS0qnUYuMY91PfB0ZV0omwmHDGNTUoK8/G0s3p/y+jg3DGtalfRVCvdYuPxpwnZC86I8rx9fFW7lo2qltekvqKpVapm4w79hiz8HMGi7UrKtX9wbPLwXrV0dbTU1SpWr9tt1t6njmE5t8dJeOwUbzuTXYvG61es0bhFm/bt2zZvVLcM9dCD7pC9F5/7RaYKIYtSYWps6DfHzy/uXt44f0yzulXUSjWZu/G8s5vVzsXjshcuo1KdJmvveZLLaf+viI6OfvHixYULF5QOz/07eHp6njlz5uDBg+QBdgKBUHwICwt79OjRxYsXPTw86JAcipaGHnD+/Pl/8kpjwh9SOEvjR1uP7tNei/IeNbWe05buPrh/tkHnmlV0s58A1VQrVa9J53kH969vpFutTu3q5XJ+Hm04/5qXh/nGEYM7NmtUo0I5bSqHsu02n3yVlHtvm4QT7PB0+ZBG2d9QK19Vb95Fx/ySJE7/tmZozyraOuPWnnYOTaWjP34IuMnOHy/NHNikrG7jARN2vHPwCQ8PtHlxcXiLBqVzVnjqtqsBseliQcLLsxsHd2tRpUI52J6aupZaubZDx69YsWCafpXqNapWotKXrlJ/wO73vN8oFkKJQSqVirJfolbocTQged26dWvSpMnly5fpEIFAIPxrJBIJ1bnhDzokh6KlEf45hbO0H7wgwzED6mjTz3p2Grv48PW3H18/ObdtcYfK5dQ0dNS06qmpa5aq1KjLjN0P7p4e16RB1cqVK1epPvPM56ggL2u7b37fnU5MHdawfGnZ9xUsDQbGTjB/eES3rOxymmb5Kk1mnU3ON4IuJ8p6dr8OVfXGXHzlws6ZKRXzv9vcWzBEv1SFBgazT/qn0tfXpGJBqr9Jn5o6mrSnqR1+bpeQHm9n9cni3cOtk4c0KF9KTbO6mmY1NfVSOg17Tlx78JzhxoEN9KpWrtKgVfetj/ypfAj/T6DePeDk5FTodw9YWVnNmzdv4sSJ0DU6RCAQCP+atLQ0Bu8egNCx2eysrCw+nzwk+G8opKXxI05ONqhfJsfSJqx75RKLcMJ3q73zelFBjbJ6ncaci+bIxsbNjPK8f+HCxesm4Wn83BdBBX84PbBDA1nSfJYGT4vz/bRnXL3snNQqVa1pEpBJz6GReDw+0KV53SHLTzgGJdOxHz/Yce7Ht02FIHYcPOFjUJ5HUsRCvpPx7LKl6XWuPfHw1+Akyu5CrI0n9mtGxbWrdJu/81UyXyrmZYZ72t6+dO3ei09Jv1UohJKDra2tgYGBjo7O3r176RChJCL9BXQSQAcKgE6UCx1WhJ77V5FKJSIhn81iCfI/qEUgZGNqatqjRw9dXV0jIyM6JIeipbm5uW3atGn27NmPHz+mQ4SipZCW9oP/5ujU9nXp8ThyLY2f9P3ygXlUsEHrzjcdYqjUSgn4cHpAgZb2Q5AR/eH6Fk3qN8cKVSYds5FfL6k45tTogfV0Why4ZR7Pyb2Sxvd8f3ZGt0pq5ZoPnX8llseD/efC47JiHc6XL5d99Q7UmPHKMZT6HZMdbrVgcj8q3GfSYjPfn9pH+P+JnZ3dyJEjq1ateuDAATrEEIlEIhQKybsHijNikTAj+0FxpWRyhFAdiZDLYf0qVWaWgM6ORpKVmUnPlCeDxeP/pZElZU9uiUXQM15aXPiXd7fXL1r+1j2CRcYKJyjD3Ny8b9++1atX/613D+Q+PXD48GE6RChaCmlpwshzkw30S8vewgl+WlqK3+VDi6hgs4493gf96um2X1vaDykv1OnNjGqVZAk0ypRvuDiIK83tdVK9n3Zr26hC3w3PHcNzez5xuv+xXfOzvU69UqXKHfPSvn17TU0NWW4UOgPuWPtmZV/ZY0d9XjiVfgHDyHmrnWK4VIaE/7dkZmYGBAT8yVCOVlZWc+bMGT9+PHnbejFFxPL/+qhZmdJaBdByudHnkNSgD4cn9K5Lh/JTrm7TIVez5C6USTM9hzfXL6etTSfIpcaYXRfseaq/pCYR8NL8XS1vnt87dVBHLU2goaGuceyNayqXnB4QlIBTBl9fXzc3t4SEBDokh6KleXl5GRoarlmzhgz8+K9QyX1pbSese5rP0pq07/7aL4NKrpT/sLQfP1gJQQ/3T87OTK1UuUrHrWKE9HBnfNNjo5vVLrvg8MOAhJ9GxUv4ZrhxKhJrV6rRrO/wOYt+snDhwhkzZszPZd60cTO3mnlHUJfh5C1t2JxVXyPZ2fkR/v8ilV2ekIjFYqU32P4OkLMuXbo0bty40COuEf4yEiE/I9Dd+ujSYdS+n8uYVUdN7d3C4tO5AomQmxod4v3uzqGRfZrTs7Np0Lzj0bsWvoHh0XFZebpMKT82MuSr2f15HVtU0co+LdTSG79w5xs7z6T0vzCgj4QT/e39dL2a5cqW0dain4sHR4mlEQogt3NT+jO8oqUJhcKsrKyMjAwej0eHCEVL4SxNmOC4eGCXijlPbg5dtONzUBriqrU0qTAzwOZ29+zfKNW1SleZciuBJxv7VpLptax360o1x94w86YuhlGkBdluXyTrcEvV6zrloEki9UNDNmnZ0BMgLS01LZOfI33E0ggKxMTEvH792tjY2MnJiQ4x5Nu3b8ePH9+/f/+XL1/oEKHYIRWL+CnR/mfmd6B2fxllO920+p7GFUkk2QcxHNKQiJNqfXf38HY6dBrtOj3H7QvK4mdrvGKPKfuxW8B1v7+7S9NaSDt90wmn4CS+7OdTxZSqQCoW8lJiY8OC/e/voc9pAbE0QkFEREQ8efIEnZunpycdkkPJ0wMsFiszM5NY2r+icJYWa39jQMfG9M+HpfRXGN6NyJL1CKq1NHR3aVE+p2e1yc5PXb18zTcBKQKxNOTjqXb6NfsuPu8akip/oSPW49XaKZ2QVKNutwmHzLi/3ScSSyMo4ODgMHnyZH19/WPHjtEhhvD5fJwOpKamcrnkB/RijVTIjXG61Vgr534IjbIrL5tHpyvegZEZ/nXXsjFUEpw1tuk96mPwr/o314dbOzerrtlqmtF7D/Yv3nmiIiRCboSdEb16xNIIBWNtbT18+PBGjRopHQFN0dKo8dIMDAzIeGn/isJYmpTzet+0FrUqUN8q02rSsacu3GxdUrWl/RCxkx2e7MvOT8akc7YZnJSrCwfVrtLU8OGXeHaeu3FjPUzWTu0qS1euocH8c1G/PcQZsTSCAs7OznPnzm3btu25c+foEENw/hkdHR0ZGYmzUDpEKJ5IpfzM6NOT6pTKGaen6qA9tv4JCrf6S4XJH4z39KhNv3NFt1GnJdcd8r2WLgdJ2p11Y5pULWuw+vTX4LS/7mhYoIgb43yZWjdALI1QELa2thMnTmzfvv3du3fpkBxKnh7o06ePnp4eeffAv6IQlpbs/WZMrxZltekzz9ErDtgHp1JfUrml/ZAIEoK+zO9QJTtLNd3Ouz/ZvurWvF7N/qtMPaNk7wmVgxXluGdV9smueul2A6a+9v7V+xPZcd8d3AKT0jlYc2JpBAWysrICAwPd3d1jY2U3XBYCS0vL2bNnjx079tmzZ3SIUFyRiPnhHw3L5jwOpVZB78Jbp1Sewi2J4nDnV2smyK7WA42ytbtP3B+cO1RjXnhRtmP7tC1Toc3+mxYKJ5N/CVhatNMlat0AsTRCQWRkZPj5+Xl4eCQmJtIhORQtLSws7MGDB5cuXXJwcKBDhKKFqaVJsoJPzx1VpyJ9QlmlyzgjE4csAd0dqN7Sfkh5GbHvj07PzlJNrUyDzl3alSlTasax58FJMsGSh5/gcXDjFCph+XodZx/9yC7gR0+pIP7WqrmjV1z+GiB7+yexNILKgZx16tRJX1//4sWLdIhQbJFKhBm+89vVKiN7CYmM0Tvvfo/JM+Ai4KcG3DNcpl8q+6kpde36bQddt4+j5+XF8/G2Ng2rVe61/Kl9sMLJ5F+CWBpBJShamkAgSE9PT0lJ4XDI26z/Ddxo+1W/bWlSdtSjDfPbV6tEv9mpfLvFR5/5J/50mr9gaT+k6H2+Pe1dgR6bTYZu/3u2/ln53kYg4cW9NNravloZWZpSFRv2nnbZ0k+Qf3OkLJur63rXr77gyBP/BDbmE0sjKBASEmJsbLx169aPHz/SIYYEBQU9fPjw1q1bSm/RJRQ7pDyLw9MqUW9DUVOr3H7pK4fQfFfTMr7cOzGkds7NHtWbjNjxipX/VFAQf3ragDoVSo3ZftUjOjN/DyTksmJD/Vy+2n/+bGdnZ+vg6BocGc//pVMJWCn+39x9A8PZYqlUyE2MCrD7bGHxydYrOJa6UlegpUkEXLbs5u98sLjcvCO9SaUSfkaov6e9rWy17OxdvofEZPFlD2wVhJjPiQv1c3RwTxNKpVIxzqid7aywy3z9FszJeTaLUNzw9/c/e/bstm3blD7YpGhpycnJLi4utra2oaGhdIhQtGQEmi+bSg/oWqphv0XnlVqa9IcoK9DF4uDymZ2qVSpNPdpZuvGklUZf/RPkh04UpPhdybG0ph16vPFXPBmVJ9D09ICO2ZZWvvPmU28LsjR0M9y08Muze2TnKqPj9HPeUWnK+jRhiP3zFSPpx7VK61RpPWyO4UPbuMyfWbOTAl9f3DCsXU293lNfOQVysh8R5UZ9XpRjacPnrHaIIucM/9+xt7cfP358nTp1Cj2Uo1AoZLFYWVlZOBelQ4TiTZrXg241K9OnoKXr77hhFp2Zp+5ErKiHZzc30CmV3VWoqWlXaNJ7qku84qNvmQFvDFo3LF2+7fEnX5LyXtASsJK9Pz89tm3BpHEjBw8c0K9f/wED+g0cNGTMhKkLVxh+dArh531kFIqVEOZn8ez6znWLRo2cdfLGm9jkqI9PLk2ZMGpA3169+vSbumjDG0/Z71YFWRo/yfvU4V0z8zF3ze6Lb7/lKJhUxGf5fnmxY8HssaOGYbUG9MeKDR4xduKs5SdNbAMzOHl+tJWKBBkJkS5Wr87s3zB5/JR5y4+Esdjhbu/nzpg0uH/vHj16DBg6xtjcL4tXFD/1EphiaWk5ePDgunXrXrlyhQ7JoWhpzs7Oq1atmjhxotK72AhFQIjN9WmD6HGANKu2nbLlTiyL6phwbiTicTJiwn0/vX+0dtWSScP71SxTiroZrXa7wUt3XXXwjeXKDYQBuHFeF3bNyk6i1qhtt4fuv7ozzOXRrl6tZE+qq5VuvvbokxiuEj2kkAg5wRbHampm66Fmzf1PnJPZym/b5aWFPDm9rnVV+oRYo4xO7faDFq5ad9746vpNx65dOL5iwZRujXVLV2y31tgiKp1++C4zwHz++N7UVwZNW2EdTG73/v/O9+/f9+7dO23atIcPH9IhhsTGxn7+/BkdYlhYGB0iFG+k3Ii9I5vqlqZHHes47/hnf9kdEbkk+n3auXAQNZeiWv1m+1/50rNpRPbGCxvV0tHrt8HMPVL+SlRGbMDTq4fHDepUr0ZN/Taj1u7Yf/z4kT1bVo3u3RJ9lWapGr2HT1lv9DYinS+7DCXJdDO9Z7h93dxpE/p2alG1Ylm1cu0WbT774ObpEV2RnqZi3VZzL34VSAu0NGFm1NtXj7cuGNmqbkXEK9VvMXT6sr0HjxndfGLmHkFdbeNkRJvfPTB+SI9qFVpOWbxh9949axdPblxJRyaspep3HzTJ6LF1dGp2bynhhnl+unJs1+K5M4b376pfU1dNu2abvmvNP79ZPaYPtWiK7hsehqUo3pRCKA64u7tv2bJl+vTp79+/p0NyKFqalZXV8OHDW7ZseerUKTpEKBJEAnZyXKTb53f7VoxvWoe+gK+mqduozaClG/YcOHgeNbJjx9ZNG9YsmjdtcO/2dAI1tTqtuk1esMbokUVwYqacoUmFfG5KbJj1gwvTe7emUurWaDhjy02v0LgsDkcgd04llYj43MxIP4ct84bWrpz9O6aGzqAZm145BqSyeCKll8mlYl6y5/KeVbQ11XU6zLcNzHMBLy/8GB+bE4vGNsy9EVhNTUtbu36jJupa1Zs2qKmhrq5eu8ucLbd8ojOEUgmfkxUf7vfs2JaezepSieu1GrD93JvA6CQ2ly9Udr2O8P+BzMxMPz8/nEYW+m3r1tbW8+bNmzBhAnn3wP8OIoeri2pXLU91BaX0hxu/c8vM9Swx++uT86NbZp9Y5lBKp3avucbJcj9ASLlhe0a3qVpWc7rho8D4n/dOZMb6Pzi7rWvrBmql6rTuu/zSU/uo5Ew+n5MWH25rcnP+qM50hvq95u98EZ7CEQviXl09vm7x1M76dcrj/FSjolqZpm069evVb1CHLv0G9mhfPXvkkAp6rWaes8c56y/uS0sO9Ti+fkrjWuVbdum79eSNz99C0lm8nEt2Um56rPW9XQM71C1btfPKA/fdAmNS09OiAl1vGa5qW6sqdWWxeTeDWx++pvNx5p7uavl075p5Bj3aVcMKqJdW065frW63MeOG12/SY9zYQfW1cxx3NbG0Ykp6erqPj8/vvm0dZ5k4Vb18+TJ5eqCISfAxP2u4eeKwXnWr61I71U/Uy5QuW6tKFdljlZqaWjVr67do26m/wfBps+avXrfJ6P5r96A4Xs7jAjTiLA+r14fXLRvRs2PV3LcwaZTRrdl++uI1Bw4f9Un8+Ztjkp/luRP7l80eU6dmZTolzvD0mg+ZOG/X+fvWPkrajUzThGyHK3PLltYaZfgmJuNXY2xIRZwIV6uTy2d0bV6bzl2OroMnrjv9zC8+S4heSpRifsd4x/K5PZs20MkZoVemqq36z1+x4eLNe6FpBT5oTyjZ8Pn85OTk2NhY6BodYsi7d++GDRvWvXv327dv0yFCsScr+N2gxnVLUz96alRefOS+fyJ9/wM/xc9458I65eo0az9o7Ih+MkeRpSlbq/nIt/4/b8BN/navV4OapSq0v/zBLT33wQFB6qc7x4e01cc36rUZfuiuG0fuh00Rn+1rfXNg05yz5Yo9z7z7lpaVGujr7+ftfG3bnLZ6lWSWplFOrXSdjsNXXXzy0ezlnd0LZw4bPHTKgo1PXWTv+SnA0sQxfnandyxo1rRT10HTLj56H5WS56ZbiSDru93jUV1ql6tYbfLme5HZw15SCNODTi0bpVeZflBs6MrDtsGpEjEvLirC55vr+5vHxneoJ7M0jcpqmuWrNhm53djE2dHi3LrFIwcNGjR0/Om33zO45BfP4giPx0tKSkLnxmYruQNb0dII/4oEL/PzR/es/S82bNx0/OTFmw+emn+29wuOTGPxlQ+fLc5wNX1+aON6+mt52bZjl1fiz1s34j3fHty7nZ6Xl60nrr93V/6CdqlUwolyXb921XvvGG6+5wYUkQhSoryfXz26cN6siRPGTZwwcdLEydNmzFm2cs1La89MQc7ZsTDp3dXzu9avoxefl1MXr4akkTuK/p9CPT2wfft2U1NTOsSQwMDA+/fvX79+/du3b3SIUPwRJp6Z2qtGefpKfFODTSb0m4LFUc5PVo7vWL5e76WGz6xfXRnRiL7kVq6q3oxzX3N6Cp7p0ek1K5WrN2jPl4CfI66lBFhtnz6osoaGWnm90SuOyJ+1ZiMVsBPfGE6gMgTtJh5wCkmm+rloh1tj+9E/cdbrMO7EAxeWUCoRcBLD/e2sbZ08Aqn3ryha2juPVC431N304OrxDVt26j1xxyML37S8N8nhS5mx3rd2j5W5ZosR1vnuxw2zONWpRR0qwwrtZl1865l70TA91OH42hHULJ3qjWfsfJ0mkL15iJsa5WhtZW3rnsSWnQgTiiF+fn7nzp3bsWPHbz09kJiYiHRmZmbo0egQgVAwAj5HpPTdY8qQiATpiTEBfj7+fv6BAcHhkQkc4W+/joDw/xtbW1sDAwMdHZ29e/fSIcL/D7yebGlSN+cyf4XOhjfNE3niH4KUj1e29WlYvuXAKTe/RCT4fzk8vwuVRL2UTs0Bq0NYMgESZ/rO7aNfrpTGgnNvIqgbuYCE9enq3kHNayCxZoOBy85b5n8tCrQrLeB9u2pl6Gv6ZVteMvNOy74Uxwoznzqqe3ZUbcSCjXahyi/uKlraS1unT0+2z+7boGXHfguPvHWLyPsAgAypiOVte39Uu4pqmhWqN514+9Wr13kxPrq6UT3Zasuo2O/ANev0nEz4yX5XDi2k5ui37vzAPYmeQSj24MyzR48eurq6RkZGdEgORUtDVzh58mR84cKFC3SIQCAQ/jUqfHogPDycDhH+F+DEWI9s1yRHl9RGrT/hGJ7OjXU+tHycbqlqoxft8UkRCDOjP1zfWUs7e+A0CEyVGlccZT87xtpdqlZZR61y87tfvmfl3tDGCzdeNbNJ9p2y1TqO2f/YVf6RghykQm7s+cmtS+XcMbLyshn1lipWhOXU0T2p4ITl29xilb9wTMHSpq9aO2dQ0+o6Wp3nGJp9j1M6vpKYFf3uzi4kVtfUqlBDr//APPTr169FixaNaPTrNx929I5Vcs6q81P8rx5ZTC2rSbuubwJ/9Tg/oViR+/TAu3fv6JAcipb25csXJO3du/elS5foEIFAIPxrRCJRVlZWenp6od/CaWJi0r9//w4dOty4cYMOEf4nkKbenD+ifsXsYRfV1Kp0n3vD1MPb9OqsAc106g/aeM5aNla2lBtk/2pOSz0qjXa5yoM2veWJOc/XjdItW6rOqGPukam5Py6KUn0PLhxfU0t2W32rIbNvfY6gZ+RFIuJ7PFhVLuexp1E7HgbFsxCXt7Rxy7a6xCgfJ+inpWnowLvwf/ly6pqaatO2XPWIyFT6UBY/NfSZ0WrZN8pVamCw8JRRHk6dOnX+/Hl6wujM8bM3rNwCs68YZn9XztIat+3yyi+dnkEo9giFQqpz4/MVfnmXoWhp0dHRsLnHjx+TWzcIBELxAXIWExMTEhKSkvKr0WR+wcePH8ePHz9gwID79+/TIcL/CEFmx9o3y3mWs0yzZduPGq6d26F6xa7jl7/yoB9vyoz1u7VzEp1Go0zZBvO+eNpM16tRRqvS2ut2CXIDrbHCP8+f1J9K+AtLk0qEaV43ypelRxEqvKVp66upy4ywnp5GmTLqapUG7rpmGZWp5ImrrBifG3tkL2vR1K3bdsVTxWHffgmxtP9d2Gx2VFQUOjeIGh2SQ9HSxGIxbI7H4+HMlQ4RCATCv8bX19fQ0HD27NlPnjyhQwzBKaiVldWHDx/QG9KhQiAb0V0oEfLJ588/KEmoEF2wv0SQ5Dqmb/vct0XVql+/Ss2aauUazdpsHJpBX02S8FMd352vWZ7+0VNTS2vw+JGaoOYoE694+dv0OdG2C6bQg2Y37jftknmQsgtbqrO0bOo21K9Vvhw1jkaN/rOumLtn8hUPsqnhrkbrZcO/qZev1WjalRQmLwv4V5aGVRRLpSKJpER+lD+cp2o8PDx27Ngxd+5cpS9WUbS0xMREe3t7CwuLoKAgOkQgEAj/Gjs7uzFjxtSsWfPgwYN0iCE48+RmIxQWdjwXHLfTEzih7ln+duTz5x92qJswLVYqkROogpCyX++e3LIm/RQnRfm2E3Y9cOX/PI6KEwLs9gxvSM/OQX/2laAklrwM8hOcVs0cWipbmMo0HrTmsrXSAbwVLG3srkfBCYW3tJNPnh2bMLS+Dv1ivb4zN350DxPk9bDMaK8rO8fKZmtWqNN6plPirx5plw1zyf05huS/sjQWnx+dkR6aklzyPmGpKQlZmQLxb7TPPwPGNWDAgNq1axsbG9MhORQtzczMrE+fPnp6eocOHaJDBAKB8K/x8/M7fPjwwoULCz0mbWRkJE5V37x5U+gH2MWcjIS3ZwJ29vHf3ot8/vwTsKtv7LP9wnSlIzIqEml3rX+HxjljP6qpqWv1n7XJzC/Pz9+CjGiLa2vpwdUoNMrsf/UtQ+HNSILIa2tmN6NuOCvfdvqme3HKRuWWWZrnT0tbcNokIkV2T2QhLe2Db1Lop5EDOpfKGWZ2xvpDbhGZ8qNjCDMiXl3dSM3VrVF310v/Aq80SsVJAQ5v31u7+idQaf6JpYnE4k9BgedsP52ysSqRn+uOXwOSZO/7+qt4enru2bMHnRsEjA7JoWhpVlZWQ4cObd68+YkTJ+gQgUAg/O/z7NmzTp066evrX7x4kQ4xhB8fFPNgR7Ze9AvcN4R8/uQTsKs/SjLy5lpupDddvr9Eku65aUSvalq0p6mXbbZ8/71ohYtgEk6E26vRVXNGo4WkVRv/OSxd0cFE8fe3LG6rQz+O0H/Swk+hsotkCsDSkpyMaUvTLH38tWNy9u+mhbM0alTb0E/XB3ZuTL1aT61859VHXkWxfr4yRpQZ+e7G1lLU3NKVqg45FMlT9vjpD6kwM9Ro4aRO/Zaf/+BHGeg/sbQMLu/tdx/YzJnP1ue/2BiVoA/U87SN1SX7L/b/+oVyipbG4XBiYmLCw8PT0tLoEIFAIPxrZAN0SiRisRj/0iGGPH/+vGvXro0bNy70A+y5lhb7ZB8vIYSfGEY+hf7Em5xkZGk/pJy3hlPb16F/MdTtPvvk2+/5757OjAu+sZIeOA0upzf3Rqyy+/SjHe/PG9GOuuZWqf2ITY/c8/+sJRbwzI+NKFNKdulLo/NW+yB6UNw/sbQfPwTWRrO75gzAq9VszLZ79lm5TVrKC3Z8PbcVPThcqfK6Q/eaZKDJ07MppFJx+ptjs7vWL7943/mAVPrn+39raR/8vsdmZKSwOSXm4xMXd9netmgsLbdzUzr2qKKlAaSjoKcJBALhX/P169eJEyfWr1//6NGjdIghfD4/PT0d5588HqOH536Sa2kJb07L7qaSDQBBPoX8JFteD9jRm4Gl/fgRZX9zcLdmlIiMXrH3a7iSIcEknFSPN8epNGrq6rtf+rAU3p6XjZQXfXvr4hZlSslSaWgMmjjXJTbvIAhSMT/t+4o6Vaj7/Xc9dEhi0T7EjbCcnmNpE5Ztd4tR3pwKsLQfEl7kxTnjm2QvWk1ds1qPKYdfe+QOn8aKD7xvOCP7G0Bds3SF+tNPuoSninJ+Gc2M8byycUSrOmVrDFp22yYg9wdTYYr/9RxLa9Ku61t/JVcHVU6upVkHBXJFsouCJeYTk5lxz825aCzNysrKwMBAX1//2rVrdEgORUsLCgq6cePGqVOnbG1t6RCBQCD8a9AjDR06tGLFin/y7oE/PP/MY2m/93AioSCSLW8wtTRxmufmsf1lLybW6b757PtEgbKqlPITgz7Prl5JTV1LvdII6whWAa+vkyQHWK+ebUBpjXbFluOW34yS+/1UwMkwPTWbGkpXf8F53/ifI5ylfns1cXAn6ouD52y0Dvz5zlB5JAJ2mPlBKhk49uFbKo/yRUlW2Je14/pXys5cXatU436Tz75142W3TKmYE+LyYlaLStS3gEbp8pWqVB0zdVr9xoPGDh3QRF+vQlltTd1ee65axnN+Cig72vPC1unUV+q37HTDQTao799G3tJ4JWtciNgitDRTU9OePXtWqlTJ6HfePQCnGzZsWIsWLU6ePEmHCAQC4V8TExPz6tWrS5cuOTo60iGGfPv2DeefhoaG9vb2dIghxNJUSCEs7YeE/e74nC71yzYYtOKeTXABb6WUctKin2wdpq5Vuvb0K4mcAt8xLBHxI3ysVs3NfvelunbZKu1HLrjiHZ0mEnLS4gNfnFxVI/u95v2XnXGPTMl+BaaYlZbo52i6ffyQeuXpe9rKVG41dcUZe+/QtEx27sAaEomYnRbnafNsQRP6nZugyZSdb138k9JlzwxKRJlfnxwZ0rEBNUuzdNkqLQbO3HvPMzyBJxSJuCme764Oq0i/VZ2iTNmy6hqlypQupaGhrt5w6M7rlhEp3OwSkPDYGRHfna/tXt2lWkUqsVbpqm36rnrr4JeUlsZRMk6qyiCWphLCw8OfPHly+fJlpePUKlra169f58+fb2BgcP36dTpEIBAI/xqRSMRmszMyMgr9e+Xr16/79+/frl27QnduxNJUSGEs7Yc0yuH66L4tpm4+7hHDpmP5kPAzAyxPaZcpt+qBD1/0q2oSC7lxod8end9q0FFPTb1UWZ1ajZu1bN26VcvmTevWqFaqUu89V0yCY3N+beSHHZ03uUuTBlXKl80ZuA16V6qCbg39xk1nr9zokZDdMiXc6O/mczq1a6yvVzHn7VJAq0LVeo2atOi9xdQlxPHZvmn9GuuUy/7Rk0KrTIUqdRr3HLv4nA1fIhGyU31tXmye0o2eK8fIuZuef/4Wn8mlr+2JEt9eOjisZdNaVSvJPdyqoV1at17DJp279zQPYym3WVVALE0loHNjsVjo3H7r3QNIGhYWFhAQkJRE3tVKIBCKC+np6TjR/Pz5c2hoKB1iCL67dOnSGTNmQNfoEEOIpamQQlnaDyEr0vy9iZ27b+Yv9EsqYqcG37l6wzOBV8D1tp9IJUJWWryvm/2rRzfOnDh6/MzFqxdO7Dtw5OrdF7ZO/gnpcu9hl3Aj/HzcnJwcleEbEJRFP0oq4cOxXJzpGQq4BadkcjMSwnw9XeiIPG7eflFp2blIxQJ2bIiPxZvnxhfPXrx40fjilRu3H32wtA0Ii+Pw5R78lAqSY8I9nZWvlYurW87PrH8FYmkqISUlxdXV1dbWNjo6mg7JoeTpAQKBQChuuLm5wbF69OhR6Cc0caoaFBTk7+9f6HdMEUtTIYWzNJmBsdlcvrLxzX6CyhFmpmf8OpE8UrGIx85ISUpMSklLT02Kj09Mz+IwGfn/7yCVCvmc9LSUtLS09LT0jEy2QFQ0g+H/LsTSVIK9vf2sWbN69er18OFDOiSHoqV5e3sfPHhw7dq1b968oUMEAoHwr8l9emDfvn10iCFSHLuzKfQDBMTSVEghLY1QnCCWphLMzMyopwcuXLhAh+RQtDQLC4uBAwc2bNjw2LFjdIhAIBD+NYmJidbW1k+fPvXy8qJDDHFyctq5c+e6devQy9EhhhBLUyHE0koAxNJUQlxcnLm5+bNnzwICAuiQHIqWhh7Q0NBw9erVJiYmdIhAIBD+91HhuweIpf05xNJKAMTSigBFS8vKygoJCfHz80tIKIrRVggEAuF3iI+PNzMzu3fvnoeHBx1iiIuLy/79+7ds2WJtbU2HGEIsTYUQSysBEEtTCdHR0W/fvr1//76vry8dkkPR0jgcDr4QFhaWmppKhwgEAuFfA8dasGBBx44dz58/T4cYglPQiIiI0NDQ9PRCvjyHWJoKIZZWAiCWphJsbW2nTJnSuXNnnIXSITkULe379+9Hjx7dtGnTu3fv6BCBQCD8a9zc3JYsWdK9e/dC/16ZkZERHBwcEBBQ6FNQYmkqhFhaCYBYmkqws7ObNWtWz549f+sZTzMzsz59+ujp6R06dIgOEQgEwr8mISHB0tLy8ePHnp6edIghzs7Oe/bs2bBhA/KhQwwhlqZCiKWVAIilqYSYmBhTU9MnT5787tMDBw4cWL16daEHfiQQCASVI5FIhEKhQCAQiws5SueLFy+6devWtGlTY2NjOsQQYmkqhFhaCYBYmkr4deemaGlSqVQkEuELhe4KCQQCQeVQ19IePXpU6GtpTk5Ou3btWr9+PbmWVhwgllYCIJamEmJjYz9+/PjkyRN/f386JIeipeU+45mYmEiHCATC7yERcPlxgdwIT074N/L5zQ83ykeYHk+XYMHY2toaGBjo6Ojs3buXDhU5xNJUCLG0EgCxNJVgamrao0cPXV1dIyMjOiSHoqW5urriXHPatGlK72IjEAi/gBPuEXV9RcjRMcFHRpHPb35CTk9JNP3vBwLQNS1evLhbt26FfnogMzMTp6CBgYHk6YHiALG0EgCxNJVgZ2c3c+ZMiNqDBw/okByKlmZlZTV8+PCWLVueOnWKDhEIhN8jydI46OAIHMWDDgwLPjSKfH79CTIcEbC7H4or9PgkugQLJisrKyAgwN3dPTY2lg4xxNLScvbs2WPGjHn27BkdYgixNBVCLK0EQCxNJWRkZPj5+Xl4eCj9DVPR0nx9fc+cObN7925zc3M6RCAQfo8k80tBhsMDdvWLf3MyzeEJ+fz6k2x5JfzCHEhPyLEJdAkWjEgke812ZmYmn8+nQwx5/fp1v3792rZte+3aNTrEEGJpKoRYWgmAWJpKQOfGYrHQuQkEAjokh6KlUfz6bcR8kYgjFHAEJe3DFggyeMI0Dvkw+3AE4sK+vbqkQVla2PlZ3KjvdIhQMCJWWrLN7d+0tMjIyIcPH544ccLW1pYOMcTHx+fSpUunTp1ycnKiQwwhlqZCiKWVAIilqYSQkJBbt26dPHnS1dWVDsmhaGlCoTArKysjI4PH49GhvEik0jc+3udtbc7YWJewz64Pnybdsu1/3r7fOfL53U//818PWgZn8ErU/lloiKUxgpGlQc6GDh1asWLFffv20SHm4PyTgp5mCLE0FUIsrQRALE0lmJqa9uzZs1KlShcuXKBDcihampmZWd++fevWrXv48GE6lJdMPu+C3WfUSsn7rHhmM+zyl77n7MmH0WfIJce4TOVO//8NYmmMYGRpTk5Os2bNatWq1ZkzZ+gQQzgcTnx8fGxsLE5E6RBDiKWpEGJpJQBiaSrh8+fP48ePb9Omze3bt+mQHEos7dfvHsi1tI9+vh4x0T7xcSXmY2juMeyyHbRj+zu/N98TyOfXn5fe8Suee/c//3UwsbQciKUxgpGlicViLpfLZrOV3rrxO7x69ap3797wvKtXr9IhhhBLUyHE0koAxNJUQm7nJhQK6ZAcipaGE02I2osXL7y9le85uZbmGx/PFQpFEkmJ+Rg7BI265jD9rvt730S+SEI+v/6wBeInnrGDLjgQS8uFWBojGFnan/Ps2bNOnTrp6+sXeiwPYmkqhFhaCYBYWhGgaGlwOh6Px+FwlDodyLW0gMREYcl6P8FVx2BY2qz7HhaByXSIUDAiifT193hiafIQS2MEI0v7/v37vn37pk+f/ujRIzrEkJiYmE+fPuEsNDQ0lA4xhFiaCiGWVgIglqYS3N3dt2zZMnPmzPfv39MhORQtLSEhwdbW9uPHj0rf+gmIpREoiKXlh1gaIxhZmp2d3ejRo2vUqHHw4EE6xBDqFJTL5YoKezghlqZCiKWVAIilqQQLC4v+/fvXqlXr8uXLdEgORUv78uULzlb79OmjNDUglkagIJaWH2JpjGBkaThvPHHixLJly169ekWHGBIeHv727dsXL14ofVne70AsTYUQSysBEEtTCd7e3oaGhsuXL4eu0SE5FC3Nyspq6NChzZs3R4dIh/JCLI1AQSwtP8TSGMHI0rhcbkxMTEhISEpKCh1iyMePH8ePHz9gwAClr2H5HYilqRBiaSUAYmkqgc1mR0VFoXNLT0+nQ3IoWlpiYqKdnZ25uXlgYCAdyguxNAIFsbT8EEtjBCNL4/P5SUlJ0dHRGRkZdIgh7969GzFiRM+ePe/evUuHGEIsTYUQSysBEEtTCTgFTUhIQOemdJAgRUv7T4ilESiIpeWHWBojiv7pARsbG5yChhW22yWWpkKIpZUAiKWpBHd3961bt/7u0wPh4eFPnz69du2as7MzHcoLsTQCBbG0/BBLYwQjS7O1tTUwMNDR0dm7dy8dKnKIpakQYmklAGJpKsHU1LRHjx66urpGRkZ0SA5FS/v8+fPEiRO7dOmiNDUglkagIJaWH2JpjGBkaaGhoTh73LVrl7m5OR1iSEBAwL1795DJt2/f6BBDiKWpEGJpJQBiaSrB39//woULu3fvtrOzo0NyKFqao6Pj0qVLR48efevWLTqUF2JpBApiafkhlsYIRpZGvWI4NTWVy+XSIYaYmJgMHDiwQ4cON27coEMMIZamQoillQCIpakEgUCQmZmJzk3p+9OVPD3w5csXMzMzMl4a4dcQS8sPsTRGMLK0jIwMHx+fr1+/RkRE0CGGfPr0aeHChVOmTHn58iUdYgixNBVCLK0EQCxNJcDPvn375uDgEBsbS4fkULQ0kUjE4XBYLFZBL8sjlkagIJaWH2JpjGBkad7e3jt27Bg/fvy9e/foEEPi4+MheZ8/f46MjKRDDCGWpkKIpZUAiKWpBBcXl3Xr1k2cONHExIQOyaFoaThPff78+c2bN/E1OpQXYmkECmJp+SGWxghGloYTzcmTJ+vr6x87dowOMYTP56enp6elpSn9WeF3IJamQoillQCIpakEa2vrYcOGNWrU6Pr163RIDkVLMzMz69Onj56e3qFDh+hQXoilESiIpeWHWBojCvH0wO7du//k6YG7d+9evXrVw8ODDjGEWJoKIZZWAiCWphLQNRkZGe3Zs8fe3p4OyaFoaThhXbx48ciRI2/evEmH8kIsjUBBLC0/xNIYwcjS/pxnz5516tRJX1//4sWLdIghxNJUCLG0EgCxtCJA0dKoNxXgtDU1NZUO5YVYGoGCWFp+iKUxgpGlsViskJAQLy+v+Ph4OsQQCwuL6dOn4xT0yZMndIghxNJUCLG0EgCxNJWQmZkZGBjo7e2dnKzEPRQtTSAQpKenQ9E4HA4dyguxNAIFsbT8EEtjBCNL+/r168SJExs0aEDuSysZEEsrARBLUwnU+9MbNmx47do1OiSHoqX5+/sbGRnt27fP0tKSDuWFWBqBglhafoilMaIQllavXr2jR4/SIYZQgxJlZGRA1+gQQ4ilqRBiaSUAYmkqAZZmYGCAU9CrV6/SITkULc3c3Lxfv37169c/cuQIHcoLsTQCBbG0/BBLYwQjS4uPjzczM7t//36h7/13cXHB+efmzZvRJ9IhhhBLUyHE0koAxNJUQnR09Lt37x48eODn50eH5FC0NJywLly4cPjw4eTpAcKvIZaWH2JpjGD69IA0B3qaIc+ePevcuXPDhg0vXbpEhxhCLE2FEEsrARBLUxV016asc1O0NCQSiURCoVAiUd4HEUsjUBBLyw+xNEYwsrTU1FQ3Nzdra+uQkBA6xJDPnz+vWLFi1qxZb968oUMMIZamQoillQCIpamE5ORkJycndG5KB9xWtLT/hFgagYJYWn6IpTGCkaXZ29uPGzeudu3ahw8fpkMMwfknm81msVg4C6VDDCGWpkKIpZUAiKWpBEtLy0GDBunp6V25coUOyaFoaRA6nG6iN7x79y4dyguxNAIFsbT8EEtjBCNLs7W1NTAw0NHR2bt3Lx0qcoilqRBiaSUAYmkqwdTUtEePHrq6ukZGRnRIDiVPDwwYMEBfX7+gB6mIpREoiKXlh1gaIxhZGovFCg4O9vT0jIuLo0MMsbCwmDFjxqhRo54+fUqHGEIsTYUQSysBEEtTCdR4aejckpKS6JAcipbm7+9//vx5nK2iR6NDeSGWRqAglpYfYmmMKMTTAxKJROkNtr/D8+fPO3fu3KhRI/L0QHGAWFoJgFiaSpA9NVBw56ZoaTweLyEhITY2FnJHh/JCLI1AQSwtP8TSGMHI0iIjIx8+fHjixAlbW1s6xBAfHx/42cmTJx0dHekQQ4ilqRBiaSUAYmkqISQk5Pbt2+iaXF1d6ZAcipbGYrHCwsICAwOVXnkDxNIIFMTS8kMsjRGMLM3JyWnGjBnNmzc/deoUHWIIl8tNTEyMj49HL0eHGEIsTYUQSysBEEtTCTY2NmPGjGnRosWtW7fokByKlgaVW79+/bRp0x48eECH8kIsjUBBLC0/xNIYwcjSPDw81qxZM3DgQKUvUfkdUlNTfXx8kE9CQgIdYgixNBVCLK0EQCxNJTg6Oi5atGjQoEFKb5lVtDQzM7M+ffro6ekdOnSIDuWFWBqBglhafoilMYKRpaWlpUGwcNIZGhpKhxhia2u7fPnyWbNmmZiY0CGGEEtTIcTSSgDE0lRCSkqKi4sLOreoqCg6JIeipYWEhNy5c+fcuXN2dnZ0KC/E0ggUxNLyQyyNEYwsjbq7ViwWFzTg9n/y/PnzLl26kKcHignE0koAxNJUQm7n9ltPDyAdn8/ncrkFDfxILI1AQSwtP8TSGMHI0sLCwm7dunXgwAFLS0s6xBA/P78bN25cvHjRzc2NDjGEWJoKIZZWAiCWphICAwONjY0NDQ0dHBzokByKlka9qeDTp08FvYaFWBqBglhafoilMYKRpZFRbUsYxNJKAMTSVAKzUW2haMuXLx83btydO3foUF6IpREoiKXlh1gaIxhZmo+Pz+7duydPnlzQg03/SVxcnJ2dHU5BIyIi6BBDiKWpEGJpJQBiaSrBzc1t06ZNU6dOffv2LR2SQ9HSbGxsJkyY0Llz5/Pnz9OhvBBLI1AQS8sPsTRGMLI0FosVEhLi7e0dHx9PhxhiYWExffr0kSNHPnnyhA4xhFiaCiGWVgIglqYSMjMzg4KC0LklJytxD0VLCw0NvXv3LhTN3t6eDuWFWBqBglhafoilMYKRpfF4PPhZREREeno6HWLI+/fvR40a1adPn4JeUvyfFIWlScV8bCqPJxCKqTuJhXyBWCIp5PsWGCOViARsFrcIDJRYWgmAWJpK4HK5cXFxkZGRSt8moGhp/wmxNAIFsbT8EEtjBCNLCwkJMTY23rZtm6mpKR1iSGBg4IMHD27cuOHp6UmHGPJXLU0iFqXHhzmYvXvyUMbzl2/s3b+HhQd+fGcVHJci/LuaJhUK2PFRod7fnN+bvLh3712qqLDv4fptiKWVAIilqQR/f/9z587t2LHjy5cvdEgORUvDeaqPj4+rq2t0dDQdyguxNAIFsbT8EEtjBCNLQ/81fPjwypUr79+/nw4xRCqVirIp9Fgef8/SpGJBcoTXFcOVbcqUrtOoZafOndq2bNJ96NRVq+fUrtve6NWXVP5fvbwlTEsIeHrp4OzR3dXUS1WoPsA7s7Bl9NsQSysBEEtTCWZmZr17965aterFixfpkByKlmZhYTFgwIAGDRocOXKEDuWFWBqBglhafoilMYKRpXl6em7cuHHYsGFKX6LyOyQlJbm5uTk5OcXExNAhhvw1S5Owk0KfHZipoalVo1G7k49tQiPC3D89XzOsX4taFUppqW+79jYqQ/nQSKpBKsxIDHt368zSAQ3UNMpUqDf9eya5lkb4b4ilqQRnZ+fly5ePHDny5cuXdEgOJU8PjB07tkOHDmfPnqVDeSGWRqAglpYfYmmMYGRpf86zZ886deqkr6+v9IT1d/hbliblRri+nVhFp6xutTnn5QZMEqe8Pz6xRe3yW6+aRGYI6OBfQ8hKtLu/lVga4fchllYEKFpaYmKinZ2dmZlZYGAgHcoLsTQCBbG0/BBLYwQjSxOJRFlZWWlpaVwulw4xxMTEZODAgTgFvXHjBh1iyN+yNBEryO5J3/Jlyleqsf62l1AuY0mm97y+7ZcefuAbz6ZDQJpN9h/ZI5Yrf7pANo/6iVcsye9cOXngHwnAX2Juiuvbw/9/LC2nBIo30h+F/oG+CCCWphKEQmFmZiY6Nx5PyZFU0dLQarHPY78uqGUQSyNQEEvLD7E0RjCytG/fvq1fv97AwOD69et0iCHJyckeHh6urq6xsbF0iCF/1dL6lS+jplGuQqPlX8PZQlFu5mKro1OXnrrnEpGB7hneJRTwUWwpaSmZfH5WRnJEWICvX2BoZAJPIPppHFKJkM9LiQn1+ebh5uzs7h2SksGGqtHzxGIBn5OclJqckinkZiXHRoaERiVzhCJFS5PwuVwOh8OiYHOxViqUmn9raSKhKD01PTM9szg7EA7H7Cx2QmwCjsh0qJhBLE0lODo6Ll26dNiwYS9evKBDcihaWlxcnJWVFU46fX196VBeiKURKIil5YdYGiMYWVpJfveAlBvuajKuUgU1oK6lWXHQI9sAfo6o8bPSOHyhWPpDLMgK8/l659SOvp2aD5oy0+jq6XlD28i+oqZWsXaTWYefJVKeBpdjh1/fMr1C2VLq2SBBr4UHbAPjcRQVclL9ncyPr57Qoc/oOYZ3bhxe26KUllqlZj2W30/mJOexNI7v1gn9u3VsX6ZMGayWRvMJFz54p6vud9d/aGlisdjireXmJVtP7jnl7x1AR4sfWZmsHSt3LRi76LO5rVDwN29MLCzE0lQCs3cPWFhYDBo0qFGjRseOHaNDeSGWRqAglpYfYmmMYGRpwcHBFy5c2LRp04cPH+gQQ0JCQp4+fXr37l1v70JqwV97euAHPz3W7NJaSrnU1DVLlynbf9lxl/A0Aews51e5sC/3pxp0Kl1KW1NDQ1NLq1R5/bZdx0wdM6iuloa6ukbpGk17bzbhSH8IeekmW1vplNWuOfWiX1QiKz3w3NK+DauXG7b+opO/1+V181roViilraWhqalVqjRy08AStap2GrLOPzkp19K8ZM94SuJdHtTXq67Rctr5F1+jk7MEOZfjVMK/sjQomulrMyja/LELty/faWelfGTQf45UKk1JSsVKzhuzYNHEJTZmn3ncYtfNEktTCX5+fqdOndq8efPnz5/pkBxKLG3gwIH6+vpHjx6lQ3khlkagIJaWH2JpjGBkaTi4crlcFoslEBTyes6rV6/69OnTunXrq1ev0iGG/D1LQ27slOjXFzdRnga0y1aoUq363qtv4tKhXjLEAm56gvfJFdP0tbUqtBy88pJpVEpaRnKU/fOzYxrrqGlo6jXrYBqUzkn5tkivkqa62pA97xMy+fiez8u9XZrX6rHwhK1/Aiczw/HZqYm9GmIR7QaMv/rm81er56ePnX5i5iXgUL94lq3QcFEgTxJlf72Zfu2uS47Z+Eex+NjdVWhoMv6JpYlEoo+vTLcs3bZg3CLYz+7Vex0/O9HzihmUpWElqc/yqSs/fbThsAt5U+Zf4s8tjcdipSSmJCWl/Cfx8fH4NyMjg8UTFsEwz0VpaWiW1K0FQqGSK6aKloZ+MDY2NjIysqABvomlESiIpeWHWBojGFkan89PTk6OiYlROjz37/Du3bthw4Z179799u3bdIghf8/SgFQi4WYmeTm83Tq1raam7AoXqFSt5sjNF90jU+iuVhB1a8vC5mVK9Zu20tQ/TbYGUgk/NeTlpfWyxDUbbHnsI+Slvdg/t3XbIcZWoSy++IeYbXt7XdvG1cr1XHPfNhgHgTR/yzUzB6iVajBl1dnQTL6Qz0WRcnhC+ukB9VJlKvU4ftmwUf2aU3Zf84pI5ItVvKUURW9pEP0PLz5uXbadUjSZpa3Z62T7v2Fp+KyetdbqgzU7S+45kn/Nn1qalGt2cNfYVi31f4MGDRpQfzRs1Kj1oHGLtx66Z2LtH5kCZ6NzUylFaWk8Hi8xMRHqBVGjQ3IoWtp/QiyNQEEsLT/E0hjByNJcXV0XLVrUpUuXCxcu0CGGwEXCwsKCg4PT0tLoEEP+qqVlI5UIuYlRgR8fnuxVVbdU9i1lZavUmm340C82SzZfEHV7y8IWZUoNn7/ha2TOZRUJN9D51eR2lSrWqL/6tidWLCs5JjAoPDEm8MO9o0MG9Gxct1qZUprley1/8CUIB1JOtOOmJaPUSjeZse5KDO/nNQna0tTU1TXK1qxVXb1c51c+0Vzx37poUcSWJlO0lx+3Ldu+cPzipZOXr5iyctH4xf8rlrZ2xvpF45fMH7Nw3dwNFu+ssjKzG0Mx4I+vpUkSg/zsP5pcO7VrcE/6JsvfQaN02YpVquvVb9isResZqw+YuYexVS0jRWlpdnZ206dP79q16/379+mQHIqWFhAQcPHixQMHDlhaWtKhvBBLI1AQS8sPsTRGkKcHKCRiIY+VwZZ7CRSPlfLd/s2GsU0ql9fEMalS02n3rXw5WGCOpY2cv84hKveaiijmu/XmATUoS5NdlOPFvb20d1Dfbh3HrTh55/k1w0UtGlTT7rr8ro3M0rixTpuXjqYtjZvf0mgalKrce8Oj0DTZYv8GRWlp1FW0bct2QNGWTVq+ed6W9bM2LJ6w5H/F0jbN3bJl/rYlE5fNH7tw44LNFm8tMzMKeUVZtfz5L54SsUjA42SkxHt9fbNs9nC68WWjrVurw8ydj998sLT89OmTpZnZ+6f3bx7eud6gY40KpemLzaBClZrNus04ccc2kafKplp8nx5AYYwaNapt27ZnzpyhQ3khlkagIJaWH2JpjGBkabGxsW/fvr127ZqzszMdYoi7u/vRo0f37NkD4aNDDPk7liZNCfd6fHzdKZtIOkAh4UZ4PZvTtnFFTQ01nb4XXjlniKQFWJowxtd686AaFWs2WHPfS8hLfLF3fLtGtVuN2/TAyj0+g+P18mDXFnU0Oy+/8+m/LU1dq3T5ZoMWzR6sq6WpXaPFllt2SVl8OoVKKTJLE4lE8lfRtszbumfp3o1zNsHSlk1dce3sDQ/nb8Xw4+7k8dnclrK0zdnrvDVH1DYv3mr+xiIjLYPewn+HCp8ekAhSTG8d6F2/PC1fODmp12L5DUcOX5A9MphIKBRwWJkJMZFeLp/un9nYtEFNOh3QrFiv7bSTd+3TBSq79FuUlhYZGfny5csbN24ofbBJ0dJcXV3Xr18/ffr0hw8f0qG8EEsjUBBLyw+xNEYwsjQca1ksVkZGhtKBH3+H169f9+/fv127doUece0vWVpapOe1zeO6Tz8VK+dMMiRpN5b0rqerrVah1/mXTunCn5Y2asF65xgOlUoqzvK1uWdQp1yN+o1vO8ckfX/Rtk5ZjTKtzpl+T+fLBufwfX2IsrTbnwKF/3ktTbOsTvP5Nh6f1xjULqutXqdlzxsWXulc1Xf1RWNpYrH44yvTrZSiZV9Fg+7sW75/45zNiycshQCtmb1uz9p9xfKzd8fKnZSlwSz3LtuHz5b525ZOkona1qXbzUzM01OV3z5eZKjQ0rB7eZicn9a+Ei1eamrV9Ftve6K0I5WyksOfXd7RqnEdOinQqtx96jYTjzg6yR9TlJYmFAqpzo3PV3JGpGhp6enp379/d3NzK+hVd8TSCBTE0vJDLI0RjCwtOTn569ev79+/9/f3p0MMsbe337Bhw9KlSz9+/EiHGPKXfvFkJwY/OTy7ol7XVddsMuTvAxPHn5/UvU55LY3ms+9Y+3GxwBxL6ztluZlvCpWKlRj05NiCajrVWk/cFpqWFfnlQvZBq+Y1m0C2QCwVpZocmtmijk7ZHsvv2QZxhOKsCPvNS0aqlWkxc+PNWL6cpXGSXV4bykbiqD/bj8MP/nx+UK0qpdTV2/af+8oxJEugyp+TQBFYGhTN7LX51qXbFoxfJK9o+GxdsH35lJULxi5aMHZhMf8snrBk56Jd1Gpni9pWbAs1jAi27t+KmkotTeD59sLMTpWznUuGzNIe+dAz88FJDjy5enjDaqXo1GpqFRoM3HLBMktFj38WpaUlJCTY2tqicwsNDaVDcihaGk5YuVwum80u6HF3YmkECmJp+SGWxghGlubh4bF69eoBAwYUehyN1NRUnIJ6enomJibSIYb8JUsTZESbXt+grl22SuuhS3fe9wpPyspipSaEmd/ZPFC/ZlkN9TGbL7tHZj/RmWNpNfRbrjt4wT8qISkm6M3tI33aN6nVfNiZj/4CITfG6SZ10OoxfMrRM+fWr106oI1exdIa2np9J09esv/ys6dPriwc21lNu/74pSf9UnJHdpByUyNenZ6ppl66fO3xzikiiTDl/cl1NSrpqGno9hqz4cXn7xlcVQ6s+rctDYcwi7eWW5bIBt1YOmmZvKLhg7+3Ldi+ae7m4v+hLqTlrrlM1ObRorZjxU7T12ZpKf9M1P6hpf34IfF7f3xQpwZ0aqBdbcqqQ4EqeuNtUVqag4PDwoULBw4c+PTpUzokh6Kl+fn5nTlzZteuXWZmZnQoL8TSCBTE0vJDLI0RjCzN0dFx2rRpTZo0OXHiBB1iCI/HS0lJSUpK4nDo3wqZ8reeHuAmfzU5Ubpsufa9+ndr33XinCWrVq1etmhWvzZVqzTtPGXJRiuPQBZ1KSvH0nBIatC05dR5i5bMn96/T3e9rpMPGr9L4Eh+SERZsW4Lx/SkxvKo26jr4MnLNq9f3Em/TmlN3VqNOnbrN2HkgN4t6lVWUy/XqFXPRbvPPXcIE0kESSEexptWDutWT01NU7t8oxmrNr/5FhNqe7lurSqy459WzV7Dpmw2euEZkaKqzf57liaVSnlcnuV7q82LZUPX5le0//UPRA1bBFFbMHbRjpW7skWtkI8t/yH/1NJ+ZPq/GTuoI506m+GzVzjFqGakkqK0NOp5gGbNmt28eZMOyaFoaZCzPn366OnpHTp0iA7lhVgagYJYWn6IpTGC6dMDb968+cOnB44dO1b8nh74IRVxogLsd+zc++zdh+c3Dm7bsmHNmtWrV61eu37zwavP3UMTf44IlWNpzTv1WLph284dWzZt2rhl77HLrxwS2dQxUioR8wId3u3duW3rli079503dQxMjg95cdVo344dh6/ev3nxytkD+/fmcPDcTRPnCFhacrjXg8MH6SjYt8/UOy7O3/bk8SN0ZO/eo7c/+ESlFn9L47A51h8+bVmybd6YBUsmljRFoz57lu3Fdi2btGL+mIUQNbN/dEXt31oaJ8xsvEEXOnU2BjOX20cqGXKsEBTx0wMvXry4fv36bz094OnpuW/fvhUrVrx69YoO5YVYGoGCWFp+iKUxgpGl/TnPnj3r1KmTvr7+xYsX6RBD/pKlQa3EYkFWpuwKn1Qq5XMzU1JSkhNT0mSvSM+7lBxLG7Nog0sMSyTgsFhZbJ7czWU5iPlcIEJ22ZNSsQCI/874tIXjL1kaK4v1ydRm69LttKLN3SL/c2FJ+mSL2laZqI2FqO00fW2eVuT3qP3ja2nBH8cO6UynzmbozBVfI//3rqX9GkVL43A40dHR4eHhBQ38SCyNQEEsLT/E0hjByNISExNtbGyeP3/u4/OrjvsXODo6bt++ffXq1ebm5nSIIX/N0n4bQfTtLYtgacPmrrOPKEZj0BeCv2FpUDQb089bl8kUjfqhs6QqGvXJ/ulz67LJMlHbvmKn2RuLzPQiHUft31pamM1Vg+5N6dRAU3fckr3eSf9796XFxcVZWFi8ePEiMDCQDsmhaGlsNjsiIiI4OBgnc3QoL8TSCBTE0vJDLI0RjCzNwcFhypQpjRo1Knn3pf0+IlbYlXVzm5TW7jZ24Uu32P/p/lflliYSify9/bct2wFFWzB2UYlXNOpDidqSScuw1bvX7HX+Usj7AQrHP7Q0MTvhyo5ZTWtXoFND0qp1XnLweZKKhkwrSkuztrYeMWJEkyZNbty4QYfkULQ0nKceOXJk48aN7969o0N5IZZGoCCWlh9iaYxgZGmurq6LFy/u1q1boX+vzMzMDA0NDQoKSk1NpUMMgaXFPdkZuLv3P7E0TkrElw835w/tWU1To2rT7nO3n7FxdsvgF6MfMRmhckvj8/mu9q7Lp62Erywct3jnYnr0ihL/2bFo18qpq7HVGxZsev/8A10cRcK/sjQxN9XllVG31o3opNno951x4aO/3Cs8/oiitDQ7O7sZM2Z07979wYMHdEgORUuzsLAYPHhw48aNjx07RofyQiyNQEEsLT/E0hjByNKSkpI+f/786tWr798LWbYODg7btm1btWpVQQ+w/xdSfuy3FNNt4acHJrz9B5YW5/l+74b56J9z2bL/aFCaKkfHKEpUbmlSqTQhJuHSceOlU2SjVKyZsW7Xkt0KQlPyPrsW7147Y93CcYugp5ePG4cFFulNVH/V0qo3bLPzqS89k0Iq5nNZibFh1q8uj27TWEdD9qJbiup19LccN47I+MN1+ElRWlp8fLyVldXr169xDkmH5FC0NA8Pj507dy5atOj58+d0KC/E0ggUxNLyQyyNEYwsTSwWc7lcFotV0FCO/wkMr0+fPq1bty7MiGtSsYSfwAu+w3JcGH9/eOKHM//mvrQSxN+4L00ikcRGxxkdvrBksmyA/tUz1kJiFLSmJH1kijY9W9Gmrrh47FKwXzBdEEXFX7W0KvVarjF2yMxMT0lOio2JCgn0d3b4/P7Fw6M7F9eu8TOZZvnKdZu02njokm+sKu/ULEpLE4lEHA4HnZtQqOSkS9HS/hNiaQQKYmn5IZbGCEaWlpCQgNPNJ0+eeHp60iGGODk57d69e/369ZaWlnToN5EIJexIfogxx3k+++vkxKcjky3PEUv7Q/6GpQGIWmJ84tmD5xdPkr0ASiZqS/YoyE3J+OxaIlM02Zi9U5ZfOnY52D+ELoIi5K9ampp2Nb12S27cunzyqOH6lYtHD+qhpaVJz1JTK1WqXOWqNevrN+46afXljx4pHBXbSFFaWmxsrKmpKTq3gIAAOiSHoqXx+fzk5GR0iNA6OpQXYmkECmJp+SGWxghGlmZra2tgYKCjo7N37146VDRIBOIMX57vIbbjDCgaPsmvR6faGRFL+0P+kqUBqUSakpxyat+ZRROWQNRK5E+fu5fsWTN97cJxi5ZMWgZFCwlQ8mahIuDvWpq6hmbpsuXLly9X+ucvmxSa5Sp37T1+m+FlCwe/1Cwl7778c4rS0qBoPXr00NXVNTIyokNyKFqanZ3drFmzBgwYcOXKFTqUF2JpBApiafkhlsYIRpb29evXiRMn1q9f/+jRo3SIIQKBIDMzMz09XekrjZUjEYiS7LgeG9lfp1CKhk/qh7EZLheJpf0hf8/SgFQqzUjPOL7r5KKJBYra3mX79izd+z/wWaY4JC+Cq6etgaJBQ6FoRXwvmjx/1dK0KlRq2H/C8mXL5o6sU1Zb9i6NXGqP22PzPRbHIPqrf4GitDQrK6uhQ4fq6+tfu3aNDsmhaGnm5ub9+/dHV3jkyBE6lBdiaQQKYmn5IZbGCEaWBseCYCUnJ7PZhbz75M2bN4MGDerUqdOtW7fo0C+RSgTCqOcc18W5fkZ9MizHs7yMiaX9IX/V0mRIZS8hOLbzRO4Vtd1yP33uXLx77cz1SycuW1LsP6umrd699Oea4+/V09csGLcIn0vHL4cHh9Pb+y/4q5ZWrWGb7c/9f/wQc9L99w/X08p7QW3mvpt+MZn0qM1/gaK0NJw3Up2b0kGCFC0tKCjoxo0bJ0+eLOglKsTSCBTE0vJDLI0RjCztz2H07gGpKIsXeJ7tNEdB0fBhfZnEC7xOLO0P+euWlg0ri5V7RS37HjX6itqmOZsXT5DduPY/8dkyn37h+p6leyFtC8YuQvDyceOIkMict0v8G/6upeWOxCEVcKIsR1Qqr6X+09Q0NDS3XngamaaaMWzzU5SW9msULU0ikeCcFWYnKqDEiaURKIil5YdYGiMYWVpwcPDly5e3bt368eNHOsSQwMDABw8e3Lx58z+fP5BwInnf97AdZ8n/0Cn/4Qdfloq4dGpCoSgaS4PEpKemn953Zskk+qnPndlPfW6cs2lx9jW2fRsOPLzxqBh+Hlx/eP3cTcrSNs+TWRqlaAvHyRTN+OSV8JAIHK/p7fxHFJGlyc6a+BG2F3XKl6HnZVO6av9Tjx1SlLwgTQUUpaX5+fmdPXt227ZtSq+OKVoai8UKCwtDd5acrNxUiKURKIil5YdYGiMYWZq9vf2YMWNq1qx56NAhOsQQnHlyuVwOh6P0cfccpKJUF47HOrbDdAUzk//w/E9KuHH0N/IilYi9X2xv2axR/4HjJk2aCiaPHNm2RYu6OXTs2BEbMnrguFXLj7rG/P9VvaKxNABRS05IPmdoRA3PsWb6ul2Ld1OWtmPlrs/mn7kcNIti9+GwOTGRsbmWtnvJHtlVtGxFu3LyakRIhLgYHH+LzNKARMj+cGZB1Ypl6dlAvZRu5wVXLXwK+S6RX1KUlmZhYTFw4MDatWsbGxvTITkULQ0qN2XKlB49ehT0owCxNAIFsbT8EEtjBCNL8/T03Lhx47Bhw27evEmHGIIzTw8PDxcXl7i4AgRLzBdGv+S4LWM7TFXQMoUP7/t+cUaBVcxNjXT+/PbQQoN6NaqUK1eu+4jp2/YeOpnDkX2bZxj0qFe2/MBx82zCsujv/P+jyCwNSCXShNgEo8MXl01ZAdFZPWPtmhlrYWm71+x1snWiExUzIJcpSamUpW2cs3nl1FW0op26Fh4SXtCPXUVMUVoa4KWHnV3QtmqFn+NxqJXSaTF5x3OXCJW7SFFampOT07Jly4YPH/7ixQs6JIeipZmZmfXp00dPT6+gE1ZiaQQKYmn5IZbGCEaWxuVyY2JiQkJCCnrF8H/y8ePH8ePHDxgwQMlrWKQSiSCFH3yZ47JIQciUfriem0VJdvR38yOViARcp1tr9Gvp4jiy6tQDr7CE1BySE+PCPK2PrJo2fvzsT8XO0qQCdqr1hS3Pv2eI/+YDdKAoLQ1IJJKYyNhLxy4vmyoTtYXjFs0fu/B/xdIWjV+yYOxCWtGCI4qJooEitjRUY0qwxfL2zSpp/nzkU0un+ri1xx1UfdQuSkvjcDhRUVHo3NLT0+mQHIqWhrNMS0tLExOTgl7DQiyNQEEsLT/E0hhRXJ4ekAglrGCe/1GO01wFGyvow3FbIYhV/qbjXBKdbjTTr4WjyNZrb6Iy8v7GKs6ye3Tp+OatjnHFa8cR8TK8Pp7t2Lz+DfeUEmZpAKIWFRZ1+YQx9a5PfP5XLI36XDl5VaZowuKiaKDILQ21yA34aNyyYR06UTa6NeotN7zsm6DK+weK79MDYrGYx+PhtLWgWzeIpREoiKXlh1gaIxhZmq+v7/79+2fMmPH48WM6xJCYmBhra2szM7PQ0J9DgErFXFGqE9dnD9txpoKKyYaxdVD+9ADbaS4/4j6dRQFk+D5p3kh2LNly1SQqQ+5JNKmQx2PHhYVHBgWmM39XukTI57KyMrJYXL7S90pLpSJOSiJITc8SSJg8ACjmZ/nZPe7VoWGZ8jpXXBKxg9MzcsB6s7IyMzKyuAJB/vWWSkRCHpsjhF1IsjJSUzO4v1540VsagKhFhEQYn7y6fLpM1Lav2GlvbU/PK2YoWBrWuVhdRaP4B5aGhspNfnlxS9P61el02dRs2HXn+ZfRLJU9TlGUlubh4bFt27ZZs2Z9+KDkZfmKlka9qeD58+deXl50KC/E0ggUxNLyQyyNEYws7cuXL8OGDdPV1d23bx8dYggOezgLBfiDjgjShbHvuZ5b8t+IxnFbxXZeUOANag5T+cGXpJJfjQKQ4Udb2uarbyPlrqVJ+bHPnzw+c/19mki2Gty06E9PT8+YM2fRhi3r5mycM3feW1f/T/fWzJs9fRpYePyLbzxPnL3CEnag0/tD21ZPnDB+/PgJkxesPXLrY2hi7p3TUgE3zcXsztQpE8eOBmPHTZi8z+ipf2yGkJdgcsJwxawZyG/BXmMLrxh+esSLu+dk+YNl24489eDyM/wdngzp3R4rrKml1XnIuClTp554/z2TKzv0CtIjLR4Yrl40Tbbk8eMnTl1y4Mwjj9DE7C2Q8DnpwV5f7xodXr56tYWnn8XtAxPGy5Zu8i1eQK25Mv6JpQGJWBIWFG588sryqSsObjn8zaWQLxwrAtJTM6jLfkZHLoYHh4tFxe6A+08sDXCSgow2j2tYszydFKiXadB+8ol7TpkFNzlGFKWl4dSxV69elStXvnDhAh2SQ9HS7O3t58yZM2jQoIJeSEwsjUBBLC0/xNIYwcjSgoKCzp49u3bt2rdv39IhhoSGhr58+fLhw4e+vr5QNgk3VhDxgOu+RtHAvk7mee/mh9/nuC4paCQOfHj+xyX8JDprZeRa2ibj1xFpOIRlI+BEfHu9csH8mesvRfNkhxMhJ93X/uXGpeNL61bWLVunVv/FLuFx303WVdIpU7/HlB2nXwZAsySQiyznF5dWTBwzZdaS3QcNNywY0bZJjbqteqzff9o/kSszuNSI91e2jhzUY/CcLZdv3Lh8amuXKhXrN+k4cd/LwJjYb5ZvDRcNb1K7QulOc06/9eZxUz2cLI7sWD6wfV2tOh3HGr5n8bPCv31cv2iKvramVqnS45ds2rtn151PgSy+iBPruXfz0l4d2k6et+LY+YsnD2zo1blDbf12o5ftf/AlKDXe/+31PWOHD2zTpG4F3Up9R4zq3bq27KCprrHomlsWr8BjxL+yNABRCw0MNTMx//rJIS05jY4WPwR8gfWHT2+evJMpWrE82v5dS2vYevtT5ZaGc5J4f/MtE3rULq9Fpwba1VsNXXP9U5BAFWPIFaWlff/+/dixY+vWrfv06RMdkkPR0nDCipMraN2lS5foUF6IpREoiKXlh1gaIxhZGofDiY6ODg4OLvTTA6amphMmTBg4cOCDBw+kgjRhzJv87xVgO0zjB5wRp30TRDxkZ79bnfpwnGZxnOblvsoTH67PXnGmP521MnItrdPAUQuWrly9atXq1atXrVw+Y9yAZk27zlx/NZpLH0vEAk6Q6/t5I1qpa5Wu2n6k5fcAq4vTKtYecOjRl+h0LnVpIMHn/bqJPUdPWnTf1C0hNSXiu/mRFWPqldLSa9v/wHMvPifF7cOFgZ2bdBy//pN3tBBly446PK6pbhlN7V57bf0TxD/EXq8PD+pYT6PNzOOvvLKvAYqjPT5smdZds07HMfvfc8ViASvB6/ODgeXLlCmvc8kmJCEhPiWDKxYmv9izomH1yl1Gr3rx2SeTJ2ClRD67vKdXm/paleuPXHXE2uO7q/mt9fPH1dHSVNOsUKXhyJ1Hjm5bMXfk6GlXbcJ5MsFUzj+0NCCVSDlsDpfDzb2wWjwR8ATsrEK+bKMIUKWlSdkO90+Nrl+RMi5QpUGrDXc96Ln5kfJ8Ta9N696qgsbPoW41K9UfsGCfhU88neYPKEpLY7PZkZGR6Nx+6+mB2NhYMzOzFy9eeHsr33OIpREoiKXlh1gaIxhZGjqysLAwnHQmJCTQIYaYm5tPmTJl2LBhjx8/FrNCeP7Hc5VL9nGYwnGezw+9KWGFSkUcrvduttyQaVyvrTzv3RyXhT8jnptEyV/prJWRa2nt+w6dvXDJ0qVLly1btnTBnGE929Ss3gKWFpNjaUDISXV5e7JHrXJa2qWGTptl0E536uaHoakcuoeVZLw5tKJT3cpD56y5+dzU0tzc0vTR3tVTamtralZqNnylsZ+vw6HxPavU1j/6LiAnU4nX6/3Txgwdt+7W96g0uFKQxYVh3RvD0k688qJ+f038br13fj/1Wh2H734vu64n4cb5vh9VsXzZCjp3PelnPNMC349p3bhc2YZ7blnEZtK/22bFuJ1YObmOtlaNtsN23XfiiTK9LG+NaFChbOX6oze/SuHyEsO+2331SOJk/yJaAP/W0ggqQYWWxk4OvLJ7mX5pbcq3QBndekMWX4nMaXVK4CWaXt3fo0V9+gvZ6NZpMnX9MQf/+F81vt+gKC0tKysrJCQEnZvSU1BFS/tPiKURKIil5YdYGiMYWZqfn9/hw4cXLFjw/PlzOsQQnK2ampq+efMmKCgo29KO5SoX22Eqx321IPKZhI9eUirK+K4wJAc/7JYg4gHHY21uhOu2Qhj7q99ecy1txbGbTr5hERERWIHwYH+bp2emDB8xc8253Gtp2YhZycF3N0+uIrswoK6m2/uTf2LuTV3iLN/d4wfV1NbsOXL8lr2HDhkaHjTcvmrFvGHDDIaOnrH1yJ2vVo9HVq5Wr/VIl+SfhzRhVrTj50/O3mFsriwYZHZhWLf/sjSft5Sl3fKgn/H0e7O3Sd2qajp9r3/0zMo9CktYtrePD29aU023zaRNdxKE/DC3tyt7Va1Sr/nmx7/b8omllQD+2NKk7IzUqBD/r5YvjAxX9uvSnDItGo2ylfV6rN577IW5rU9AUFyakudRuClBlw2Xt6hfjf5KNlX1Go2ev8Po1ge378EJ6YV88LMoLc3T03PPnj0LFy40MzOjQ3IoWlp0dPTbt28fPHjg4aH8SiOxNAIFsbT8EEtjBCNLs7W1/fOnByTZ4I/s5wbeclyXyZTLcRbPe6cwzjT3pU/8kGsc2euhcizNeb4oyVac7Mj13pkb5DjPE4TfpdIrJdfStl1/F5358wAmzgq9f/ms4Yk7cdn3peUiFfPivD+OqF1eZmlVhtkFooOlE3AjP88c3LVM2QaLtx95b/3506dPVp8+2Xz+8uWL7ZevTr5BIV6Wt/vp1tbvstafk+84lkPhLO3bww2N6lSCpV37+C1T7upE2JenS0a0UyvdcOzisxEcQaTHx439q1eu23zTg99VLmJpJYA/tjSBn82z49uWjR7Qtl5VuTvM5NAuXbZt32Fzl6y4/ilMIFLyA3pykN3BlRPqV5V7kgBoVqxWr+fcNTtfu8XS6RhSlJaGs0cGTw9YWloaGBg0bdr0xIkTdCgvxNIIFMTS8kMsjRGMLC0wMPDMmTOrV69+8+YNHWJIaGjoq1evHj9+LHt64IdUwosXxJjwgy7wQ2+KU5xz354uFWZyPdbKP93J8zWUsIIlrFCe35HcoOwOtqDzPyQFHplyLU1xJA4JJzLI38crKI3FyUxPY+cMaiERcsNcXo3Up+/LmbPvVWQ6j5qXFWw2vF8HtfJt9xi/Tco7eIds/AtOgpvZrcG6Veu0HGMWqjhMLuaLIKaFtrRHmxrD0sr3vPreQ/6npxhXk9UTu8LSxi0+F8kREkv7/8mfWppU4Gf14Ni2FQv+i0WLl16zCVdqacgk8Ov703s20EnlWL9tzzuvRDoZQ4rS0nx8fI4cObJ27Vpra2s6JIeipTk4OCxevHjEiBEFvYaFWBqBglhafoilMYKRpf05Ska1lV1eE0ql8kcXqSjZnuM0W87GpgqjX0gFGRJBGi/I6Gcc9uZ3RCoo8AnBTL9nyi2NQsIP/fb12b2HzpGs7ElhepTX6dVja7frN2JgRw0NdbXKQy5Zfs/gydaNG+cwa2iPMhrqo1YetA9J/3lFSypKjfCzM3l069bFARXK6lTVW3TKhi3fK4synd+98gmL5willKVpt5t9ysSb0q0kX+t9C/pp1u44ep+ipd32SKUszefVtsZ1K6uVamh471M862dBRbu8WjWhs5pOy4lrr8fxybW0/6eo8umBYkZRWtqvUbS05ORkJycnGxsb+YEf5SGWRqAglpYfYmmMYGRpWVlZgYGBHh4esbGF/AnD0tJy9uzZY8aMga7RofxIRHz/4/LPDXBcl4rTv8l8Tirih91if5W7xua9W5wVRH8xHylud5pnv3tgy9U3ipYmFWfGeV7bs2yEwbQnnuhtpLyMaKsbO5vV6bDliVvM99fdmlXX0lRvOXHz14B42d1pwpjzS8Y01NEu32rolstvQxMzsfdJxIK0GJ8nJ3fPGTbt8JUrExpWUNMsX6np7Ptf/NK5QsznsVK+m92b3NfgjqlrKlccaHpuaNdGpVtMOvrYFSYnFfNDHZ6tG9deq2a7sTtesrMtLdbn7XCdcmUrVLzhIrM0LosV7X6/b/P6pdTVB6447RiSnNPji/zMb8wd0LRis0Hrjb/wpMII9w/r+lSDpW1+WNDQCYoQSysBEEtTCRkZGX5+fujcEhOVXPlTtDShUJiZmZmens7lKr/njlgagYJYWn6IpTGCkaV9+/Zt7dq1gwcPvn79Oh1iCE5Bvby83N3d4+MLelAfapPAdponP0waP/CshBtDzeaHP2Z//XmZjfttkyjZgZqlgETEc32wQb92JVjaAsObLoHRyampqWlpqclJcTGRfp4O90+uGdy56eBZ+wIzRSJ+hrfN/endGnafcCJGIJVKBDZGcyqWL4XvLjnyLCCeJZYKnR/t6NemJiJ1Ogxed+y6pa2Nnc3bi/uWjerVa8Hu55HR7jc299LV1FDTKlO+/QzjZ++srS1f3j03qUm7Yetvf4/JkPz4EWJhNLx7Y7WyraasMrJ0/u7uZHFm69yONcuolanfcfheG+8orpAb4/NucIWypcqWX33pS0jI95dP3oYnBZ+bO1ZPp5xa/cEHH1rFsnjSH1Juevj9Qys6N6jdf/ZmC/9UqYTra/tkRqtKlfSarrnr8ZujihJLKwEQS1MJ1G+YQ4YMUXoCqWhpERERz58/v3HjhouLCx3KC7E0AgWxtPwQS2MEI0tDRzZp0qQGDRocO3aMDjFEIBDg/DMtLY3HK6C5SoXCmDdsh2m5HsZ2mC5MsJKK6fH9+RGY+3OINa77KlGckmeyeOmxLl8+7JnRu2qF0vCqBh2Gr9i859S5c+cvXDh38viOjSuGdW1bVUOjlF63mYffpnHTAxxebJnevUod/UNv/WQHOqko+dutKpUq4LtqFfvuM34ZGJ/GSf6+ZdUsvSq6pdRlo0NVqaxes075SrUbTFu6zj2W/UPEjnQzmde5dc1KZWXfyqZc5VrNeq2z9kngZ/fTGYGWK6YPrli+tJp2vfad+vfq26tBo8Z6tauWLlOuTuOe45dei8jkJwXaLmxZX01dU71i/8XzxrToNt8hLDkhwGza2AG1q5RvPmj2mQdvndxdX904PGloj2ZDFp547cHisWKCnK8cXN2klFbZKnWGrD7/1cMrnVrkLymOlgZDFgn5aB88vkD4hyM50EjFouwMZTn+4oVdUolEKOBxZHB5/NznRoo7xNJUgpWV1bBhwxo2bHjt2jU6JIeipZmZmfXp00dPT+/QoUN0KC/E0ggUxNLyQyyNEYwsLTw8/NatWwcOHECPRocY4ufnh/PPCxcuuLq60qG8SEVsnvd2+QtpHI91YlYIPRuWFvWJ5bSWbZ9jad82ipLt6Hk54HAbYn6mS8d2zf6LAZMW3/gUmBRif2Fdb0y26tBjzK4Hafi+OPPlriEd2rSgkoHTz2X3hHETfK9vXtq/ZbNGjRo2bNS4Vd8xa86/DErO2fXE/LRQhxNrxjZt0rhRo0aNmzQZv/6cW2Sm4GcnLfT/9GjRZIMmjRvL5s7f+MLU8sb57YNHTrz02MInNJYtlAo5aU5P92dn0KRp+1lvXaOpYWkzY9zOb57Sq31T/WwaNmw8cu6Gl45BfKk0I8LzxoHF9Ipm07VHb8vw7JvtfkkxszSpSMBNign/5mxnbmpqZmb+ydbFPzSexaNdTchODQ8NCZQjKj45MysjITaSng4MjIyO4ciN4gvjy0yJ++7hZGlmZmpqavHJ3ssvIiWTS93w9xOpmMdOjwjy/fLJ7NWrF69ev/1g/sXLPzSNxS/+qkYsTSUEBQUZGxsfPHjQ0dGRDsmhaGk2Njbjx4/v1KnTuXPn6FBeiKURKIil5YdYGiMYWZrsxrDsoTTwLx1iyPPnz7t06QIBUf5iFalYnBWk8EoofthtieDnOJO82O8Z9vsyrCaw7KdxXBbygy9LhRn0vCJClJWRFB0dGRWbmJbFzf/AGwqIm56SkJCQmsFSeuVGzGdnpCalZGTxRJIfEpFIyOfnPbZKJeIsWQYpMLC83xenJcaGBAX4+weGRSVlZb/f808oTpYmFfLTfR1fb5wzRKdytZo1a1appKOmUbp0nWnXzFzTuUIURPinS327tqxYupQmNdC9drnhq468ePNw87wB5UppapUqo1u1xvCpc+0iqcuuKEVeYoT7ha2TyutWrVmrVvWqupoaGmoVB20zMgmOS0PnmZ1M9tM4OznM7O7RcX3bVa5Wo06d2jWrVy5XWqN6nQaGt6yS/7iQ/zbE0lQC1bMV1LkpWhoSibDnCiFgyg2MWBqBglhafoilMYKRpfF4vPj4+IiIiLS0Qr548cOHD6NHj+7Tp8+9e/fokBxSMUcQdkde0dgO08Vp335Ifo4/wY8PinuyM/zUgFTz9cJEO6lQcdgLwu9TfCxNIkx3e3tucvuqjTv0Pv78a3hk8Jub+8uXlf1aDfa99M7KNllRZtCZ8YPql5XdL6jebsGFd75iifDb+8vT+jZs1X/CJVMfds7vlFIJPzHo09o+1ctXrLruinlYfKKH+fXmjerIHt1VU5t/8I5/vOxpDSTkJny/tmFOi/LleoyY9uxrIE/ACXN9vnyI7AZEnWp6Gx58V3LQLk4QS1MJHA4nNjYWnVtmZiYdkkOJpYFfnLASSyNQEEvLD7E0RjCyNFtbWwMDAx0dnb1799IhlSIVpHHclstbGs97l4Sb53lSWFrMgx1Y4YQ3p9FN0lFCoSg+lhbu+HLD6Kb67Qece+tHRYScVMeHm2SOBmrMc4rKEGYfD7nh1kN6t5fdGVi65YZTr4KDHHcuH6fTdtTW+87yhpIZH3x9eeeyOlXXXHWmQz9+RHw+36KhTL/UKg+//NqNhYOnMOn5njWdypftOnrBi5zBV/mpIW+MFsteQFGuat0ZV7MKOBAXE4ilqQRTU9MePXro6uoaGRnRITkULc3Ly8vQ0HD16tUmJiZ0KC/E0ggUxNLyQyyNEcXI0iR8UbKjws+dwujXUlGe+6uIpamQYmJpUk70k9Ob65Wt3W/cdq94jiD7Rn8eOyvC43G2o0GXNM9bBWRRz0NIJe7PDXu30UNUq6x+PZ26tSt1mL3lXrj8IHXCzADbO83LVqhSf6xdFEsoyxCIeHG2bVs1ojJcc+peSBo/xu3ZwjGdNXS6Ltn3IkWc05xEmf5WdwfplCtTudaYwxbF/BBLLE0lMLM0CwuLgQMHNmzY8OjRo3QoL8TSCBTE0vJDLI0RjCwtJSXF0dHx48ePAQEBdIghdnZ269evX7x48YcPH+hQDlJBOi/orLyisZ3niNmh0Dc6RTbE0lRIMbG0RB/LXXP7a6hraJcuV7lqtVyqVKZfAgHOWAZl5bzyQcSPvDhnXNMypdTUNDTUNIbOWmvllyL/PAA7Meyp4TRNNXV1zdKV5DKsVrWSlqYmleHKk/eDUzKsjLcMbFKxycC51yyD5TKQivns5MhgP7+QZE6+wZCLGcTSVEJSUhJ6J3RuYcqWpWhp7u7uW7dunTdv3tOnT+lQXoilESiIpeWHWBojGFmaRCIRCAR8Pl9U2IPBy5cvccLavHlzY2NjOkQhlYg54WznefKWxvM/IZW9eT0PxNJUSDGxtFjPd1tmdFHTrt3NYNUrC2sLUwozU1MrKyvZXx/N7OJZfLmhMcTJ3h8nGnSjfGvu5r3BWXmOg1kJgfd2D1fTKKdbf9wzSxvL7OyysbS0NDMzQ4afg2OS+ezoK+vmNC2r3W70kkeOUfSXaWS3HYkVnwUtjhBLUwm5nZvS5wEULY3H4yUmJsbGxiq9iw0QSyNQEEvLD7E0RjCytISEBAsLi0ePHn379o0OMcTZ2Xn37t0bNmzA0ZIOZSMVsYSx7xV+7hQlffkhVmzVxNJUSHG5lub7acf8QWrlWg5fcD2Ox6fGNssGB03qD4HC07JSQdTRhZPqlpK9HbzBgBkXLHzlD4TspPCnh2eraelWa7c7soAMxRKJlB95dc3spqW1W41cdPdrBP3l/zWIpakEGNeHDx8eP37s7+9Ph+RQtDQ4nTAb8own4dcQS8sPsTRGMLI0Jyen2bNnt27d+syZM3SIIWw2Oy4uLjo6Oisrz7OZEl487/t+eUXjuC2X8uJxOKZT5EAsTYUUE0tL+G6xfV4fNa0a/Sfu+J6m/IiGo6H843RBn+9M6dumdPYDm1oVqoxevudr2M8WxUoMfXxwsppGmSoNxjrEy72gXg4cZyWc8EurZjYqpVW23rCtRrbc4v2UQEEQS1MJnz9/Hj9+fJs2bW7fvk2H5FC0NBcXl7Vr106dOvXBgwd0KC/E0ggUxNLyQyyNEYwszdHRcdq0aU2aNDlx4gQdYgiPx0tJSUlKSuJw6HcJyJCKxOnfOE5z5C1NEHpNKmLTCeQglqZCiomlxX17v2V6VzV1rUZdRl4w+zmCcS4pno8mLn0YkpBF1TcnxmXt3JHNBk9evGHl4D5tIGqV6nZdd+xlYs4YtFnxQfd2jVRT0yhXqd6Gu15UUJ6MYMsd+x+8t/pyZe3cFmW01bQqj1q81zUmb3uTCtKjvM8uPRHGKdb2RixNJXz69GnkyJHNmjW7ceMGHZJD0dLIuweIpf0mxNLyQyyNEYwsLS0tzc3NzdraOiREyaH0d7C1tV25cuWcOXPevHlDh2RHw1RBxAN5RWM7TBFn+PyQKDnkEEtTIcXE0jIjnQ6tGwfZKqNTdfD0VV9Dfo7GJ5WKWdGOKw069ln1KCI5e4QzcdLrvSva1u84d/9tl8CAx6dXdWtYTk2jfJP+cy9YBlKHQ35GjNn1tchQQ0u7Qcch770T5G8w4yZ+P7lqytD5R947B1hc2jCgSXmkrNagy9qjzyIycpqcVJQZ5319x/R2gw7EUUOAFFeIpamE5ORkZ2dnuFpkZCQdkkPR0gIDAy9fvnzw4MGCXsNCLI1AQSwtP8TSGMHI0v6cZ8+ederUSV9f/+LFi3Toh1TCCuV6bpaztClcry1SYSZm0UnkIJamQoqJpYl5SR9vGXavWw62VLFqjdFzVj6xcItNyUhLjHQ2ezR1TP8qVQdesw1iy960JfG3NJrYuXHf8etNHEO5YklSgPWh+cNqa2lq69YesXS3a7Rs3BapiBPs+mpUc9kjohqaWl2GjL/0/FNIbGpGaryvw8cNy6Y1ajhw+6X34enceM8XC8d3QTI1jXJ6jTqt2H7wk5tvRFjg1/ePd04d2bNd4+0PvhXzhzyJpRUB5OmBnxBLYwSxtPwQS2MEI0vDWebDhw9PnDhha2tLhxji4+Nz6dKlU6dO5b4sTyrmChM/sx1n/rQ0h6mC6Bc/JMoPjsTSVEgxsTR4WkLAl2PLRlXOvs+sbAXdDn2GTZs1d87MyQa9O6pp6S3cbxKdyZf8EMV4W6yY3LNq01577pjHsmQtBDZvc3Pv0Kay9+JXr9d6+f5bwckcyBwnLcLk5NIamhoyA1NTa9a5/8Rps+fOnj5mcM/KlfVHLjxl75cgkP4QcxLf3TnSu4M+laxqzTr9ho2ZPGnc4B4dm9asPWf72fA0MhLHP6MoLS0kJOT27dsnT550cXGhQ3IoWlp6evr379/d3d1jYmLoUF6IpREoiKXlh1gaIxhZmoODw5QpUxo2bHj8+HE6xBA+n5+ampqSksLlcqmIhBfHC774U9G+TmE7z5VwIjGHSqAAsTQVUmwsDU6e6efwfuecMS2r0W+FAprapRt2H7vp4E3fOLZYwnd/eXbtzEHVKldQq9J87FZjp9AkVD87PuC64aKWdcrIvqBeurZ++xV7T9mHpEvFgtRIj7ObF3ejZuVQq1WfeRtOfvIIZwnoxpMZH/zm7ukp/bvW0tIsW1a9SiV1NY0K1Rv0XW94zjUsnUpTnCGWphKsra1HjBjRuHHj69ev0yE5FC0td7y0J0+e0KG8EEsjUBBLyw+xNEYwsjQvL6/NmzePHDny1q1bdIghiYmJbm5ujo6O9CmoVCJO9+K4rfxpaQ7TeL4Hf0gLPNgQS1MhxcfSgETAjv5uf+/0vvVrVq9cuXrNmrVbdu279dYhkUPdUybw+nDj9FHD/dkcufnOKyIF1c9JCvn44jYVpDhrfNM5PPtnKImIFR/0xvjQxrWrV65YDdZv3nbhwQf/2AzZb6dy8LOSPMxfn9+3Z//ercePbd+6/aDRDdPQRCUPrxRDiKWpBGdn5xUrVowaNerly5d0SA5FS7OwsBg8eDCcrqATVmJpBApiafkhlsaIf/v0gFSUKYx5w3aY+tPSHGeJEm1gb1T6/BBLUyHFytKykYqEvLTkxPj4xKTk5EwOnw7/AVKpOCMlMT4OJwiJaVkcsaSgNiMVCgVcDpvH47A5vGL9vEBeiKWphOTkZCcnJ3Ruv/X0QEBAwKVLl8jTA3SIUDDE0vJDLI0RjCxNKBRmZmampqbmGUeDCSYmJgMHDuzQoQP1uLuEHcrzO/JT0b5O5bqtlPLTcMik0ueHWJoKKX6WRmAMsTSVIBAIMjIy0LnxeEqOpIqW9p8QSyNQEEvLD7E0RhTi6YGTJ08W+ukBb2/vCxcunDhxQvb0gFQkSv7KcVn009IcZ/GDc5/9VA6xNBVCLK0EQCxNJVBPD5w6dcrV1ZUOyaFoaWlpad++fUMvpvTKGyCWRqAglpYfYmmMYGRpkDMDAwMdHZ29e/fSoT9Ayk8WRNz/qWhfJ3NcForS3OnZBUAsTYUQSysBEEtTCaampj169NDV1TUyMqJDcihamr29/ezZswcMGHDlyhU6lBdiaQQKYmn5IZbGCEaWhrPH9evXQ9SUDs/9OyQnJyMTnK3GxcWJM3y43jt/WprDNK7nNqn4P25FIpamQoillQCIpakEJyenpUuXDhs27Pnz53RIDkVLs7GxGTduXKdOnc6fP0+H8kIsjUBBLC0/xNIYwcjS+Hx+SkrKL4Zy/E/evXs3fPjw7t273755VRhvxnac9dPSnOcJIh/R6QqGWJoKIZZWAiCWphJ4PF5SUhLOHlks2cDICihaWlhY2KNHj65cuQK5o0N5IZZGoCCWlh9iaYxgZGkCgSA1NTU+Pl7hXem/z9u3b4cOHdqtW7eblwz5eYdJ47ivErOC6XQFQyxNhRBLKwEQS1MJOAVNTk5OSEhgs5WMwKJoaVKpVJSNpIBnhomlESiIpeWHWBojGFlaQEDA6dOnV61aZWJiQocYEhoa+urVq8ePH3l9ucn1WPfT0hxn8HwP/Y51EUtTIcTSSgDE0lSCj4/P4cOH16xZY21tTYfkULS0jIwMX19f8u4BOkQoGGJp+SGWxghGlvbly5cRI0ZUqVLlwIEDdIghOPOUnYDyMwVRT9kOU3ItjeOyRBhvSif6JcTSVAixtBIAsTSVYGZm1qdPn2rVqsm9YvgnipZGpdbT0zt06BAdyguxNAIFsbT8EEtjBCNL8/Ly2rp165gxY+7cuUOHGJKQkODk5OT+5Vmi445cRcOH+22ThJdCJ/olxNJUCLG0EgCxNJXg4uKyevXqsWPHvn79mg7JQSztJ8TSGEEsLT/E0hjByNKANAd6miHPnz/v3Lnz0knNo0wn/LQ0pzn84Et0iv+CWJoKIZZWAiCWpirork1Z56Zoaenp6T4+PuQXTzpEKBhFS5NyXmyf0km/Ws3Wrdv37NmiR4+WTRo3qlypYjb16jcZPHzqyi37br+0CopJo7NggDDg89OVfRpUrFS7Zt0enTr3rFqrR7du3ajMZxhZP9rdq0m9KrU7dmzXoGetaj3atKlfv55uxTpD9122TBf+bPfpkR7Xto3EV6pXr96zZ5duXSpXrlp9tvEXo7nt9apXRrxjx46Ne/SoUqfOxnMPQlN/OS6DVJAW5bCuV/2KFStVrNqje/eeVatW1dFpdnJ6O58z04ml/Q5MLe0Pefbs2UiDXifXt2fZy11I81gjTnGkU/wXxNJUCLG0EgCxtCKAPD3wE2JpjMh3LU2akRDuZH57fr/ONUqX0tTW1tSu3bbr2GXrNm9Yu2hg7w6lSpUpV76CbuUqDVt1WWdkxWJ2RUTKZ2eEf3d8ZLRzSJOKWlra6ura5XQqD1t17pOLd2QyKzMpxPrBvkYNa2lqyGZplq43Z8tJC1f/xLQskdxyRAJucoy/1YuLs/tU0tbW0q1S6cB98+gMQXJUsJv9u63TW9SqXFpDW1tNXb36wHWP7MN+0esIWckOj7aV09ZQA+raWKVZuy88P7PDacfg4HMziaX9DowszdXVdfHixV27dlV668bvkJGREe79Jt5uda6isR2mcn32SUVKnn5XCrE0FUIsrQRALE0l2NnZzZgxo3v37g8fPqRDcihaWnh4OM44r1+/7uzsTIfyQiyNQJH/F08ct4Q8lv3tff1a14W6lGkxZsc16/iU1JTkpJjIECfLJ1vmDUZcQ1O7eqP2y65+ZdZ6pFKxSJge5X3PcJZMjDTKVtafYAfDEoolsuvEEj477cWx+U3q6MrmatXffPZ5RKYw3wVkJBSnhHtfWjWgXKUas4++TmfzJdIfUolEJOBFO15p1bh2g3oa5cupa5SptOXsg8iMgtZRnBzpuntUQ9myKNqtcQqJi/pgFHCA/OL5uzB9emDYsGGVKlXat28fHWIIKpkf+YLtNDfX0jgui7OHSfvdEwZiaSqEWFoJgFiaSjAzM+vVq1eVKlUuXLhAh+RQtDQbG5uxY8d26NDh3LlzdCgvxNIIFAXdlxZoemF498bwFs2Wk/Y8dOXTniQV8dkBTh82TGyHWRpaFep3XuKbyfg4J8yKtri9VWZFGuWqNpnjx8pzfM0Kt5rdo42Ohoaaeqlusw+Ye8XTM+SR8CPdzRY2a1iz6Rir8DwXUTIDnrVtXq90aTUdPTXt8mpNx2994RKt9AAu5qW4fTxTo4KWbE2y0R11MjSFnUDuS2MCI0vDCeTt27cPHjyo9GH13yEqyDHyy3b2159Pd3K9toozfenZvwGxNBVCLK0EQCxNJQQFBV29evXQoUOyVwznQ9HScMI6bdq0Pn36XLqk/I5aYmkEioIsLdj80ogeTSAuGi0m7n7gKpDTHF5quMmFldlWo6FbvfFzP8aDyAtZMRb3dmRnkG1pWXklSsR+fXBWqzo6mF9Wb9Ch259T5RefjZCVYPPIsHbVel1X3svM26tkZFsavltev5a2bnntqh12XX6bwM1/MJakx3heWtVZtho5lB5+JiSFQyyNEYwsjRrVNiEhQenw3L9D5LdHEWZy7xtwnMEPOgvjpmf/BsTSVAixtBIAsTSVQL1YBZ0bh8OhQ3IoWlpaWpq3t7eLi0tUVBQdyguxNAJFISxNlBVreW8PpTUVq1S/+y2VnvHbwNLMf2Fp6Po9nwzo1lyWQLPiiJUn7ELS6Rk00pSwb+eXDazRoPlJy3CFL1OWpte4ceNaNcuX0lZTLzNg3j6r74n07Bykwiw/m7sDm9ZuMHDGukUGsmWpqWkZEEtjDCNLy8rKCggIcHd3j42NpUNMkIq5WQFX021zFO3rZI77KmH8R3r270EsTYUQSysBEEtTCRkZGX5+fh4eHomJiocboGhp/wmxNAJFISyNmxzy4sxCmdSoa1Wq2dE0TMl5w6/5T0uT8OLObxjVsHopJKnSfPypx05siVwaMcvP5tGE5k2b9lrzPUNAB3OgLG3YwvUbZxm0qF0BOejqDzl081N63gtyrITAp4em19VrtNb43TujObKVIZZWKBhZmqen54YNG4YOHXrz5k06xARxVgDP92CuouHD+75fwlZ+LloQxNJUCLG0EgCxNJXg5OS0bNmy4cOHv3jxgg7JoWhpOFu9ePHigQMHrKys6FBeiKURKP7T0kq3mXjgyU9LE3PTv5nemdhFdse9emndGgN3RXAYt5//tDR4WojVhUFdG8nSaNeYtumcZ9zPN6PxUsNen1/buF7LBcet8v/QRVnauF3XPz4/b9CrhSwHzcojlh2xC8mgUwAJN8Tx9YIurRp2nmsTFP7pXPajDMTSCgUjS7O1tTUwMNDR0dm7dy8dYoIw9i3HbXmuonGc5wnCbv6QCOnZvwexNBVCLK0EQCxNJZiamvbo0UNXV9fIyIgOyaFoaZaWljhbbdas2YkTJ+hQXoilESj+29Jajd/z4GsGOyspNtLH1fbe5SNjB3arqKGuplFWt8HwXY88FK9l/Qa/YWk/BOkBB+aP1KugjVR1e8+58ME35wkGcYy39a7JPRt3mvDaV8mPrZSlDd9yx8PX68iKsfV0ZTlUbzX22H1HtpheED8t/N3F9c3rNJu663VqZrLlKWJphYeRpcXExLx8+RLnkA4ODnTot5EK0/lBRmyH6bmWxvXcJEqyo2f/NsTSVAixtBIAsTSVEB4e/uTJk0uXLn379o0OyaFoae7u7lu3bp03b97Tp0/pUF6IpREo/vsXzypNe46atXbdmmWL5k8eY9Cuef1yFSq26TJw8sJNp65bRmf8cszYAvgdS8PB1OXhoUFtZc8BqOk2mrvnanC6TAgl/NTPL851at6878ILsTwlX6QsbeiGm16RKd9eHB/SsYEsh1K1J68++S02+451qSDS1WzzkG4N249+4pHIz0o2J5b2BzCyNNloKxKJWCwuaCjHXyBKc+N6bc9VNLbDVH7AaQkviZ792xBLUyHE0koAxNJUQm7nlm/oKBmKlka9e8DV1TU6OpoO5YVYGoHiPy1NrWK9Vt0H9u3YprpW9tCvGhWadhpl/NzCPTBGNkZZofg9S/vBjnHcNnVINS1NJGw1bOHtLxFoqVkxPsa7ZtVs3nXXcx+lDTfH0q57RWZw4113zRheQ1s21oZ+58nnnn+DVIrYcRa3DnbSaz5ixaUEnpRY2h/CyNKSk5Pt7e3fvn3r5+dHh34TqVgQ8YDjsjDX0mTDpEW9KIRmEUtTIcTSSgDE0lRCQkLC58+f3717FxoaSofkULQ0Ho+XlJQUHx+flZVFh/JCLI1A8Z+WptVk2JoTj97ePDO5e0uZyGhWbNR1urF1gNJraBkx/s6Ojvb2X3P58uWrZ0BEGifPnv+blvZDkmV5blvfRjWQULtWm6VH7sVx+EFfXi0f0LXjkCWOsVw6WV7kLe2HlG17ed/ApnVkyyrTcOpao8BUbmKA7eHF/eu36XHOIgTpiaX9IYwszd3dffny5b179zY2NqZDv4eEl8DzO8J2mJpraVyfveJ0L3o2E4ilqRBiaSUAYmkqAce7uXPn9u3b9/Hjx3RIDiVPD1y+fPnQoUMFDR1JLI1A8Z+WVqrNZMMnbpy0yFdX9nZsUh0R9Qq1Wo7fauobn9+t/N+fnDtt4ogRI3MZNmzkcsOrXwLzvPRTwdK+F2RpP36k+H1cO7GPbIRbNbXek5e+9fB7f+NAt4ZdZux8nVnAlbw8lobJUNst04dUzr4Q2GrwzGsWnlYvz/dvV7//zA2B6bKWTyztD2Fkac7OzujI2rZte/bsWTr0e4gSbbge63IVLevrNE7QFamQ8Vh9gFiaCiGWVgIglqYSPn/+PGnSpPbt29+9e5cOyaFoaWZmZn369NHT04Oo0aG8EEsjUPz3fWktJu564MKXStMjv93YN7txtdIIlq2iN3TVKZ9YxSu1vm8Mx43o361bt+45dO3aZdzqo2/d4+gU2chZWvkqTRf4ZBV4pJQKEp8dXtu5dkWkrdq8x7RVmxdMH9a8x7jbX2PoFPlQsLQf4vSPZ3f0qV8NOWjXbjd49pr5c0fVaNVr2yMPqt0TS/tDmD498Pr1a2NjY6XDcxeIRMAPvsxxmpNraZFm0yK/KekKfwdiaSqEWFoJgFiaSoiIiHj69Ck6N09PTzokh6Klubm5bdy4cebMmY8ePaJDeSGWRqD4HUvLGS9NGONtfmh2L+pGMd3qeouP3I/LzDMIQmqYu5W1ubmFhVUO5uYfbRy/RSX9HEcD5FqaunbF2j13hHMLvJYGohwfLxnZsZS6ukyj1NQ0K9QdOv9wYGaBjVbR0n78SPT+uH5K3/IadA5qpSr2GL/UOZYe5o1Y2h/C9OkB6h5bpTfYFoSEFcb13pmraCz7yVbXx358yew301yIpakQYmklAGJpKuHXnZuipYlEIg6Hw2Kx+Hzlj+ARSyNQ/Pd9aa0m7n2UM16amBXw6em8Ts0op6lUXe/QI5dM4W8dbiUiPis9JTEpJYsrzLU0jfLVmiy4mfc1nopIWaHXd89voisb4RZUa91/813nvCPU5oF6j+fQjTe8ouifw6T8hBfHNnSuKXvlFKig32PhKStuzo4kb2llhp8JJZbGEEaWlpaW5u7ubm1tHRIiuynwNxHGvOa4Lsu1tCyHmZYPVpp+eEPPZgixNBVCLK0EQCxNJSQnJzs7O6Nzi4yMpENyKFoal8uNi4uLiopKT1d4tQ4NsTQCRUGWlvu29bJtJxx86vJzVFtOks2LM430qsqkRqNsxfpj7jpF/8KZchAnhXq+uXHuyDGj15+8MzPo93hqVqjeZtkDzn9cVhH5mZ+f2b9+9hLL9By10CpY+TMxFJk+j9o2q9tv3TWPiJ/D2Ea6PFsxrpO2umydu41cYOr/c7+ApZmdnCHLHN459nRoKrE0ZjCytEKMaisV83h+R9mO8sOkbRGlMPnBNC/E0lQIsbQSALE0lcBsVNtv377t2rVr8eLFSt9UAIilESiUWJpUIuSz7G7t69taD+Ki2XDQ5sumqRyBOOdufW5KhInRmhq6shvU1LTKlu260jY0kc0X/mpcDmmG9eVDA3XLq2nodB++5NN3n7eX16mpa1aq3WqvyX+PyCBI+n5k08wKpTS0K7ebuflhSs7gtApIpWIBN8vr6eFm9apXN1hv4hjIFYgoA5RyIm4brmikU7p0tc6ztz9Po3OQSsTC9LiguxuHyLZFTa1Uz43OoQlRHy4EEkv7bRhZmpOT08yZM1u0aHH69Gk69F+I072439bnKhrr6+RE16MxYe6Ffl87sTQVQiytBEAsTSXY2NiMHTu2VatWt27dokNyKFqahYXF4MGDGzdufOzYMTqUF2JpBIp8libNSgp3sbw3v3fHqprZA6SpqfUaOeW6iU1IVByP/nFTmhr9/eKq/hVKyxKoa2pV7LvyiblDAltQoKhJs77cOjW8tuwKXPVGraas3LhsfJeylRt1Hnk0ml/Qd+SQ8pyfnRrfvnrTvhMvWRa0s0nTYwJs31yf2LhuhexnQqet2vnus2dSOvUKUEnA53sLh7ZuP3T2IyfqUQapgJsZ+t352eU9HUrL3k9AsWT/tZdntznuGBR8jljab8HI0tLT03EOaWtrG/a7naZUEHab47wg19KSP089t3v0zJkzTExM6CQMIZamQoillQCIpamElJQUNze3L1++KB2nVtHSPD099+3bt2LFilevXtGhvBBLI1AoWpqU83LHtC6Na1bOx9Qla72Tcl8Hxf8/9s4CLort78NLiqJid3e3XuzuDsxrd3crdjd2d4FiJ6E0Snd3N8t2De93mRGWBZTV5erf9zx3P17mnN+cOXMmzjOdFP55/bBGTF4OV+1COaIi+7y0cNdD62dUMDAoL8egVuN2s/Y+juEVQ9Fy4EQ7H1hvNGnBKp/UQnciVDbFufJv53rVqzC1oane/dhdy9ScK7KS9OAzh4/N2XCN+WKBlBPsaDqsdiFzalC2zKoxjb8enUIsrTioZGkymUwsFotEImnxdjuUhJPzvQGjXEvzNJ8+fUzHZs2aqfrGtVyIpakRYml/AcTS1ML3d27KlvZDiKURaIq6L60kkIkFaYlxgYGBwaERCan5nvosBqKMtOTExLT/oFNNJvelqYJKlhYXF/fq1atr1659/fqVSfou0mQbxc+r4+fxduuxQ8bbt2//9OkTE6QixNLUCLG0vwBiaWohKirK3Nz8+vXrPj4+TJICxNLyIJamEv+lpcmhH1aWwySows+NpTLE0lRCJUuztbUdNmxYxYoVd+/ezSR9F0Hgca7TjFxF47kuFifbSKUSgCNXJkhFiKWpEWJpfwHE0tTC+/fve/bsWbly5XPnzjFJCihbmrW19ahRo9q2bXvy5EkmKT/E0gg0/7Wl/S9ALE0lVLI0BweHiRMn1q9f/9ChQ0xS0cgECTz3lYqXO4WBx/lp/pmZmenp6QLBT66uxNLUCLG0vwBiaWrB0tJy6NChDRs2vHLlCpOkgLKlkW8PEEsrJsTSCkIsTSVUsjShUJiSkhIbG8tm//jjTuLYF4rPDXAdp4hjX758bjZ8+HBDQ8Nbt24xcSpCLE2NEEv7CyCWphZw3JiUlBQXF1fo4+fKlhYREfHo0SMInbOzM5OUH2JpBBpiaQUhlqYSKlla8aEoKd9nJ9dR8TVp66Xp7qamjzt16tSgQYNCLysUB2JpaoRY2l8AsbT/AGVLE4vFOFTNyMjg8/lMUn6IpRFoiKUVhFiaSqhkaUFBQSdPnly5cuWLFz/4coCUHchzWZiraPgJw65S/PiwsLCnT58+ePDA1/cnlw6xNDVCLO0vgFiaWsAe6eDBg6tWrbK2tmaSFFC2NPq9HXZ2dkW9lIhYGoGGWFpBiKWphKr3pY0bN65OnTrYnTFJRSCKuMl1/jdX0XjOM8XJn7JlIhyCZmVl4Si0qM/f/RBiaWqEWNpfALE0tWBhYTFo0KC6detevnyZSVJA2dIcHR3nzZs3bNiwa9euMUn5IZZGoCGWVhBiaSqhkqXhcHPXrl1Tp0598OABk1QYlJQn/96A4+RcSxP4GEuzApEVFxf36dOnDx8+FPu9uMoQS1MjxNL+AoilqQU3N7dNmzZNnz799evXTJICypaGXVj//v0bNGhQ1INUxNIINMTSCkIsTSVUsjQOhxMSEuLp6RkfT38BojAoSpL6hes8M1fR8BNFm1KidGR+/PgR+8GRI0c+fvyYDlcVYmlqhFjaXwCxNLXAZrMDAwO9vLySk5OZJAWULS02NhY29+jRI+wNmaT8EEsj0BBLKwixNJVQydLEYnFmZmZKSgqXW/RrjSmpIPCE4nMDPJeFknSXbEref7x48WLAgAEdO3Ys6kLBDyGWpkaIpf0FEEtTCyKRKCMjIzU1tdDnAZQt7YcQSyPQEEsrCLE0lVDJ0nCsefz48WXLlj179oxJUoKiKEES9+sCxdekCQKOyXjRdH54ePjz588fP37s7//j7/QXSq6lRV9fnenxlu35jvx++hd7bwtaklja/zS5lmbq4e4RFxuQlPjX/Bwiwi442P43lubt7b1///7ly5dbWloySQoUci7t3bt3pqamGI1Jyg+xNAINsbSCEEtTCZUszcbGZvDgweXKlTM2NmaSlJCJJQnvFe9Ik78mLeF9tkTVT4oViTAxNPb+dlRYvpRPzyC/X/kF7x8p990bawQxfkz7Ev7XYAuEr/zklgYruPHF6Y7Ll7/md9XJAfMFUXOKjGDmtsSAdBkaGhoYGJiYmDBJCihbmq2t7dSpU3v16nXhwgUmKT/E0gg0xNIKQixNJVSytKCgoOPHjy9durSoc2mUhCvwMeY65p1I47mvlD838O3SZERExIsXL8zMzAICAugUVZFkpSRbXgs7OS30yDjy+/Vf2PHJiW/OiDOTmPYl/K8hFEscI8NvfXWG0/x9v2vODqYebmGpJe4D3t7e+/btW7ZsmYWFBZOkgLKl2dvbz5w5s3///oU+EQqIpRFoVLI0qUSYmZoUG5ck+KVVhhILuAlREeGR8Vxxse4Kkoh4KQnxiUlpwv/kJiJiaSqhkqWJRKKUlJS4uLisrCwmSRFKImUHc52m5yoafsKwKzJh3t24r169GjZs2K98e4CSyQQJwZmur9IdHpHfr/8yvj7DlkLu8PvfhaKoFC7HPzHBIzbm7/t5xsUGJycJJGJmbksM1b49EBsb++bNG1NTUy8vLyYpP8TSCDTFsTS5JMVFeH399OLx5SMHDp44Zxov+PnPnkuFmQFf3u7YsHb15v23bcK+s2sX8zNjw/ydrV8/vHl2r/HBW4+tUkT/xefWiaWphEqWhv1XaGgoDjoTEhKYJEWkPHHkfUVFg7FJUp0oad6r0T5+/Dh16tThw4c/evSISSIQCITfDY48g4KCsHPDgSiTpICypclkMhyzCoVCSRHPaxBLI9AUx9K4KRGfzS6umNq/WR0dlna17iM3h3J//riZnxh47+AcFoulWa526wUPvnP6Li3czezKwdlDO9Q10GLpNpq1/lLsL9hh8SGWphIqWZq/v/++fftmzZpV2Hs0KEqQzPdYp2hpfK/NMn4sk59DdHT0hw8fXr16FRISwiQRCATC78bDw2Pbtm2zZ89++/Ytk6SAsqXFx8dbWlo+f/7cz6/wOzqJpRFoimNp/LRI26eX5o/tV7O8DkunZo/RxuHcn7clXnLw05PL6lWtXKlO2yEbXvCpIotKCXJ59fji0jF9GpbVZuk1n73xehyxtD8PlSzN3t5+7NixtWrVOnDgAJOUi0wkTXNVfLQTP/lr0sT5vsuOI09uDjgQZZIIBALhd2NhYTFgwIA6depcunSJSVJA2dLev3/fq1ev2rVr79+/n0nKD7E0Ak2x70sTeb+/8m+Xir9uadlSbozP5xMbVq9Yv8/C94d3HItsrmwe1KwcsbQ/FpUsLTAw8NixY0uWLDE3N2eSvkGJMwUh5xUVjec8U8oOzJbl20FFRES8fPnyyZMnP/30AIFAIKgd+umBpUuXFuvpAfKMJ7G0YlJ8S/N9f3V210pqsDSVoASfr2yUW1rZNnO23Y0XEkv741DJ0oqEomS8KOXPq/vtp0SpTMA3TE1NO3Xq1KBBg3PnzjFJBAKB8GejbGlsNpu+i63wW3SJpRG+8ZOWxqPQq0rEohzE0sLciZJJJRKpVEbl/CUPlUgV72ZDAVKxuLB1TyYTi4QCgUAoFEmlPOsr6wc2L6tRb9Dyc9acApdHKUqaE4xYBH/X4RCaUw8xppqvJsoQS1MJlSwNizUxMTE6OjojI4NJyoGS8MQJHxUVjetgJE60oKTKb/F+/fr1yJEje/bsefv2bSaJQCAQfjd8Ph/GhZ1boQ+wK1uaVCrFCDweDx0Sk5QfYmkEGtUtrVb3McZBmZyU+HA3J1tra+tPnx38I5O5Qsk3g6LgQnwuOy7cz8M/PCE1Kys52sfF0crazicoigejg4QJ+VnpyZEhAV89opQeb5EIeUmRIU62Vq9evXn30dYn0Pe5ybL+LcrqtRyx+ZaD4qk0WJ6Qlxkf7mdvZfHmzUcLlB8QnpKWyeMLYGxCoRArdm6VJCJ+WmKMv5ebg52dg+MXL7+w5HSOSFK4qxFLUwmVLM3Z2XnGjBktW7Y8ceIEk5QDJUgQ+B/MZ2lf58oEichhIr6B3Rp2hUW+y4NAIBB+B58+fRo7dmzr1q1v3rzJJCmgbGmhoaGIO3XqlJ2dHZOUH2JpBBoVLa0yq1SD9gPWX7t0cHzzsiwGTZZu6yOPnDO4IpiTiJMS+NXywt6lLRvV7DzL+P7r5ztmj6iipYm4TkOnPHIKT4kJ/vz82qrpQ1mlajUcdCNL4fSYVMxxND3VuF7tUnql9cuWLatfRk9XW1MjZxpNRqy5omBplCwrJer5+Y2NdXT1yshjS5fSQVjPcYtPXLr/7MWrZ0+eOQdEseUvdqOkogyX91eNBncuVbpMmTKldXW0Wbq12wzY+s4zUlLY6TdiaSqhkqVhjzRixIjKlSvv2bOHSQKUVMr25zrPULQ0YfA5SlLIa4dksHyx/NQsjkWZJAKBQPjdfPjwoXfv3lWrVj1//jyTpAB5eiAPYmkqoZql/dOIpV1fLk2FsfmOY3pG2N5+3apDg2i067I0KzN/s1gNu/UfPW1px9K69KCWQe2Oy+/x8jRJYnlqRs1KZVjl+p147JTCFfPSwu/vmtapTmkEK1kaLznM9Og8loZe9YZDXvunySQ8m8sr4HR0yTRLTj8OSRNlS1PfnF7es4F+p2HTrn9wC/Sx37N2Oh1Qv1Wn218SmRIVIJamEipZWkxMzJMnT86ePevg4MAkQdJEGeLox4qKhp8kw4P+vLoSHh4eJ06c2Ldvn729PZNEIBAIv5uIiIgHDx6cO3fO3d2dSVKgkKcHJk+e3KNHj6JusCWWRqBR+VwaS0O7Uv1u8446BUZnZaaGOj0xqsicVNOpNvqjTzybneHz4fI/7RvnpGm0G734kvnr60d2TuzXd+HG3R+841Niwy1vH2pTSkejXO2mc/MsLdrqaN3qFTQ0WIcf2SRm5Vw/pWTijMBTi4zq62rnszQpx+fjnSGVypWr0WjeeSf5rW/yE2apZ6c2LaenhanOOXLf1T8kNYMnlmR7Pzsy7p+63UYvNrMNlUhlMpk0LdL19OaJ8sqVqt5m0P7oAs+NlrCliQJsbi8ZUrdW/fp9hw8fMWLE0CH9OncsX6N2vUfe7AL33f0PoJKlURQlkUhybg3M2+3IuBF8r80KimbEc19e6Ik0AMnr1q1b06ZNi3o0ikAgEP57cndu6GaYJAWULU0kEmVmZqalpfF4PCYpP8TSCDSq35dWvdOwjV8SODmPAsgvcMY53+2mpyOXI41S800s4jIE0qzA7aP61dTRZjUYseueTapQJOBxM9PT2RyuCNOTZHi+vdynbGlYWhPG0qhsWeyuTs31tbQqj9r3JSxFkisrMp7VhXX9G5dVtDRxZuSLS+t0NTT0qjYcdCT3hAoV8fFo1UrlUJExu+4HxWdhm6HYgbvnjqlWrtnCHddCkrliofx2NUFG9OMrOxDGYmnWadbxmX++29hBCVsaJeKzYwKdbx9c19WgrK6ubtVaDVYcf+AWGMzNm+3/JVSyNDab7e/v/+XLl5iYGDoF65AkxZHrOCXP0hwniyIfZMsKfx2apaXlrFmzxo0bB11jkggEAuF3k5GR4e3tjZ1bfHw8k6SAsqX9EGJpBBpVLU2nRtvRO55k5R0qUBJe2qN1/WlPG7f3WVQKL1sQsnfsgNo62mU6zzz/1ke5s5Vmer270k/B0iiZhBvwoFZ5fQ0Wa/kly3h23ueAsimBTc6bOPJZGjvS/NJaTK5CrSYr7nrkxMnJ8rtfo2oFpI/Yei8oXn4mJtLm5vjerTQ1dAwqVavfsBFDw/o1qlWSSxqLVbtJq8c++V6aCkr+iqf88dZID6vtRh1QhzqNWzzzZ+d/APZ/CZUszcnJaerUqc2aNTt+/DidIhMkCkMv5yma3NKmSXlwuMIbhM/nJyUlJSYmcrlcJolAIBB+N9bW1qNHj27RosX169eZJAWULc3d3X379u0LFiwo6nCTWBqBRlVL06zRYeiOV3yFkz6UVBT58ZB+zj1hjWac9IxJlwmCaUvTaT/b5I2v8mPGBSxNJhH5P91E31V2yNw1jaewQhZmaVJOzMub2xCsXaF2l5UPud8uE0pTv4xpUEtPU2PaYfMwyGJ2dtCHU8MNG7JKNTNaYPzg6bOnZjRPnz41f/YMf5i/+WCXLFC2gf/mvrT0CHeTVUNYWhUad1vqy/lfVTSgkqXZ2NgMHjy4XLlyxsbGdIok05/vtkJB0SbzfXYVdSKNQCAQ/kzevXtnaGhoYGBgYmLCJCmgbGkWFhaDBg1q0qTJkSNHmKT8EEsj0KhqaRrVOwzels/SoGm8sBetyutrsVjVJx1zj86zNK12s8+8Lo6lCV2uzipTSv7MwfHX7unyBzO/UZilUZJM17fX/imrx9LSrday5wM35gmARKeLzapV0Czf68oH30yh3HvCP18f1asFy6Df5tPvkrg8RXLeVMPjCwr5fvt/Y2kZkR7n1w5naVVq8s/qIOW3BIvTUhJioqPCwiLTOPzcC6EyqZR5RV0OOTdAIFl+OwSTJH/ykY4F4vTURLqQVDZXXGIeqJKlpaWlffny5cOHD8HBwRikJBxx/Nt8lzudZ4jj3yGHji+Ira3typUr586d++rVKyaJQCAQfjfJycmOjo4fP36MjIxkkhRQtjRvb+/9+/evXr365cuXTFJ+iKURaNRhaTJpmuPwahV0NTT6brgfmsShVLe0r5em0Za26vrnhCyF8yiFWRq8kB0X+GDP0sY62jql9Nr3GX7rg727rdmQHq10SzdcduAp6kC/YSPs0+VRvZqz9Jot33s/urDzVRCcgnd6/reWVrFJtxVBnLwGTfCzMJ5hNLRf36FGvXoP6NVvxIobL91SuJJsSuz/+c7OxWNxAEazbP02j3iBVJjpb/+IThk2fPiHEDaWaVLAp31zpw/v33fopF59BqKQJRfNnJI4hTwy+ev8ytMDMm6EIOBYnqI5GPFcF8uEyt8bUOTJkyejR4/u16/f+fPnP336tHbt2rNnzyYlJbHZ7GfPnm3YsOH06dN05KlTp9avX//8+XNkJSYmIgzBGEUoFPr6+iJsz549GERkYGDgpk2b9u3b5+Pjg7q5uroiEsDjkfv06dPt27dfunQpNjYWHnz//n1kPXr0KCUlJS4u7u7duxgXiYhENY4ePbp161ZoKOYUE922bRuC/fz8MNdOTk4HDx48cOAApoJgKysrRJ47dw7CmpWVhUNrRB47dgzV4/P5d+7cWbdu3fXr1zGIonC8jVwUi3kJDQ3FWJiotbU1ykFphw8fRrH29vaYSkBAACJ37twZExODETGVzZs3Y7qoLYIfPHiwZcsWFI55SU9Px1wg+OHDh5giUq5evYoKm5qaIhITQiTqgGrTxe7duxfBQUFByP38+TOa6+TJk5g6cnMXBArBiBBotDz9SjzUAekYxILDbKampp45cwbBqDwmipYxMTHZtWsXPS/+/v5oanReHh4eWBD4F5GoA0ZEOS9evEAu5h3NjsF79+4hF3OEZk9ISMAiwNJHIsrBIJY+mvfNmzeIzMjIQCMgGD0jiv369SsaZPfu3VgNEIwm2rFjByqJ1YDD4VhaWiISs4a/ARoHlb948SJGRDAWEAbfvXuH2URnjJWQnhdkoSmQi8rjQAJ7FTQUsjBrYWFhWNuRiEWGQRyoIBgtj+rdvHmTbjF6QeBfzClSkI5cDCISi8nY2Hjjxo12dnYoB0sfNUcwysdUUCymiOli1hBMLwg0EeqGYlFP1BbrJLKwmC5cuIBBFIv5woTQRAjG/HK5XCxftADaAYMIRstgKlipXFxcMOMoHJGoP1oS7YlWxXqCLYi+AQstj2LxLwaxLNBiCMZ2gSykoDIIxmaIETFdRCIXSxabkru7OyaBidIfHEczon2wPmAQ6wY9L5gKWgC1NTMzw7ioJMpBMNYuDGJNw2yixTAVBGMUzCYqj8WH9ZPeurF9IQsbO+YRuc7OzhgR6zZGRC7WdlTv2rVrKATbO115NBEmihRsKYjEOoZIbEFoanq7Qx2io6OxXBBMF4utD1NEJMYq1tMDaHQspJCQEGwSTFJ+iKURaH7d0iBpWYFmjQz0NVmsf4+9jk3nZ6tsaSL324vL6MlfeNZo+jmP6Iy8dfybpZVqMWLjzW+WhmSpKN7XavfEJrp6el3791+wZNGSBfMmz1935ubroNjM3I8hBL0/M8KwEUtDr9fULe88lV+6IeGlen16vGj7O6Uvvv82S6MocarbhGG9apYutWTXiQevzC4fXtWyWZsW3Rfet/DmSmVpMX7m57cM7tJA3lDtDY88skrmStAUSWEuh9aM1ytTdu2Ju5EZImGqx/TxA2uXLT1/y8F7L8yuHlvXsXX7pl1nX3/pzimBbV0lS0P/ikNH2AB6SixFSZoz7+uCXEvjOU0XBp1GOzDRhYHd/eLFi+Elbm5u2DVXrlx5xIgR2BHTSlSjRo0hQ4bQkdDW6tWrow9AFrq0kSNHIhijYF+M3mvo0KHt2rXDICLRT9euXbtjx45v374VCASPHz9GJMCeGrno4Bs3bmxkZIRuGJ3HsmXLkLVq1aqIiAj0B6gMxl26dCkiUY1evXrVr18f/SL245hoo0aNEAy7gmzdvn27S5cunTt3xlQQjN4IkTBOGxsbHIWjX0Fk3759UT30hQsWLKhSpcqMGTNoQenZsydyUSx6QRyvY6xatWrRF1bQZXbv3h0l37hxAz0fellENmvWzMvLCyMipm7dusiFKyB4+fLl9erVQ+GYF3QzmAsEr1ixIjMzEz3xtGnTUGH0YYjEhDAi6oDuFpVHE7Vv3x7B8DPkor9Hcw0cOBDzglx6QYwaNQrForXRI6Ll+/fvj0jUAS2PQSgUykTHNGzYMASju8VE0TJYfK1ataLn5ePHj02aNOnUqZO5uTmaGtqNSNQB7YNyoJ6oHuYdzY7BJUuW0JVHs6OnxHLB0sfiQDkYxNJv2LAhulVEYq2rU6cOgtFWKBZ9MBqkTZs2WA0QjEk3bdoUlcc80hKJSMwa/gYov1q1auPHj8eKgWD6hViHDh2CCMJgxowZQ88LslA4Fh8qf/nyZdpckYVZg+ZCdK5cuYJF1rJly6ioKASvXr26QYMGs2fPRrOjWegFsXLlSswpUpCOXMQgErbdokWLmjVrYqtBOVj6qDmCUT6kDdPCFDFdTB3BsEZkoYlwpIEFgXqitlgnkYV1A3OBBYGpYL4wocGDByMY8wtxxLyjBdAOGETw+/fvW7dujXUVbYUZR+GIRP1pP4aOYEFgdFg1grEgUCzaH82OZYEWQ/CiRYuQBd9CZRCMzRAjQnTQmMjFksWCwPEPJoGJYjVAMJoR7YP1AYNYN+iVCtspVlTUFusPpoJ1iT7Aw9qFQaxpWBBoMUwFwRgFs4l1EouvQ4cO9HvLILLIwsaOeUQu1mfUAVsBRkQujgFQvenTp2N7wXaHxkEw/kWzY2XGloJIzBoisb2jqbEioZ7wME9Pz+bNmyMYWxyKxdbXp08fbLBYTPSRjBLKlob5h8MW/AxLLsTSCDSqWpp2rQ6jduezNDiW5521ZUrpsPS7XLHyZwulxbQ0zfK12yxmnh5I+npBv4we5AMWeOmDZ0buRU9KYH1hw4DGZbUaDlx9wSr3FjRhVrLdk+Oj+7dZtOeCJbZC648fPli7+4VnCnK/NyAn2dNswiD5HfoGtZst23sxKDHvfnOpMCvAznTBmKGjd7xXquHvsjS0Q4TV4XL6eizdJg+dQzgSihvvvGxoj0oGPfZct0qRKyqVFe95duOMOjpaTf4Zds5C3u8ikZsS/nD7sApdFvmlyh+8iPp8snoVA5Zuo+uWXmwxxU10XT9+QBWDbptN3iTleq76UMnSIGdz5szBDhSHyJQoTRz1gOtglGdpX+ZKU78woUUA24DnoYOEvjx58gRdPvaz2Nehp7l06RJ6mjVr1tCR6PmwT0c3hix0jZAPBGMU9DroOBE2c+ZM+s5ddGnobtE1ogvEDhe7XUQCTAK5MJJJkyZt3749NDQURnLs2DFkQarQY4WHhx85cgTj0qcrUA30WOgL6VNrmOjEiRMR/OXLFxSLzmPevHlz587FVJCLg3hEbty40cPDAzqIg3hEoj/AJDgczsGDB4cPH757925IG7o3yAdy7927h3lB54Gx0C3RJ71Q2sKFC1Hy69ev0YujZRA5ZcoUHKVjRMSMGzcOuagtgo8fP45BFI55gRxgLhB84sQJTBEpxsbGqDDtHKjS2LFjUQd02CgWTTRr1iwEo7bIhUWhudCZYerIpRcE+lEUghpev34dLQ8jRCTqgJbHIIpFmega0fIINjMzw0TRMlh86CPpecHqARvGGgJzRTvgX0QC+hQORAfVw7xjHcAg2hxZqDyaHfKH5YKlTy8IDGLpT5gw4ebNm4iEHGBeEOzg4IBiLSws0CDoULEaIBiTnjx5MiqPeWSz2XB0RGLWIAoYRPnwhi1btmAJIhjLF21y584dzCakBJVBML0WoSmw+FB5HEjAJHAUgSzMGpYXpA2JWGQYhDwh+NSpU6gedActhmahFwT+xd9IQTpyEYNILCbYM2YNqz3KQWmoOYLd3d3hCigWU8R06ZUqd0Ggbqgh6ona0uaKxYS5wILAVDBrmBAsEMGYX8wm5h1joR0wiGD6GyFYV9FWmHG0GyJRf7Qk2hNGggWB0SEuCEabo1i0P5odywIthmD6bitsIGgiBGPZYUQsRzQmcunlC+PHJDBRTA7BWCXQPlgfsFZg3aDnBWsLWgC1xfqDqWBdos9UwQUxiDUNs4kWoxcESsBsYrFi8WH9hAUiEmsssrCxYx6Ri/UZdcCmB1VFLhwd1du1axe2F2zvuVsEJorVDFsKIjFriIRToamxImEqmBf46NSpUxFMn2589eoV2nn+/PnYXaAoxCuhbGmwPBx2YBy6lgUhlkagKb6leb+/MrNLRc0KrQYvf5Auf0WZHIgFO8Z1ca9mOpqa/edfCEzMudQoCN07diAsTa/zvAvv/JUvs8nYXh+u0ZbWcqHc0uQ3XLH95/Srracj/0RBl6ELzW0DsgTy8bLifc+sMGpmoMvSrzV59UHf2HS+QCSTcEOcX8zp3aZq3Ub7zRxCQyOio9EHxSUmJqdlZPFFEmxCOVPKFmeFnVhr1LCi/LmEes3bLjc+Ye0anJKWkRQV8ObhhfHDB7fqOP2pTxIdnMvvszRp4tcbvZs37jR0/deIFDGVzU/x2Dyid3W9GquO3QvPyJFJKffrs4sTO9bRr97u322PUkVUtkwQ4/NhhmGTyUdt6UvFSW53B7dv1Wnwalv/OOQLUn12Gw2ppVd94e4rwenqvytfJUvDjhJK0a1bNxz1Stl+Ap+duYrGdZzC99xEiX/w3Sd0VNhlY3+KjjA2Ntbe3h5H0lAZ9CXoEtBX4ZiYjsRuEL0LEpGFAIQhGKNgROzZEYbdKwYRic4DI6JuSEcfgB00IgGmhVzsrNGL+Pn5cblc5GLvjCzsiGF7SMFxM8ZFIiJxeIwuAZ0E+ioMYqIYEcGoMEZE94yeG2AqyMWkEYlOF10m9vI4dkckRkckphsYGIjKo6+lzxygS0YuisW8oE/FWJgoXXmUhlwUCwHCuJgWIul+LncqyKVPBaGeGEThqDm6ScwFgpGIKSLF398fFUafh0i6t0MdUG26WDQXglFb5GJzQ3OhhekWw1SQhRZGIaghOm+MiFxEAqRjEMWiTFQDLY9gjEIvSuRCzuh5wSBqjpJhAygW/yISYETkolhUD/OOqWCQXhD4F82OpsYfuQsCg5g6guENGMScYl4QjI4ZxWL5okEwO7kLAhNFNTB1TIieF4yOvwEKROV9fX0xIoKxgDAI/8ZsYiVEZRBMVx6lIReVR3dOGwmyMGtYXhhEIqqHQVQGwWh5VA/LF/OCqdALAv/ib6QgHbkYpCuPsTAuXSxKoxcEba5IxBQx3dx5QRbmBXVDDVFP1BarB7JQf8wFBumpgNwFgb/pBYF2oOeFXtwoGW2FEdFuiEQd6MqjVVE9jI52xiDdRPgXg1gW+APB9PkkpKCJEEz7HCaESOTmLl9MAhPF5JCLSWNO6QWBdYOeF0wFE8WIWH8wLnLp3Tu9daMmmE20GNLpeUGxaArkomT6yARrLLIwOygWuVifMSLWB4yIXBSL6mHNRyGYKL0gMAuYKFKwpSASg4jEqosyc7c7+hgDwXSxWBBYqXLbAQFKKFsa+fYAsbRiUnxL83l/dWbXSiztSk27/3vlvVN4XGJGRkqIu8WeBeMra2p0H7votVuUQIweRpDg9356745lNTV16g7afvF9Qpbie2NlAnb0q6u76+lqs0pVrNNnrWc8/SIMkcfTnb1qVNTV0GBpVuw9Ysqhs1ce3L28a92crk3rls75SFTDFm2nrT1y86O/kJ9o9fBgVS1NvbLluw4ZN336zNmzcUg2d/78hUuWrli9dv2JGy8C4jJy7pcXB1rfmtm/XRkUy2JVqd1o4Jipi5YsXTBrcu+uHavU677JxCqzwM1av+++NErKiX5z/+5za7egALfnN45vWzWzU/1apTU05u0+65/MLJ30MKf9K0aztAw6DV5oGcoWcxJsH+xp1nT462B59wmknJgPjx88t3IJ8HN/eef0zjWz/2lSDy0wfdNhrwTlj5f/OipZGvbLtra2z58/9/VxlyR85H6ZnWtpvC+zRBHkA+oEAuEvRNnSIIZnzpwxNjamL/cWhFgagabYliZNCnK6uW/xwK6t6laq2qbf6PlLV6xfv3rulOENm3WbtnDdC6cwgViaLUn7cPXsxjlj6lSvKBcr7aqd+oxbsf/aB9dIIZUtE2b4O707vGnVmAFd5Lka2voVGk9ftf3sGx+Ykowb8+zw1rHdm5bNuUGtVqOm7Vo16juwX++OLWuWq1C3aecx0+as3XfBzC5MJGJ7fro/vGtdeSGFUa254bwj5v5x8te6SXgJH++fm9m/Y62y375bxWLpla/avv+UXacehaYWcm7p9z49kBHj+/DUkbULpy1fMn/9mgV9mjUor6mpaGkyQfLrm/va1dKr0uyfdTedEsM8Ts4cYTj3SprCS3EzY/3Nzp3YsHjG8iXz1q1ZMKB10wpamn+CpeUi48eJQi/lKprc0lyXStkBTDaBQCD8RShbmlgszsrKyszMpM9yF4RYGoGm2JaGflWUnhBi/fT24fVrli1dvHABWLhkxdrdV574x2bJ6IuM4uQXJid2bFi/TpG9l144hghklEyQ5vn5+Z71+XLXb9p6wMydFgyKn2T//Oq29auWLFm6eNHi5StX3Xny7OWdy4e2GZ+6YvbFPzyDl/PCW5k4ztdy57+dKzTrM2vh4oVz586cOWPGNDB50oRxIwb3blGxvEGb+Y/tMFF5uJSb6vHx0ZEtK+bNmTNr1py58xes277/wUe3VH5OdgF+49MDgiSfPevntqpUb/iEWfffOyfEexqPGVBLR1vR0jBD0W6vN07qqFGuXlejbY8eXBresu2+t/KrVDSCZP9DWxe3r95o6Njpt17ZxcZ5HZw2sp6u9p9gabGxsebm5hcunLd7Y8L3WJdnaU7TBH77KZnCC40JBALhb0HZ0jIyMnx8fFxcXHI/w6IEsTQCjQqWxiB/bz6Pw05PTU1LS2dz1d+tCnk4xOCyM9l8oVhGZctfSyAQKnwzSpQa5nnXeMnwfu3nnXgbl85OT0qKjY2KDAfBAX5eX+0+XFozrWGjMZdfurHzngugBLys5MSEuLiEpJRUjuB7t2eVrKVREFr5bX2KlhaYY2kyCe/r9eVlS+vW6fTvW7covliWLQjdNW5gLW2t/JaWLcwINz2xpk6pclVrteg/ZkSLgTM8804Kit3urKtaUb9WhynmDkFckSxbGH7439F1df4IS7O1tR06dGidmpWOrO8NM8u1NJ7LAnFc4a8NIhAIhP91lC3N1dV1Xc6DM/R7PgpCLI1Ao7ql/WZE7OiPV3Z0KVeh5T+jnBILlS1xhM3Rzn3n3vrgxf2pVbvkLE3CT/dxtbn36OVnl8jECPdzq4ewtCs1MVwXLD+rR0mFKeeM6pXW0eyw4HJQovxyLTf+y/KhPSppac3fc84/iUfrnRxK4G/xYE57+TXfsjWbTj9uJch9tJXKujyzRYXSWm1nnfGMSkchvES3jRMGVtXWmrH5iHcCN68QNaGSpXl4eKxZs2bO5L5vL47IVTT5a9I8N8h48jcUEAgEwt+HsqVZWVmNHDmyTZs2J3LeK1gQYmkEmv85S8uI/HJm/TCWlkHDTlPv2fsmpbMFIrEsB7GIn5YU7Wn/Ytf8DgMWHPnsl/hza3bJWVpmuMPOpSNZeg0HTt/33sp85/QOpcrXHTjvSor8yVhKIkq7MKM+LE23zaRjD1/b2L27c2pd6ya1oGLD56+5+PCNh38o99tF2qxYz+s7JpXTLt2o/VBzT4XXIlLca/NbViijpdtq7P7bzz7bvb9vsqlTq/ooZNC/S84/fOPqE6Te71GpZGmZmZk+Pl4+NhdSbOfkWZrzTEHwGegjE0QgEAh/F8qWFhAQYGJisnv3bgsLCyYpP8TSCDT/c5bGSwp4cGRB1TLaWvoVGg+QPwr62PzFuxyemz88c2jz2H4duhn2uP3xS74vTalCyVlaSoDl7nkD9DU1ajVpPspo/ID21boPn3rHWf5cN/RKJuG8PzyyftlSmhosvbotevZr3auvYYcWdQz0dUpVrVq77YCDV1/I389BR4vSvz4/N6BJ8+7TzyZ8S8xBZHlyYvNKZbQ0NErVbta9b+veff/p2LJexbK6pSpXrtWm706Tx8mFfBbr51HJ0uTvL0iPZQde4joqvCbNbbkk2YaJIBAIhL8OZUv7IcTSCDT/c5aWLeWGOj3bMLZ70wa1DcqWlj+xCTQ0ypSvWKN2/RZt2vefv/uNWyRX9PNrdclZGsVPtL59cnKPbh06dOjYsdOYyTOf2Qcq3Dsn48e77Ro1rEfXLp07d5267riNT8iX58fmTRrYpWvX7cevBCUovkuMSgx0vHZw5VbzQCbhG4IEzwOTxvTp2rVz5y6TVx20cA/8+tpk6dTBXbp03XTgjF8s88IOdaGSpcnftGRxLfRD3vcG5J9X990lE8lfmEQgEAh/JcqWxiVfiFKrpVEUJZVK5EiZe3oomRR/5/z5X0DJZBJx7sTVyf+epcmRZKWGfXxwdvHUUa1zaNO27cS5Kw6fv+8cECMU/+r6XLJPD8jEfE56YlxcUkoqr/BPoEvlH9njCGXMx+BkQj5XIKQ/rJ4fmUQq5AmVvpzAgEI4WRyBNK8QnkAgKqSQX0YlS7Oz/fzy2rLw16NzLY33da4okrwmjUAg/M0oW5qlpeXQoUObN29Of9mgIMTSio1MJOAkxYT7eLh++erq7u0fHpuYkZGeEhXoo+5zEgWhpBIBD31gUnigr4eHT3hSIW80/kX+Ny2tZClZS/vrUMnSvF0sfd6szFU0/PieG6UZzEvqCQQC4a9E2dIsLCwGDx7crFkz+qNmBSGWVjwoMSfB6cVZowGtdfTKlDeoYGBQrX6Tfhu2b1s+pGmvEw7qP7WVH25SqNWTqyunD25ZS6dWl+F7Xihf2/p1iKUVhFiaSqhkadIUe77HhjxLc5wiCDxGyb73YhQCgUD4X0fZ0uLi4t69e2dqaur17ZN2ShBLKw6ULN3KZPfACmW1q7YYuPS4jbu3s+WjTbP76Opoa+pVqDvrDreENY2fFvn5yblxg7pqarAadhtx+l0h33D9Rf4+S6O/8vYrEEtTieJbGkVJhRF3uE7Tcy2N57pUFPucySYQCIS/lEKeHkBfJZPJiuqxiKUVh2S/t+tn9tTQqT1s5n6/dCkaE40qZCd9frhPU8+g/qxrJW1pOf0a59OtQ4PrlSWWVkyS4pL4XH5Ra35xIJamEsW3NBknTOB3MFfR8BP47JJxw5nsYiPfDmUyqVRK37qHQfxdcJBeB+hIpUH8+51BULAcpcHcyO8P4u/cQfyLXFDUICIxKB+twCD+UKkcIB+teMV+f5Aulh4EilPBIJ1VnKkolpM7iH+/MwjwN6D/RiL+RgCd+51iCw7ib0D/jUTkAjoX/yKr4GBOrPIg/sAgHUkPgtwRlQYRCXICCy9HpUG6WIC/cwfxL3JB7iCyMJgTWPhE6UilQfxbcBDkBiML0H8jEX8j9zuD9Ij4F+m5gwB/A/rv3BFzgwsdzIlVHlQq9juD9IiAziq0nO8PFjUV/J07iH+RSwcUirKlJScnOzk5WVtb0x/VLwixtOIQ62q2YkIHVpmWE5ZfS8x9+T1FZSWFXVvXp1yb3THiopeJuqCEbuanJ3eoQCytmLg5uV87cyM6POan395KLE0lim9p4vi3PLfleZbmPEMYepmSqbz/+fr169SpU2vXrr1jxw4MYl/XpUuXFi1aXLhwQSwWu7i4VMjB1dUVg+fOnUPWP//8gzAEb9++vVatWhid/jQLSkDkxIkTBQJBZGTktGnTatasuWjRIkRit9uoUSPkXrlyJSMjw8rKqnfv3sh9+PAhcu/evduhQ4eePXuampry+XwkIrJbt27+/v4cDmf//v0VK1bEYGam/O7VyZMn16hRY9WqVWE5TJ8+HcG7du1CpL29/ejRo5s1a7Z3715Eent7YxINGjR4+vQp9vhv3rypU6cOigoIkH/hFMU2b958xIgRdnZ2qLCxsTHKmTFjRlBQEIpdv3599erVJ02ahMiUlBTUFiNiKjweLzQ0tHPnzgi+f/8+l8tF4cht06bNnTt3EHzv3r169er16dPn/fv3qPCNGzcQiQlhRNRhxYoVqDyaCM2FNhk7dixyt23bFhUV5ebmhharVq0aWhXlODg49OrVC619+vRpiUTi6emJSNQBLY/Bq1evYjbbtWuHxYfgnTt3YqJoGWdn58TERHpeMJienh4eHj5nzhwsprlz5yISdWjSpAnKOXv2LBYE5h1TweDjx4/pynft2tXQ0BCLAIsbiSgHg1j6bDb7xIkTiGzZsiWWEYLR8mjeJUuWoLliY2OxGiAYTZSWlobKT5gwoXHjxhhEpLu7O/4GaDH0wehMMSKCfX190QhHjhzBbA4aNAiVQfUwL8jCgvDx8UHlN23aVKVKlXHjxqEczNrQoUOrVq26ceNGoVCIQbQAgtHyWVlZL168QLOjqbE6IRj/oomwaF6+fInKIwaRWExJSUkikQjLF+UMHz48Pj4ewSi/cuXKmFZERARWG0wdwfSCwEo1cOBA1PDo0aOoPOqMLKwbnz59woLAVNCeTZs2RRMhGPOL9RzLFy2A1QaDCJ4yZQqmglZavHgxZhzthkjUHy2J9jx58iTWE2xB3bt3RzDaHC2P9kezY53HEkGwmZkZsrCBoFgEm5iYYERMlJYbevnOmzcPzZWamorljmCsA2gfrC0YrF+/PloVkZgKWgDNcv36dVTe0dERc41grF0YPHXqFKqEFsMsIxibM5oI6yQWH9ZPrKWIxPaFLCxuLF80wsqVK1EHND5GRC7WdlTv3bt3WBDY7nIXROvWrVGsubk5NlKsA4js2LEjmhorEipWqVKlvn37QrQQjC0OmwCWDpoLWyLqibUC6UooWxp5q616LM3FdMX49iwNnXZ9J963DWNSsdcQsUMdLuvXGufPV3wRp4jN5ool0mypIDM1KS4mJiWDI5Qwed+QiUWcuOgI2HNwSARH4fPY35CyMzgioYSS8NmpKWlsrkgmdH92ekpHYmnFxcXBddOizcd3nYgIicT+lElVBWJpKlFMS6MkPEHwea7jlFxL43uslSR9YrJVAXtq7HnLli2LPSMGsU/EThx9CXbZ6C2wl6dfz/LlyxcMYh+ILOyR6V3nunXrypQpg9ERhv04SkAk+lHsfNFhjBkzpnTp0v/++y8isfKgP0Au5ADqAIOBliH39m35E6nYF6NvQ4+LPgk2g0REol9EP40OAL2FhoYGBmEVCIZX6enpLViwABs+gOggGP0rIj9//ty/f390HuhREOnh4YFJoD9Dn4fu//nz5+XKlUNR6GiRi2IhTOhO0N3C0tDxoxz01lBDFLt06dJSpUoNGzYMkeg/UFuMiKlAy4KDg9FBIvjmzZvodVA4ciFJ165dQzA6KgMDA3RCr169QoUvXryISEwII6IO6EpReTQRmgttgu4fuWvXrkWPBd9Ci+nq6qJVUY6NjU379u3R2ocPH0YPCodDJOqAlscgdBmziY4Qiw/BGzZswETRMuhfIQT0vGAQwgSnNDIywmJCb41I1AFdL8o5fvw4FgTmHVPBIN2hovKwHPSpWARY3EhEORjE0kfve+DAAURC6LGMEIyWR/POmjULzRUdHY3VAMFoIogCKj9kyBDYFQYRCTnA3wAthk7948ePGBHBXl5eaIQ9e/ZgNqH+qAyqh3lBFhYE1AGVhwdoa2vD4VAOZg2moqOjA9mF5WAQLYBgtDw87MmTJ2h2NDVWJwTjXzQRFg00GpVHDCKxmOAusLRly5ahHKgDhAPBKF9LSwvTghxgtcHUEUwvCKxUsCXUEOqPyqPOyMK6YWFhgQWBqaA9IRZoIgRjfrGeY/miBbDaYBDBo0aNwlTQSjNnzsSMo90QiVUOLYn2PHjwINYTbEFwDASjzdHyaH80O9Z5LBEEw2yQhQ0ExSL42LFjGBETpS2NXr5wQTQX1BC6gmCsA2gfrC1YDWBFaFVEYipoATQLjsFQeVtbW8w1grF2YfDQoUOwPbQYZhnB2JzRRFgnsfiwfmItRSS2L2RhcWP5ohHmz5+POqDxMSJysbajetBiLAhsd7kLom7duij20aNH2EixDiASyo6mxoqEimlqanbq1An2jGBscdgEsPXBubHBosUuXbqEdCWULQ07FBxtoEFx7MUk5YdYWnFI9Hy1doohFo9u6bLt+o49/tQpjX4dKCUV8ZOdXQKF8iFpcmyQ5fOb64f26zxqx62Hj9b/O6FTs6ZYok1a9Fy684pXDPMoKD891vLWodFtWzVr1ahd/0YNG7ds23uNXVgW/X4NYVaSl+2b/YtH9Zx54P6rV0eWz+rRolnTfguPmjk6KFgaNzni2bkd7dsOHZKzPbRt3+HQMx/xL7wT5C+0NHuXdfPWL5i46MSeU6GBYT8hasTSVKKYlibJ8OR7b89VNPwEAUcogXw3pyoJCQlv3ry5cuUKDtMxiD07VAl7UvSRWNzo0s7ngD8wiERkwUsQhmCMcvnyZYyOXPgKBhEJO8EeHzvut2/fIhddMiLR+2JnjVx0cuhf4SiPHz9GbmCg/CEeiBEmip04jp4xLhIR+eDBA/T36LHQ/9GDGBHBKB87bmtra3S9AFNBLmQFkXFxcdizo4bOzs6IRI+FSaB7hldhEOJ49epVBMNdMIhiEfns2TOMhYmiBGShNLgLikVHhalgWohEh4ra0lNBJHJRWwwGBARgoigcuXfu3MFcIBj/Yiqmpqbo2FBhiCYiMSFEIhfVRrHoxtBcaBN0RciFWqH3Qhti6silFwRqhQa5desWelBEostHJEDLY9Db2xtlYqJYfAjGKJjo69evMQgdpOcFg6g5aosuDO3w4cMHRAJ0/MiFi6B69FQwiJZHFioPIcDyxSLA4kYisjCIuiHY1dUVg6gSGgHB9PK1tLTEJDA7uQsCE0WxmEcscQwiEh0w/gZoMVQefTxGRDCWLwahpyjTzMwMKoNBei1CaVh8KBkmgb4fpaEczJq5uTkGkQg5wCCcBsGoNsQLjoJmR7PkLgj8jUUDG0Dl/fz8EIkWgxlgXOgOmhpLH4UgGOXTxWKKmC49L7kLAv6HGkJWUD3UGVkYNyYmBoMoFu0J0EQIxvxiNrHaYCy0A70gsIFgKigZYocZR+GIRB1QJnLRqqgeFhzaGYNoc7Q82h+DWOfpeaEXBJYUmgjB7u7uGMREUQHk0ssXGxomgYliuSMXlcdEsbagMtgE6HlBJdECaBaslhgXlcRcIxizjEGsaagSWgzpCMYoyEVtsfiwfmItRSS2L2RhcaPF0AhYnzEiGp+eFxz/oHpY87EgMNHcBQHpRLHwVGwFWAcQiS0ItcWKhKlAGemT6Aimi8XSQZtDZ+GUJiYmSFdC2dJQFiaDdqGluyDE0oqDhBf7/Mx6w5plIGo6evo1GnUcNW2zhXdsTrcvk0hy/k9lmB+Z17l1o0p6ulqlq9atX7/HoGEjh3RvULMCS0OnQtXaC7cd8U0WygRJ70xPNalbvVWrdpfeOnz5an1l9zxN3arNem0LyhTJBKG7Jo7o3LxJNYPSOuWq12vUqHqFcjoaLJZ+6xUHbr1/fCrX0qTirKAvjxcMqlW1UtUlu69Y2X2JTsXxrrwiP8ffammzR89dNGnJqX1ngv1DVBU1YmkqUUxLE0U/4n6dn6tovK/zkIIDHia72MAwsLs8d+4c+id6L4n9JgQLYG+LQfQlODgG+AODSEQWdtl0P41RsHtEZ4BcrBgYRCQGsePGIN0z0eddAP5GLkpALkZHIUjB/h1Z+JcuFn/QO31EYhDFYhAdDz2IvxGcWywmQU8FuZg0XSz6DxSFURCJ0REJaEPCv/gbwfS8IAaRiMdYGDe38vS8oHwEYxCRyMXUc6eCXIyIQbq2KBa5SMmdF4yIFKQjF/OLSOTib+TSxWKiKASD+IMuFoOYLj1rGEQW3USK84JIQLc8vSAAPYhR6NpiEEXlzgtdW7pYel4A/kau4oLAYG7lMQhyB5GFQUwdwfSCwETpeaGL/c6CyJ0XjI6/AV0scvE3gpGOQXpBYCq584IslIZcFEsPojRkYTC3xehBjIhBFIuJFlwQdLH0gqDnJbfyKAF1+M6CyJ0KPS8YUXFBYFy6tihWPmOZmfS80MVidORiQhhEMAZRLFBcqQBdeRRLtxiqisHcymMQ5A4iC4N0sfRKhaJyism3IJCbW3kMIp7OpecFlcREAUrAIHIRCejKq7og6IliEBPFiMilVyp6QSA3t/J0sUoLgq4tXSxy8TeC6WKRCI88efLk5s2bYWxIV6KQpwcAXUSh/LqloRVTUzLS01Hb74GDPBwFYh44XK6g8Hd4qhk1WhpWiYxY38cnlvdupg9RY7G0Spet2q738EUnn0ay5etEDuKEUK87uybVqiKPmbZ69xt7N38/r9d3jg3p3gopNbtOOPDUOzXG4+xWI5Zm+fZ9ZntnSikpP8b7Wc+y5TQqTXCI54sl3ICvzhfXj6tfrSxG6TN5+aXbt04f2rFx27E3th7OT+Xn0hoZjj7zMSguwGrf7EGG3QaYPPwYmZgpln//8Zf4K6940pYmFzWjJaf3mwT6yg/1mOxiQCxNJYpjaTJhiiDgMNdxcq6lCby3S9PdmGxVwGH3iBEjevTogUNhJolAIBB+N1DGxMTEmJgY2guVULa0sLCwO3funD17lj5nWJBfszRYNPvOrOkjBg8dXAwGDRo0ZMiQoUOHjhw3aeb63edumTm4B6dx4NdMcepFrZaGeRVnJIZ8fn5l5dShVbQ0oFAaOqUM6ncYNW2za2zeO2a9HmxoXLuCdvOxt628ODkyKsiMMzu93LCJvmaF9rO2349KDHt1eUfvTn0X7L6fJqFkYl6ki1lf/dIaujXuuScJc2QrwupMh+a1WXotdl17G8fmpCbFRscksDls+r60Wm0MZ2/es3ne6N4DFt946ZzCKfyV86ryt1ranNHzFk9cMn/cwsWTl5ocOBvgLb8awkT8CGJpKlEcS5Om2PE91uYqWqbNRE6ACSX+mfdCv3v3bvz48QMGDLiXc5MygUAg/AlAziIiIoKCgtLTC/nenbKlff78ecKECV26dCn0+ij4xXNplEzo8vD2ueMHV88ZVdGAPs/0YzS0tEtXrtm4Zfue/QaPnTj15P1P8TAadbuami1NDiXis8O87G8e3zaut/z0GIulqatfe8jM45HfXvjg9WBz49oVy/Zd/9Yz+ltrymJdzRaN68wq1WTqqovRHH5ydJDDZ9uv3v5uNs8OrZk+csA/lbU0NTQ0LjrECHIunmb4Pe7SthGrbHeTJ06ZuafqKObpAb1yFWrWr9+ybac5RywyhWo7K/nrliaVSm0+2Hx8afHhxR/xO7Lj2KJJi2Fp62auXzV99fxxC5ZMWWZy8Jy/V0AxRa0kLE0qFHDYGekZbK4g5wujMolYyOfw1aPaxUE++YwsvvBnTpx/nx9aGkVJhWGXec6zci0tzW5uZtgT5DARqoCjVWdnZzs7u+joaCaJQCAQfjdfv35duXLl2LFjnz17xiQpoGxpTk5OixYtGj169M2bN5mk/Pz6FU+xgMdOTwnz+3Lj9Kb6darmuAtDmQYdRy3YcOz02fPnL5w/b3Li+OGdm9ZMG92/aXVtJgJoaDRo13vS4rPuUZkitZqa+ixNJhAI+AL5VWo5lISbHuvw5t6yGUNy6q+lV6GliU0ULAeZtKXp9dr41iMmtzV5MQ4bF4yApU2BpfEpISfN/aPptrkzJk8YsXH7zsN71nQoXUrR0thBT7u2ayy3NDOnzNzu+5ulYZrapVkVG1cbMmejV7z8gr1a+HVLE4vEe9bv3bhw84YFm/6E37xxC2aPngtL2zRny7YF21dNg6gthKidPXTez8u/OKKmXkujJGw/xxeHdqz5d8b0adNn/Dtnxe7Dl54/vn3jwrFrDiXuGfy0aBfbjzfP7F6zeObao7fsg+U3oauXH1qajBvJ99nJdTDKtTSO915huh+TTSAQCP/7vHv3ztDQ0MDAoFhPD6SkpOBw89OnT2Fhee+PUESNTw+IMv3XjO9WuYz84ViapsMWXLH05/CFYrFELBbyuOyk2EgPJ+v7l/YvNOrHBNHoNR298IJXVIYa71hTl6VJOZFPHz++89SGo3Dvl0TICXB6uXBcF9RdR09/3lVXUY5g0Zam1X3ja/c8S+PHOm5aNJKl13zqmmsRackOr6+P6tuzdaNuW45f9giNTgj6OLxcmeJbWqXqtbv06NK2oW6F6k3m736aKFCP2v66pYmEopUzV88ZMw9utGDCooUTFv8Jv0UTlmyZt3XXkt3b5tOitmDp1OUQNf9iiJo6LY3iuDy4uGxUr7pN2xqOnLFmw4bFs6cO6d+nW+d27bv1mmZiJ1bnEUohZMV4mV7aN+SfZuX0NNpNXP/URf4klHr5oaWJ41/zXJfmKlqG7eTAT/vCQn6ybX18fC5cuHDixAn6oUgCgUD4EwgNDb1x48bRo0fpNwIqoWxp6IfEOdDPQRREjZaWTbEfrBvapEop2rtAZ6P1z13lD70rIRFmyRXHqA8TR1Om1fprn+Mz5Y9vqAW1WVpW4MktK2fM22Efnu8as5iTaHtX/nYcbT39Kee+KlqaXp8tbz1jc1sz3v3Zkgnd9Or1Xn7ydZC31Z7ZvfSrNJqw+mJUpiibEqVHfBpRXgVLa9ip78YjJjvnD2BplqncZNj2B64CddzZp0ZLWzxp6fpZGzbO3vSH/HYs2glLUxC1hd9E7QeXPtVoaRkR1uvH9K6qV7P3lE0PPnnFJiSE+jo/urJ/9MAuurXaj97zil/ClibKSvJ3fb9yQt8aZbS7GG146VbIhvmLfN/SKClfEHhc8atQrg+G71k78qfv/Tc3N+/Zs2erVq0uX77MJBEIBMLvBrrF5/O5XC7Ui0lSQNnSaKc7efKkra0tk5QftVoa12zz8GZVFSxt4rrnRRyyS0W8YMfHg1uVY0JzqDNou31gYu6NWL+I2q54ihMf7109uL3huhN3IlLzHhQQc5LsH2xFtXVLl930LJh+VxltaaXaLjN3jqBfqZYtTv94ybh/06qth866aRfi9+nufMPK5eq2+/fYR54sWyrmBtndbKWnC0u74hQnEAql2VRmgFnXdo1Y5fqYPP2ieF+a29NTRu0qNOo+6vQbD49Pd0b0aKJRqnyNnrPv2gb/2pKTo0ZLWz1j7c5FxrQY/VE/48W7ts7fxlz6nLrs7KFz33+YQI2WFmZ5anDXhqwynbaefZPMrBlYhZItH53o17v34JUPMr6ni2qC4pjvmdO5VunfYmnSTD++x7pcRcPv1r5e/Xu0PHToEBOhItinLV++fNasWfT7qAgEAuFPICUlxcnJydLSMioqiklSQNnS/tO32qpiaYgWZCU+25Vza1cu+h1uWHpkqumqp9osTcb+eHZ7v1r6jdt23X7mtntwTBaXl5We5GX/YsmkHho6par/M94umivLOaFFWxqrbMelJ828olOy2Ck+1vdWjDBs2qDVqkPXI9L5Qbb3FvWurKlfrcmQBWfuPza7d3z1rMGYdVjanIMXT56+EZyS5v/xRPtmtVhluh68a53MZxaKTJj24ZJx31pl6ncZeuylPz8zzvLu7n+aVNYpXb79mBVmjkG8X1t6/x8sDT+ImvyMmsLDBN95PYcaLS3ozaGBneqy9JosNL4elJz3eDY7yuW88ZLu44/E5rvkiUOxnPsgZWIeh5OVlcUX0e88VkQmFvHZmRlpaemZbE5hF0xlfJ78DUA4JOJzeQIJSuC/P76gewP932Jposh7vK/z8izNeY71400njh/59OlnvjoAsCv08PD4+vUr/ZZaAoFA+BNwdnZetGjR0KFDnzx5wiQpoGxpLi4u69atmz59+oMHD5ik/Pw+S8uWiTgh7w8yod/Y+8Aykaues2lqszRK7Prk0MSudStXbdC5R+8pSzYdO3nq2AHj+ZMH6uqV6TJ40paHrjnfHpDDWBqLVa3noEXbdx87unf28H+6tWs7a/MpG/9EKluWGPjpxOJ+1XW0NEuVrty09dDRfcZNmtC3jfypi9K1a3cbPOPcmbObZvWvUakMS7PKiBnLzz6xCUpgc1Ij7d7cWDB2QDUtzYr1Wk1YdfK1tWewu+W6Xo0wonap0q1GLjl95UYInO5nFff/iaXRv20Ltq+ctmreWLmonTlwNsS/8C9uqdHSQj+cGNRF/kGYFv8M3X/FPCA2TZSzpChRqovtm52H76ZIKJlMnJWRFOLr+v7ujTMPHGOig1/fv2Fy8sTxY8dMLj5w8I7IEjCbhjArxdfR4u7FsydOHTpy6sDh4xcev3VJpt/JQsnEgqz48IDPL26fN4PBhFs9vn3+1Omzj2xCEhLfKFgaPyPexdb63q3Hj27evHHjxmPzl74x8q8Y/TTfsTRKzBb4GHMVvgol8NkhzfBgsn8KPp+flJSUmJjI/famTQKBQPjt4Mhz9OjRLVq0uJ7zmSkllC0NR+EhISF+fn70JyAK8hstjRJzo+1NmNBv7Lj9MT6rkEu5P4HaLC2binY1P7lrw/qtJw7t2zZh/NiRI0YMHz5i5MjR/85d/MTWP1fRAHPFs2bLYf+OMpo+bszo0WPGjjc+ftUzPJluXKkgw8/q6fYZU8eOGzdl5oLDt99HJ8XZ3dkybuzYiRONXtrbXVqzcs6UyUbfmGN8xco3Pjn8y5XjW5gkMGOF8YmX/p6OZ+bNZlKMjCZPnvw5JP2nX2/7/8rS8Ns4Z9PCCYtnj567es7aV6avC33zsxotLdn35aJRXQ1KyZ+tqd2mx4LtZ97aeSWzBRB3iUTI5Qnlp76y4j+ZnV0+a3z70qU1mkzatnlpr3btmtSprKujxdKqPnzmuvcugRyRDMZj/+7u7MH/dGjSbMS0iVNnD+3Upn39dlPPmblypVIBO/b9zfM7Vy/o2bC0bvvZu/es+6dWVT0NDVb9SbesXM2P5VlaZrTHOeOlLWvWbFCleudeg+ev3PTarfAvlBST71iaJNWZr/DcANdxcqLbSReH95aWlthBMUEqQn+/6Pjx4045X08nEAiEP4HQ0NCbN28eO3asWE8P4HATfhYbG5v57YMMSvzOc2librjNaSb0GztvW/x5lpYtEfF5fJ5AQmVT+JOdnJgYH5+QlJzGK3Cdiba0KsO2WvrG8vm8jIz0zCy+SPlj6pREIuJwufxvp0YoSsLjcMQl9X7fYvH/ytK2L9ixatrquWPmL5m8VH4uLaDEz6VlU5mfru2Z+E+jCvRD0JoVOvQ2Onb7lXtYAp9ZPaRZqSH3Dy7s2qJ6zqbAat2t78bDp07sXz+qX+fyZeUfeB6/4fTXyExOnPPqeSNZGqXHL9zsly7mpYTdP7aqkl7NtgO3h3KFGbGuW8aO7NykKsQM1G/ddcCAPp3atm7bbZrpp69Pj8yXW9rkTS/dY9LifExN1kwe0n7q4g3vvmLUX9v8v2NplEwQco7nPDPX0nhfFzq8Ojpz5ozWrVufPHmSCVMRU1PTTp06NWjQ4Ny5c0wSgUAg/NkoW1pAQMDZs2f37NljYWHBJOXnN1qaRJDl/mgzE0qjVeHwY/tk7q/2FjRqtLTiQ1taub7r3uW91fZ/g/8/lkYr2ryx83O+RmBSlKIBdVoatg9xup3poTmju9WtWlH+bVYWS69m80GLD75zCsr6ZkjCrOSPxyeyWBqaFRs9/hpFf0stxuXZhP6t9Utp6rX79+JbnyjvN2unD6hao+PyPbcTRZRMnOb45EyP8tVb9pj/NUl+hIMty+rEVC1NDZZ2pd0PHJNSo2zemL+2cktKS6HvS+swYdW1F+9uH1o1qkf/5dsvBSWp5617RVmaTJjMd1+t+Jo0of9hR8u7//77769YmrW19dy5cydOnPj06VMmiUAgEH436enpXl5eTk5Ohd4yq2xpHz586NevX/369Q8ePMgk5ee3WRolzYwP3je5NROag1aNMaaOobyfvWanxO+wNJnL7XWNalXQbTvjsUMAX+2fUyhJ/p9YGv1627lQNKMlULTQgFCm9oWhXkvLQZYc5mKyZUn3Zg0qlpOfHmNplmvTfZqZfRj9FQlhVurHEzNYmjqlR5yM5eS+Ck9se3lBp8YGLP0ue69ZJKZFvr5+cvOmQ6bWHgnxUT7OH85uW9RYV6thm05P/eQ3lsnE/EjrE9pamiyD4dahKd+eKMVGxzw9ULtDr0EDDbt06r9oz4vYLLUdTRRlaeL497wvCs8NOE4Vx5jHRQe/efPm5s2bLi4uTJyKSKVSoVAoEAjo7ysTCATCnwC8q0+fPtWqVTt//jyTpICypTk7Oy9ZsmTMmDFFvZTo91gaJRNkxtnc28PEfaPR1JNfw9PU1Wn815ZGiRLDfa5uHlezkj5Lu96awze+hMRxhOq5evsfoEZLWzlt1Za5W7fO3/4n/LbN3268eBetaPKzaFNXzxu7YOGkxSYHz4YGfk/RgPosjZJKZbm3vlESdoCd2erpQypXyHkTjXaVTkPWuafI3xRIW5qGlk7FCecSuHl+leptNsCwFSxt/zXLNFG2VCxMT4pxtXl5avu8Yd2a1KlZtbSmRq6lUVJhgstF2tKsglLyviL2zdIwTQ0tVuN+E8+88qBf0acWCrc0Sirw2891mpZraTz3FZJ0V/pVjtCsn3Ys+FlKSkpycjKPl/d+HAKBQPi9WFtbjxw5slmzZteuXWOSFFC2tB9SopbWZdL6F/nfaktRMolImJkSZfPoaIdSCt+JYrHKV6xy08qLTT/5pg7+a0vjB6/t3qVJnTq1vtF57t633nlfIPjDUaOlzR4998/50V+IkivaQlrR5i+YsMjkwNmwwMK/xqGIuiyNkmaFhEanZnAUT65mRHuf2DqnvL58e6ndqtvh10FIzD2Xpj3sXDwnz9J4oa8G92rL0u+657plMl8Y4f1596yxzcpXGDhh9nM7l88PT/cuW7r4lqZTSq9S3VLlqmn0mzD3o1+ymk5eF25pMl407+v8XEXDTxhyXsaPTU9Pd3V1/ZWnBxwcHDZs2LB48eK3b98ySQQCgfC7SUxM/PTp08uXL0NDCzkRoGxp9DtwcaxZ6DtwQYlamuGUDS/d4iQSsUgkEgj4XE5GUmyIk4X59lWTmYgcNLRL6Zctd/yJSwZPnWeefst9af+7qMXS1s/fuMhoycJJi/+E37zxC6CMtKXtWLhz5ZRVc8fOnzduwdmDZ8ODwplKfxd1WZog1mLY0OknH1im53/cJC3U8fDKYdgEajTvamwm/5xlrqXpDM9naRl+TwZ2b6VRod+huzZRwTYrZw7R1K01cfFh30RBtjTd6dnZbmVKFd/SOg4YPdtoZNd6+iy9ZqMXng9UqtbPUqiliaIeKD43wHWaKkmyzpaJbWxsBg8eXK5cOWNjYyZURZ48edKtW7cmTZpcuHCBSSIQCITfDUVRkhwKfROnsqXRX1sfNWpUyX1tPY8ClsYy6D13zdlXL02vnj+5adWCnl3bMOk0GkBTU0u71oSdn4PTROo6ov8GsTSV+HVLwxrp5ebj9sX9D/ldOXV1yZRlsLQNszaumLJy7pj5kLZzh85HBEcwNf4RarviKQjeMbb/lOVHbAOTmZQcxBnBN44tw6ZQtVnXLaZ5lia/4jnxquIVzy+3NnZtVrX6sDUPHf0/Xd08pHm5pv1nXrXIOQslzXR5fkGlc2n//LvN/NPHXeuMsAVq1fln8sHXWT/6pGlxKGhpFCWTPzfgODnX0vjeW6Rsf2TZ2toOHTrUwMBg165ddLCqYOe2adOmZcuWvX//nkkiEAiE301CQoKlpaW5uXlwcDCTpEAhTw/06dOnbt26Bw4cYJLyU7KWpqGpra1TqpSurq6Otra2pqYmk85ilSpVtpPhpO1Hr9t7RfKEIvrF/eqFWJpK/LqlAYjan8MXu6/r5q2fPXrugvGLoGj44/yRC+Eh4YW+Gq1Q1GZp4rjTU0Y00S8ze9spn9gsJjE7Oz3i67E1Y7A5tOjS+7m/XLCYc2ka2hp1V3un8ekjFxnbe/MQw2o62ksP3whKybS+unFgs7K6jQeuuGiZKaWyEvwv7ZmNTatx284vAzNlQq5AIoh3NJFbWmUj6/A0hacHuK/2z+1Wu4z8fWmusdFuz1dN7oaNtFqbvltvO/z6eewClkZJMry4iifSHCaJIu9TolTk8Xi86OjowMDAlJSf3DyxiMVi+Xn6oj5STCAQCP898K7evXtXrVq1WE8P+Pn5nTp1avv27UUdbpaopenWaNip3+iJw7u1b6TLJOWgW7le780PUzLY8jeG/fTL8n8EsTSVUIul/VG4OLjSlkb/Lhy9GB4cLlNlfVObpVHcp7smt6tZWq9M2aH/rnpi4xmXkBDqYb177XT90rql67afdOR1Zs5b0xhLA5qlO6668DUkJjbC7eicfg0r6nWZss3CM1oiEzk/3DaygwFLS6d8/ZaGQ3oN7FG9rL6efLMqV65W195tukxyT45/vn+0/E0cpdrd+OTPETK354vTfHdNHlJTR6vt6BVmThESCcf19cUpPeppaunUatN7w/XP6XlC9zMoWxolFYSYcB2n5lnal1mSdFf4lTyToqBZEKziS7MSGBGjA5TDJBEIBMLvBrrVo0ePSpUqFfoqR2VLw7Emm83OyMjg8wt/JVKJWlq7sctuW/olJ4S8vb5jcNOyTKr8+TLtms07X/pUrHuDfhpiaSrxF1qavUuupV06fiksKEwqUW0NV5ulZUtsL842bGvYv/+oLp3bV61Rq269enVq1TAoV6Zp++5H71lGZzIv3cizNBarcodKtevXrVunVkX9UhMW7/7kFckTo/4UJ9b97NLJTUvpYDuq3rzLor3nXjy9vnZsU5aGRo36DfaeObewXctqFXJe86GhU6VG7c6LL3nGZITb3zAa1q2Cfmkt+FyZ8tWajd156snzsweGVjVAoKa2brnKNXoPHfUp/Oe/tpTf0ihKwuZ+mav4mjSB/0EZN5IOjoqKunfv3pEjP/8dzzdv3owaNapXr1537txhkggEAuF3A92Ki4uLjIyEfTFJCihbGqITEhJiYmJ+z7cHJq17Ln/GU8ZLDniwf2mLUjpMBoulpaPbrFPPd4GF10otEEtTib/4XNql45ehaBKxym98UJ+lUZkxvh7e/sFhUSFB3k52nz68e/fmzTtLazuvwLD0vPeifbsvTVO7+pjdDt5uzk521tbWdg6uEbEpArmiyaGkwvT4KB83F3tHJ3fvgPiUTD6PHR/h6+Tk5O0XkJqeHuXn662Af1QyXyQVclLCQgKZJOAXGpeYnpmSFK4QHBgckpV3F5vK5LM0mUSSZK344U78xPFvKQnzpXlHR8eJEyc2aNDg8OHDdIqqkG8PEAiE/zmULc3BwWHu3LlDhgy5evUqk5SfkrW03PelyURJQQ77V0xgMnLQ1i3bfvA2/wxZCb389RctTcDnZ2ZkwG65fPSPTNclFkv4fPl7rf4+/lZLu5yjaEU94/x91GdpUKucB37kq7pMKpG/J0wgEIrEaHU6nyH36YGqky8kckUShIpEGLPgVUEUJpFf7GMyKIq+ekgP/R4ULY2S8gV+exRPpPFdl8jY/tkUsym5ubktWbKkZ8+eP/2EZmBg4K1bty5fvuzu7s4kEQgEwu8mICDAxMRkx44d9vb2TJICypb2/v37Xr161a5de//+/UxSfv4jS0OnIuYFOD5fPLYzkwc0NLXK1Ou+9ARoyt8AAKzKSURBVG6CWPk7l2rhJy2N4gW7fzxjvGDiyIF9c+jff8BQo7kbD182fXz70OHTO844/trdO38of5+luTq6mt02+2lFA2q0tGLCXPHU1C474kgM5xfOa/0Oci0t5NAYGTec5/xvrqLhJwo+TwmSmNDs7KysrKCgIAhWXFyRH5H7PjDd9PT0tLS0om7nIBAIhP8eKyurYcOGNWrUqNCzY8qWFhkZaWZmdv369UK/zQ7+M0sDIm6q04sz4zvK74Nh0NDSrNL63/PWGQL1vLFJkZ+wNGFq0J2Ny8b06dqwZvn2PQYv27T3zLnzp4/unjtiaOfGLdq0blG3zYAxG55k/d5TFiXD32dpKYkpyQnJP61o4D+3NIqXEX1/6wj5AUytYR8DE9X+epoSJc/SDgwTxzxRVDSu4xRJikO2VJ3rVVJSEnZrDg4OsbGxTBKBQCD8brBfWrFixZgxY549e8YkKaBsaRKJhMPhsNlsgaDw/eN/aWnyTig17M259V3Kyh9JY9DQKNu05+lXXhyBmj/Gp6ql8RJcV8w3al25QikNjZH/Lr//2iYkKiGDnZWRGu/nYHVxx7LerWqz9JsMXXg2VqjOvpOSSbiJ7vuOv88Sq71PloXYmts4u8Wyf2wqf5+lyR/n/LUG/U8tjRKlRrodmj3FsEUN+XahWaH38PFrrlkkZOXdtfaHk2tpwfsG8D03KFoaBmXcKMwkE5qdHRwcfPr06dWrV798+ZJJUhEcsM6ZM2fChAlPnjxhkggEAuF3k5GR4ePjA1dLSEhgkhRQtjQcbtrZ2b1//z4oSP79mYL8t5aGGEl6pMeFNVOZiG807zHqqXM4V32fhwKqWRqVcn/t9CrlyqAyw2auePclMPf9BTlI02L97hxa1rVJs8HTD0fw1NhvygSZEXeXTasz4lyKQM1XfjMjHbfNH7XD5I5/8o+t6++ztF/nv7U0CScl8s31axcVeGDjm8n/9ReZ/UfQlha4rWf4if6KH+7ETxT5gBLne1QI+6URI0ZUqVJl7969TJKKPH36tEePHi1atLh06RKTRCAQCL8bqVQqEAj4fH6hV3KULe33fnugEEuTd0b8SB+rhRN6MEHf6Dlu3Wf/BDWKSvEtjaKoeI87vWtV1tXQ0Gs29K61d5aoYFNIE3w/7Jg/cdDk7eEKloZxRXw+Vw5fUtirn2TyW8XF8tNkMolIwM3K4gnyCpcJsmI/XFve2aCizoiLSQUu+8rEQgGPy+XxRRKVT7PxkwKPbptbv1aluXvO+yX/+MYdYmkF+e/vS/ufhra0IONe8XeHKSoaz3mmNNMnm8q3w/L399+3b9+sWbMeP37MJKlISEjIo0ePbt265e3tzSQR/jCwR6Q/lVM4OS/Ly3nuhUkoAuWjdyZZmbyHaUoKihLz2VFBbq/MzP1iM4T/UzckEP4z/Pz8jh8/vnHjxs+fPzNJCihb2qdPn8aNG9epU6czZ84wSfn57y0NSIVZ/jb3x/xTi4mj0aoyZukVj8gMdXmaCpYm4z3bNrx8Gfmrdwesu+0fn1VoFWS8eKuXDw+evJ+a091QUnFmnN+rO4e2bdmM5bFx4+Yde8+9c/TPpGVLKkxLiHS1fX/p9LFTt8w/f3V98+TGti2bNmzYdOjMNTu/BOyd+BlxHy9tHNy+HEtTW6vpqA07du46dDc0lSPf9mX8UDeriycPbdm8adOmLTuOXDD/7JWcJULBgoxYx/f39h48eNTkwun9JkePn3T0C3F5c3I3zZHHQYkcflrQ2f2rGtSphjnq0G/Eso3bL5q+94tnXoJQKMTSCkIsTSVoSwvZ2yf97RhFSxP47qaE8u8NKMLhcKBZnp6e8fHxTBLhL0MmSo7yOmG8c0cRnHruFJ7GTw38dP/yYSapILuOnLj+Vb7jy0WYcPPksV1MtgIH7nx0jFTzfTNyKKlEkBIX5u5kbXrzwvbN6xfMnNCjc7frn/0z/8ce7yH8R7x7987Q0NDAwMDExIRJUqCQpwdMTU2vXr365csXJik/JWppXYzWPXctxNIQKuSm2N3f3rl6zrs3cynbaeHxl0FJHLWs+8W2NJmMH766c83S2pos3fonX7in8YtoB0qckZ4SGZWMbJmYF+ljs331nP6dmo35d9G69WvnThqgV6ZO71Gz996xjkznSrhx7y8dnT+qX51qlWq0MhxlZDR+dL+2rZvUKK9doWbD2VtPRbLFWckRj/fN69uxLktDi1Wz28TpM6bPP+gZlyGWcj3e3Nww02jspGlz5s8e3a9N7fr1Ow+ZduHR2/gsMT8tyurxidHDeuhXqVmlbMNGfad/9PCxvDAR7Vej3aA56676xrE5sV+NNy5oU6taaQ2Nph26jZs8deupO06h6cyMFAaxtIIQS1MJ2tKCd/WKvzta4Lef+2UWbWmiqEe5r0nLhc/nw8/Cw8PT0tKYJBWJjo7+8OHDq1evYHtMEuGPQiZMCPuyfeHM/h0b0Tv4XJp26T919rxd96yDk3lJvm8vHlo3ZXS/JnUrM9k5GFSu0X/M9MUrtu46Yy9UuEpBCWJMdm2dP21suxpVSmtqyEM1yzVv39NoybFn1iEStT/aRYkyYrwvb1puNGZQu0Y1c6om59ALlyJ7CsL/bzw8PHDUMHfuXOgak6SAsqX9ELVaWvqNBYMbGeR9DKrjhNXmX2OYXGVkAnbk/c2Ta2jT2xmDXovh+x/YJqjDEopraZRUmuk2oVpFXQ0NVvlB5l8jeD9sBkqSFuFxasmEUvoVB8zY4xaZJqOk8f7Wc0Yb6uvplm45/Oxb15TUGMsrJ//t1aaavjarbM1WPYZvPXjkzvUTK8YZVtHWbNa13323FIlYGBPkfmPrCJZWqdKDDrgHh4VFxHKEkuSA98uHth84Ys6tN87xSbGuHy7MG9q+opZm+2Ez7ztEQWHF3FT7F5f6dKitWbpis5Erv4YE2V5fyNJvt/mGdWymQEZRUkFmfKjt6gH/VNPWmrHxkI1XcGxCchbve3c4EUsrCLE0lfh2X1qPiJPDhCEXeV/n0ZYmDLtOiZXfwR0cHIwDzbVr10KzmCQVefv27bhx4/r373/v3j0mifBnQclkosykiI93j/dvIz+vz6BdfcO5ZwHRiRy+SCqjZFIhl50S5Pphz4qxDat+6z40y7bpOfmlS1h6zncEmfIYZHwuOzbU/dzicY0qyz9p0+KfsUevv0SBAlFJnEoTpUd5Xly7euGCeSO7N6NrB4ilEYqCy+VGRUXh6DEjQ/51ZiWULS0xMfHz58/YnQUGBjJJ+VGjpbHjXZb26lRJW4tZi1ms2p0nnTL9yinqmQBKwktw3zy6e35PYzUbMOPqC8ckNv8Xj4mKb2kyjtu0GpVL5Vja86+RP9z0JPwUp6cnO+iXrd6oxwP3vMJjHK71qFcdttdt/knn0FQpxXtzbJFhvTKVO47bfd8hlS+lxGkOD48PqqVfq1X3vc/lz3MIM5M+HJ2moa1nMOFiujDnYq+M83zXzCbVys3eafLe3s3Tw8PT9c32uWNq6Wjr1O655Ngb+kwjLzX85fmVjSvolqtYcebqNdN71+g960YMT5zX1qKwPWMHYKzFB64G0ddovwuxtIIQS1OJvPvSbg/jOs+gFQ0/nttSKTsA2zsTl4ONjc3gwYPLlStnbGzMJKkIjlMnTJgwcODA+/fvM0mEPxFKzEu3OjvPQBN72Bx0mxx/4Yb9IZNPQ0lCbG/PH96SDmFpV+46fJVn2vdeIe5jtqtbixoalZpuvmAeU4zH2H8RiYDz5e4GpnrE0ghFw+FwIiMjg4KC0tMLuX6lbGlWVlYjRoxo06bNyZMnmaT8/LKlybiZaQmxkZ5O768cXFavZr5T1izdegMnrbnzysorMDQ+JY2b76lJOZRMkuL/elDXxjpamswoOXQcMu3ARXMH98DY5AwcbjHRKqKCpbHdJlevVHxL4yQE3tkzhaVlUL/jkgDFe9gk8UfH9KhaWofVcOoDuyCejG9xekmvhvqdJ619Jv9SFhAHfrq70LByzZaGe576Y1iQmfT26DSWtp7OiIv0M54yjs+Kf9pW1NLsN2nmpu179uzetdd4tdHEYe3bt23fbczWE+Yp9I17lDgpxGm/kaE+qq2hXbpKJ5tIXr53zwuC94zpD0tbsO9iQMqPrYtYWkF+0dIkYrEoB4k07+MB8s+Dq/LF9/8hci0t7uZQxa8O4CcMvyET5buy6evru2vXrqlTpz548IBJUpHw8PDnz58/fvzY31++KRH+XGRibrTDuCZltb8dj/dfc8M3jq20GYgzQi7uXlStjDYdU799zzPW4UVuKpTww6kFbepVqDt805MvJXE7mjKURBDvcoWuGyCWRigKb2/vAwcOrFixwtLSkklSQNnS7Ozspk+f3qdPn4sXLzJJ+flFS6Nkgi/mlw/sXD/GsFpZvXynxHKp2bjVuDlLj1196FzYfVEURQW8Pd61aQ0lUWOVatpz2Ozjd14HxBfyvdLioMIVT7b3VPpcWplO92wCOT96w25GtNelDYNhafU6LvbPyrcbsTu7uEH18qyyva+88WCLebSldZqwxvwrfX/ejy2NH/F+UMsGpXRrrNhz6L7ZM7MnZo/Nnjx79uLFC/MX7z55hyblLiSZMNP34/V/DPRYmqX1Gy2MyhLnuyWDWNov83OWRlHi9MRIry+fXr14/uTJk6dPn7549cbC9otPUHhURKC9s29geNpfqWm0pQVs7RF6qD/PdamipfFc5ksyPNBbM6E5G75MRn/V6gebW1FgXBiwUCjEH0wS4U9FIuJ83DdQT+fbTr7R+CeOwTisZLJpKJ7rs3OTOjJPlZWq1nz45ofpRTxNJuWE7JjUq3q5KgsO3gtM+i8+PiGT8GOcz9N1A8TSCEXx4cMHSFf16tXPnz/PJCmgbGkJCQnW1tavXr0q6nDz1yyNkkmznu2c2L93j+4/YtLiTWYuRTzMRXFeH181dEAfJlSBxXvOO4UXcmW3OKjw9IA0bk+3xmVyrtUuv/Q+JuMHX+rMjPa+vHEES6t8/Q4L/dn5diJeDzY3rl0Rlnb1jUeWmDmXppKlZfiatmpSm1Vh4PUPHln591Bobokk56UeOcgkvGDn50ZNKqDaunpljB94csQKT6ITS/tlVLY0SibmpgU5WVw4sLJfq7LVa9Vt3qpth44d27Zu3qCF4ZhpS1YvndxxwIo9V7+o9b3IfwqMpdHfHog25TpOVhQ1UcgFSpDIhOY8PRATExMSEpKaqvz4ZzGJjY399OkTdohhYWFMEuFPRf7u7uCXTauUzb29ZcPltzEZ+Z7dBOlh9geXjyzDPBNQvmX32Z+jCzewpC+3OrduoFNr2IUXbmz1f7mmEIilEYqJu7v75s2bZ8yY8fr1ayZJAWVLw1Em9oY8Hg8HnUxSftT59MAfRrEtTX7y49OZKdXKlsK+odrwzda+sYq2o4hELOJzeclRXle2DGVplqndcrxdfD6l87y/UW5plQZf/+CdJVHhXJreKMbSOKFvu7ZooKXBWnHqUViqwnvnKWlmXFiAl3d4Ss5ui5KmR3ld3DLZoGaDxvVrsDS0Nar/axGWmlfzb5a2kFjaz6KSpVGUlJ8Z98nMZIRBWaxItRo0W7rrgvVXv6joKD8Xq+Nzpxg2qKWvp8OqM3j79U9Z6n2xEyXhcTJj4jNL4BQdlZUUncYRYPVgEoom19JCD42VCZN5bssVLY3rPEuS6pQtY3ZEXl5eW7ZsGTt27O3bt+kUVTE1Ne3UqVODBg3OnTvHJBUNJRFL2CnijATyU8tPwk6mxNj1FX81pihZusn4dmVLMTcut5p6xD4wWWm1ooQJb8/v6FyO+ThNlYbtNt71LKRbkglf7Z3cpLp+s6n7LPwSCq728kcS+Fx2ZkZ6ekZGRnpmJpsnEH5/FZZJxdysLC5PID8KpmQiAS8jPS0tPZ3DYw6pirQ0Sn5OmHllWz6kMply1WCrfC6HrlZGBpvLF0q/Wy16RjIz6QN2jC1kZ6ThwCYzi5/v/hbVkVEUVyTMEgrYgr/wxxWJJLI/1GeULS0uLu7jx4/Pnj3z8fFhkvJDLC0HSproMLpVPb2cq66rTjwKjM9S3ngomViQGeTq+P7FO+/Q4KcmS3HAV6FGvW1mvgqtJrW7sLBB9fJlDde+cY+SUN89l2YegGHa0jS09SpNOJcMS5NJxJyANX3aV9LRqthnyW0rH7ZAfh0T2yovPdz0wOYl01Y89U5GbcRZsVa397Zt2GHpVWt3i7NVy5disTT+WXU1Oo3HVFwQvJuxtEuByUL5tSXp917CSCytIKpYGiXiJNnc34v1R0NDo0qtendtQvhihVWD4n15cnK0YVO98u1WHzZLUOfJNEqYEfHx8dV/1zzi/NqOuyASfuqdDRMufPBK5v74zp88Szs8PlsmFse95jpNVRQ1QeAJGS8aFUawvb396NGja9SosX//fnp0VXn16tXQoUP/+eefol7ZrYggxj/ebF/UjVVR11eQ36//4h7v4kV4QBqY9i0OFBXyYmetCvrM2bQKgy6+9sjMfxqMkmXZ3j8+pF45OoSlX6ul0ZH4ArcmSzO9lnZrW1G37Opz5uHp+eog16CstMhAT8uXjy6ZnDl27NTp08fPnr9i/tbaPzQuk6PsapBHsZCfmZYc6u30+Obt15Zf0gTC9IRwm/dmp4/u23f4+P1Xtsk5T8cXZWkyYXpokJ9rAdw8/cJi03OnJj+KY6dG+ru8eHzrzPFjp0+dOn3m0v3nH90CotKyBAW6G0oqFnHZ6TGhflYvTK9eNY0VSAWcVN+vFhdPHTA2Nj5z41lYSlZxjp2KIo3Hex/ob+7t+dTrL/x9CAyISk8raMn/DQKBIDk5OT4+nsvlMkkKKFva+/fve/XqVbt27aJ2hcTScvEx39GyYXUtTU2WToM1R+75RyULRGgSud6IcMCRFm1vfmLO0GYDJsx0jEkPdXo6qXYVVqkK1QZvC+YwZ7zEvPDdI9pWLV9+3gnzsBR+tozz7vii7vXLdJi45olLnDyGEvtb3p3bpVLNVt13PwtACnMuTUtXo/OmoOT09Chv14BI050jmua8Sa75sPmXXztFJyTGhnvdP7RkYNcBS/Y+z8R+Rcrzs304s3uLTiP2RgkpISf54cZ+zL7D3DOVm3PcJQjeNqpPdW2tiWuOOwYmhAcFhUZEc4v2NGJpBSm+pVEyfqTHywkVy8HRSpWvetsloZAPpVM86ytr+3boufawWVJ+S6Nv0sp7xEAJZDNZ3+IUAqXidNdnFyc07frP6ieFPBddyBjFRSYRuD7dUa1Suf1PnVJ4Kloapizl8dxX5XuMwGm6JOlztlTerf76dzwzMjJQSEBAQHGumSY+Pxy0axDqFri9T+COvuT3K7+ArT3RkomvT4nTVXsjsSzVcWLjGsxLzlisGfvv+CXk68YESd7Htv5L59LUbdbmibfSDc1UjPWpFg2raVcffcfSl6vQa8kkopRI74fHl/ZuXlZHV79CpcpVqlSpVLGCfmldloa2btkOOy+9jUxlf7vgIBPy2EmxYU4fnuxdPqlF3UqsUk2X7b7uH+i0Z4URM3kWq3rj9rvMgzBCUZbGjbKdMXFwxfL6utryg3xNbd0y5Qww5dodhy45Z0Vv6FDBjMQQs1NrmuiWLmtQoVKlShUMyupo5jRE+X4bT7wIjsv49n0ZSizkpSfF+jpbXzm4blCn+iytSu37LfdNirW6uTNnygzTjlskslWx5PzYh4edsf2Erv/UZ+tTNn/P7+RnqxOfLDFf1sHBvCIuIZY0OASdMWNGjx49Cn38XNnSPn78OHDgwMaNGx8+fJhJyg+xNEU8X51p1biOrraWhoZGj/ELLj2x9PQL8vN2e2N60WhUH13dUgPGz7ANkT+qJspKsLy3U68UtrkKAzfdSeTxePysj+eW16peqfqo3Z+DE8WUjBvvtnfK0Do62pUMpxx85sIWiQUZUa9Pb++mr1e+bpvZh19liCSCzOT3J2ZqY3oaGuMWr55Qu9aYQ++DfC37/NNOm96GWazaNTWrVtXS1tGdsHCtezyXkolifK12ze7VoHWXG0458icVpAc+yYllsSqOe+QQyhZKKUHEgQmD65TSYZXpMGLEmJ59Rq4+cCep6Bs4iKUVpPiWxk0ONz04Gc2vUapc3dl3+UUc4wpi7JbNnrP+4M1ExtLktxryOeykuNioqOiYuMRMgVCS9wSo/FKKRCzipCUlpnH4QrGAkxYXExkRFZ/O5tEH37DDAPtbiwZX1qjUrMvyB8k8nkAg+jZt+eF4VkpCTHR0dGxCBocnfzlVTh6migMPPp+f87E5gUAolEjkF/NpBAJ5L4aQaMcb5XO+bLv1rlVUClsoxjpS+HzRKFkaJiNJtOY6/ZtnaQ6ThP4HZRz13EYG+aQvLOEPJqlo4kyNg4wHBGztFXV1aeyDreT3K7+g3YOxlBOeHRGlFvU6zKIQPFjTpUpZnZxdFatsrzVmThEKr9CgQuxNl4xoRefSlK3WYMoxy3yrHcV/sLZ77Qo6neabuIblPTiMtTrS7c3yKX1gSlr6zfpOOmwfEJ2VlRrqYX1k5ZhSOsyjo2X7b7INTZd/3EkS/2Df7Nb1Kn/b02qwynWbvnDnhoVTaunq6qAXyInXrdZ0kPFrnvwLf0Xel4ZJf324e2iH6lra2o17jN594314QqbkW3dKUXBH5/2z2mtoli5Xa/TlV84hEaH2Ly8OblxH/9szc2NXHnMJTZPPpjTD4enJcf80+lYBDZZu7ebdV165sLuJbinUK/chu1rTzvon5n94TRWsQ4JhaSc+W5l7eb7x9/trfk+9PS862kFpLIMCs4Q/b7G/An12rHLlyoXejKFsaWKxmM1mZ2ZmYnfMJOWHWFo+KIod7Xp+84SGNcrLvUkzF422vUedN3dIysrTHDE/08fyyqjW+nlxGhqj113yTciQYG8UazNmSFeUId+e8L8K3WcsO7h+wyzE0Bu/VqWG3ZbdSJOJMiLsF9eoREcNXnMlOBUbHpUZZr9+QLfq314+V6ZpryWnzUPkd6RJI1werx9TA8E6lev3XX8jjZLyM8LPz6hLR6IYVOTQU8dknjTC5srAbk3lSXrN5m2+HpjIY6peGMTSClJsS5PE+dus7Sl/b6e+QeXTnxKKlBkqw9Pdxy8wlj4xJclKdH56aGJ3A3r10dQqU6l2/yOPHLk5o1OCVE/718c2zK1drVLfZSfv3Tk1sEcbOrDTqAWm9qGybEmA1Z2FhlW+rWWamjoGddotCJSf26WyxfEP9s6ubKBPj6LXfOieO5/jMuRLNtblyfxxXUvXqFGnQftaevU69R1qcuPcZqMa8jidirU7rPZO5ad63kKXIC+XXqU0NQdsvO4W/b0HrpUtTb49Sfhem7mOU/JEzXGyOP4d1lmolVAohBQW+kHi4uDn53f16tWzZ8+6uLgwSUVDW1r09VXCxDBUi/x+5Rd5eUng9t4/ZWnZcTan69WU7+7k6DTad/NDIv+baYiTnp/Y0qlM3tdr5GhXrN9lfaDCC49k6Y6TW9TX19TYcfNjfFbeKd4499dLJ/aU71/Ldpyw8mFS3i26lICd9PbUXKZAbCd1VjqGpooE8e+evXz+6MLc3p2qwpa0a7O0sClpaNVoO3jO+u3LprXQlYtdpQbtVt+Wb/7fsbSgT3dG9GyDrXDMvPWOQYn5z1xTaVGeZxZ21NAqU7Hxv/axAjoX/3LD341p27h0ztaL6a4/dSMyS0aJMzydbU3vXN2/fGozVECzPEu7obzOZSrX7L/k4nljw9LMi3+HGr+Nz9mcfw7a0u67u6Tz5afg/5ofTyx+6ef9ey0tODj40qVL+/btc3JyYpIUULY0gLWBXi0KhViaEvLTDAJeanyUp4uD1Scr68+fHb64BoTFpGfy5J88z9eQ8ns5szKT/T1cHOW4+IbEsblC5nyDTMLjcaHIDFlcvkAoEPCZQZDF4eZ88ZOSifmp0YGBgWFRiRw+MzqqIeClR4YF+Pr6+PiHxCSm8UXMTQgyqVjAy8pXAiUT8XNSviEUy6uKWUlJiA4NDolJSObIT5DkjF8ExNIKUlxLk3ACPz/oW17+SpSKDae6p3/n/j9KKr+lWJ4vSAo8u3epvn71rv1mvfwaFBftf//Uag0N7dIVqjWbfzNVKpOkeKzv1Kpq6VLynkNXr3RpvWGTJk0b2bVRZR0tbd0pK3d6JwszU+Nsnl1cOLYdq1zd5uP3vP1sa+fohaN4CS9sz8DGFSq0P2lq5edrf3TxP3WrlC5VWn/9yTvhaUKsQklBdmvmjdHQ1NKr333msVfpaWGvrq7Rr1p/7Na7IUkc1FGQEmLz6nK/yga6GhqL951/+/Gji09kJvd7VxAKWhqQpDrzvszJszSHSXyfnVK2v729/dixY2vVqnXgwAEmVEWePHliaGjYrFmzol4zpEiepSWFM0mEn+VXLI3i+C5s27Q8cw5Jc/DKk07fzodlRdgbLxmlpd9m5Mx9V0/vaFmKPvulUalWk+OW0XQMCH5hXL96BY3qM599Dc99uorihF5aP7uhntxguo+a9donI982SEmzkgJ2j6iRUyCK1J169GVMOld+JlYs8jQ/NLhTPVQGGaxyXWZvfhSVweemxbtbPju5/9iF22+iOfKesQhLE30xPzygSyPtCt2X7n0SlIBtJ9+Uxdw4ywfGerpalWvVu2Afr7hrQP/x5ebaNg2Yl4zWGrryrn2YVL6LkIrFomi3t1undZVXCRXTrd60z27/ZL5QwI33tTm7b+++Yzd94rMUXmKuMrmWlsH/L95j8p+Bw77fbmnYxX/nJUHKlhYQEHDmzJldu3Z9/PiRScoPsbRCgffIN1+xSIQj/ZxndfJtefmgcl6PIY9TvgO0+EDK5L230ujyC145yO8rYtJUhL4rqTijE0srSHEtTZoVbHd/ULkyLM0yFRv965f/5SyFI023una4f7WKLboPu2QZLMQBgEyaGR98d6cRjpt1ylfb/NQPVp+ZGHpsaufq5bQ1G4/cfetDaHxKevSXI/PG1dfR7jhm8aOv8Vi8yQEOx5cO1K7arP/GR5yc9VAs4Dhcmmegp3X0pU8KB3sKMTfVdf1A+efCqvZf+cAOPYH8amig3f0Fo9pAAA2Hjr1678L6Sd1aD97jm86nOxJsAWKO54x68ruIDpl/TWILsB1853gPFGppFI56/A9wnabliZrjVHHMk89Wr3/92wPjx48fMGBAcb49QCxNjfyKpWVTkjd7x9WrwnzBuVTdqZdfesk1gRJ5vTo+1bBatQ4jdt13CXI0X9aX0RetstWaLnjIPBlDpZ+d1alSGe1eq6/6xmbmro5BFlen92suv/RQ3XDW/mfpBfxFJuaGWZykCwR6tcaYfYmgH4nJDHxlNKwLnd5r0tJXHgnyPTE2AJGQy+Hy5EfOOSXkt7TDb7zS+BnvLqzp3qq2brOR269bR6cXfGBTEu9vtXtiA5Z2pbrdNocLlXvYNM/73do1pAvUrDbi8B2H3I9Y8xO9z+9ibtGr3bTdqfch9IaJQyweh8Ph8pmj9p+FWFrJQX97IDAwsNCPFCtbmqWl5dChQ1u0aHHs2DEmKT/E0gg0xNIKopKlDVbF0jLDnfYtG6NXqs6Q6fsC5VfI5VBSXozXi+EG+ixN7QpDjkbKn0fj3F3eq24Fnd5LTZxCUuW7aSnH4ty6/o3Kthk2765dFMZKC/lyYvlgzcrNu6/JeXqAknCTPZY2qYFj8PGr9x4/euLkiRMmR1e2bVJLW4OlWanX4XufM3I2dIkg6d1l4z619fVKl6lWvWqX7j3vO8QqvKGPyuZ7zaovt7SD5s4/8fRALpIMT57L4jxLc5gk8Noc6/8GmnXnzh03NzcmTkW4XG58fHxsbGxWVhaTVDTE0tTIL1ladnaS6/WWjb+d1tIqu+LozZB0IcUNv7pzQf0y2r0nzLEIYXPi/W7smcHEaGhVqt/GJl5+ZVwY/bF53cpaGqwDT+ySc9dJcdydLfPbGsjNT6/poFWXPiu8wegblJSf5r2obSXmg4SaZXY/dkjKefSAE/Fx8qju8kQWa9zizV9jC7cWJUs7cO/plW0TuzStXNlwxtGnjnFs5adHgYyfaGl6uJK+FmahTPkaw0cr07p5Q71SzH0FLP0uO86/S/52T40wNeDywfl0TuN2XZ4F/OTb3YuCWFrJ8fnz53HjxrVp06bQx8+VLe3Lly8rVqyYOHHi3bt3maT8EEsj0BBLK0ixr3hmBX6+10dfr/iWFufxYs3Urizd+sNnH4vg5cZT3JSoC7O7Y5/Oqj7lSwJXIuPcXym3tMFrr3hGZuaECGyvbh7SvJySpWlUbk4/40lJBUm+5p30dNAXLd617/Ch44ePHTp0aP9O452bNq3bduC6vU/0t+cLZBkRriZrp1XT1GTp1e854USaUPEMBJXN86Qt7cBPPeOZCyUTCoJNeM4z80TNaRo/7CY3PRqCJfxP9qTE0tTIL1qalB+0qVenyjrMTbctjLa8cItJ9n65enIPbf2209ffShBJZaL0L8/Pdy/LnHIrbVBl+R1vrEquN1ZVKlea1XzWB9+Y3LUVhnd26dRGObeRNekz9fyH4EK3QIko69WuEXrfpjtpj2lYkvxWXU6khYKlbXKJLfz+XSVLq1W/Qe3K+rraGouOPvBPyr23Lh8SdtSzqxsRrKlbukqb7kYz8jFp0qQJuYwfPXTcosvPHdO+bWc5lraAnlbjtrC0nM1ffRBLKzlw/GloaGhgYGBiYsIkKaBsaRwOJzw8PCgoKCWlcFMhlkagIZZWkOJamowf/uX5pMrlsTcuX6Xp0wD2D68wx7m9XGPUDZY2YvbxyDxLyxayU94cNJJbWoXRTrEKlrbmcjEtTSbihttcKKOpxaoywco/OComFv/FxMTGxcXHxcXGJ6XxhHlPwFAStt39U0Nql2Vplm7Xe5JjlOJrEdRmaUDK9ufL38qRdzoty3WVx+crr1+/DgiQvzjwJ3B2dt66deuqVauKup1DEWJpauQXLS07W/TpzKLmtQ1oBdGt2f/wzdevL+0e3qJKw+6Tzrz0zVnVpPH+9nsmdaNjNHXK1RtwMoUff7BXm7LaWoM3PQpNop+xkcOPcVoxdbBezm34rQb9e+NzJJORH0oqirE9pp9z7xoYufV+cAIH6YqWNnbxpq8/tDSdhvItlMWqW1tTT0+jXreVT2zDBIVpGi8x8O4h+VMLWuVqtJpt4hucj8DAQOYvOYEBQWGJ6Xmfm1GyNHP/n/wGT1EQSys56PfUmpmZQb2YJAUKeXrg+xBLI9AQSytIcS0tW5oc+mXPmObYn+rqG4w4ZvvDW0Zi3Z6tNurM0qk9bMaB0LzuJluYlfrxxAza0hxiOeKfsrTQz+hLNFh69V/4JcvfOKCAVMDOYMvfyUEPZsV5X9w5p0bO963LVmk6ef3jlLx4dVoaJROJwq4pPkbAcZhienLU5HH9i/PlgEJ5+vRpjx49WrZsefnyZSapaIilqZFftrTsNF+zLm0b5RgIFKZ8j8Ej+/bqVqlMleFzjJ2i5OYEhBnRLy+tZ2I0tHQNmhuf2NuknL6WXqszHwIyFLSIG/V57qS+dOD3LE0mTve6pl+aeYb05y1Ns2zOTf0s/TIaWrA13Zp9l5+0CU4s6GkZUW7nNwyTj1G+dvMFD7iq3F5MLO3n+BMsTSqVCgQCHo8nLuwBdmVL8/T0NDY2XrJkibm5OZOUH2JpBBpiaQUptqVli9jxn29trqGlqaGlU7FVP6tQ5Ue9vkElR4aHh8cGe77fNKcvS0Ov67DZbwPz9r/CrJR3RyaxNLVZrdcFpPGlVHEtTbtq876bmCueyYEv25fWRTcydPfLhCyF9+dKMz6ePXTu6lOvOHnnRPGTPt48PHroiHGL1y/+dzBLs3TN1sOPfwikY5Gfa2mHzL+m8n68c/iOpQFpVgjfcxPXMe8lt+4Phq6e1fnQoYNMhIo4Oztv3759zZo15Fzaf8yvW5qMH71nRp+a5ZhbssqUK1eqTBmNWj2WHHuZ+u1CJiXlBTqajW5eno7R0NSs07C+hoaG/j/rHcPT8k4Io2OOtZs3uT8dVqXj6F0PXRRzc1GbpeUwc/WKsU0bVsx5WVLpWs2WHrsXkFOaIumRbmfXDZZH61aq33dbeOHXRQuHWNrP8SdYWmxs7Nu3bx89ehQYmLs7zUPZ0si3B4ilFRNiaQUpvqVly0Qpoc7bp/6DXaqmlnav8Zs++yWIJPl2ypSEE+Roarzy34MX7vpGBNzau7RxKZ2KTQyXnbP4dpAty0oKODqhlaa27pBd79IFEuqbpQ1Zf9Urir59WGR7bQssre2IBfcc5H0k8/RAxcbdl93myCQSXnJokPuWPlU1NVilG/fYfOV1eAoHC1fISbR9cHBS3wl7zr2IyhJlU8Ig24dLxw4fNnWnpV/Elw83x3StpaNv0HXsfNdYeunLLW1q3ep6Gho7HzgmcyQZKclsHl/h8QJlvm9p8i/xRN7nfV2Qa2npnye4PV/s9fUdE6EimZmZISEh2A8W59sDxNLUyK9bWna2+MutLZ2aVKcthKbpoLlXrEIVOiEZO9b3+jr5uShFxh98Hc/O9+0OKdtv/8IJNXKESata9/kHXmYUdoykZGmT95mFJckv8f+cpR1/bmt9bX/bhrXowdotOh++9ULx/W2Anxx079g8ebaGTtUGhvc8vtcTCTNig4JCY5KYV8MRS/s5/gRLs7Ozmz59evfu3Yv17QFfX9/Dhw+vX7++0G+zA2JpBBpiaQVRwdLQgEJOsJP50ikD5FdDtCoPHP/vhccf/MLj0tIzkhNjvb9aHjuwbeLgzuOnGN18bZfK4wXbPV0y4h+WXqUWg+fesQ0UUZSIm2pverhDTYOK3Wa8C0rFEpGyg3YNa1eltFbbOUdsg5Kxfcp4iaa7FnepWrpx76nn3/nDmWhLY+mWb/DPuIt37l/esvHwS6+vd9fIv3XGYlVv3Wvy7IW7d61ctWzmgI4NJszbYekZI86WJoU4HFk9YcCgsadMXbhSipMUdDvnBhr9CjWnbHgQLX/2DZbmMz3nTRydR2+9cfPShg0HProGKX6QR4nvWxqQcsP5vru4jpNzRY3ntkwc/4aifnw5tSBcLhfHrNHR0Wz2jx9/I5amRtRhadmZwW+m9mxXhvnACvSqysSVR93j8xmSVJDq/upky293kskp3fq2YwRP6UUb4phrq2e1oMN0qo6ev8c3tZAX+8HS0tzzLG3DdYs4tjzs5yztyCvP1OSIC7sXNazFvKS3Va8ZN1575d1Zhi0iM/L55XV0bqny1QZveVbURU9Kkvnp+vGVG06Z5rwoBxBL+zn+BEv7/Pnz+PHj27Vrd+vWLSZJAWVLw44sKioqNDS0qMNNYmkEGmJpBVHJ0oBULAh1+7hj/cIBHetoa2k27dJv8sz5S5ctX7xo3qTRA3oNHjlzybonH+2SOfK+QcxJsn93e+6Evi0a1ek8dOr6LVvWr1k2cVCXrmMWHnvhzoe0pfnu27q4XdWKpTQ0yjbrMXnVeQs7+xsXDw3r1LqStla5Gk0Hzt312C4wIzX8xen1rcuUKq1ftr1h32lTVz/0SBCkBu5aP7d1uTLaObdUV6qoUa5BmxEzlz+3dc8QiOJ835/ePKlNo6qNe4w5/dpTSEkzol0vbB4t7xA0SulX7bJ48y7PRAElTrmxfGwF/VKsUvU7du4/efFBW9+o/B8gzccPLU1+/3asOc9V4a0cjpMFgUdgb0yAKnz58mXnzp1r1661sLBgkoqGWJoaUYulUfwYk4VDGxowBlaqfv+tlywylG7jocSJQfbr+zSgY7B2ljfc6JPIyX+zJQSKY3d93+BWtemgFv0nX7aNKrieyiRC78drS9NvvqjV54F9ACfnyujPWRr9Vtv08K/G8/rWrphTpm4twynGT10iccTFjCJIdXph0rGanjxXS69cixHnLP1FFA6A8kMJ/a2uL+jXfsSsHW+8mPvbiKX9HH/I0wNv3759+PBhoY9GKVtaVlZWWFgYQpOSkpik/BBLI9AQSyuIqpYGKJmUlxpuaXZx26a1ixbMmz13zrx58xYuWbp2/aarD1/5R6UIFQ+1BRnBru8vHNqyfMnihQsXLVq8bMO2vc/sg4Q5e3lxmt/hQ/u353Lg7id7h9u3rzCD27fvPHbZ3CFIKBMm+n+5s3vr6tVrtu46+MQuEKMDfnLQ/cN71q9asRz/rVq70+SenX8MV/7cgDTe1+Lehb0oYfeJyy+dMTlpRnzAu1sH6WLBnr37vWBpVHaKv9We7ZtQ8sadZz+5R3ALvJZTkR9bGqbNixH4H+I6Ts0VNZ7LYnHM02yZyt9FNjU17dSpU4MGDYrz/AGxNDWiFkuDgX29s7V7C+aiZ9uxKx86xxS8b0uQHvv6xCw6BpY28sC7VF7ul2rzyIywNZ49rErORU+9ms1m7LwYm6W0rlJibrzJhHalcr6J3nv5df8ENj05bqTFlG+WNm7xZpfivS/t27cHpKH21xf0bYsDJyRqVmkxZNVJy4B4ZtqUJCHAbrdRV3oULV29poNmHzFziM3I+9KvMCvB9f311RM6N+tguOfG6+RvX50SpQZcUbC05/7kfWnF4k+wtO+jbGleXl579+5duXLl8+fPmaT8EEsj0BBLK8hPWFouYj47ITY6PDIyOjo6PimFwxcX8U1wSiwSpCUnxsfHJySmZPJ+6qOWlFQi4rLZHJ5A6dKhmJ2RlpqWlpYJPfvRc6dFIORmoeTijF4cS6MomTj+Dc9tea6lcR2MBL57pFmFPLL+fVxcXPbt27dlyxZra2smqWiIpakR9VhadnZG0LsZAzrJP2SpW2vOjksBqYX0qZSYE+p4r7X8456aLL3G15xiBPlv92SQZtrfPzW8QxNaa5p0GHjqsZviTWJSMT/o89UeZUtraWgYtBv80DGUI2LKyQp8YzSMeeXHiHkbHSIU30eTh0zMi7I5ToeBQ6/cmO94yti2Vw8NbdmwVM7F2zJ12xltOesYnEBPXJSV8OnB3taVmcusGppa5dqNWrvzwGPzZ+cuPnjy6P6pQ1sn9WlWtXK9IctP2wal5G5lgkTfi7sYPW3Ypssjj3QmQ00QSys5sM+Hcd26dcvXt5COQ9nSPnz40Ldv33r16h08WPiDVMTSCDTE0gryK5b2/5DiWBqQ8eOFQacVvxnFc5kviryXLVVtrROLxZwcRKIfn4cjlqZG1GVpFD/aZOnoxgY65ZuOO/rAOffjSPmRZMZ67+3fkqWlq99htU+q0rtl8uCnht49v7N9q5wPLulUb9VryfVXXikcoUwmEXLTAxxerxjfCTl12vVddcMmiSOkYIACXlp8xPsLxj1a1ZePxWK16Dnh1EP7uJRMgUgs/VYf+aGFkJsU4fNg00Q6DPx79LFPTCpfiOMXmZQdemnb3BbVmcdRKzZoO2Ht8ecOfslsnlQqSotyPbdkTH3db98YyKFZ6za6Zeo3b1hXfp+cQf1uozeZ2wblfLGKkoqF7NQE1zd35fet5lCpVpOlh5+HxafxBUKxmnppYmklh4WFxYABA+rUqXPp0iUmSQFlS/P29j5w4MDq1atfvHjBJOWHWBqBhlhaQYilqUQxLY2iKHGSNd9jTa6l4cf33ibN9GMiikd6erqfn5+Xl1dRt3MoQixNjajL0rDKuDzc2q9tte4ztr33TmTSCiDipNheXaKlW7r3zrccUVGSJoeXFv7g6qFBvTrWqaLP0qnaqNP0g2ev3rt3++r5Y8sm9NIsVaNL3+EH7tmk83PuR5NmOrwwPb1r3aCWjcvnPsSgXbV9z0nbD558/t4qnr5mSkmyUiNf37y4f8vSLvJTegzl2w9bs/vopbtWYQnpCSEON/bN69g075FVjfL12gyZd+Diww/uMVKpMCXI6fC0MR0aV2OyFajfvMPQRQdefg2nb5LLlvGCXW1vHN0zc1ifmjlXUeVolK5Uu+eqnUeu374TkvZTp9sLQCyt5HB0dJw7d26/fv0ePXrEJCmgbGk/hFgagYZYWkGIpalEMS0NUKJUTsDZTDuFhz2/zBGGXaOkKnQYtra2K1asmD179suXL5mkoiGWpkbUZ2nZmeFWW1bNPnj1cSS7SPmgJPxEv5f9+g645piA3RSTWgQyYWag0/P962YP6NuzW5fOXboZ9jDs0qFj5x59Bo+euvOtW1ReCaLYq9vWTh8zemRhbN57xJ++AksJEoPtN08cz2QoMeO4nU+059uzmxZNYlIUGPXvyh23v8hvo6MkvNRQ87Nbhgzs392wm6GhYXfD7j179R08dPjRK0/DkjLzrs1K0j49vLRk3Fi6BCWMpk53iFX4VskvQCyt5EhJSXFycrKwsIiMLOQFy8qWlpWVFRISgiNO8vQA4fsQSysIsTSVKL6lgSgvs8iPs3MtDT++53pphjuTXQyeP3+Oo9X27dtfvXqVSSoaYmlqRI2Wli3jRkVExKekf/cEkUwiZgd6+qTnPjz5IyQCbkKEv7O9jZ2zu4+b/UcLG5/gGMHv7t8omSwrOdbT7Yubm5unu5d/YES6/IZPJvc/hlhaySEWi9lsdnp6ukBQSE+qbGkQuoULF44aNerGjRtMUn6IpRFoiKUVhFiaSqhkaT4ejt7vt2U5KDzs6fyvMOgMJSn8PQgFcXd3P3z4sLGxsa2tLZNUNMTS1Ig6LY3wmyCWVnJERkaamppeunTJ09OTSVJA2dKsrKyGDx/eqlWr48ePM0n5IZZGoCGWVhBiaSqhkqXx+fzUCOsMlw25loYf332lJNWJiVArxNLUCLG0vwBiaSXHu3fvDA0NDQwMTExMmCQFlC0tODj48uXLOOL89OkTk5QfYmkEGmJpBSGWphIqWZpEIuGyUzMCbrLtp+SJmtM0gf/BYt6dBs9LSkpKSEjgcgt/dYIixNLUCLG0vwBiaSUHdGv06NEtW7Ys9BqmsqXlvN6SgUnKD7E0Ag2xtIIQS1MJlSwtLCzsypUr546s9H4+K8/SHCbxXJdIE62x62Liiubp06fdu3dv3rx5oY+7K0EsTY0QS/sLIJZWckilUqFQKBAIcCzKJCmgbGk43ExMTIyNjc3MzGSS8kMsjUBDLK0gxNJUQiVLs7GxGTJkSNUqBntW9eQ6zcgTNccpfO9txTmdZmZm1qVLl8aNG58/f55JKhpiaWqEWNpfALG0koOiKJlMBlcr9OyYsqV9/Pixf//+DRs2PHToEJOUH2JpBBpiaQUhlqYSKlmam5vbkiVLevbsee7oOkHA0TxLk7+VY7447g0TVzQRERGvXr168uRJoR/LU4JYmhohlvYXQCyt5KC/+bR48eJCPzGsbGnv37/v1atX7dq19+/fzyTlh1gagYZYWkGIpamEyvelcbmZmZkCXpYkyZL3RfG652Sex1pKnMWEFgGOVsVisUgkwjErk1Q0xNLUCLG0vwBiaSXHhw8fevfuXbVq1UJP8ytbWmJioq2tLVwtKKjwz+QRSyPQEEsrCLE0lVDJ0hSR8aJEwWcVLG0SpE0cbcZkF0F8fLydnZ2VlVVERASTVDTE0tQIsbS/AGJpJYerq+u6deuMjIxevXrFJCmgbGnfv4sNEEsj0BBLKwixNJVQydK8vLw2bdo0evToW7duZcvEkhR7nsvCPFFzNOK7LZcJU7/zGMHr16+HDx/evXt3eQk/gliaGiGW9hdALK3kgHElJSXFxsZyOBwmSQFlS0Pcu3fvTE1NsU9kkvJDLI1AQyytIMTSVEIlS7O1tYVjVa5cec+ePRiUCRJEYVfyLA0/p+nCiNvZVJE7JfrpgUaNGl24cIFJKhpiaWqEWNpfALG0koN+dEAikeAPJkkBZUvDrnDKlCk9evQo6jEoYmkEGmJpBSGWphIqWVpISMjZs2fXrVv3+vVr+bBMIklz5bkuVxA1I57LQooXlV3EW4RwtOri4uLo6IhjUSapaIilqRFiaX8BxNJKji9fvixfvnzUqFHm5uZMkgLKlvbp06dx48Z17tz5zJkzTFJ+iKURaIilFYRYmkqoZGkCgSA+Pj4iIiI9PZ1OkQlTRJF3FSwNv8nC0MuUTA27WmJpaoRY2l8AsbSSQ7VvD+Bw097e3sLCIjg4mEnKD7E0Ag2xtIIQS1MJlSyNx+NFRUUFBgYmJyczSZREmunD81ijKGq8r/OkbH9kMTEKYNw7d+5cuXLF3f3H32gnlqZGiKX9BRBLKzkCAgLOnj27Y8cO2BeTpICypf0QYmkEGmJpBSGWphIqWZqPjw/2YkZGRvfv32eS4GniTFG0GdfRSFHUBMFnKEkhb+V4/fr1iBEjevbsefv2bSapaIilqRFiaX8BxNJKDj6fn5CQEBMTk5VVyI5L2dLCw8Pv3bt37tw5BwcHJik/xNIINMTSCkIsTSVUsjQbG5vBgweXK1fO2NiYSQKUVMYJ4XtuVLQ07pc5kjRXSiZiYr5haWk5a9ascePGmZn94J0dgFiaGiGW9hdALK3kyMjI8PX1dXFxSUxMZJIUULY0KyurkSNHtmnT5sSJE0xSfoilEWiIpRWEWJpKqGRpOIC8fv36rl27lF/PLeGI415xHRU+we4wSRBwVCbEVpzvMYK4uDioHlyNvC/tP4ZY2l8AsbSSw83NbcOGDVOmTCnW+9LoZw0mTJhw584dJik/xNIINMTSCkIsTSVUsjT6VY58PnaqYiaJhpLJ+DF8762KlsZznilJscuW5lst6RJAUS+DVIRYmhohlvYXQCyt5Pjw4UOfPn2qV69e6EuClC0tJSXF2dn506dPYWFhTFJ+iKURaIilFYRYmkqoZGkZGRkeHh42Njbh4craREn54kRLrtM0RVET+O2X8WMVT6cFBgbevn378uXL5OmB/xhiaX8BxNJKDuyaTExMdu7cWaynB0QiUWZmZlpaGo/HY5LyQyyNQEMsrSDE0lRCJUuDoq1du3bo0KHXr19nkvKgZMJUvq+xoqVxnaZLEi0oCZcJyc42NTXt1KlTgwYNzp07xyQVDbE0NUIs7S+AWNrvovCnB86fP+/o6Mgk5YdYGoGGWFpBiKWphEqW5uTkNGXKlKZNmx47doxJUoCSfzPKges8Q1HUBL7GUk4Y8uiYT58+LViwYPLkyYW+OlIJYmlqhFjaXwCxtJIjLS3N3d3d3t6+0BduK1va+/fve/XqVbt27f379zNJ+SGWRqAhllYQYmkqoZKlRUZG3rlz5+DBg9bW1kxSfigpV+C3l+swOU/UHCeL417nvpUjMzMzODg4ICAgJeXHGzixNDVCLO0vgFhayWFnZzdjxozu3bs/ePCASVJA2dJwwIrDzREjRhR2WUEOsTQCDbG0ghBLUwmVLO3HUFJpugf3y+w8S3OYxPfakvOSW/npND6fn5ycnJiYyOXmXQYtCmJpaoRY2l8AsbSSA0eeo0aNat68eaHepWxpQqEwLS0Nx5pF7ciIpRFoiKUVhFiaSqhkadgjhYWF+fj4JCQkMEkFoGRSQeCx/G/lMBJFP6FEGcj18vI6ffr0wYMHi3oZpCLE0tQIsbS/AGJpJQd9p5mJiYmbmxuTpEAhTw9kZGSQpweYJELREEsrCLE0lVDJ0mxsbIYOHWpgYLBr1y4mqRAoaVYo7+t8yFmuqPHd10ozPGBwZmZmXbt2bdKkSaGPuytBLE2NEEv7CyCWVnJQFCWVSiUSiUzG3ESriLKl4VAVx5rr1q0r9O1qgFgagYZYWkGIpamESpbm4OAwbty4OnXqYAfFJBWBMOQc12l6rqXhJ4q4QwlTLCws/v333zFjxpBvD/zHEEv7CyCWVnJkZmb6+/u7u7sX69sD9NvV6tWrd+DAASYpP8TSCDTE0gpCLE0lVLK0lJQUiBqOHrE7Y5KKQMaL5bksUbQ0nutSSYoTDlmZiGJALE2NEEv7CyCWVnK8e/fO0NDQwMDAxMSESVJA2dK+fv26atWqyZMn37t3j0nKD7E0Ag2xtIIQS1MJNT89oIAw/AbXeZaiqAlDL8v48Ux2MSCWpkaIpf0FEEsrOVSzNJlMJhQKBQJBUR9RIZZGoCGWVhBiaSqhkqUlJyd//vz56dOnPj4+TFLRUMJkvvtqxbvTeC4LPj7eOW/unIkTJz558oSJKxpiaWqEWNpfALG0kiM9Pd3Ly8vZ2Tk+vpAjSWVL+yHE0gg0xNIKQixNJUrovjQ5lEwcbZrzGEHu6TQj+/szxw7uSJ4e+O8hlvYXQCyt5KAoSpJDsZ4ewK5wzpw5gwYNunr1KpOUH2JpBBpiaQUhlqYSKlmanZ3dqFGjqlWrtnfvXibpu8hEqXzvbYpv5Uj+POXh2Xm7d+20tbVlgoqGWJoaIZb2F0AsreSIjIw0NTW9dOmSl5cXk6RA4U8P1K1blzw9QPg+xNIKQixNJVSyNC6XGx4e7uvrW+hjUIVAycTxr/mui3MtjeNglPJ1e2KYfVGvGVKEWJoaIZb2F0AsreSwtrYeOXJk06ZNr127xiQpoGxpwcHBV65cOXLkyKdPn5ik/BBLI9AQSysIsTSVKLmnB2hkojSB336u07RcUeM6z0nzv83O+PEGTixNjRBL+wsgllZy2NjYTJw4sUOHDrdv32aSFFC2NIFAkJKSkpCQkJXFfPxOCWJpBBpiaQUhlqYSKllaeHj49evXd+/ebWFhwST9EIqSJFny3FbmWZqDUcDreQFfnzIBRUMsTY0QS/sLIJZWcmRkZKjw9EDu29Xi4uKYpPwQSyPQEEsrCLE0lVDJ0hwdHY2MjBo1anTkyBEmqRjIRBmCoJNcpxm5opZoOTHJ8xwl+cGnPImlqRFiaX8BxNJ+F8qWRr8vDXvDu3fvMkn5IZZGoCGWVhBiaSqhkqXhWHPjxo0jR468efMmk1Q8JCn2PI91uZaGH89rqyTdlckuAmJpaoRY2l8AsbSSIyAgwMTEZOfOnfb29kySAsqW9v79+169etWuXXv//v1MUn6IpRFoiKUVhFiaSqhkaZmZmRA1Ozu7iIgIJql4UGK2MPQSz3lmnqg5zxKGXaXEmUxEYRBLUyPE0v4CiKWVHBYWFgMHDqxbt+6lS5eYJAWULS08PPz+/fvnz593dHRkkvJDLI1AQyytIMTSVEIlS5NKpTwej8PhiEQiJqnYSNNc+F5b8izNYRLfc4MkxYGiCn4ziqKEqVK2X8LTjUG7+hNLUwvE0v4CiKWVHK6uruvWrTMyMnr58iWTpICypf0QYmkEGmJpBSGWphKqPj1w9erVnTt3fvz4kUkqNpSEI4y4zf0yJ9fSeM7/CoNNZMJUJoKGksk4IaLQKwK/fekf50aeGxxzezWxtF+HWNpfALG0koP+9oCTk1OhzwMoW1pSUpK9vf2HDx+CgoKYpPwQSyPQEEsrCLE0lVDJ0mxsbAYPHlyuXDljY2MmSRWkGV48b+NcS5OLmvsqcaIV1IyJwF9SgTDoNNdxMh2Q9np0vOkaYVIYk034WYil/QUQSys56HdrxMfHc7mFPNWkbGkODg5z584dMmQI+fYA4fsQSysIsTSVUMnSfH19d+3aNXXq1AcPHjBJqkBJ+MKoR9wv83Itjes0TRBwRCZMZiKys2VituLToBz7iYnPVwmTQplsws9CLO0vgFhayREYGHju3Dkcf0LAmCQFlC0NB6xGRkaGhoYYh0nKD7E0Ag2xtIIQS1MJlSyNz+fHxsaGhYWlpaUxSSoiywoQ+B/kOip8gt11mTj+TTZFfzuPkglTcrPoX9KLlaJkYmm/CrG0vwBiaSXHu3fvIF0GBgYmJiZMkgLKlhYZGfn48eMrV658+fKFScoPsTQCDbG0ghBLUwlVLS0uLu5XLC0hLsrb6mjUu/F5HuY4he+7WyagPzlFyfjxeVk5v6Tnq0QldS6NkknFQoFAKBRJpHJNpChKLBQV8rHlEoKSiUVCwX8yRWJpfwHE0koOFxeXNWvWTJgw4fnz50ySAsqWhj2FNIdCv80OiKURaIilFYRYmkqoZGlBQUEnT55cuXLlixcvmCQVefbs2dI5I+4d6Mm2m5jrYbyvC0UxT7MpKaxFxo3KTad/Sc9Xl4SliQWc2GAfm3evnpiaPnlq/t7ys1dgaFhIwJs3n9OlBR87VS9SXlZ6TESwq7PdC/OXn+w9OCWvacTS/gKIpZUcEomEw+FkZmYKC6uAsqXhONXd3d3BwaGolxIRSyPQEEsrCLE0lVDJ0uzs7EaOHFmlSpW9e/cySSry5s2bcWNHGy/vE2+l8GVPx8l8z80yQRxETcoJzUvP+SU+U//TAxIB29fh5capw5tVqFi/SYs2rVu2bdd+8MQ5ixZOqVq3x9cUMRNXQlC8ABeLM8bLundozNKuNmb2rkh+SXshsbS/AWJpJQefz4+Pj4+MjGSz2UySAsqWRt5qSyytmBBLKwixNJVQydJ8fHy2b98+YcKEoj6L8kOio6M/fvxo/fZutMOu3Ac58eN9mSuKvJctE0nZgbmJ9C/RfK26LU0a6/Ji+YTuOqXL9Rw14+57pyA/t2eXDo9p1aRqOe2K1Wo99C5kN61OpLxQT4fL2+f2bVaJVarhuAWno4mlEYoBsbSSw93dfdu2bbNmzXr79i2TpICypVlbW48ePbp9+/anTp1ikvJDLI1AQyytIMTSVEIlS/spKErKp8RsSpwllzCpRCgUCgR8QcInnusyBRsz4rmtlHIjpJneConyX+LTdWq2NEmK+b51XfT1GveccO7tt7cdUeK0CPujs1pWrVbrvlcGk1iSZIXbbV84nFgaofgQSys5Pnz40Ldv3+rVq1+4cIFJUqCQK54eHh6Ojo6RkZFMUn6IpRFoiKUVhFiaSqhkaRKJhMvlZmZmCgTFXdkoCUcc90Lgt08YeFSSbB8b6W9p8eH161fBPg7C8BuKp9O4zjOFoeclaV/zUug3cajb0ihB7K3tS5uV0mk7cOptm2hZriBJuOEuZj3q1tn9RvElutS3ryNQlCyHwr6WQOfS9xNL80rMQz6SPFkeRpfIT3DdtWbi/xNLE4vFIqGo8Jb7Y8CiQyXxLzP850EsreSAdG3btm3OnDnv3r1jkhQo5OkB7AqwrhS1ThNLI9AQSysIsTSVUMnSXFxc5s+f36VLl7NnzzJJP0IUcZP3dS5jXU7TnB/PnDS8XdOmjc6fOydJc+G5r8oVMvx4X2aLY58rpmTZTkh8AktT57cHci2NVabVqAVXgtPE8CY6h50YcmPpP5Ovu8sHsB+WSsWirMSkDKFIJBZkxkdHhAQHxySmcgXYOeeMkQMChXxOUnSor6enp7unf1gS/cRoDvKduUTMT0xIF/BFYm5GQkxMXEomT0IpWRriJFAZkUgoB9OTqNdofqOlQdEsX1ma3XmSmpz6x4oaKunt5m12+4mPmy9VmGf/CRBL+10oW1p0dLS5ufmtW7dcXV2ZpPwQSyPQEEsrCLE0lVDJ0mxsbIYMGVK+fPlifnuAkkn4nlu5DnlvR+PYTwp8NvLSrkGm9y5Q4nRR9KPcLPnPcSrPfb1iCvvThAR1W1q2NMls75qOZUqxWBqaurV7jd5iH0S/BySbkkq4qYlZIiqbEseHez67eXxKozoVuqy+evvqRMP2FUrpaGtr65SuP22diUf0t6uiUm6Yy+vVk/rqyDPllK1UbcaJN9ycjl6QEev0+v7y4S1qDd12x/zxqhG9a+qV0mk2af/jr6mKlpaV6W/3aPaAri1bttQBZSpUHrDVN12dtvC7LA2Set3kxqJJS+aOne/4yVHA/0N3UzFRsVdPXUMld64ydnEovOf97RBL+10oWxr9bfYmTZocOXKEScoPsTQCDbG0ghBLUwmVLC0iIuLmzZt79+61srJikr4LRcn4Pru4jlMUxSvLfmK6zcRMl3XiBAv5J9g9Nynm5rsGCkuzGp9gpm5Ly6aSfS3XzhjIkqOpraNXt1W35WeexWZJ5Hnysz2UTJp0c/2QapXK6WpqamiVKqNfxnD42Mnj+jWsVQGj6JYq8++GfV5J6E5k0W7m2yc1LN+g48hdL1LTEkM8Xi7qUblMpepL73iLOd5z2zatWr5sKR1NDW09fX19aJ4Gplm61cYTZpFRLrSljVlwOoIvE6RHPTm/SbNstTpDt3x0C03N4qv3fSC/xdKEQuHdS/egaLNHz8XP9qMtn/eH6kVkaOT5IxdQSYjajv9r7yzgokjfOI6diK0n6unZdebd2WfeiY15diBit2fi2Xrq2d2tYINKCUojJd3dXbsssOX/t8zoLbugjC7C8X++n/nw4X3eZ96O3+zuzKzUd7Eri0KNVFrJYWVlNWbMmHbt2l25coU1yVHI3QPjx4/v3r378ePHWVNBSKURDKTSlCGVxglOKk0sFmdnZ2dlYSEt7koqTLAUuC6XF17s4TA921knx3t3bsA/8h+2KRwZr0pCpb2XiHLD35mvnDMqX6ipVaxUpZZGg579hty1Dviwnor5aYmmx2Y2qlsTDmuO3PQOi0tNSXJ9cVFrQFdY6vWetvehh1CcYX/32IiGtRp1+GXDbU9ovJz06Kf7tKtUrz35mGOeMDclLvbR7qnNG9bGKRNX/m1mY3X34rFDJ244+UTz4vI/S6vebtLScyHxoYan1rfu0nPa3nvBSRl5ItU/P+3bq7Rsfvadi3cWT2UlWllXaaGRZw+dY8q5cOKi7St3lEGh9vUqjZeampiYkpyc8mmSk5OTkpJSU1Mzs3iCvBLXGGVBpZmYmPTr169u3brFevcA1sHo6OiwsLC0tDTWVBBSaQQDqTRlSKVxgpNK4/P54eHhvr6+CQnsV4SfRSoWiNNcc3x3851mKygwmThznJn9dgHfaY5SFHukm02MN1S9SgNioSAhwvfx5d3j+rWQKTU1tcpVqrbu9svKy1Y5Hz7Ecr+xsmmD2lV6LXrhHp6b/+2jUJD6/MyygR1qV6jTffHOe/G5wnD3VzsXTh41be1L33TUlpcYeHXziApVajSYdjUlV/bbsqg3J9t/31itVu9TTx1Tc3L5WRnpGbxcoZj9XVrlxj8NnrxszcLe/QdvuvgiJo1fQg+4/cYqLSsz6+7le0umL4Po0Zu8ZP74hf8VlbZwwiKdiYs+CDUXNrps8HUqTfpemnVGa3j3Dh3aFZv27dt3+rHnwGm6+kcumNh5JWYIS+KHhWVBpWFlu3PnzqlTp9zdZT9LVUBRpX0WUmkEA6k0ZUilcaKk7x6QIcmVCGKFsUaCd+sVvtDMP6YWZmSPdNMJJaTSgFQizs5M8nW2OLRuXtuqlSHUKlau8l2nn/c88Wcc3G+shkqrM3K7bWDCh3VWGu/+cN64PmrVO+psuRGXIxXm8OKjwoMCg4O97c4fXNOrR9fvm6rLVNrUcyl5si8t03zudmzTTE190BUTj/zvVFlYlVahcs1adeo1bvXT70tdEvlsXAnwLVVaelr6vcv3l81cMX/cgiVTlm5asHnhBJ3/hEqDmlw6ddn6uRt0JupCqOmXMaH21Z+liYNtrYwMbu3/c953jeoyFyefp2LFKrU0GjXVbNO+U/eevTccfxyWlqPar+PLgkoTCoWZmZlpaWmF3sCuqNJ8fHwOHz68adOmQp+uBkilEQyk0pQhlcYJrncPjBw5Ul1dvZh3D8ghlQozxRk+Se+OJr2ZpSDFPnGkvZwQZ6BilSbKzc4WZOcrKBliYW5ypJ/x5T3jeqpjS6pUVb3NkL+ic2UfGTAqreoQfZvAxI/rbHaE9dKZw6HSFm65HpsjfS/JifW3P75t6cChI37X1b9w8+a+xcPVKteoNf5cSq4sjwz/+6xKe1mYSsunZqWqHTsNXXHZIafEboH8NipNKpWmJqfev2KwYvYqKB5ItC06W7fr6v+HVNry6StR4AJCrczcTPD133iKhXkCflZiTKjlo+Nd2rdkhh+Devt+MzcfMXhibCLD+PGD+xdOHl69YNKPLaqwHvk0bNH+51HbXvslqlCplQWVlpKS4urqamNjEx1dyARRVGmvXr0aNWpUp06djhw5wpoKQiqNYCCVpgypNE5wUmkJCQlmZma3bt0q9EuBzyMV5WZFC2Itc/0PZBfyBWghR8rz8XEGa1Wq0kS+ZtfOXbliFij3wnipWJARYXHzr19qVVerWEP9+zk+WbIvOBmVVmmQvnWAnEqLfLN01nC1Gt109O/E5QojPUz36Qzt2r336FVHLT1CkxKjn/89Ayqt2phiqbSKGpodfhk6clC3mtXrtB08/ZpN4c/I/Hq+gUqDREtKSDa4arhqzhqZRJu6bPPCLX8t2bl9MavStq/ccerA6fNHLpTB45D+kdXz1jIqDWXWX7xj/RyZUMu/6/MvVwc38b9PVyk1VHj3gIgfvnfeUM06/yqwjlqLrlgFCvKgKYAwN0eQkZoUHuT95uXtXSsnsU4MVZr2Hv2XrV9inoqapCyoNHt7+3nz5g0ePPjevXusSQ5FlYYVcPPmzQsWLDA0NGRNBSGVRjCQSlOGVBonOKk0iUSSm5ubnZ0tFH7hmy6xkYvzeMKMwNyoBwLPTZ/4rpM5UozGxt1XrUqTBJie1ps3f/NZs3Sh/IcBwvgA63UDGqlVrK7ecoZn5r8qreaIXbaBSR/X2QjbGzNGdq3VUWvrNduMjMiHZ/9s3bhh10Fzn3nGwycnI+HFB5WWlP+7tE+rtAq122vN23nz6n6tbnWq1643aPJi27As1kOllLRKQ88mxiUaXnuwJl/rLP0g0WSKR2+HzoRFUGmyX31pL9KZpFsGjwUTZToSmmzlH6vZYrNCbRGqIxNq9m5fPOxVhQpV2nsp78GW8Z2aVGeFl5paz4krH7yNZWPlEItyov0d9q7WZv0YqrWYe8goLDmbdfo6yoJKMzU1HTBgQP369U+fPs2a5FBUaRkZGX5+fh4eHnFxcaypIKTSCAZSacqQSuMEJ5WWmJhoZWX14MEDLy8v1sQRZ2fnnTt3bty44ZXpI1GaS27IhWzXJQrKTP5IeaZylfY+1vWB7uTh3UYtufLaP/vjE8mkebHeFku61Ferql73192xeTI7o9KqdFpu4hmdm+8ozU0w3Lu8dzONftNWPvNIECT5ntm5AMKux69TLYPT30tFGdHv/pnVo0KVGnUnnUvOE+fkitK9b3f84Ts1jeFXzbyy5FZrQZzzjlXaatXaaOudCIjyMTio275alVoaTSbq/e2Xono1UKIqDRItITbB8PqDtfPXLciXaJsWbGa0DnOsnb1u+fSVy6atKOPHqhmrN83/t+QQauvmrNeZqAsBt3PtLhd717zcPLbOpYFKVVr24+0TOjeVU2kTVjxwimFjCyIR5cX6Wc7uW6+C7EEyLA1/Wmn6LqrAlc6XUhZUWnR0tLGx8a1bt6C+WJMciioNV6upqalJSUl8fuE/JiWVRjCQSlOGVBonOKk0V1fXJUuW9O/fv9BX3RUHQ0PDXr16tWrVSnbBKhXJ7iqIN83x21/UF6DJT8bG3VOxSksPsVo1Z3jlei16aC09et0qNC4tMyM13Nfmov609tWr1qrbeOU1V2YrZlSaWs2Ocw7cdg2LT0uJsbl3eNovHdt3Hbj7ilECXyxMDTq3Vw87Vv2mzacsWn305HG9+ZN7adZQq1i1ZqdZO9as2ffE3eb25h8066vV7P2PoV2y4OOHadI4L6NVM/qpVW05ZsGh4ExBvL/trnmj1dQq167fbvb6C96xGayjiig5lQaJFh8T/+DGw7UL1i8Yr6Ms0Ri5s0Vn2xadrWX82Ka7fYfeXwolzxdqss8Cd6/fA6GWm1M6MgKUlkoDwpx0q2PTKlWUk2nV25x8Zp+Wq4JvPcuCSvs0dPfAv5BK4wSpNGVIpXGCk0p7+/btnDlzunXrduzYMdbEEaSgr6+/bt06CwsLxiIVCySZfnmRdwQeG5UfnJb0cIzKVVpessemZZMbabbo3rv/r7+Omrt4xZpVK+ZPH92rfcMm3Yev/etQUCq7T7AqTU2tUb9+U3UXr1y+6Pef2vfr/+vmE/e9o9OlKHxu6pun53/t1U62Z9XU6NTr9wlzlq7RndywUiW1So3bdh84+Lc5k4Z0qVOrqlrFeoPH/rHlnJFXVJpEnOVh9mSXjnb3Ng3UKqq36TZk6/Ertu4eD0+ukm1+FSrX0OgwTW/94cdu2YW+E/SLKCGV9lGirVu4YcEESLTlyhLtv35At62bLftEbf64hXs37oNQE2SXzmJbiipNKsqJefNPpUoVWe98tl97Hpulgs99y4JKi4mJgeK6d++evz97i7c8iirN1NR04MCBmpqae/fuZU0FIZVGMJBKU4ZUGic4qbS4uLgXL15cu3atqJfXfZasrKzw8PDQ0ND09A9vWALY6oWZomS73MCT2c4LC6g0Q9WrNGlOgtGDGweOnLh///qZQ5tXr1y2RG/JEr2lqzfqH79vGZX+7ybBqLRa7Qcv3rpq4+a1q1auXL1m3cV7L0ITMj58gCDJTAw3Nby0Ye2ates27z1yw8k/Jinc7cimDWvXbfz77vPre3brb9my+QO7Lxt7RkKlZb4zeXxcfztr3bz5yNkrdj4h7q8fsOHNm7ds0z/40LXsq7R/JdqHT9EUPosqHwcqtXb2ukX5X33u23TAxQ5C7at1EndKV6UlOJ9TUGmbLhtHZ5YTlWZjYzN9+vQ+ffrcunWLNcmhqNI8PT137969cuXKp0+fsqaCkEojGEilKUMqjROcVNrXk5mZCYkWFBSUmip3iyWDVCwRxOdFP8zx2cV3msmotMT7o2PvrlGtSoO0yhEIcgSybzXF4jxeVlpyUnJyUmomT3EGMSqt4didjiFJObmCrKxMXnauSOkBBFKJWJiTLcjNZddimejMFeSq5Bc7KqMkVFp8rEyirf/wKdqf8zeVS4nGHKxQ05YJtf2bD7rYuWTzVfPb+eJTyp+lOZxWUGmbLz8vNyrN1tZ2xowZv/zyy+3bt1mTHIX8Li0lJSUxMZHH47GmgpBKIxhIpSlDKo0TXO8esLS0NDAwwJUka+IIc/fAhg0bXr16xZoKIoVWy/TLDb0oeLeW7zA94a5WCai04sKoNPVhm20CZfdv/qdRuUpLTU57cvcp+0XntGXlW6Ixh0yozVqnky/UDmw56OXmnZf3TW8mKEWVJsrlu9xcXUClVWl68L51YrYKZkYZ+cbT2NgYEq1Ydw9kZWWFhIT4+/tjTWRNBSGVRjCQSlOGVBonOKk0XG6OHTu2cePGe/bsYU0cefjwIa5W27Vrd+7cOdZUGFJxrijpTcbrxbFXR8XeLi2VJrI7t7hJ/VpVOk1/7BQkKAOPy/oaVK7SPF299v65H3plkfbi9XM2lHuJxhz6i3csm7Z8fv4Lrx7efJSWUvhbHEuIUlNpElFmjM8arXYV5G7yrPL9lPt2QdmqeLZtWVBpEolEKBRCdosL01SKKs3Dw0NfX19PT+/Ro0esqSCk0ggGUmnKkErjBCeV5urqunjx4r59+545c4Y1ccTR0XHTpk3Lly83NTVlTUUT/3hr2JHfom+s/uYqTSoVZb17ZfTXvEGyH/5Xbqa79fBTR79kHvM4jv8kKldpoYGhpw+e1Z2ip6Otu2bW2m2LtisImnJ5bNHZumTKUqi0VXNWv3xskpGu4ltxP02pqDSpRMRPCnlybC3r94HeOiddwlNVcu1SFlRaXFychYUFRFdgYCBrkkNRpcH1t99+a9++/aFDh1hTQUilEQyk0pQhlcYJTiotLS3N2dnZ3Nw8KCiINZUksYY7AncMi7qy6lurNKlEwg/ZOWHMsMGDB31gyo7LzuHJ/93P01Su0iQSiauj+4Ftf+tO1lukrbsaQk23nAs1mUSbtmzBeJ0Vs1bdvXQvIa7wL7tKjhJVab21Vz5yln+qrez3ltlZaZFB7+6d2tKpaoH3RH3f4cd71l6ZKnr5QFlQaSYmJrj+1NDQOHnyJGuSo8i7B549e8aaCkIqjWAglaYMqTROcFJpIpGIz+dnZmYW+kLi4pCVlRUZGRkWFlbgHs8iKDWVVh4pibsHINTcnNz3bzm4aPJinYkQamu26+orKJtyc2xdtG3J1GXzxy9cNmPFnYt3kxJKYYcqUZXWbZTezVcBmZnpKclJsdGRQQHeTravHt44u3LBONYjnyoaTdp26nbe2C09W+5NGl9HWVBpNjY2U6dO7dWr182bN1mTHIoq7bOQSiMYSKUpQyqNE5xUWlxcnJGR0eXLl52dnVkTRywsLGbPnj1+/PiiXn8nD6k0FVISKg2IxeJ3Lh77Nh+QvWdp4qI1s9aWS6G2bdF2RqItmb7s9sU7KclKdyh/E0pUpanV7jVhtv7Fi6f279q2eP70n7p3YO1qahUqVKhWvXb9Rk1atPqhn94Ru5DUPNW9ah2UBZXGvPPJ3d290PsBFFVaXl4evXuAVFpxIJWmDKk0TnBSadbW1iNHjlRXV9+xYwdr4sjjx48HDBjQuXPnCxcusKaiIZWmQkpIpQGJRCK7k2DT/oUTF+V/orZWf/EOBZWDY4feX/+JQ6HYOCDR9KYsnTduge4UvdsX7qSnftPfoslToiqtQqVKVapVr1G9apXKci8YgL1ipVr1NX8bq3v4vKF7cJLqHuH3L2VBpeF6QyAQQHQV+rZWRZX2+vXrCRMm9OzZ8/jx46ypIKTSCAZSacqQSuMEJ5VmZ2eHpalZs2b79u1jTRzx8vI6derUoUOHHB0dWVPRkEpTISWn0gCEmo+Hz+4NexdM0IFWWz1rjYJQ27po+8b5mzbM+7OMH5sWblEoOfMpGiSajrburfO3eZmFPx7r21CiKq1G8/b9x85aNHPU4O4aleXeBFW1XrP+fz4QiErwN5llQaWFhoZev379n3/+cXFxYU1yKKo0U1PTQYMGNW/evKilkFQawUAqTRlSaZzgpNKkUin2Y4B/WFNJQipNhZSoSgMYFf5e/rvW7YGgWThBB0Lt4+dS+EdXe/H8cQsQVcaPhRMWrZ655l+Jpst+ijZ//MJb526XyvsG5ClRldZr0qqHLnHvpXy3F2em/FiXteaj0ajZ3md+JTfn/3t3D4SHhxsYGFy8eNHJyYk1FYRUGsFAKk0ZUmmc4KTSvh4+nx8bGxsdHZ2VlcWaioZUmgopaZUGxCJxgE/gB6Em+40aI9S2L9aHbvuohMryATW2fPpKRqIxtwvAuHDiopvnbuWU0rs75SlRlfbxSRxifqzZxR09alRlI/J/l1a/cbP7nmkldHVWFlTamzdvJk6c2K1bt2vXrrEmORRVmlgszs3NzcnJEYkKv4eCVBrBQCpNGVJpnOCk0gIDA48cObJ06dInT56wJo48ffp06NChPXr0uHz5MmsqmuKotPQo9wv601q1bjtshLaMCRPGDB7cWA5cH48bN25I1xFHrr2KyVDB22z+o3wDlQawZwX6Bu5aLxNqCz58ovZRpb14ZBIbFZuanFoGD09Xr2O7T3xUaVt12Ds6F01eLPsUTZDz/lt8fPwZvo1Key+V8OJ8zu/RYSPyqVCxWsMOC1wSlV+QpgLKgkoTCoUZGRmpqamF3sCuqNLS0tK8vLycnZ2joqJYU0FIpREMpNKUIZXGCa6/S4PiadKkyd69e1kTRwwNDXv16tWqVavTp0+zpqIpjkqTCLOTonxN759e/Hu3GjVqaNRvOEZn0zE59m1dMrhNC43K1dccvxeWVjobQFng26g0gN1OJtSYT9Tyf6O2TXc7o9KszWyy+dnSMkl4SMTZQ+cYlSZ7Llq+RNObtvT2hTul+1s0eb6RSpPpNGGMr81fC35l42RUqFClTrNxR0P5H95XqzrKgkr7NIoqzdraeurUqf369StqISOVRjCQSlOGVBonOKk0b2/v7du3Y3W6c+cOa+JIdHS0hYXFixcvgoODWVPRFO8bT6lUIkqN8Lj85yjsJHUbfXfBJjJdjpSkuGAHg4m9O20+cTe0zKk0SZS71fO7l+wjC7+dX4V8M5UGhHn/CrUFE3RWzlgNxYP/bcxtSv2nXUURERopU2njFi7SXrw0/x1Qy2Ysh0TLSCu1OzqV+WYqDYjzeH6293QHN2CjZVRQq9l4iP7j+CwVv4SjLKg0d3f3LVu2zJ079+XLl6xJjkLuHhg4cKCmpmZRF6yk0ggGUmnKkErjBCeVJhAIYmJiQkNDU1O/8HlRIpEIiYBCb3dXoPi/S8vLiDG7tB7bSL3GzW57Kj0vV5h8YenMS/dNorJU9hxOlZAV63Faf/7kOTqvQj7/K72v5FuqNCATaj6BO9ftZoQa/v4nVBoKCX22YLzO8pkr71y8m1pKz0Urim+p0uCRx0twNDw8rE5N1iOfao3bbL1hl8pT5Wvmy4JKMzc3HzJkyHfffXf27FnWJIeiSktMTLS1tTUzMyv0fVKAVBrBQCpNGVJpnOCk0iQSSW5uLjRWUT+Z/SwREREvXrx4/PhxQEAAayqa4qs0ES/e6q4+thCotFseBXdWaU5GBi/azzs+MTWH+29qxDn8rIyMjCy+sNDnRElFudkZyQlJyckZPAG3NslJCbl8eP0PzRv2G/uHWXAma/2AVCrN5fGQMwqfKynkR9sSYU4OOkMszctFBTN42Z/Z276xSgMioSgAQm3tbuaDtLKu0kIizvx9linnytmrS+vtAp/m26o0+Ij5iSEPDq1kPT7wXbueF829MwQq0x5lQaV5enru3LlTT08Pco01yaGo0jA/xWIx1kGsiaypIKTSCAZSacqQSuMEJ5Xm4+Ojr68/bdq0L/7G08TEZPLkycOHDy9OChxUGj/e6h6r0m56FPiKSsr3WbXukIV7iEDyXipMs7h0fOW0qQvymay7+e9bLx4+vDxlhvZMPe25usvv2cllJE63MTw5e/rkMaNHjx4zdvKSHfcsvVJ5Hz8CFKdEeV85sXP82NGjfh81atTo6XMXnzG0TuLn8BK8/5kzM/9eBu2FR00SMnNyYl02rF7KWCavPfXCLUqQHnzt+OaOP2iizPWbNu8/cuyC1VvuOcchXak4Lz3c+dLeOePHynJG3uMnLz//0DYuMzt/PxBlJkc5v3qkv37ZnlPnLV+/PLFjGZyWb9rpGK4o9eT59ioNYCPz9w7YsWrngomyj9NsLe1yBGV0mYr88Fnaqjlr7ly6lxCbwEaUJb61SpONRmFSuNueZWNYpw907PvHs7dhPKFqvvksCyqNz+eHh4cHBgampaWxJjkUVVpUVNTTp09v3brl5ubGmgpCKo1gIJWmDKk0TnBSaV//7oHnz59raWn169fv+vXrrKlovkilfXfDLQWXuUIhlkaxMCfD/fn+zt0nXTZ7lymSvhcLgp0sjywb/0u7+jVq1Og6bMoFMw+L++eHfd+w5Y99t5y47h7BLNBSqTDp4U7dYT8P1v1z17Gj++b+3r5Js+Y/9ht59sGr+CzRe6ko0sP00IY/Roweq7Pp4KXLZ7Yvm9FJo177/hPXXnmbzYt/ffvSst/bVqpUofaYo/6JWXmZ0S+MDLbqjG7dtE6NPgvOm/lmZ0RaPDo3fXi/xpUqft+xm87arcfOXrbwShTn8YOdn00ZO6Jb+87Ldv5z7ca1g5vn16vbrH3PQTN23nSPSo3xNN69YcHQfj2bNtRo0a7jgAE/t22mgYq37jPyhFlEfuELp1RUGpBIJF5uXkd3Hdu36UBoYKhYVEY3rPTU9JePTPZvPvjw5qO4mHjWWsb49ioNSISCSE8zvd9/YP0YKtb5eeI+a98ElbxvvSyoNIFAEB8fX9RDghRVmq2t7YwZMwYNGlTo96OAVBrBQCpNGVJpnOCk0kJCQs6cObNx48ZCf2BbHHAJam5uDq2mursHZHxUadVq1Bw2ed4SPT1dXV09/NWZpzWwY52mI66YerK/SZMK43xebp81rHHlSi1+GvPXNZN7Z/cO7N5ryQHDiFQ+88mARJQbZH7052bqczadcw2J52WleFtf+uPnjhqVKvacvu3lu1henNeZHfP79B20aNdl3+g0kUjgb31/Xu96FdRbdl5wL1sqFeVmmR/WrlqlUuXhh3wTspjPwNwNd/fvolmt14Jzpr55olxeSsC1Hcs7V6vSd9TkZ+6RqampmXx+cqjzTu0h1WvV1V5/MTgxSyKVpMX4/L1qUqO6tapq9th81czby8n4zuGJ/btrVKyoVr31gNGLd+7asUJnnt6fB8z9PvUjqtJSaQBCLdg/2M/Tv8x+kAYgHxNiE/29/JPik1hT2aNEVVov7RUPnQtRaQDj2cv89MiWtSvIvzuqRtuxG6+7RaZ9vQQpCyrt3bt3W7dunTdvXrHuHrCzs5s7d+6wYcOKetUdqTSCgVSaMqTSOMFJpeXk5CQkJERGym6iZE0lyReptFoj/9BZuXLlsmXL8Hfpwpl92zesWf/Xqx9VGhBlOj85P6lvp4p1mrXrM3To6DFDFu1yjvpwAS2V5GaGHxrbvXLFCkuP3Hpm/NLk5Usz4zNje3eqVbFilZajjxpYvrl1bHz31v21Fxl7xDPCLjPe/8nJFWPG/bHqmFUetvw8gePFhdXyVZofq9LeBzw/Mrh7y0rdF5x56Sv73lQU/+Twxh41qg0cP/N1eDYMQn6Sw4ODbavXrt/i16f+/35vm+JnNKlrG+TedvxWE89oUW7stW3zujSo1qzn5L/vuaSmp4T5+3j5h2UJP/WxRimqNEJVqFKlSVKv6mi11fj30bXdxi697xDJxioiFQqSLE6ualNN/t1RalVb/rzm9LPQpK+9Q7ksqDRu7x6Ii4t79erVs2fPfH19WVNBSKURDKTSlCGVxglOKi0rKyswMNDNzS02NpY1cSQoKOju3btXr1719PRkTUXzBSpNo2GTUxZ+0dHRERER+Bse6PXkxPI2bYdfMXGTv79TkBJ2+8i6H1vKXoOj2XPYbmM/0ccf2EjyMsIthtWugd3oj7Vbd+/at2fvrr27NsycMVVL6/cx0zYYmppf2KjXtU7L2ev+Cf2QqEQkSIkJsLOx9w2TLVwylXbucypNGPfk0AaotAHjZliGyjQiPzHk/r5pahVrN+4w3zdL7hc/4rQri8e10Kihpjn2gsk7nphvdmrVoB9qdR+35H5hX1EVCqm0coAKVVpquM3CQb3qVq6UL7dkNOo4atfl16k5RSgKqViYHnxy2YTqVSuzJ+TToteIfVeehyexg/zLKAsqzc/P7+jRo5s2bbK2tmZNciiqtM9CKo1gIJWmDKk0TnBSabhu3LVr16xZs+7fv8+aOKLydw8wfFRp9Zto3vUu8LMSUbLzCp11xva+vH+FGJBEuTxbPfkXnNK857A9xv4fbwqQigSxztcay35T1uPSc5PXr23f2Ly2em1jZ2dvZ2vt4OYXF+d/cf2CdvV66my/HZcnn+a/fJlKy4wLuLFtDFRaow7zfQruem+vrOvUsr5a7f4nHjqm5wlen1s7rF3tH8fo3XMoruQilVYO+GqVJklPig0N8LZ8emnX6umaTernC60PVGnSe+j0/eeuv3JwDY6MTed/nBMsUqkkM9JeZ/zPNapVYU/Jp93PI5dsOf3wpYN/eHymQPGs4lAWVBq3dw9ERUU9efLk5s2bdPcA8WlIpSlDKo0TnFSara0t8+6BPXv2sCaOWFpazps3T1tb++HDh6ypaL7o7gGlJ3FIMt7Zu0QlpGekpaZn8fOYh3FIc4LfGOr93genVK7X8tdF+9xi2efLS4T8cJszsgd4agyxCk1R+HG0RJQjyAy+sHZ+R/WWk5b97ZFQcLPEPibME0m+UKVlxQfe3DZWrWKtxu1meWUU0H/ehju6tm4ElXbyoROptP9bvlql5djc2L9mybyhPRrWql4xX2Ip0kCz1ZBxU/7cf+qVT+G/zwu3vzn+l7Y1qv77IZyMqi1+7Dt268k77hFf8hDgsqDS0tPTvby83r59Gx9fyL0jiiqNnmpLKq2YkEpThlQaJziptODg4NOnT69fv/7FixesiSNxcXGQelZWVhERn7ohkYGTSnt97y9sFoWoNAZRltW9qw/MHCJkrx+QZsS4nduwaES3Pr8O6PNDvaqNWndfe9I0Lf+DMakoJ97zfrMqlSqoqa257piSLffZgFQQaP3Swuzx9gUz21er0q7/1NNGPjkfZZxUlJkQZvXAMDhN+FGlVf/9H/8PKi3wxZHBPVpWzb97QEGlWYXKNCIvMejuXm21ClXrNx9kFFTgE0Gv+1u7tm6o1kTr/HO3LBGptP9TvlalSXNen9uou2Du7M+xdschE68i7qKQZtveOrxMdwHrKsfO07fdoz71OJiiKAsqzdXVde3atVOmTHn27BlrkkNRpTk6Oi5evHjs2LFXr15lTQUhlUYwkEpThlQaJziptK8nLy8vIyMDl62Ffq2gQPFVmjAzxvzqxg8qTelxR9K8GM8n84b0X/zXJY9YvpCf9PKK/oRRWqv2Xne0NNwwvodaxdo/9J5+0ylWtphKRYLkdwvaa0Cm1RusZ2DtncrPlUjfi/P4kZ4mmydN3bD9760r5vdqVF2tRtuhM/aaeUTwcoViYU5KuM+TE7vGD59qHyOASrM/MxcqrdaAHS6RGSLpe4kwy/bKhp/aN67eddbZ556yjUgY9+jQhh9rVO0/ZsarYJ5YJMpICLG4rf9dlco16jSce8L63waS5lr8s7B9Mw3NkZueu0aKpIJXp9cMaVP7x7FL7jnS79L+j1Dl3QNlibKg0l69evX777+3bt364sWLrEkORZXGfPJGb1tnTUTRkEpThlQaJ7jePRAQEICLzpiY4ooDBYKCgm7fvn3lyhUPDw/WVDTFVGlSqTg90vPSZtmDN+s0aLL/qWd8YmJSioykhLiI0ECXN8a7FvZr9UOfvTcsErN4/pa3Z43/bej8bZb+SZLshJe3DvzQuFYljea95x32i8+Syj5NSzPaOaJqZdlXQh21dE/efPjGxuLlkxsbpvUdNFznhsk7b+vzelrta1asUKHuD32nbbj64Knxk/tHt6z+rfOQxRfsRe/fi4UC50s6VatUUlMfvOuSuZunl9WLm0tGdW9Sq7Janb6L9W95Rabm5cY/+HtD1+pVO/w86th9O7e3DsZGpt7eb1b166JWuUbNnvPNAuPyZO87kKbHOK/97ccmmm1WnTEKS4EETDHYrdu7aY3OWotu2IYX9kqEQiCVVg4glVZy+Pv7Hz9+fMuWLTY2NqxJDkWVhstN2UuCU1Kys2W3ZytDKo1gIJWmDKk0TnBSaS4uLosWLfr5559PnTrFmjhiaGjYq1evVq1anT59mjUVTXFUmjgvOy7M6+GVIzP7y566WaVazW4j5u3at+/wMRl/7/5ruc70H5s0qF6hQu3eOjfMXTycTdZPGqnZvL/u3w8TBCIoMn/rBzpDWuPcuk1a6hy45xaaIpGIBNE2/X/q2qBqFebHOy00K9Zu2KBl+64Hrz+JyRRKBbEvzuzS6vJDvdrV8uPVKlWt0bDVT9qLz0flP3NNIhbGv736Y9tmlWRPNeuqpTWyfdeeXTq11ahTU6NB4za9Zhy5aZ/KT3116cDQFg3VqjT5oeOwyVOmTNY9FJmZ7mFxoUeXtg01avSYudPExs7B0e7C9lmdunbrv/iYXUgiPyPxne3DxVoDG1aq2OTH4asP33wXGMIrxqNFy55Kk4pFwtycHIEgJzev8PdvcUUiEeflIkFZilgbWasyUokwV8DPB64i8edbr4xAKq20UFRpISEhN27cOHHihJ2dHWsqCKk0goFUmjKk0jjBSaU5ODhMmTKldevWBw8eZE0cMTU1nTx58ogRI1T1hiheQqDB8XVdi8Es/UtOztb663WZoO6mfS4RWaKsKKOb+xkL6P7LkPG7XubIPsCSZoXZrh8xqEenjh1Ax04/TVl99ZVXSjb76A1pbqq76dVlf4zo3Kljx46dfh46Zsu557G8f5WBVJJjd3PXL717yKI7d1l/2MDV0Vhn7mTddbueWLlEJKbnit+nhTuf0NdBAp26DZime8g9WvbrNIlQEPXOaLV2n47t2zF06Nh5yf7bAYkZWOtjnB4snTWWLW4+epv+8k76/MZWplQa6pgcG+rmaG36wtjI6LmZhfU735DkzGzm1g5o3MzkaO+CRKfyszMSAgP82LC3d2xSau6HF7NCnmWmxPi9c7IweW5kZPTSxMLJ3TcuJVP5xa152RnRgZ425sYPDAzu3zd49sLMycM/LjVLyP0dr98eUmklB4/HCw8PDwgIKNYborCQDRo0qHnz5vv27WNNBSGVRjCQSlOGVBonOKm0qKgoAwODo0eP2trasiaOML9Lwzqo2t+llRh5SfHRUTHRMfFpAvbu0AKI83Ky0pKTklN42YVXR5SdnpyUmJ6dK/usSCzIzRMrLNjCnGwkkJbBk3uamwyJRBgfERKITSMgJDqJ//Wf95QdlSZ7C5aLyZa5v3f9oZlmc80mDTRqVK3Yqnv/7ZeeBSfzUE9BWozpxfUtmjWpXenDfYg1Gqy76eTy/HC/bi2qVKpYXb1eU82WW8/cDUuX3YYhEeXGBjmf+2tx3w7NvtNs3qxpQ/XqFes0ajZv1yWP6HS59pbmZKXYPD4zqUe3Vk2bt/y+VUvNJrVrVqvdvt/C/bc9wtPLvk4jlVZyWFhYjBw58vvvvy/W79Ksra2nTp3at2/for4UIJVGMJBKU4ZUGic4qTSpVCqRSCA08Jc1cUQkEmVnZ/P5fKHw889VKgMqrfxQVlSaVBRke3PILz/W0hyz6ehzv5BAi+vbJ/7cuErFCmr1u4xadz0xT7ajScU5CV7mej80Y0RaheHHIlOzpaLsR3unt2vZeOyqI7ZBiezXvFJxnJ/V6vmjq9XrNUHvomtAqKfVrVVjvq9WqYJa1boNR+yKymEFsDgvzfiobsvvGmv8NP+CiWeaQJQU8GqB9uDKFSqo1eg0f/P12Nyy/tUnqbSSAypt2LBhmpqa586dY01yKKq0z0IqjWAglaYMqTROcFJpPB4vJCTE29u70EcKFQdnZ+edO3du3LjR0tKSNRUNqTQVUkZUmijJYf7Q3nXqD91/wy45N//DK2nG65t7h39fC2qsTZ/hZy3Zvpbk8cLsLsvuwAC1Bhi6x8a73e7SrmWzCTutfOM/6ilJhv+JjXMa1+k6fc21SOZFrNKccA/juV1lL5aoqdFgw31mHZAGGu1s0aRu5WZzDOzDslmFl/F028pf6iDrCr/PWeEQ+bVvOippSKWVHNHR0cbGxrdu3fLz82NNcpBK+xdSaZwglaYMqTROcFJpNjY2v//+u4aGxl9//cWaOGJoaNi7d+/WrVur6u4BopiUEZXmeH1DrzYNf5q5w9wzJjsnLzubLxRlB9ucXTaqkewzsyY9ftv+nC9lv3rM46e9PDhJptLUKlSs1qVdtVrV6o2+ZuWfKfcaCf9XV2YPb99mwNSTL3yw2fP52bl5vJQIx5M6LWTnVVOvO+lyplQqzfZb2bm1eqWKOkeMI1L+XSpDrG/OHNFNrVLjKUv/9ktV+Nq5zEEqrUTBMAFsoCCKKs3NzQ3XmvPmzSvqNSyk0ggGUmnKkErjBCeVZm1tPXLkSHV19R07drAmjiCFZcuWzZ49u9BHRypAKk2FlAmVlhO2Y9TAplUrV6pSrVZt9TofUK9Vo2rl/Jd4N+gxfJ2x7O4NBqmIn/JuSdP6VSogtmJFtQrrzptEpzEfweWTF397+7JutapXrFSles3abHJAvVb1qvm/aauiXuu3S3zp+2TXK5oNNCqo/3rDOjhL7st2iUiYkhQXFh6VlMZXxW2mJQuptJIjOTnZycnJysqq0CegKao0c3PzoUOH4nLzwIEDrKkgpNIIBlJpypBK4wQnlZaRkeHh4WFjYxMW9oWy6b9290D5oWyotJCtw/s1rlypz8x1Fx6Zvnlj9SofbI2vX2OLfvXG3tUvOlNeLEnEObE2F2pWryqTXGpql6zcMoRy8XlxNzbrda5e9YcBY/WvPrOxkSUCLC0t37x5I/vn9Zu3Qak4wfWmbv06NdTqDH/oFJZdcM+U5v/asojPUMoWpNJKDowWDk+19fT03L1798qVK58+fcqaCkIqjWAglaYMqTROcFJp2MyEQiGUluKdiiUDqTQVUhZUWk6k5ZDenSpVUNPedMo5LBUDKTcf/MP8n5cnxJrGerNIJDm+E5o2qCr7OE2tx+Lj7lGpH3+Ulpfk8ecibUT9NGHhQ9fYjwkC9n+kmH/rpuvVJQ3yVZqhUyj/P7tnkkorOUxMTPr27auhoXHy5EnWJIeiSsNVZmJiYmxsbGZm4a/EIpVGMJBKU4ZUGic4qbSYmBhcOl64cOHt27esiSO4YJ07d662tvaDBw9YU9GQSlMhZUGlidPddQf11KhUsf10/ReesYV9eiWVQpax/8uQiHKdbqxtWrNa/heialXqNdty1SImI4+N5YWcXDOnRdXK3/WffNDYp4hbNGVPMXG9ukym0iqpb77+Ji6LPf0/B6m0kiM9Pd3Hx8fFxaVYb1vHRUBaWlpKSgqfX/gtJ6TSCAZSacqQSuMEJ5Xm5OQ0c+bMTp06/fPPP6yJIx/vHjhz5gxrKhpSaSqkLKg0Kc9/7ZCfGlSuWO27wYfu2qbK/cBMhjQ3zNHs8qatluHsxgeJluDxqFvrRq2m/Hl0n17DBnUg1L7r+sd9G39+/idkUkHUpQ06batVqVy30+xNV6KyFT+HE6SFnf9jiqFvhtudNQ00auL0ZqN22gQkKNwmkBbq9PTFk2fvEthwWYVUWonC3D0A2LAciirN2dl51apV06ZNu337NmsqCKk0goFUmjKk0jjBSaVhaZo/f37Pnj2PHz/Omjji5eV14sSJgwcPOjg4sKaiIZWmQsrE79JESZeXjvyhXlW1iuo/Tv7T4G2Y4N8NUZQYbHts3ZxxY9e6JuV/1iUV8ZN89v/eV636jydeByfEBeyc2b1h7cpqleoNWn7SPiRZ9smZONPs9MYhrWqpVaje8udJex+6Zv37halUkBn9/JRepxa/WUbnJnlcb5wv8tTqtJq/745//L+/fuPF+53avWzGio1G3imsqaxCKq3kCA0NvXHjxtGjR11dXVmTHIoqzdTUdODAgZqamnv37mVNBSGVRjCQSlOGVBonOKm0tLQ0Nze3169fh4SEsCaOZGdnx8fHx8bG8niytyF9GlJpKqRMqLT3ooAXB3/p0hxiqXL973uMXHbshmVIbGJKYpSzxY3ti4cNGjJ0w9lXPNmDNqS5vETzs4vb1lYf++fd2CyhRCqJsLs0oVPLWhUrVG/Waftl4+h0bOfiGBdDPe0+SLBSrQatf5q8fr+hV1hselpSkLvF6e2T+3dvNe7P++l5UjE/dOPE9ho1ZE9fa/hD94lrDz6xdgsOCXKyfKC/elb3IROW/mMYI3/zZ5mEVFrJgWVt/PjxnTt3vnr1KmuSQ1GlBQcHX7p06dChQ2/evGFNBSGVRjCQSlOGVBonOKm0ryc1NdXHx8fDwyMxMZE1FQ2pNBVSNlTa+7z0oJN/TvqhiewZtmpVGrXpOnDcpKnTp2oP79+1c7cu0zad8ojJgkTL4yc7Gp0e1E2zRmdt8/AM5l3s0tykC7qDWtatglPb9Rl/9qFtEj9PyIs1urR1QKeGsgQrqTdq0XPUhEl//DF17MgBXdo27DVlo01Ian7OwmCrMxPbaNaqKHtCR7UmrfsMHjlu3NhhA3s2+/4XLb2TNsHJZX8rJZVWcjg4OCxcuHDYsGEGBgasSY5CfpeGtSwpKYl+l0Z8GlJpypBK4wQnlRYeHn79+vU9e/YU580BhWJjY7NixYp58+YZGRmxpqIhlaZCyohKe/9eHOdreWzrwg7fN5XpKoaKtVt1/nXN/ou2fnHi95LMhOAn/6wcPbCLWsUqVVr0W3nFlpd/o2ZqoJXu6K51a+a/jaCievf+v+27bhSUyE+L9jQ4veXX3h3y08qnQtU6jTrPWrP72duwj5+PSXNTbG+eWTFlSKO6tdQqNlCrUB2OLTr9Mm/jGQuXyJwibj0oU5BKKzmguBwdHS0sLCIjI1mTHIoqDRLNzc3N3t4+IiKCNRWEVBrBQCpNGVJpnOCk0uzs7MaPH//dd9/t27ePNXHkwYMHP/30U5s2bc6ePcuaioZUmgopMyoNiBNDPe9cPrl54/q1a9asW79h8/YDV+6bB8el5/9WTMJPiXpz98T+fA4c/PvYY7dskUxDZYQ7XzjD2hnuvrSNTMW6J8lMDDd/fFN/y8a1q1evXbdu4+Yd/5w1eBea9PHHZywiXpCz+ZmjB/R3Ht+xfbf+jr8u3jX2jUyWfwRbWYZUWskhlUrFYrFIJCr0JcWKKs3FxWXNmjV//PHHnTt3WFNBSKURDKTSlCGVxglOKs3Ly2vz5s0TJ068ceMGa+KIj4/PuXPnjh49WpxneZBKUyFlSaXJkIhyMtNSkhITk1NSM/mC/Fs2vwqpWCjISkOCScnJaRk8YdGfjUmEOYKcvJzsbEFOrujrM/6GkEorOYKDg69cuXLw4MFClyZFlWZpaamlpdWlS5eibncnlUYwkEpThlQaJziptIyMDAi1T3zMr1pIpamQsqbSiC+AVFrJwe2ptkFBQRcvXvz777/p7gHi05BKU4ZUGic4qbTc3NyUlJT4+PisrCzWxBGc6+joaG1tXejL8hQglaZCSKWVA0illRwuLi6rV6/W1tYu9J1Piirts5BKIxhIpSlDKo0T3/juAXNz8xkzZowePfr+/fusqWhIpakQUmnlAFJpJUdmZmZgYKCnp2dyciHao5C7B9zd3R0cHOjuAeLTkEpThlQaJzipNGtr65EjR6qrq+/YsYM1ceT58+eQaP3794faY01FQypNhZBKKweQSis5BAJBfHx8dHR0oV8UKKq0N2/eTJo06aeffir0+1FAKo1gIJWmDKk0TnBSaR4eHmvXrv3tt98uX77MmjgSEBBw8+bNCxcu4EKUNRUNqTQVQiqtHEAqreTw9/eH4tq2bZudnR1rkkNRpb1+/VpbW7t3794nTpxgTQUhlUYwkEpThlQaJzipNIlEkpOTw+fz8/K+8H3Vn77dXQFSaSqEVFo5gFRayWFqajpgwIAGDRqcPn2aNcmhqNKioqKePXt2+/btoi43SaURDKTSlCGVxglOKo154PbX3D2QkpLi5eXl5uaGRFhT0ZBKUyGk0soBpNJKDgcHh0WLFo0YMeLBgwesSQ5FlYarTGE+uOhkTQUhlUYwkEpThlQaJzipNF9f3927d8+ZM6fQl6gUB0NDw169erVq1arQC1YFSKWpEFJp5QBSaaWFokrD5aaLi4utrW14eDhrKgipNIKBVJoypNI4wUml2djYaGlp1a9ff9euXayJI48fPx44cGCXLl0uXLjAmoqGVJoKIZVWDiCVVnKIxeLs7GwejycUFvLSfUWVZmpqioVMU1Nz7969rKkgpNIIBlJpypBK4wTXz9Kgz2bNmnXv3j3WxJHk5OR37965urrGxcWxpqIhlaZCSKWVA0illRxOTk66urq//fbbw4cPWZMcpNL+hVQaJ0ilKUMqjROcVJpUKhWJRJ/4McZnQQpAIpHgL2sqGlJpKoRUWjmAVFrJAd3Vr1+/evXqnTp1ijXJoajSeDxeeHh4QEBAUlISayoIqTSCgVSaMqTSOMFJpX09wcHBBgYGN2/e9Pb2Zk1FQypNhZBKKweQSis5fH19Dx06tH79+tevX7MmORRVGnOtiavVom5WJ5VGMJBKU4ZUGic4qbS3b9/Onj27S5cuR48eZU0cefr06ZAhQ7p3737p0iXWVDSk0lQIqbRyAKm0kkMoFGZlZaWnp+cWVgBFlRYSEnLt2rXjx4/b2tqypoKQSiMYSKUpQyqNE5xU2te/e8DY2HjUqFF9+/aldw98Y0illQNIpZUcOTk5iYmJMTExPB6PNcmhqNKsrKzGjRuHy81jx46xpoKQSiMYSKUpQyqNE5xUWlRUlIGBwdGjR4u6gPwsuFQNDAz09fUt9GV5CpBKUyGk0soBpNJKDjs7uzlz5gwcOPDu3busSQ5Flebg4LBw4UJccRb1GhZSaQQDqTRlSKVxgpNKEwqFGRkZEFh8Pp81lSSk0lQIqbRyAKm0ksPExKRv374aGhqFvplTUaXhctPb29vV1TU6uvDpRCqNYCCVpgypNE5wUmlYmt69e2dtbR0W9oWyCacfPnx4165dxfk0jlSaCiGVVg4glVZyREREGBgYnDt3zsPDgzXJoajSPgupNIKBVJoypNI4wUmlQWOtWrVq+PDhxfntf6E8efLk119/pbsHvj2k0soBpNJKDubugYyMjGLdPeDn53fs2LHt27ebmpqypoKQSiMYSKUpQyqNE5xUmq2t7ejRoxs2bLh7927WxBGksHr1ah0dnefPn7OmoiGVpkJIpZUDSKWVHImJiTY2Ni9fviz0iwJFlWZmZjZkyJDvv/9+//79rKkgpNIIBlJpypBK4wQnlRYbG/v06dPz5887OTmxJo6kpKR4enrS29a/PaTSygGk0koOR0dH5m3rhoaGrEkORZX27t27bdu26erqFvqmAkAqjWAglaYMqTROcFJpX09OTk5ycnJSUlJx7j8glaZCSKWVA0illRxWVlZjxoxp3759oXdtKqq0zMzMwMBAb2/voi43SaURDKTSlCGVxglOKg3q6s2bN48ePSrOmwMKBZegR44c2b17t42NDWsqGlJpKoRUWjmAVFrJER4efv/+/bNnz2KNYk1yKKq07OzsmJiYiIiItLQ01lQQUmkEA6k0ZUilcYKTSnN2dl64cGGvXr0KvVm9OBgaGuL0Vq1anT59mjUVDak0FUIqrRxAKq20oLsH/oVUGidIpSlDKo0TnFSai4vLggULvkal2dvbr1+/Xk9P7+XLl6ypaEilqRBSaeUAUmklR0JCwuvXr42MjEJCQliTHIoqDeJs4MCBmpqae/fuZU0FIZVGMJBKU4ZUGic4qbT4+PgXL15cu3bN1dWVNXEkNzc3NTU1OTlZUIxthlSaCiGVVg4glVZyWFpaamlptW3bttCHBCmqNKyA69atmzlz5r1791hTQUilEQyk0pQhlcYJTipNIpHk5eVBaYlEItbEkaysrIiIiNDQ0PT0dNZUNKTSVAiptHIAqbSSw8bGZvr06X369Ll16xZrkkNRpX0WUmkEA6k0ZUilcYKTSktOTra3t3/+/Lm/vz9r4oijo+PmzZtXrFhhZmbGmoqGVJoKIZVWDiCVVnLExcVZWFg8evQoKCiINcmhqNIEAgFOiIqKKupyk1QawUAqTRlSaZzgpNKsra1Hjhyprq6+Y8cO1sSRx48fDxgwoHPnzhcuXGBNRUMqTYWQSisHkEorOcRiMaQXn88XCoWsSQ5Flebs7LxmzZrp06ffuXOHNRWEVBrBQCpNGVJpnOCk0pycnGbMmNGhQ4cjR46wJo44Ojpu2rSJPkv79pBKKweQSis54uLizM3NHzx4EBgYyJrkUFRpcB0+fHibNm0OHjzImgpCKo1gIJWmDKk0TnBSaTweLyQkxNPTEysaaypJSKWpEFJp5QBSaSWHiYlJ3759NTQ0Cr2BXVGl+fj4HDp06M8//3zx4gVrKgipNIKBVJoypNI4wUmlSaVSkUgkFGLV+cJlByfm5OQIBILi3H9AKk2FkEorB5BKKznMzc2HDBny3XffnT17ljXJQXcP/AupNE6QSlOGVBonOKm0yMjIe/fuHTlypDhvDiiUp0+fDh06tGfPnoW+hkUBUmkqhFRaOYBUWsmRl5eXkZGRkpKCy0jWJIeiSsOlKo/Hy8rKKtQbkEojGEilKUMqjROcVJqtre3o0aMbNGiwa9cu1sQRQ0PD3r17t27dmt498I0hlVYOIJVWokjzYQMFUVRpVlZW48aN6969+7Fjx1hTQUilEQyk0pQhlcYJTirN2dl53rx5P/744/Hjx1kTRwIDA2/dunXx4sVCX5anAKk0FUIqrRxAKq3k8Pf3P3HixLZt23AtyprkUFRp9O4BUmnFhFSaMqTSOMFJpeXm5iYmJkZFRWVkZLAmjgiFQj6fz+Px8vLyWFPRkEpTIaTSygGk0koOCwuL4cOHN2/e/Pz586xJDkWVhkXQyMjozp077u7urKkgpNIIBlJpypBK4wQnlfb1JCcnY1lzdnYuzl2ipNJUCKm0cgCptJLDyclpyZIlWlpaDx8+ZE1yKKo0kUiEa83MzExcubKmgpBKIxhIpSlDKo0TnFSav7//gQMHFi5cWOhCVhxMTU2nTJkycuTIu3fvsqaiIZWmQkillQNIpZUcEF1hYWFY4lJTU1mTHIoqLTEx0dbWFstZoU9XA6TSCAZSacqQSuMEJ5VmZ2c3bty4Jk2aFPVjjM9iaGjYq1evVq1a0d0D3xhSaeUAUmmlhaJKs7e3nz9/Pi43C303OyCVRjCQSlOGVBonvuCzNB0dnS/+LC0qKsrMzMzIyKjQl+UpQCpNhZBKKweQSis53r17t23bNkgvExMT1iSHokp79eqVlpZWly5d/vnnH9ZUEFJpBAOpNGVIpXGCk0rj8/lhYWE+Pj4JCQmsiSNSqVSST1F3vMtDKk2FkEorB5BKKzkgzvr161e3bt1Tp06xJjkUVVpMTMzLly8NDQ09PT1ZU0FIpREMpNKUIZXGCU4qLScnB/osMjIyPT2dNXEEIu/p06cGBgZ+fn6sqWgYlRZxblF2hKdYkEXH1xxhJ+f5bxlAKu0/DaPSrrk4xWdl5ohE5eaA6Hzq7Vm6Ks3b23vfvn3Lly9/9eoVa5JDUaV9FlJpBAOpNGVIpXGCk0oLCAj4+++/Fy9e/PjxY9bEEVywTpo0afjw4Xfu3GFNRcOotKB9o2Pubo9/epiOrzkwKdDLpNL+0zAqDbv/c1/vV0EB5eYw9fe77GRfuiqNz+dHREQEBgampaWxJjkUVVp0dLSRkdHdu3eLevAjqTSCgVSaMoxKC943JsnsXIabMR2fPlJt70ReXlVMlWZtbT1y5Eh1dfUdO3awJo6YmppOnTr1t99+u3fvHmsqmoQXxwJ3jkTZ6FDVkWR2QZiRxLYv8V/DKTL8pM1rbP3l8vjnjaVNSLBAKGRr+23h8XihoaF+fn4pKSmsSQ5Flfb69Wttbe0+ffoU+m52QCqNYCCVpkzSqwtBu7WwIQXtGxNySJuOTx+Qs/n794DQI1PZFiwaXGgePXp0xYoVz549Y00cwdXq8+fPHz16FBAQwJqKhh/iEv/sSMzdHTF39en4+iPOcA8/xFWSRwvFf5W4rIxXQQHPfb2Ny+NhFuAXlpoiKcYvVksCT0/PXbt2LV682NzcnDXJoajS7O3tFyxYgMvNol5ITCqNYCCVpkyWz+vIy6tCj80IPfoHHcU8wk7MjX9ykG3BomEe5Zienl7UK4Y/i1QqFedTnLsHgIiXmpcak5cSTcfXH6KsFKlYxLYs8d9EIBRm5AjSBdnl78gW5omlErae3xxTU9P+/fvXr1+/0IcEKaq0+Ph4S0tLIyOjon5gSyqNYCCVpowkN5sXYJ/uapTu8pSOYh4Z70xyk8LZFiyarKyswMBAd3f32NhY1sSR8PBwY2PjYn6WRhAE8W1gPkvT09OzsLBgTXIoqjRcsGZnZ3/iVXcfVZp1SHBIclJEWmq5OY689h59wX7SFZdz9hFvI9Pp+PThEJ525HXIkJP2pNKIb4C3t/e2bdumTJly+/Zt1sQRTk+1JQiCKAsoqrSYmJjnz5/fv3/fw8ODNRWEl5d7Ol+l4YBcO2tnXW6OVY/ejDpnM+i43YjTDqMvONHx6UPrvBPaCseo82/js0ilESWLvb39pEmTWrRoceDAAdbEEXNz8+nTp2tpaRXn7gGCIIhvQ1ZWVlBQEC5Ek5ML+R5PUaWZmpoOHDhQU1OzqNewCMXi++6uFx3tLjiUt2OnqcOcW44TL7+ddNll0hU6inuse+abkl34J68EoSqCg4NPnTq1bt06XEayJo6kpKTg4tPV1TU+Pp41EQRBlDaOjo46OjojRowwNDRkTXIoqjQbGxtcbg4YMODMmTOsSYnU7GzfhATv+LhydryLiX3hF2HgEfXEJ+EpHcU7jHwTItKyxZLSuTWGIIpPXl4erlkzMjJyy+Tb+giC+P/k1atXI0eO/P777y9cuMCa5FBUadnZ2bGxsV/zgG+CIAiVA2mVlJQUExOTmZnJmjji7+9/7dq1s2fPurq6siaCIIjSJiAg4MyZMzt37nRwcGBNciiqNLFYjNVQIBAIS+nxbgRBEMrY2dmNGzeuadOmRf0Y47MYGhr27t27devWn/iigCAI4tsj/QAblkNRpeFy8/Tp07t27Sr0fVIEQRClgo2NzahRo+rVq4crTtbEEWNjY6TQt2/f69evsyaCIIjSRiAQJCYmxsbG8ng81iSHokozMzMbPHhwixYt9u3bx5oIgiBKm/j4eBMTk1u3brm5ubEmjkgkElE++Ic1EQRBlDbMXZsNGzYs1lNtHRwcFi1aNHr06CtXrrAmgiCI0gbSSigU5uXlicvXw7QJgvg/B9efffv21dDQKPTNnIoqDYtgWlpacnIyn89nTQRBEKVNamqqi4uLhYVFcHAwa+KIvb39+vXr9fT0Xr58yZoIgiBKm4SEhDdv3hgZGYWEhLAmORRVGkEQRBnEyclpxowZHTp0OHLkCGviyKNHj/r379+xY8fz58+zJoIgiNLm412bIlEh77pVVGm4WsXl5syZM+/evcuaCIIgShtra+uRI0eqq6vv2LGDNXEEOm/btm1r1qwxNzdnTQRBEKVNbGysiYmJgYGBv78/a5JDUaVh/Ro6dGirVq2++DUsBEEQKic9Pd3Dw8PGxiYsLIw1cYTH40VFRUVERGRkZLAmgiCI0gaXoJMnT+7Ro8eNGzdYkxyKKs3X1/fIkSNbtmyhn24QBFGeyMnJSU5OTkxMpB/dEgRRdrCyshozZkyHDh0KvWtTUaVlZ2dHR0eHh4enpqayJoIgiNIG69KDBw9Onjxpb2/Pmjhia2u7evXqhQsXfvGbQAmCIFROUlKSnZ2dqakppBdrkkNRpfF4vLCwsMDAQJzGmgiCIEobJyen2bNnd+7c+ejRo6yJI4aGhr169WrVqlWhDyUiCIIogyiqNHd3961bt+ro6OCylTURBEGUNliaVqxYMWTIkEJfSFwcPD09jx8/fuDAgS/+NI4gCELlhIWF3bp1C6tToY/sVlRpzDNwNTU1v/hleQRBEConJSXFwcHhxYsXAQEBrIkjubm5qampSEcgELAmgiCI0sbS0lJLS6tNmzaXL19mTXIoqjSsgKdPn969e7eFhQVrIgiCKG2kUqlQKITS+uJ3DyQlJbm7uzs7O8fFxbEmgiCI0sbJyUlPT2/UqFEPHz5kTXIoqjTmNSyAXsNCEETZgbl74MSJE3Z2dqyJIzY2NitWrJg3b56xsTFrIgiCKG1wAeng4GBubh4REcGa5FBUaWlpaR4eHo6OjpGRkayJIAiitPn6p9o+ffp06NChPXr0KPRrBYIgiFJBKBRmZmZCfeXk5LAmORRV2tu3b5ctW6atrV3o09UIgiBKBVw9rlu3btSoUYU+Uqg4MHcP7N+/n+4eIAii7BAWFnb79u0TJ04U6+6B169fjx8/Hpebx44dY00EQRClDY/HCwkJgdKKj49nTQRBEP99TExM+vbtq6GhcfLkSdYkh6JKCwoKunjx4qFDh968ecOaCIIgSpu8vLyUlBRItKysLNbEkdTUVB8fH+i8xMRE1kQQBFHaODg4LFy4cOjQoQYGBqxJDkWVBiQSSXp6ekxMDJ/Px/+ZmZm4hA0PD8f/iE1KSgoNDY2NjWVe3o5/EJucnCzMv/0KayiCWEwRJRAImNcYpKWlSaVSxCIKwI4gkkVUREQE80UsTgkLC4uLi0NQLBYjCE8E8T9STkhIQKbMNTTOxYmIRSFRJPhHRUUhyKzd+BsZGQkL/oEn/iIKQbgx9UIQpyMKzkgQySJxZIHqIDvEImtkCn8EUSSmLig8zgIoNs5FFXAinGFHLCqIKFSWucOfKTwSRyxSRuMgiIZCFHLBPzgXzYh0kBFaALFIFsVDgzMthiCcmSaChcfjfewI+CMRnMski25i7vOQ7wjsZwodATckhXIiiFhEoQzZ2dkIookQhZoydcEpCCI1nPWxI5AaMkXK2N4+dgSKxBQeyeJ/nP6xI5iWRxB9gX+YXBAFC5KV7whEgY/9iywQ+7EjkKlCRyCITHFiRkYGckEQngC5I4hkEcXkAmecwiSLWCSl0BFIFrHMho1McSJikSz+Z97AgUw/Fh6ZIlmmI5i6oGpMaZkmQizTEUyy6F+FjkDxPnYE82IPpiOQC/PCIuaB0jiX6Qj4wJPpiI+5ME0EmGmIvOCJWOSOWJyC/5EsyoYgyokgkkUsys8MKhhxIiyoI2JRX6YMKB5imf5FssgCFvyDWLQb0xHIHbEIwhNBJIISos3hiTLDE8COIJJFFIqBIJxReGSB1BBEUkxdEEQBkBGTLMYAPAE8Ect0BOqOjkAsU+zLly/r6+t/8bvSjYyMxo4dO2jQoGvXrjEjEN2B5kLHMWMDeTGe+AdBGBEFB7ghiFNQJGaSoj0RhCeaEQVDEHZUnBkbAJ6IRQpMxZnxieZFFP6i1rAww54ZgcgF7Qnnj5OUaQcmWfQdGhMwQwVZIxalQvughDgFnjgdmQIkiyBalSkD7AjCB57wZ9YfpvBIjUmWmU2oCzzRccwIhA88EYvSIohyIlMkjlh04se6IBdYUEfEYljCExnhRMSi2EyyaB8EkTuTLIJoQ6ZqCCIKdUEiOJEZGx87gml5JIsoFEO+I5AsgswIhCeCKABKiwGPZPEXngAnIpbpCCYXBJkmQuHRzgD/oMDMCEQQucOZmaSoKVOXj/2LLJjuRiyyZpJF7siIqQtOx/+AaSI0OE6EM9MRSBZRmAiwI8gUHqkhVrkjPs4mlAFBFAbOaA1kiv5lWuxjR+B/WGBHLIJM4XEWzmWSRWoIwhnpM8miIsj3Y10QhbrADUmhnAgiFlFwZkrL5AJQRwRxCv5nOgKZfqwLckFd0FY4EUF4ogxM4ZmlAKejnRFU7ggEP3YEkyyz4CAjRIGP/YssEIvcEYuskSnTERgbTF2QCzLFiWgxBBELT8AUHiVBLFoMdgRxClNaxKJZmLpgxCIKQabFmC0Ymcp3BDO7kSlTePxlkkUtEIsgPDF0UVo0ApMsYhU6IigoyM/P72NfKKCo0nBaYGDgyZMn9fT07Ozs0BbPnj3DuqatrY1GR1EOHTo0bNiwNWvWMNmvXr168ODB8EdZAwICtmzZMmTIEObR3h4eHjo6OhMnTrx58yZaCuVAOoiFHcGnT5+OHz9+8uTJvr6+cD5z5oyWltbGjRu9vLwwPs6ePQvnP//8E4sLGvGvv/4aMWIEFmh44twJEyYg0zt37qBIuDKeP38+nM3MzFDhly9fzpo1a/bs2fgHnjAiau7cud7e3qjL7du3cSKKxKw727ZtQ7K7d+9GFhgKmzZtgjOyRqZIdsOGDaNHj0bB4IkWxFnjxo0zNjZGsm5ubmgEOKNSaJMbN24gVldX9927d3BG9ZELmgKxGNzHjx//9ddf0WKIQi4rV66EZD5y5Aj6EhmhBZAO9g8Uz9raGoIazcK8wQZ/kSwsr1+/RuchCM+pU6ei5VF+JIvGXLp0KUYbnNeuXYvgsWPHmOm0detWOKMkKB5KtWTJEiSFzQlNhFhEDR8+3MnJCbEmJibYulBT5m38586dQzWRGroJo4fpiM2bN2PMoZX279+PExGEJybzlClTUNPr16+j8Dh9zpw5cDY1NUXx8BfNPnPmzBcvXsAZHQFP9JSrqyt6DVcMCCJfRAGmf7dv347CIxbDAOmg5dFc6DgMg1GjRjGDysfHZ9q0aRgAjx49QkcgFunAGbkjiCGBgYpcUHg44xSmtOg+LF6nTp2CJ0Ysao3qIBfEHjhwAG2CuiBNxD5+/BgFYK5sfv/9d6bw+ItmX7BggYWFBTwxtOD5xx9/YFIhiBZjqsbMQCSLsXH48GFmtjMdgbpgZqIjVqxYgYwuXboET8xhDAzk8ubNG5TBysoKUwBFCg4ORix84InR4u7ujsUCuSAd1AWZoiMwDeGJvOCJAmPAI/bixYuYv0gWUwBBlBPFg6ZBydFozKBCd48cORIWR0dHnIj6wnPMmDFoPcTu27cPHYEGx3TGKrl+/XrEot3QXJinyB2xCMIT8xTdjUF19+5dnIv2hydAjyD44MEDRKGJ4AZnVP+3335DsojF0oYgPJE4SouMMA1Rl507d8ITMELK0NAQa6KLiws6Au2JYmO4Is2GDRt+9OQKSoXphkSuXLly79495LJs2TL0EWbQiRMnMH2w6DGeixcvRhDLGqKwnsINzjgF7YlVEW5IB0F4vn37FoXH8LC1tUWLYdjDEzCaGPMRfYqaYinAANi7dy+iMOQwztHLu3btQnvu2bMHnigG5gtaCZMUQWSKE+Fsb2+PZLE+oDGnT5+OXBCLcY5hg7GE2YTVEgssPNGnKB76dMeOHRiQ6CwsGhhXzKxEsqgL5gVGFAqMFJCOjY0NhgpSfvLkCeYsWhiemP5YyXEifDBUEIuRDGeMDRQPUxV1wXg4ePAgnLEgIEdYsHhikmLYwxMZ4USUAUMOhUcTYaGAM3oTsZj7aC6slqgLMmU6Yvny5UgEJ2Kco+WxccATZYAdwX/++QfVxFDBOgZnDDlmkqJf0JtMXRDEIoYmsrS0RFNjNsETZcAai3QwaNGeaDE0O4JY85nCo9mxd6JfsCbDiHQwfVA21AWzCZ5YbNFHcMbijGQxDtEgkyZNYm40RtaYOygk6ojpj/0FnosWLUKmCCJ9THAsOGgEOM+bNw/lwZUGqonZhI5g6oIoNAW6D4V/+PAhpo+zszOiUDVsQwjCiCmAIBYxOP/9998oHmYNdmokxXQEBhWaCG0IO8YGjPBEN2E3QdWwWmK7QWpYHuGM9JlJimUB+WIYwJnpCDQRyoZkUU4UHmMSUegm1AIdgVxQL2SECQJn1BdB1B1nYdoiCGeMWOSCuqCt0GJIHJ4YcmhJtOeFCxdQeJyOZocz2hzJov3R7OgLtBicMS8QhX0KycIZfYcTkSnKg1j0LJJ99eoVskDjo9/hjGZE+2A3RBBjA0F4Yp6ixdAXGD/IBaMFKz+cMboQxEjD/oIWQy5wximoJjoC3Yfxef/+fXhifiEKkx11RCx2f5QBs4ARjhjtGFQY+egIzHc0DpzxF82OYYaZAk/mubOY7ygtBhIGDMqA+YV+gTNmHJLF7MNGCU8sj5jC8FdAUaWhlNgbatWq1a9fP8wx7NPorZo1a7Zt2xb/o2sxIuvVq4f5wExd/ANnrL9YVrCdoNfr1KnD7OJIqn///j/88AN2FGaIIB3Ewo4gNqFWrVq1a9cO9YczNrNmzZqhodHHqCSGGpwxGbCmozsxvrE6oybwxLk4EZliBUSRMFt+/vlnOGOQof63bt3q0aNHr169MGLgibZGVJ8+fdAccIY2wokoEtMWmG9IFtsABgSWACwlcEbW6AMki3bQ1NREweCJ9aV169YtW7bEYodksa2iEeCMTQhtgimBNNHozHCHPkMuaAqsiRh8UHvq6upoKEShtzCF6tatu2rVKkxdZNShQwekc/XqVXQzBDGa/fvvv2du3cBfJNu3b19GOiAIz06dOmGTxjDF0o/GxOxlpi4mCYLr1q1Dc6GzMSbgjJKgTVAqTFQkhXUWQUxCRDVo0ACaA4VHQ7Vo0QI1ZX63CKmEaiI1dBMmBtMRaBmIA7QSZhdORBCe2ANQeNQU4xKFx+m9e/eGM4Y7qoa/aPbu3bszdUHv1K5dGz2FpkNHYP/DicgXUQBrAToCGwZztYFJzhQenYJZh2HQtGlTBOGJfuzcuTMGAOYYOgKxSAfOyB1BDIk2bdogFxQezjgF3YQph+7DpQyGJTzREag1qoPBVr9+fcxkLAGQQehfxGIRQQGwvqAjmjRpgv0P6aAKaPZffvkFGwxqjRaD548//ogZjiBaDGVApszURbLIFEswJipmL9MRGEXIAh2BeYvCMzoD2hEDA7ngigVlwFqMKYAiMcoGPvDEIoWzIIKRC9JBXZAps37BE3nBEwXGgEcZsC5gnCBZTAE4o5yQQSgzSo5Gg5iGM5YJNDUGFXQzOuL8+fPwbN68OVoPsVih0L9ocExnzBEsJYhlpCFWduSOc7EqwRPzFJmi0XC1gHOxnMETMOsO9DHGG5oIbnBG9VFNJAtpiNGLIDyROEqLjDANkSlkLjwBRgVisTSjXliRUVTMF9QFzuh0bP9QVIwnVyChkDU2J0wZJIJcsHmgjxCE3tXQ0MASzHhiLmM2oaaIwpKK5RXOOAXdDcmOJb59+/ZMMTCJ0BEYHljB0cUY9vAEmDuIxXxEn6KmWP3QF2heREFqMJMUGyQqzigSFAPzBa2EjQqDAZl+9913cMZQREdgfejWrVvXrl2ZZ4gcPXoUnlhJcP2GzQ8LLDzRy8gCjYbZhMGAzkKLISlmViJZrKuYFzgLBWbesgXx17NnT6QMRYIlBYIenpj+uJzAifBp1KgRYpnLBmiXxo0bI3HUBbMJtYAzFgSMIix02MlQYAx7eCIjjBOUAUMOhUcTMascehOxmPtoroEDB6IuyJTpCHQrkkVrY5yj5TH74IkyoOURhERAmhgqWMfgjCGHTNEy6D4MM6Yu6FwsYl26dEH/oh0wm+CJMmAHQToYwyge6o7JhSDWfKbwaHbMF/QLeh/dgXSwPKL3seBgNsETwxV1gTPaCsli+qBBsBsy1zzIGnMHhUcdoWygBuCJqmEpQBDpMys/Bgacf/rpJ6yB0CVY1rDroTBMXRCFxNF9KDwuYDCbIDQRhaph+mA24VIZSwrmGnQMnKFFULwZM2ag2dEsTEdgHcNIgAV2xMIHnpi2WEMwfTBxsCZjU0PJ4Yz0sQYiL+SIfJE7nJmOwAKFmY6OQDlRWoxJRKGbUAt0BHJB1ZAR5CacUV9UE3XHWZi2CMIZEwSLMMYq2goVR+LwxJBDS6I9cQmBjsDpuN6GMzoCyaL90QvoC7QYnJmOwARBsnBG3+FE9CMaE7HoWXQEruKQBRof16JwxsqP9sF4wKjA2ECrwhPzFAMVpcX4QS4YS6g1nCFLEMRIQ0dg1CEXOOMUNBHGJLoP4xOjFJ7YrRCFyY46ohEwnlEGzAKciFiMdhQPuyHmC+YdGgfO+ItmR7KYKfBE1eCJ+Y6mxkBCObEFQylhl4czZhwyxexDkaA3MEmLdfcA6g+Viu0Ngh0DGq2MroWk0NfXx//IANstlh50MIoFfyzHaAJIdfQWCgfttWbNGqgKRGEvwfKBtkBRcCI6CekgFnMejYX1Aism+owZediosCZiz0B9sLhAr8AZWyb+x7BA60DrMPd2ISlIB2SKoYYiIReIJDhjJ0ZfYpOAFkFtMQ3gCSOi4AC1BGe0NU5EkTD0kRQEKJLFTowRgK5FY8EZJcGmiGQxsjE+EIQnOhtnocCQBUgW4wmNAGdUCkFseIiFBGSWM0hj5IKmgJBF4dE4CDIfBSEXdP/atWsxyNAIyAhrAdLBbETx0LVoduSCzQzO+ItkYcEgwGKHIDyxeaPlMZORLNJBrzNX7ZjJCGIEI0eUCrnDGSVB8VAqrCZICiMYTQSliCiIPEwMxKKh0N3MTox0MKkQRGo4C3sS0xFoGVyRoJWwWeJEBOGJ4YXCo2pYH1F4NBHkGpwxyVE8/EUQ1wfoETijI+CJukBkwBm7CzwZ4QWgfdER2IpQeMSi35nCo7nQcQhibCAIT6zUuNLCAMClLRoQsfAEyB1BDF1UE92N7oMzTkFp0RSIxa6JYQlPdARqjeqgfxGLpQRtgrogTcRCEqEAWEFQVFx7MIVHy6PZYYEWwVxFi8Fzz549WCIRRBOhasgUzQVnjGGMDWgjNBccmI7AKEIWaFIshciIWeIx1TEdkAv6HWXA1EU1cS66D7HwgSfECs5ickE6SA2LDloJlx8oPPKCJwqMAY9YLDEYJ0gWUwBBlBOZoswoORqNGVToFygSWLAb4UQ0IzzR+8z6hYscJIsGx3RmtgfEot3QXJinyB3dxMxuzFNkihIyKz5i4QnQIwhidUNHoIngBmdUH9VEsojF6EUQnkgcpUVGmIbIlFHzAKMCsUgBxYNYQVExsFEXROEv+hS9yXhyBdMNSz+KhPaEYkAuWJrRR5hBzGxithmAuYwgaooo7FhwgzNzEY9VEW4Y+YzmwCRC4TE8YEeLMWMDYCFFLBQD+hQ1RZ+iL9C8iMKQYyYpqoxzYYQnioH5glbCJEUQmeJEOKPASBbrAxoTGyej4DHO4YmVBAsRVkisP/BEQ6F4aDTMJmb9QfNiXDGzEpMUdcG8wFkYY0gB6SA1DBUky1w5oy7wRPtj4cKJ6Fl0N/LFSIYz5j5GDhJHyTEeoEfhDCNyhIWZpBj28ERG8EQZsFqi8BhpzCqH3kQs5j6a6/Dhw8gdmTIdgXmBRHAixjkmBeoCT5QBLY+OwGqJamKoYB2DM7PyY5Ji9cMwY+qCIIYx6oJ5hKbGX3iiDIxURVeieKg7ckEQaz5i0RFodswX1AK5MCMQQfQ+nDGb4InhikaAM0qLZDF90CDYDT92BJoLhUfTYfojCE9UDSMNQSSLumDBYbYbLBEoD0QMqol1DIVh6oIopMZMUgx7rE5oKEShahirzGxCl2GuMdIfLY/iYdagm5AU0xGoC2qK2sGOWBjhiW7CWTiXWS3R+yg5nP39/ZELkkWOyJepy8eOwFxGsigns6whCt2EWqAuSBZVQ0ZoIjhjP0U1kRrOQjsgCGeMWOSCjkBbocWQODwxztGSaE/sLygeTsc2BGd0BFoeUwDNjr5Ai8GZ6QjUBcnCGX2HE5EpCoBYpn+hZpAFehzZwRnNiObCeMAwwNhAEJ6Yp2gxnIhhiXMxllBrOEOWIIiRhv2FyQXOOAXVRGnRfRifGKXwxPxCFFQK6ohYjGeciLGNExGLZFE87IboCGSKLoAz/qLZkSxmCjxRI3hivqOpMZCQC+qCrRa7PJwxNZAsNh3UBSmjHZhmUaCQ36URBEEQBEEQpQ6pNIIgCIIgiLIIqTSCIAiCIIiyCKk0giAIgiCIsgipNIIgCIIgiLIIqTSCIAiCIIiyx/v3/wPbmiOcF8+YZgAAAABJRU5ErkJggg==" height="350" width="500" align="middle" /> <br> <sub>Source: <a href="https://people.csail.mit.edu/matei/papers/2016/sigmod_sparkr.pdf">SparkR: Scaling R Programs with Spark </a></sub>
</p>
<ul>
<li>Central component of <em>SparkR</em> is a distributed data frame implemented on top of Spark
<ul>
<li>SparkR DataFrames scale to large datasets using Spark’s execution engine and relational <a href="https://databricks.com/blog/2015/04/13/deep-dive-into-spark-sqls-catalyst-optimizer.html">query optimizer</a></li>
</ul></li>
<li>R to JVM binding on the driver allows R programs to submit jobs to a Spark cluster and support for running R on the Spark executors (workers)</li>
</ul>
<pre><code>Launching java with spark-submit command /usr/local/spark-2.2.1/bin/spark-submit
sparkr-shell /tmp/RtmpfVHcxh/backend_port37123e7eb08</code></pre>
</div>
<div id="intro-to-docker" class="slide section level1">
<h1>Intro to Docker</h1>
<p style="text-align:center;">
<img src="data:image/png;base64,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" height="350" width="500" align="middle" />
</p>
<ul>
<li><a href="https://docs.docker.com/">Docker</a> is a virtualization tool designed to make it easier to create, deploy, and run applications by using containers
<ul>
<li>Applications can use the same Linux kernel as the host system and ship with things that don’t exist on the system - significant performance boost and smaller application size</li>
<li>Available on all major OS - some limitations on Windows</li>
<li><a href="https://github.com/jaehyeon-kim/rocker-extra/blob/3.4.3/spark/Dockerfile">Dockerfile</a> - set of instructions on how to build a Docker image</li>
<li>If interested, <a href="https://www.dockerbook.com/">The Docker Book</a> (ch 1 - 4 and part of ch 7 (docker compose))</li>
</ul></li>
<li><a href="https://github.com/rocker-org">Rocker project</a> is a de facto standard of Docker-based application development with R (also in <a href="https://hub.docker.com/r/rocker/">DockerHub</a>)</li>
</ul>
</div>
<div id="intro-to-development-environment" class="slide section level1">
<h1>Intro to development environment</h1>
<p style="text-align:center;">
<img src="data:image/png;base64,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/fr58+f/+P0PX37+xZtvvPnSoBeeferp+3vfe8ett3XvdtUN1153TddubVu2alSvPlJX8oUX/eP//e1//7//d+Hf/p70jwsRwhrWqdemecuO7S7pelmXW3rc8PB9D/R/ru9bY8cOGjSodYsWaTWTPv/0s9OB0+ebDt2Dov2H0gLzWewIP+HnFc6AZT57ZS1F2VT15DMXf/HfJpb5bEAtirKj+M5nONacnJzMzMxdO3du3rR50aJFP/3009dff/3BBx+MGjXqhUGD+vTp88hDD93d845et97W84abOra5uGm9BvVSa9VNqVUnJbV2UnJazeTkGjVrXnhRSs2k5k2aIJk1rFe/acNGbVq2urRDxx7dr334/gee79t31PARn3z40Yyp02bP+nXNqtUZ2zMOHzp0qqCgNATOGvj3jBkNatfp368fGifymePXL8ewCgGhtMB8FjtMJ/x8wxmw6hC3vrKWomwqpvksHr74bxOrd9/xAWkUZUdxls/E7kg/e/fuXbt27fIlS3vfdXe3LldccellnS5p365165ZNmzVu0KBe7TppySmIXCk1aqYlJddOTqmbmtaoTr16KWm1aybjsUnd+he3bnN5p0uvufrqO+6448EHH+zXr9+777zz6aefzpgxY8GCBVu3bNmzZ8+hQ4fy8vJwXuzcD8OwB++9767b7ziefTyu8xmIGAVCaYH5LHYYT3glwhmw6hC3DFlLUTYVo3wWP1/8twnzGVVFxVk+C3q9uHjFihW9e/f+5ptvBj7fP7VGUp3UNCj1TBrDdIM6dZs0aNisUeM2LVp2bt/hhmuvQ4zr89TTQ4e88s748Z9/9s9/z5ixcOHC/27YsHPnrqysrIKCAjx5v9+PXBV89pV9/hPHT+jRvfu+ffuiewarhfBAEEoLzGexQz/hlQtnAD5kPqOqKGebhPGL/5iIhy/+28Tq3ZfVP5Wi7CjO8hmObOeOnTffeFNaaupvc+fee/fdtZJTGtSp07RR45tuuPGeu+5CCBs5bPgH702a9u2/Fs6b/99163du33H08OGT2SdOnTrlL/XjyWnbCmF6qvKOwqOOtsAeP373fft2F2+2/jer4gtTLAilBeaz2CEnvNLhDMDAETvEzUPWUpRNOdIkjF/83/FE8OaZ57B695l6MEVZKc7yGfh97m9N6jWoX6v2b/+Z/dB996clJdetVXvw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sry0FCOlWcqdP1m3emFE8waK19Eyn/VbFS/SP0k0gvy0+3Dh90uO3jlyg2m8aMSXO2UkJkyLRL+tDX52iYBlqou+nKv9lUDeqTLTIqOefW/r+h15xjCH6a37CnBgppGS5LBTUz0uxHxGiFdxMJ9N/fZfDevWa9+23e+z59x6401pScnXdO12YJ/20UPMyMvLy8jImP7t1L5P9+l2+RW1k1Mb12/Qod3FOLDLOnbqddvtrw4eMmfO7F27dh0/ftwl4UxgRIt31K+gB/IZVe1iPiPEqziYzxbMm9esUePmjZv8MPPfTz76GPJZu1att2zarC2OErgSlZeX45Jkuir5S0qwry/++fkzTz19Sbt22HvyRTUvbtO237PPzZg+fduff2b8ue232bPHjBrd6447L7300g4dOtzes+eQl16eMvnDObNn79yxo7iwSNuWAX0veDTuziEY0eKXc7528A/sFJ7PLuu3kqJsivmMEK/iYD7b+N8NrZu3qJOa9sWnn702YmRKjZrIaksWLtIWRwlciXBJQkSTicOHDy9etGjSxIn39LrrkjZtUy6qmVqjZseLL3nk4Ye/+vqrbdu24RKmrXmG7Oxs1JctW/avb7559eXBD9573x233HpTj+vvvK3n0088+c64t2f99POm/244cviwrCttVSZAaBsOYieiYSmpLrTX4GzsvGpipAj5rO9KirIp5jNCvIqD+Wzv7t2XduyEWPbu+AlTJn+Iicb1G8ycFvxLvehSWFiIy9Ps2bOHDx9++209mzdsUqtmcr1atdu2ao2w9clHUzau/29+fj6uXNIRgaxomsV8RWmZv7j4yMFDK5Yt//f0Ge+/O7F/33533X7HrTfedN+99/Xr1++NN97417/+tWrVqszMTJ/Ph21q6zrJOZt9KCeQ6kF7DQzYCWeA+YyqupjPCPEqDuazrGPHbr7hxrQaSSOHDf/XV1+n1kyqX7vOxAnvYFHlLh/lIbCurF546tT2P7f99N33g1986bqrr2nRtFmt5JTUpOTWLVvdeced70yYsHrVqpMnTsi6QF/RRMSiDi55Rw4f2fbntjmz53zwwQcDBw586KGH7r777t533f3kY4+/Mfq16f+aum7V6j07d/lO5lSUn/WLnnLAf+W/KqBu+aGcEPlGjstR+8/lRDztNsMZgPGYz6gqivmMEK+i7o9Vapx5Pt+D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" height="350" width="500" align="middle" />
</p>
<ul>
<li><a href="https://docs.docker.com/compose/overview/">Docker Compose</a> is a tool for defining and running multi-container Docker applications
<ul>
<li>Create: <code>docker-compose up -d --scale worker=6</code></li>
<li>Stop: <code>docker-compose stop</code></li>
<li>Start: <code>docker-compose start</code></li>
<li>Terminate: <code>docker-compose rm -f</code> (after stop)</li>
</ul></li>
<li>Note
<ul>
<li>Both <a href="https://github.com/rocker-org/rocker-versioned/blob/master/rstudio/Dockerfile#L63">RStudio</a> and Spark Cluster are managed by <a href="https://github.com/just-containers/s6-overlay">s6-overlay</a></li>
<li>Add AWS credentials in <a href="https://github.com/jaehyeon-kim/sparkr-demo/blob/master/docker-compose/hadoop-conf/core-site.xml">core-site.xml</a> and copy to <code>$HADOOP_CONF_DIR</code></li>
<li>Spark <a href="https://github.com/jaehyeon-kim/rocker-extra/blob/3.4.3/spark/spark-conf/log4j.properties#L19">log level</a> to <em>WARN</em> - too many info messages can cause RStudio unresponsive</li>
</ul></li>
<li>Sources are available in the <a href="https://github.com/jaehyeon-kim/sparkr-demo">project GitHub</a></li>
</ul>
<p><a href="https://github.com/jaehyeon-kim/sparkr-demo/blob/master/docker-compose/docker-compose.yml">docker-compose.yml</a></p>
<pre><code>version: "2"
services:
master:
build:
context: .
dockerfile: Dockerfile-master
command: /init
hostname: master
ports:
- "6066:6066"
- "7070:7070"
- "8080:8080"
- "50070:50070"
- "8787:8787"
worker:
build:
context: .
dockerfile: Dockerfile-worker
command: /init
environment:
SPARK_WORKER_CORES: 1
SPARK_WORKER_MEMORY: 2g
links:
- master</code></pre>
<p><a href="https://github.com/jaehyeon-kim/sparkr-demo/blob/master/docker-compose/Dockerfile-master">Dockerfile-master</a></p>
<pre><code>FROM rockerextra/spark:3.4.3
MAINTAINER Jaehyeon Kim <[email protected]>
RUN mkdir -p /etc/services.d/spark-master \
&& echo '#!/usr/bin/with-contenv sh \n /opt/util/bin/start-spark master' > /etc/services.d/spark-master/run
# add AWS credentials
COPY ./hadoop-conf/*.xml $HADOOP_CONF_DIR/</code></pre>
<p><a href="https://github.com/jaehyeon-kim/sparkr-demo/blob/master/docker-compose/Dockerfile-worker">Dockerfile-worker</a></p>
<pre><code>FROM rockerextra/spark:3.4.3
MAINTAINER Jaehyeon Kim <[email protected]>
RUN rm -rf /etc/services.d/rstudio \
&& mkdir -p /etc/services.d/spark-worker \
&& echo '#!/usr/bin/with-contenv sh \n /opt/util/bin/start-spark worker master' > /etc/services.d/spark-worker/run
# add AWS credentials
COPY ./hadoop-conf/*.xml $HADOOP_CONF_DIR/</code></pre>
</div>
<div id="intro-to-data-manipulation---load-data" class="slide section level1">
<h1>Intro to data manipulation - <em>load data</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">Sys.setenv</span>(<span class="st">'JAVA_HOME'</span>=<span class="st">'/usr/lib/jvm/java-8-openjdk-amd64'</span>)
<span class="kw">Sys.setenv</span>(<span class="st">'HADOOP_HOME'</span>=<span class="st">'/usr/local/hadoop-2.8.2'</span>)
<span class="kw">Sys.setenv</span>(<span class="st">'SPARK_HOME'</span>=<span class="st">'/usr/local/spark-2.2.1'</span>)
<span class="kw">library</span>(magrittr); <span class="kw">library</span>(tibble); <span class="kw">library</span>(dplyr)
<span class="kw">library</span>(SparkR, <span class="dt">lib.loc=</span><span class="kw">file.path</span>(<span class="kw">Sys.getenv</span>(<span class="st">'SPARK_HOME'</span>),<span class="st">'R'</span>, <span class="st">'lib'</span>))
<span class="kw">sparkR.session</span>(<span class="dt">master =</span> <span class="st">'spark://master:7077'</span>, <span class="dt">appName =</span> <span class="st">'titanic demo'</span>,
<span class="dt">sparkConfig =</span> <span class="kw">list</span>(<span class="dt">spark.driver.memory =</span> <span class="st">'2g'</span>))
tdf <-<span class="st"> </span><span class="kw">read.csv</span>(<span class="st">'titanic.csv'</span>, <span class="dt">stringsAsFactors =</span> <span class="ot">FALSE</span>) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">sample_frac</span>(<span class="dv">1</span>, <span class="dt">replace =</span> <span class="ot">FALSE</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">as.tibble</span>()
rec <-<span class="st"> </span><span class="kw">nrow</span>(tdf)
df <-<span class="st"> </span><span class="kw">as.DataFrame</span>(tdf)
df <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>(<span class="dv">2</span>)
class age sex survived
<span class="dv">1</span> third adult male no
<span class="dv">2</span> crew adult male no
<span class="kw">printSchema</span>(df)
root
<span class="op">|--</span><span class="st"> </span>class<span class="op">:</span><span class="st"> </span><span class="kw">string</span> (<span class="dt">nullable =</span> true)
<span class="op">|--</span><span class="st"> </span>age<span class="op">:</span><span class="st"> </span><span class="kw">string</span> (<span class="dt">nullable =</span> true)
<span class="op">|--</span><span class="st"> </span>sex<span class="op">:</span><span class="st"> </span><span class="kw">string</span> (<span class="dt">nullable =</span> true)
<span class="op">|--</span><span class="st"> </span>survived<span class="op">:</span><span class="st"> </span><span class="kw">string</span> (<span class="dt">nullable =</span> true)</code></pre></div>
</div>
<div id="intro-to-data-manipulation---check-data" class="slide section level1">
<h1>Intro to data manipulation - <em>check data</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## more functions
<span class="kw">str</span>(df)
<span class="st">'SparkDataFrame'</span><span class="op">:</span><span class="st"> </span><span class="dv">4</span> variables<span class="op">:</span>
<span class="st"> </span><span class="er">$</span><span class="st"> </span>class <span class="op">:</span><span class="st"> </span>chr <span class="st">"third"</span> <span class="st">"crew"</span> <span class="st">"first"</span> <span class="st">"first"</span> <span class="st">"second"</span> <span class="st">"crew"</span>
<span class="op">$</span><span class="st"> </span>age <span class="op">:</span><span class="st"> </span>chr <span class="st">"adult"</span> <span class="st">"adult"</span> <span class="st">"adult"</span> <span class="st">"adult"</span> <span class="st">"adult"</span> <span class="st">"adult"</span>
<span class="op">$</span><span class="st"> </span>sex <span class="op">:</span><span class="st"> </span>chr <span class="st">"male"</span> <span class="st">"male"</span> <span class="st">"male"</span> <span class="st">"female"</span> <span class="st">"male"</span> <span class="st">"male"</span>
<span class="op">$</span><span class="st"> </span>survived<span class="op">:</span><span class="st"> </span>chr <span class="st">"no"</span> <span class="st">"no"</span> <span class="st">"yes"</span> <span class="st">"yes"</span> <span class="st">"no"</span> <span class="st">"no"</span>
<span class="kw">summary</span>(df) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()
summary class age sex survived
<span class="dv">1</span> count <span class="dv">2201</span> <span class="dv">2201</span> <span class="dv">2201</span> <span class="dv">2201</span>
<span class="dv">2</span> mean <span class="op"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span>
<span class="dv">3</span> stddev <span class="op"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span><span class="st"> </span><span class="er"><</span><span class="ot">NA</span><span class="op">></span>
<span class="dv">4</span> min crew adult female no
<span class="dv">5</span> max third child male yes
df <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>() <span class="co"># SparkDataFrame to data.frame</span>
## check classes
df <span class="op">%>%</span><span class="st"> </span><span class="kw">class</span>() <span class="co"># SparkDataFrame</span>
df <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>() <span class="op">%>%</span><span class="st"> </span><span class="kw">class</span>() <span class="co"># data.frame</span></code></pre></div>
</div>
<div id="intro-to-data-manipulation---select-filter" class="slide section level1">
<h1>Intro to data manipulation - <em>select, filter…</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## column expressions
df<span class="op">$</span>survived <span class="co"># Column survived</span>
<span class="kw">column</span>(<span class="st">'survived'</span>) <span class="co"># Column survived</span>
<span class="st">'survived'</span> <span class="co"># string</span>
<span class="kw">expr</span>(<span class="st">'survived'</span>) <span class="co"># Column survived</span>
## selecting rows, columns
df <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(df<span class="op">$</span>survived) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
df <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(<span class="kw">column</span>(<span class="st">'survived'</span>)) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
df <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(<span class="kw">expr</span>(<span class="st">'survived'</span>)) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
df <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(<span class="st">'class'</span>, <span class="st">'survived'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">select</span>(class, survived) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
df <span class="op">%>%</span><span class="st"> </span><span class="kw">filter</span>(<span class="st">'survived == "yes" and age == "child"'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
df <span class="op">%>%</span><span class="st"> </span><span class="kw">filter</span>(df<span class="op">$</span>survived <span class="op">==</span><span class="st"> 'yes'</span> <span class="op">&</span><span class="st"> </span>df<span class="op">$</span>age <span class="op">==</span><span class="st"> 'child'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">filter</span>(survived <span class="op">==</span><span class="st"> 'yes'</span> <span class="op">&</span><span class="st"> </span>age <span class="op">==</span><span class="st"> 'child'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()</code></pre></div>
<ul>
<li>many function names are same to <em>dplyr</em>
<ul>
<li>use <code>::</code> for calling them</li>
</ul></li>
<li>expressions are interchangeable but not always - see <em>dapply</em> section</li>
<li><code>expr()</code> is more expressive - see ML section</li>
</ul>
</div>
<div id="intro-to-data-manipulation---group_by-mutate" class="slide section level1">
<h1>Intro to data manipulation - <em>group_by, mutate …</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## creating variable
df <span class="op">%>%</span><span class="st"> </span><span class="kw">mutate</span>(<span class="dt">age_c =</span> <span class="kw">ifelse</span>(<span class="kw">expr</span>(<span class="st">'age'</span>) <span class="op">==</span><span class="st"> 'adult'</span>, <span class="st">'1'</span>, <span class="st">'0'</span>)) <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">head</span>(<span class="dv">2</span>)
class age sex survived age_c
<span class="dv">1</span> third adult male no <span class="dv">1</span>
<span class="dv">2</span> crew adult male no <span class="dv">1</span>
## grouping, aggregation
df <span class="op">%>%</span><span class="st"> </span><span class="kw">group_by</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">summarize</span>(<span class="dt">count =</span> <span class="kw">n</span>(<span class="kw">expr</span>(<span class="st">'survived'</span>))) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">arrange</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()
class age count
<span class="dv">1</span> crew adult <span class="dv">885</span>
<span class="dv">2</span> first adult <span class="dv">319</span>
<span class="dv">3</span> first child <span class="dv">6</span>
<span class="dv">4</span> second adult <span class="dv">261</span>
<span class="dv">5</span> second child <span class="dv">24</span>
<span class="dv">6</span> third adult <span class="dv">627</span>
<span class="dv">7</span> third child <span class="dv">79</span>
tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">group_by</span>(class, age) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">summarise</span>(<span class="dt">count =</span> <span class="kw">n</span>())</code></pre></div>
</div>
<div id="intro-to-data-manipulation---join" class="slide section level1">
<h1>Intro to data manipulation - <em>join</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">rdf <-<span class="st"> </span><span class="kw">data.frame</span>(<span class="dt">age =</span> <span class="kw">c</span>(<span class="st">'adult'</span>, <span class="st">'child'</span>), <span class="dt">lvl =</span> <span class="kw">c</span>(<span class="st">'0'</span>, <span class="st">'1'</span>), <span class="dt">stringsAsFactors =</span> <span class="ot">FALSE</span>)
rDF <-<span class="st"> </span><span class="kw">as.DataFrame</span>(rdf)
df <span class="op">%>%</span><span class="st"> </span><span class="kw">join</span>(rDF, df<span class="op">$</span>age <span class="op">==</span><span class="st"> </span>rDF<span class="op">$</span>age, <span class="st">'inner'</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">group_by</span>(<span class="st">'class'</span>, <span class="st">'lvl'</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">summarize</span>(<span class="dt">count =</span> <span class="kw">n</span>(<span class="kw">expr</span>(<span class="st">'survived'</span>))) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">arrange</span>(<span class="st">'class'</span>, <span class="st">'lvl'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()
class lvl count
<span class="dv">1</span> crew <span class="dv">0</span> <span class="dv">885</span>
<span class="dv">2</span> first <span class="dv">0</span> <span class="dv">319</span>
<span class="dv">3</span> first <span class="dv">1</span> <span class="dv">6</span>
<span class="dv">4</span> second <span class="dv">0</span> <span class="dv">261</span>
<span class="dv">5</span> second <span class="dv">1</span> <span class="dv">24</span>
<span class="dv">6</span> third <span class="dv">0</span> <span class="dv">627</span>
<span class="dv">7</span> third <span class="dv">1</span> <span class="dv">79</span>
tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">inner_join</span>(rdf, <span class="dt">by =</span> <span class="st">'age'</span>) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">group_by</span>(class, lvl) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">summarise</span>(<span class="dt">count =</span> <span class="kw">n</span>())</code></pre></div>
<ul>
<li><em>joinType</em>
<ul>
<li>default - inner</li>
<li>inner, cross, outer, full, full_outer, left, left_outer, right, right_outer, left_semi, or left_anti</li>
</ul></li>
</ul>
</div>
<div id="data-manipulation-case-study---intro" class="slide section level1">
<h1>Data manipulation case study - <em>intro</em></h1>
<p style="text-align:center;">
<img src="data:image/png;base64,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" height="450" width="700" align="middle" />
</p>
<ul>
<li>want to obtain <em>count</em> and <em>prop</em> by <em>class</em> and <em>age</em></li>
<li>5 ways to achieve the same output</li>
</ul>
</div>
<div id="data-manipulation-case-study---multiple-transformations" class="slide section level1">
<h1>Data manipulation case study - <em>multiple transformations</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">tmp <-<span class="st"> </span>df <span class="op">%>%</span><span class="st"> </span><span class="kw">group_by</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">summarize</span>(<span class="dt">count =</span> <span class="kw">n</span>(<span class="kw">expr</span>(<span class="st">'survived'</span>)))
tmp <span class="op">%>%</span><span class="st"> </span><span class="kw">mutate</span>(<span class="dt">prop =</span> <span class="kw">expr</span>(<span class="st">'count'</span>) <span class="op">/</span><span class="st"> </span>rec) <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">arrange</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()
tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">group_by</span>(class, age) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">summarise</span>(<span class="dt">count =</span> <span class="kw">n</span>()) <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">mutate</span>(<span class="dt">prop =</span> count <span class="op">/</span><span class="st"> </span>rec)</code></pre></div>
<ul>
<li>unlike <em>dplyr</em>, not possible to refer to a column that’s created in a chain
<ul>
<li>temporary DF is created</li>
</ul></li>
<li><a href="https://spark.apache.org/docs/latest/rdd-programming-guide.html#transformations">transformations</a> vs <a href="https://spark.apache.org/docs/latest/rdd-programming-guide.html#actions">actions</a></li>
</ul>
</div>
<div id="data-manipulation-case-study---dapply" class="slide section level1">
<h1>Data manipulation case study - <em>dapply</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## dapply, dapplyCollect
schema <-<span class="st"> </span><span class="kw">structType</span>(
<span class="kw">structField</span>(<span class="st">'class'</span>, <span class="st">'string'</span>),
<span class="kw">structField</span>(<span class="st">'age'</span>, <span class="st">'string'</span>),
<span class="kw">structField</span>(<span class="st">'count'</span>, <span class="st">'double'</span>), <span class="co"># not integer</span>
<span class="kw">structField</span>(<span class="st">'prop'</span>, <span class="st">'double'</span>)
)
fn <-<span class="st"> </span><span class="cf">function</span>(x) {
<span class="kw">cbind</span>(x, x<span class="op">$</span>count <span class="op">/</span><span class="st"> </span>rec) <span class="co"># expr() not working</span>
}
<span class="co"># may take more time but no temporary DF</span>
df <span class="op">%>%</span><span class="st"> </span><span class="kw">group_by</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">summarize</span>(<span class="dt">count =</span> <span class="kw">n</span>(<span class="kw">expr</span>(<span class="st">'survived'</span>))) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">dapply</span>(fn, schema) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">arrange</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()</code></pre></div>
<ul>
<li><code>dapply()</code> - apply a function to each partition of a <em>SparkDataFrame</em></li>
<li>note <code>expr()</code>/<em>string</em> don’t work in the function</li>
<li>will be more efficient if applied to a grouped data</li>
</ul>
</div>
<div id="data-manipulation-case-study---gapply" class="slide section level1">
<h1>Data manipulation case study - <em>gapply</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## gapply, gapplyCollect
schema <-<span class="st"> </span><span class="kw">structType</span>(
<span class="kw">structField</span>(<span class="st">'class'</span>, <span class="st">'string'</span>),
<span class="kw">structField</span>(<span class="st">'age'</span>, <span class="st">'string'</span>),
<span class="kw">structField</span>(<span class="st">'count'</span>, <span class="st">'integer'</span>),
<span class="kw">structField</span>(<span class="st">'prop'</span>, <span class="st">'double'</span>)
)
fn <-<span class="st"> </span><span class="cf">function</span>(key, x) {
<span class="kw">data.frame</span>(key, <span class="kw">nrow</span>(x), <span class="kw">nrow</span>(x)<span class="op">/</span>rec, <span class="dt">stringsAsFactors =</span> <span class="ot">FALSE</span>)
}
df <span class="op">%>%</span><span class="st"> </span><span class="kw">gapply</span>(<span class="dt">cols =</span> <span class="kw">c</span>(<span class="st">'class'</span>, <span class="st">'age'</span>), <span class="dt">func =</span> fn, <span class="dt">schema =</span> schema) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">arrange</span>(<span class="st">'class'</span>, <span class="st">'age'</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()</code></pre></div>
<ul>
<li><code>gapply()</code> - apply a function to each partition of a grouped <em>SparkDataFrame</em></li>
<li>note <code>nrow()</code> is not base R function</li>
</ul>
</div>
<div id="data-manipulation-case-study---sql" class="slide section level1">
<h1>Data manipulation case study - <em>sql</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## sql queries
<span class="kw">createOrReplaceTempView</span>(df, <span class="st">'titanic_tbl'</span>)
<span class="st">`</span><span class="dt">%++%</span><span class="st">`</span> <-<span class="st"> </span><span class="cf">function</span>(a, b) <span class="kw">paste</span>(a, b)
qry <-<span class="st"> '</span>
<span class="st"> SELECT class, age, count(*) as count, count(*) /'</span> <span class="op">%++%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">format</span>(<span class="kw">round</span>(rec, <span class="dv">1</span>), <span class="dt">nsmall =</span> <span class="dv">1</span>) <span class="op">%++%</span><span class="st"> 'as prop'</span> <span class="op">%++%</span>
<span class="st"> 'FROM titanic_tbl'</span> <span class="op">%++%</span>
<span class="st"> 'group by class, age'</span> <span class="op">%++%</span>
<span class="st"> 'order by class, age'</span>
<span class="kw">sql</span>(qry) <span class="op">%>%</span><span class="st"> </span><span class="kw">collect</span>()</code></pre></div>
<ul>
<li>SQL can be applied after creating/replacing a temporary view</li>
<li><a href="https://databricks.com/blog/2015/07/15/introducing-window-functions-in-spark-sql.html">window functions</a> introduced in Spark 2</li>
<li>do we need <a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual">HiveQL</a>?</li>
</ul>
</div>
<div id="data-manipulation-case-study---spark.lapply" class="slide section level1">
<h1>Data manipulation case study - <em>spark.lapply</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## spark.lapply
discnt <-<span class="st"> </span>tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">distinct</span>(class, age)
lst <-<span class="st"> </span><span class="kw">lapply</span>(<span class="dv">1</span><span class="op">:</span><span class="kw">nrow</span>(discnt), <span class="cf">function</span>(i) {
cls <-<span class="st"> </span>discnt[i, <span class="dv">1</span>] <span class="op">%>%</span><span class="st"> </span><span class="kw">unlist</span>()
ag <-<span class="st"> </span>discnt[i, <span class="dv">2</span>] <span class="op">%>%</span><span class="st"> </span><span class="kw">unlist</span>()
<span class="kw">list</span>(<span class="dt">dat =</span> tdf <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">filter</span>(class <span class="op">==</span><span class="st"> </span>cls <span class="op">&</span><span class="st"> </span>age <span class="op">==</span><span class="st"> </span>ag),
<span class="dt">rec =</span> rec)
})
fn <-<span class="st"> </span><span class="cf">function</span>(elem) {
<span class="kw">library</span>(magrittr)
elem<span class="op">$</span>dat <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">group_by</span>(class, age) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">summarise</span>(<span class="dt">count =</span> <span class="kw">n</span>(), <span class="dt">prop =</span> count <span class="op">/</span><span class="st"> </span>elem<span class="op">$</span>rec)
}
<span class="kw">spark.lapply</span>(lst, fn) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">bind_rows</span>() <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">arrange</span>(class, age)</code></pre></div>
<ul>
<li>run non-SparkR functions over a list of elements and distributes the computations with Spark</li>
<li>limitation - results of all the computations should fit in a single machine</li>
</ul>
</div>
<div id="machine-learning---session-initialization" class="slide section level1">
<h1>Machine Learning - <em>session initialization</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="kw">Sys.setenv</span>(<span class="st">'JAVA_HOME'</span>=<span class="st">'/usr/lib/jvm/java-8-openjdk-amd64'</span>)
<span class="kw">Sys.setenv</span>(<span class="st">'HADOOP_HOME'</span>=<span class="st">'/usr/local/hadoop-2.8.2'</span>)
<span class="kw">Sys.setenv</span>(<span class="st">'SPARK_HOME'</span>=<span class="st">'/usr/local/spark-2.2.1'</span>)
<span class="kw">library</span>(ggplot2)
<span class="kw">library</span>(magrittr)
<span class="kw">library</span>(tibble)
<span class="kw">library</span>(dplyr)
<span class="kw">library</span>(SparkR, <span class="dt">lib.loc=</span><span class="kw">file.path</span>(<span class="kw">Sys.getenv</span>(<span class="st">'SPARK_HOME'</span>),<span class="st">'R'</span>, <span class="st">'lib'</span>))
<span class="kw">source</span>(<span class="st">'utils.R'</span>)
seed <-<span class="st"> </span><span class="dv">1237</span>
ext_opts <-<span class="st"> '-Dhttp.proxyHost=10.74.1.25 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=10.74.1.25 -Dhttps.proxyPort=8080'</span>
<span class="kw">sparkR.session</span>(<span class="dt">master =</span> <span class="st">"spark://master:7077"</span>,
<span class="dt">appName =</span> <span class="st">'ml demo'</span>,
<span class="dt">sparkConfig =</span> <span class="kw">list</span>(<span class="dt">spark.driver.memory =</span> <span class="st">'2g'</span>),
<span class="dt">sparkPackages =</span> <span class="st">'org.apache.hadoop:hadoop-aws:2.8.2'</span>,
<span class="dt">spark.driver.extraJavaOptions =</span> ext_opts)</code></pre></div>
<ul>
<li>data from S3 using <em>org.apache.hadoop:hadoop-aws:2.8.2</em> package</li>
<li>behind proxy - specify <em>proxy host</em> and <em>port</em></li>
<li><a href="https://issues.apache.org/jira/browse/SPARK-23632">SPARK-23632</a> - <em>JVM is not ready after 10 seconds</em>
<ul>
<li><code>sparkR.session()</code> terminates before the package/dependencies downloaded</li>
<li>re-execute <code>sparkR.session()</code> after downloading completes</li>
</ul></li>
</ul>
</div>
<div id="machine-learning---load-data-from-s3" class="slide section level1">
<h1>Machine Learning - <em>load data from S3</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">dat <-<span class="st"> </span><span class="kw">read.df</span>(<span class="st">'s3n://sparkr-demo/public-data/flight_2007.csv'</span>,
<span class="dt">header =</span> <span class="st">'true'</span>, <span class="dt">source =</span> <span class="st">'csv'</span>, <span class="dt">inferSchema =</span> <span class="st">'true'</span>)
date dep_time arr_time unique_carrier air_time arr_delay dep_delay origin dest distance cancelled
<span class="dv">1</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">1232</span> <span class="dv">1341</span> WN <span class="dv">54</span> <span class="dv">1</span> <span class="dv">7</span> SMF ONT <span class="dv">389</span> <span class="dv">0</span>
<span class="dv">2</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">1918</span> <span class="dv">2043</span> WN <span class="dv">74</span> <span class="dv">8</span> <span class="dv">13</span> SMF PDX <span class="dv">479</span> <span class="dv">0</span>
<span class="dv">3</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">2206</span> <span class="dv">2334</span> WN <span class="dv">73</span> <span class="dv">34</span> <span class="dv">36</span> SMF PDX <span class="dv">479</span> <span class="dv">0</span>
<span class="dv">4</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">1230</span> <span class="dv">1356</span> WN <span class="dv">75</span> <span class="dv">26</span> <span class="dv">30</span> SMF PDX <span class="dv">479</span> <span class="dv">0</span>
<span class="dv">5</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">831</span> <span class="dv">957</span> WN <span class="dv">74</span> <span class="op">-</span><span class="dv">3</span> <span class="dv">1</span> SMF PDX <span class="dv">479</span> <span class="dv">0</span>
<span class="dv">6</span> <span class="dv">2007</span><span class="op">/</span><span class="dv">1</span><span class="op">/</span><span class="dv">1</span> <span class="dv">1430</span> <span class="dv">1553</span> WN <span class="dv">74</span> <span class="dv">3</span> <span class="dv">10</span> SMF PDX <span class="dv">479</span> <span class="dv">0</span></code></pre></div>
<p>Flight data for 2007, originally from <a href="https://www.transtats.bts.gov/OT_Delay/OT_DelayCause1.asp">RITA</a> - 7,453,215 records in total.</p>
<style>
.column-left{
float: left;
width: 50%;
text-align: left;
}
.column-right{
float: right;
width: 50%;
text-align: left;
}
</style>
<div class="column-left">
<ul>
<li><strong>date</strong> date (yyyy/mm/dd)<br />
</li>
<li><strong>dep_time</strong> actual departure time (local, hhmm)</li>
<li><strong>arr_time</strong> actual arrival time (local, hhmm)</li>
<li><strong>unique_carrier</strong> <a href="http://stat-computing.org/dataexpo/2009/supplemental-data.html">unique carrier code</a></li>
<li><strong>air_time</strong> in minutes</li>
<li><strong>arr_delay</strong> arrival delay, in minutes</li>
</ul>
</div>
<div class="column-right">
<ul>
<li><strong>dep_delay</strong> departure delay, in minutes</li>
<li><strong>origin</strong> origin <a href="http://stat-computing.org/dataexpo/2009/supplemental-data.html">IATA airport code</a></li>
<li><strong>dest</strong> destination <a href="http://stat-computing.org/dataexpo/2009/supplemental-data.html">IATA airport code</a></li>
<li><strong>distance</strong> in miles</li>
<li><strong>cancelled</strong> was the flight cancelled?</li>
</ul>
<p>source <a href="http://stat-computing.org/dataexpo/2009/the-data.html">Data expo ’09</a></p>
</div>
</div>
<div id="machine-learning---data-exploration" class="slide section level1">
<h1>Machine Learning - <em>data exploration</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">dat_s <-<span class="st"> </span><span class="kw">randomSplit</span>(dat, <span class="dt">weights =</span> <span class="kw">c</span>(<span class="fl">0.1</span>, <span class="fl">0.9</span>), seed)[[<span class="dv">1</span>]] <span class="op">%>%</span>
<span class="st"> </span><span class="kw">collect</span>() <span class="op">%>%</span><span class="st"> </span><span class="kw">as.tibble</span>()</code></pre></div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">dat_s <-<span class="st"> </span>dat_s <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">filter</span>(<span class="op">!</span><span class="kw">is.na</span>(arr_delay) <span class="op">&</span><span class="st"> </span><span class="op">!</span><span class="kw">is.na</span>(dep_delay)) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">mutate</span>(
<span class="dt">month =</span> <span class="kw">as.integer</span>(<span class="kw">format</span>(<span class="kw">as.Date</span>(date, <span class="kw">format</span>(<span class="st">'%Y/%m/%d'</span>)), <span class="st">'%m'</span>)),
<span class="dt">weekday =</span> <span class="kw">weekdays</span>(<span class="kw">as.Date</span>(date, <span class="kw">format</span>(<span class="st">'%Y/%m/%d'</span>)), <span class="ot">TRUE</span>),
<span class="dt">weekday =</span> <span class="kw">factor</span>(weekday, <span class="dt">levels =</span> <span class="kw">c</span>(<span class="st">'Mon'</span>, <span class="st">'Tue'</span>, <span class="st">'Wed'</span>, <span class="st">'Thu'</span>, <span class="st">'Fri'</span>, <span class="st">'Sat'</span>, <span class="st">'Sun'</span>)),
<span class="dt">is_weekend =</span> <span class="kw">case_when</span>(
weekday <span class="op">%in%</span><span class="st"> </span><span class="kw">c</span>(<span class="st">'Fri'</span>, <span class="st">'Sat'</span>, <span class="st">'Sun'</span>) <span class="op">~</span><span class="st"> </span><span class="dv">1</span>,
<span class="ot">TRUE</span> <span class="op">~</span><span class="st"> </span><span class="dv">0</span>),
<span class="dt">dep_hour =</span> <span class="kw">floor</span>(dep_time<span class="op">/</span><span class="dv">100</span>),
<span class="dt">arr_hour =</span> <span class="kw">floor</span>(arr_time<span class="op">/</span><span class="dv">100</span>),
<span class="dt">is_delay =</span> <span class="kw">if_else</span>(arr_delay <span class="op">></span><span class="st"> </span><span class="dv">15</span>, <span class="st">'yes'</span>, <span class="st">'no'</span>)
) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">filter</span>(cancelled <span class="op">==</span><span class="st"> </span><span class="dv">0</span>) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">select</span>(<span class="op">-</span>date, <span class="op">-</span>cancelled, <span class="op">-</span>dep_time, <span class="op">-</span>arr_time)</code></pre></div>
<ul>
<li>10% of data is taken randomly using <code>randomSplit()</code> for exploratory analysis - 727,530 records</li>
<li>filter out if <em>arr_delay</em> or <em>dep_delay</em> is <em>NA</em></li>
<li><em>month</em>, <em>weekday</em>, <em>is_weekend</em>, <em>dep_hour</em>, <em>arr_hour</em> and <em>is_delay</em> are created</li>
<li>take only if not cancelled (<em>cancelled == 0</em>)</li>
</ul>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">dat_s <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(<span class="op">-</span>unique_carrier, <span class="op">-</span>origin, <span class="op">-</span>dest) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
<span class="co"># A tibble: 727,530 x 13</span>
unique_carrier air_time arr_delay dep_delay origin dest distance month weekday is_weekend dep_hour arr_hour is_delay
<span class="op"><</span>chr<span class="op">></span><span class="st"> </span><span class="er"><</span>int<span class="op">></span><span class="st"> </span><span class="er"><</span>int<span class="op">></span><span class="st"> </span><span class="er"><</span>int<span class="op">></span><span class="st"> </span><span class="er"><</span>chr<span class="op">></span><span class="st"> </span><span class="er"><</span>chr<span class="op">></span><span class="st"> </span><span class="er"><</span>int<span class="op">></span><span class="st"> </span><span class="er"><</span>int<span class="op">></span><span class="st"> </span><span class="er"><</span>fct<span class="op">></span><span class="st"> </span><span class="er"><</span>dbl<span class="op">></span><span class="st"> </span><span class="er"><</span>dbl<span class="op">></span><span class="st"> </span><span class="er"><</span>dbl<span class="op">></span><span class="st"> </span><span class="er"><</span>chr<span class="op">></span><span class="st"> </span>
<span class="st"> </span><span class="dv">1</span> CO <span class="dv">232</span> <span class="op">-</span><span class="st"> </span><span class="dv">2</span> <span class="dv">6</span> PHX EWR <span class="dv">2133</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">6.00</span> no
<span class="dv">2</span> YV <span class="dv">80</span> <span class="dv">16</span> <span class="dv">8</span> LAS ELP <span class="dv">584</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">2.00</span> yes
<span class="dv">3</span> US <span class="dv">59</span> <span class="dv">16</span> <span class="dv">8</span> LAS SFO <span class="dv">414</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">1.00</span> yes
<span class="dv">4</span> B6 <span class="dv">75</span> <span class="dv">137</span> <span class="dv">153</span> JFK CMH <span class="dv">483</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">2.00</span> yes
<span class="dv">5</span> US <span class="dv">67</span> <span class="dv">31</span> <span class="dv">19</span> LAS ABQ <span class="dv">487</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">2.00</span> yes
<span class="dv">6</span> WN <span class="dv">115</span> <span class="dv">189</span> <span class="dv">207</span> FLL BWI <span class="dv">925</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">2.00</span> yes
<span class="dv">7</span> YV <span class="dv">64</span> <span class="dv">39</span> <span class="dv">26</span> LAS SLC <span class="dv">368</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">2.00</span> yes
<span class="dv">8</span> UA <span class="dv">199</span> <span class="dv">44</span> <span class="dv">21</span> SEA ORD <span class="dv">1721</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">6.00</span> yes
<span class="dv">9</span> US <span class="dv">60</span> <span class="dv">22</span> <span class="dv">21</span> LAS OAK <span class="dv">407</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">1.00</span> yes
<span class="dv">10</span> AA <span class="dv">165</span> <span class="dv">200</span> <span class="dv">204</span> LGA MIA <span class="dv">1097</span> <span class="dv">1</span> Mon <span class="dv">0</span> <span class="dv">0</span> <span class="fl">3.00</span> yes
<span class="co"># ... with 727,520 more rows</span></code></pre></div>
</div>
<div id="machine-learning---data-exploration-ctd" class="slide section level1">
<h1>Machine Learning - <em>data exploration ctd</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># use as is</span>
<span class="kw">get_multiplot</span>(<span class="st">'weekday'</span>)</code></pre></div>
<p><img src="data:image/png;base64,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AAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQyUl0AAAAAAMCOu+CeV1NdQjP26BVHRnp9ATQAAJB6fm7cGVH/3AgAsMNswQEAAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEIiPVBWyTRYsWPf300x9++OHnn39eUFBw2GGHnXvuuR07dqw3bdWqVZMnT16wYEFJSUlhYWHv3r0HDRpUUFDQFKYB0BS0GTWy8RetDCGEkBFCm0ZfuvT6nzT6mgAAAPD/NYMA+tFHH33iiSfi8Xh2dnZRUdHnn3/+97//fdasWT/72c969OhRN23p0qU333xzRUVFCCE/P3/16tXTp0+fM2fOqFGj9thjj9ROAwAAAADYDTX1LTjmz5//+OOPZ2VlXXPNNY8//vi4ceMmTpzYr1+/ioqKsWPHxuPxxLR4PD527NiKiorevXtPmDDhkUceGT9+fLdu3YqLi8eNG1d3tZRMAwAAAADYPTX1AHry5MkhhO9973vf+MY3YrFYCKFNmzZXX331AQccsHz58jfffDMxbfHixUuWLCkqKrrxxhsLCwtDCB07dhwxYkRmZua8efPWrFmTwmkAAAAAALunJh1A19TUfPjhhyGEo446Knk8LS3tuOOOCyH861//Soy88MILIYRjjz02Kyurblp+fv7hhx8ej8dnzpyZwmkAAAAAALunJr0HdHV1dVVVVQghLa1+UJ6ZmRlCqLvL+JNPPgkh9OrVq960Qw89dO7cuStWrEjhtHreeOONzZs31xvs1KlTfn7+VufTqlWrVJfQhOhGMt1IphvJdKOOViTTDQAAgMbXpAPo7OzsPffc89NPP33rrbeOP/74uvF4PP7qq6+GpAB63bp1IYQtM9zESOJoqqbVc91115WUlNQbvO22284888ytzq+nclsmtSwNRPO6kUw3kulGMt1Itrt1QyuSbeP/9dbW1kZdCQAAwO6jSW/BEUI46aSTQgjjxo174403Eo8cLCsru//+++fPnx9C2LhxY2JaIu1t06ZNvdPbtm0btoiMG3kaAAAAAMDuqUnfAR1COOOMMxYuXPjaa6/dfvvtubm5rVu3XrNmTVpaWr9+/WbMmJF49F+dxFMKkyUy63pbXqRkWp3TTjtt06ZN9Qb33XffLQe3qv5iu4EGOqMbyXQjmW4k041ku1s3tCLZNn6pjcfjOTk5URcDAACwm2jqAXRaWtqtt9760ksvzZgxY/ny5TU1NUceeeQZZ5yxbt26GTNmtGvXLjGtqKho5cqVpaWl9U4vKysLIaR2Wj3XXHPNloNlZWWJs75U/dutdwMNdEY3kulGMt1IphvJdrduaEWybfxSG0IQQAMAAOwqTT2ADiHEYrF+/fr169cveXDKlClhiyx4y72VEyOpnQYAAI1p1apVkydPXrBgQUlJSWFhYe/evQcNGlRQULAt586fP3/atGkrVqzYsGFDp06devTo8Z3vfKdjx45R1wwAQEvV1APoVatWbdq0qUOHDrm5ucnj8+bNCyH07Nkz8ce99trrnXfeWbhw4RFHHJE8beHChSGEPffcM4XTAACg0SxduvTmm2+uqKgIIeTn569evXr69Olz5swZNWrUHnvs0fC548ePnzp1agghNze3sLBwxYoVy5cvnzlz5siRIw866KDGqB6aswvueTXVJTRjj15xZKpLACAqTf0hhNOmTRs2bNikSZOSBz/66KO33347MzPzyCP/+yVqwIABIYTZs2fX1NTUTausrJw/f34sFuvfv38KpwEAQOOIx+Njx46tqKjo3bv3hAkTHnnkkfHjx3fr1q24uHjcuHENn/uf//xn6tSpWVlZt9xyy6RJk+6///6JEyced9xx1dXVd9111xc94AQAABrW1APovn37xmKxadOmvfzyy/F4PB6PL1q06Cc/+UkI4ayzzmrT5r87WPbs2bNLly6fffbZvffeW1tbG0Korq6+8847y8vL+/TpU/c7gymZBgAAjWPx4sVLliwpKiq68cYbE8/r7tix44gRIzIzM+fNm7dmzZoGzn3hhRdCCGecccZRRx2VeM5269atr7766tatW69evfrjjz9unLcAAEAL09S34OjWrdv555//6KOP3nnnnW3bto3H44mH/h155JHnnXde3bRYLDZs2LCbb775+eeff/nll/fdd99ly5ZVVlYWFhZeeumlqZ0GAACNIxEiH3vssVlZWXWD+fn5hx9++Ny5c2fOnDlw4MAvOvejjz4KIRxyyCHJg1lZWXvvvfeiRYs++eST/fffP7LCAQBosZp6AB1C+M53vtOlS5ennnrqo48+2rx5c48ePf7P//k/J5xwQuK+jDpdu3YdM2bMpEmT3nzzzcWLFxcWFvbv33/QoEH5+fkpnwYAAI3gk08+CSH06tWr3vihhx46d+7cFStWNHDuxRdfXF1d3aNHj+TBmpqa1atXhxD8eh8AADumGQTQIYQjjjii3oP+tqpTp07Dhw9vmtMAACBq69atCyFseTNEYiRx9Isk3/u8efPmjRs3rlixYsqUKevXrz/kkEO6d+++1bMuv/zyjRs31hv83ve+d/zxx+9A/eywgoKCVJew49LS/rszZF5eXjweT20xpEqz/hhu+rQ3as26w3WfhHNzc3NyclJbDKkS9cdw8wigAQCAL5WImOselFKnbdu24csC6GQ/+tGPEjtyhBBOPPHEoUOH1vvtwzqLFi0qKSmpN1hSUpKR4QeNRtUyGp6enp7qEkiZlvEx3GRpb9RaRod9Et6dRf0x3BL+hQAAAHW2DIsTd5Vu3rx5G6/QvXv3jh07/s///M/KlStnzZrVuXPnU089dRdXCQDA7kEADQAALURRUdHKlSsTT+1OVlZWFkJo167dNl7nhz/8Yd3rMWPG3HfffUVFRUcfffSWM5955pkt90yora1du3btdtTNTmvWDW/dunV2dnYIoaSkpLq6OtXlkBrN+mO46dPeqDXrDufk5OTm5oYQysrKKisrU10OqbEDH8Pb/o1lEEADAECLkQigt7onRmjw54SSkpI33ngjNze3T58+9Q4dccQRL7744gsvvLDVAHrL7T5CCGVlZdt+tzW7RMvYOjkej7eMN8IO8FcfKe2NWsvo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71TXAgAAsCME0AAAAAAAREIADQAAAABAJDJSXQAAAFv39a9/ff369SGE9PT0VNcCAACwI9wBDQDQRGVkZOyzzz6FhYV33313vUMbNmwYOXJk3759995779zc3IMOOmjgwIGzZ8/eJevG4/HJkyefdNJJHTt2zMrK6ty582WXXfb+++83cEppaemvfvWro446qqioKC8vr1evXpdffnnDp2y56KxZs84999xDDjmkoKAgLy/vK1/5yre+9a1nnnmmpqYmMecf//hHYlPsyZMnb/UiX/va12Kx2Fe+8pV4PL7tSwMAANFxBzQAQDMze/bs0047LXFzdMK777777rvvPvnkk9ddd92oUaN25uJlZWUDBw58/vnn60aWL18+bty4Rx55ZNKkSVs9Zf78+aeffvqnn35aN/L222+//fbb999//y9/+csbbrghFos1vGhVVdV555339NNPJw++995777333rRp004++eSpU6dmZGT07du3Xbt2a9eufeqpp84777x6F1m8ePEbb7wRQhg8ePCXrggAADQOATQAQHOyatWqs88+e/369dnZ2UOGDDn22GNzc3PffffdsWPHfvbZZ7/5zW/69et38skn79jF4/H4BRdckEifCwsLzz///COOOOLTTz/929/+NmvWrEGDBtXdjFxnyZIl/fr1Ky0tDSEMHDiwf//+BQUFc+fOHTduXHl5+U033ZSWlnb99dc3vO5dd92VSJ+7du162WWXdevWLYTw/vvvP/DAA0uWLJk+ffrYsWOHDx+ekZFxxhlnPPjgg3/7298qKipycnKSL/L4448nXpx//vk79vYBAIBdTgANANCcTJ8+fdWqVSGEv/zlL6eeempi8Mwzzxw4cOBBBx20efPmJ598cocD6KlTp06dOjWEcOCBBz777LNdunRJjN9www233HLLr3/96y1Pufzyy0tLS9PS0p544olzzjknMXjeeeddccUVp5xyytKlS2+//fZBgwbts88+Daw7ZcqUEEL37t3nzZuXn59fN37FFVf06tXr448/njlz5vDhw0MI55xzzoMPPrhx48YXX3zxW9/6VvJFEvtyHHPMMfvvv/+OvX0AAGCXswc0AEBzkthlolWrVvVS5h49elxxxRVnnHFGu3btdvji99xzT+LFww8/XJc+hxDS0tJ++ctffu1rX6s3/5133nnxxRdDCMOGDatLnxN69uw5bty4EEJ5efn999/fwKJVVVXLli3Lz8+/9NJLk9PnEEJBQUG/fv1CCEuWLEmMDBgwIDGn3n4d77zzzsKFC0MIF1xwwba/XwAAIGrugAYAaE4S+XJ1dfWf//zn73znO8mHxowZs5MXT6TbJ5xwwhFHHFHvUCwWu/766+vtvPzss88mXlxzzTVbXq1fv34HHXTQwoULG346YmZmZuKe7q3asGFDvcnf+ta3Jk6c+Mwzz2zevDkj47/fzSZuf87IyDj33HMbWAsAAGhk7oAGAGhOzjzzzETqet555x122GG///3vP/jgg3g8vvNX3rBhw+rVq0MIffr02eqELcfnzZsXQthrr73222+/rZ7Sq1evEMI777yzXZVUVla+9957Dz/88KBBgxK7cyRL3Gq9bt26WbNmJUbi8XgigD7ppJPat2+/XWsBAACRcgc0AEBzcuihhz788MM/+MEPiouL33zzzWHDhoUQ9thjjwEDBpxzzjmnnHJKVlbWjl35gw8+SLxI3nwj2b777puenp78HMLEncsrV66MxWINXDnxiMKGffbZZ4899tgLL7zw/vvvL1++vLa29otmnnjiia1bt964ceNTTz31zW9+M4Tw+uuvJ/bosP8GAAA0Ne6ABgBoZi644IJFixaNGjXq61//elpaWghh1apVjz766Nlnn33ooYe+9tprO3bZ5GR5q2KxWHp6evLIxo0bt+XK5eXlDV/8kUce6dat27XXXvvcc88tW7asoKDg2GOPHTJkyLhx47bcUiMnJyfx9MWnn346kVMnbn/Oy8s7/fTTt6UeAACg0QigAQCanw4dOlx33XWzZs1au3btX//61+uuu26PPfYIIbz//vtnnnnm+vXrd+CaRUVFiRfLli3b6oSVK1dWVVUljySeB3jYYYfFv0y95DrZa6+9dvHFF2/cuHHffff9wx/+sHTp0jVr1rz88ssPPPDAJZdcUlhYuOUpiV04Pvnkk/nz59fW1j7++OMhhLPOOis3N3cH3jgAABAdATQAQLMRj8eLi4uLi4vLy8sTIwUFBaeccsqoUaM+/vjjW265JYTw6aef/vOf/9yBi++///55eXnh/+3svKUFCxbUG+nRo0cI4d133928efMOrJhw3333xePxVq1a/etf/7ryyiv333//5A09iouLtzzllFNOyc7ODiE8/fTTs2fPXrFiRbD/BgAANEkCaACA5qRnz56FhYVnnnlmvfFWrVpddNFFiddr1qzZgSunp6cntlR+7rnnXn/99XpH4/H4qFGj6g32798/hFBZWfmXv/xlywuWlZUdeuihnTt3vuOOOxpYd+nSpSGE7t27d+7cud6h6urqmTNnbnlKXl7eiSeeGEJ46qmnJk2aFELo2LFjohgAAKBJEUADANwIo1sAACAASURBVDQbsVjs8MMPDyHMnDnz7bffrne0LgXu06fPjl3/iiuuSLz47ne/++GHH9aNx+PxO+644+WXX643/6yzzurUqVMI4eqrr37vvfeSD9XW1l5zzTX//ve/ly9f3vDWzPvvv38IYfny5SUlJcnjNTU1Q4cOTTzncOPGjfF4PPnowIEDQwiLFi16+OGHQwiDBg3KyPB4bQAAaHJ8mw4A0JxcdNFFzz33XHV1db9+/a688srDDjssJydn5cqVzz777NNPPx1COOqoow466KAdu/hJJ5109tlnP/XUU++8807v3r0vvPDC3r17r169+m9/+9sLL7yQlZXVpUuX//znP3Xzs7Ky7rvvvjPOOGP16tW9evW67LLL+vTp06FDhw8//HDChAmvvvpqCOGHP/zhwQcf3MCiAwYMeOihhzZu3HjiiSfeeOONXbt2Xb9+/VtvvTV27NjFixe3bt1648aNH3744Y9//OPTTz+9Lls/7bTTWrVqVV1dndiNxP4bAADQNAmgAQCak0GDBs2aNeuee+5Zs2bNyJEj6x09+OCDn3nmmQae+NewWCz2pz/9aePGjc8///zatWtHjx5ddyg7O3vixIl//vOfkwPoEMLpp58+YcKEyy67rLKy8g9/+MMf/vCH5KPf//7377rrri99R1OmTPnzn/88d+7cs846K/nQFVdcMWTIkGOOOaa6uvoXv/jFO++8M2XKlMShgoKCAQMGTJ8+PYTQvXv33r1779hbBgAAIiWABgBoZv74xz8OHjx49OjR77333scff1xdXb3ffvt17dr1u9/97plnnrnD6XNC69atp0+fPnny5AkTJrzxxhvFxcUdOnQYMGDADTfccNBBB5WVlXXq1Onoo49OPuWiiy76xje+MWbMmOeee2758uUhhG7duvXq1evaa6/t1avXl64Yi8UmT5581lln3XfffYsXL167du1ee+3Vr1+/yy+/PBErv/jii3fffXd1dfWpp56afOI555yTCKAvuOCC5OcWAgAATYcAGgCg6SorK9vq+DHHHHPMMcdEtGgsFhs0aNCgQYO2PHTxxRdffPHFW47vt99+v/nNb37zm980fOWMjIx6WzknpKWlfdGKIYTjjz/++OOP33K8bs/o888/v+F1AQCAVPEQQgAAmqUJEyaEEPr06dO9e/dU1wIAAGydABoAgOZnzpw5b731Vghh8ODBqa4FAAD4Qs1jC46amprp06fPmDFjxYoVicevn3vuuVs+3n3VqlWTJ09esGBBSUlJYWFh7969Bw0aVFBQ0BSmAQA0pmefffb999/frlOysrKGDRsWUT27SnFxcVpa2ocffnjllVeGEFq3bv1FG3cAAABNQTMIoKuqqn7605++/fbbIYQ2bdpUVlYuWLBgwYIFV1111Yknnlg3benSpTfffHNFRUUIIT8/f/Xq1dOnT58zZ86oUaP22GOP1E4DAGhkjz766OOPP75dp+Tn5zf9AHrixInJRV5zzTXt27dPYT0AAEDDmsEWHA899NDbb7/dqVOnu+66a+LEiZMnT/7+978fQrj//vtXrVqVmBOPx8eOHVtRUdG7d+8JEyY88sgj48eP79atW3Fx8bhx4+oulZJpAACNb/LkyfHtVFxcnOqqt8/QoUNHjBiR6ioAAICG7GwAPXr06NGjR3/ptJUrV44ePXrixInbe/3PP/98+vTpGRkZP//5z7t16xaLxdLS0k499dTjjjuuurp69uzZiWmLFy9esmRJUVHRjTfeWFhYGELo2LHjiBEjMjMz582bt2bNmhROAwBgVxk6dOjMmTMfeeSRhQsXjh8/Pj09PdUVAQAADdnZAHr48OHDhw//0mlr1qwZPnz4TTfdtL3Xf+WVV2pra4866qiOHTsmj1922WWjR48+9thjE3984YUXQgjHHntsVlZW3Zz8/PzDDz88Ho/PnDkzhdMAANhVcnJy+vbtO3jw4AMPPDDVtQAAAF+uMbbgqK2tnTVrVghh9erV23vuokWLQgh9+vSpN56fn9+lS5e6VPqTTz4JIfTq1avetEMPPTSEsGLFihROAwAAAADYPe3IQwi3fNJLw89+qaioKC8vDyHstdde27vW2rVrE9efOXPmyy+/vGjRolgs1rlz55NPPvmoo46qm7Zu3boQQn5+fr3TEyOJo6maVs/gwYNLS0vrDV511VX9+/ff6vx6Nm/LpJYlsb3JVulGMt1IphvJdCPZ7tYNrUjWQDeSxePxqCsBAADYfexIAJ0IhRse2arLL798x9aaMmXKa6+9FkJo165dSUnJggULFixYMGDAgGHDhsVisfD/0t42bdrUO71t27Zhi8i4kafVs3LlypKSknqD5eXl27iD4W6YFzTQGd1IphvJdCOZbiTb3bqhFcm28UttbW1t1JVA1FatWjV58uQFCxaUlJQUFhb27t170KBBBQUF23Luxx9/PHny5OXLl3/22Wft2rXr3LnzWWeddcABB0RdMwAALdWOBNC33npr3etf/OIX9Ua2vkxGRu/evU899dTtXWv9+vUhhNdee23gwIEDBw7Mzc2tra195ZVXxo4d++KLLx5yyCHf/OY36yYnwuhkiZuYNm/+Xz9lp2QaAAA0gqVLl958880VFRUhhPz8/NWrV0+fPn3OnDmjRo3aY489Gj53xowZY8eOrampSU9P79Chw9q1az/99NM5c+acc845F198caOUDwBAS7MjAfTPf/7zuteJADp5ZNdq3br1hg0b+vXrd9FFFyVG0tLSjjvuuHXr1j3wwAPPP/98IoAuKipauXLllltblJWVhRDatWuX+GNKptUzY8aMLQfLysrWrFmz9Rb8b/Vvt94NNNAZ3UimG8l0I5luJNvduqEVybbxS234sr3FoCmLx+Njx46tqKjo3bv3sGHDCgsLP//881/96lcffPDBuHHjbrvttgbOXbdu3f33319TU3P22WdfcMEFrVq1qqmp+fvf/37//fc/+eSTPXr0OProoxvtjQAA0GLsSACd7Pvf//4uqeOLtGvXbsOGDUceeWS98cMPP/yBBx5YunRpPB6PxWKJLHjLrS0SI/Ui40aeBgCwY2pqaiorK1NbQ25ubmoLYLssXrx4yZIlRUVFN954Y1ZWVgihY8eOI0aMGDp06Lx589asWdPA/6/84x//KC8vP+iggy6++OLEL/mlp6effPLJxcXFkyZNeu655wTQAADsgJ0NoO+9995dUscXad++/dKlS6urq+uN19TUhBBycnIS3xzvtdde77zzzsKFC4844ojkaQsXLgwh7Lnnnok/pmQaAMCOicfj6T+9KYUFVP/4jhSu3uKVlJQ89thjM2bM+Pe//71+/frNmzcXFRUdfPDB/fv3v/DCC7d80vW2eOGFF0IIxx57bCJ9TsjPzz/88MPnzp07c+bMgQMHftG5y5cvT5xbb4u5Pn36TJo06YMPPtiBegAAYGcD6ITa2tqlS5cuWbKk4QfH5+Xlff3rX9+uK3/9619/7bXXZs2addxxxyV/KzxnzpwQQteuXRN/HDBgwN///vfZs2dfeOGFdY8YqqysnD9/fiwW69+/fwqnAQBAPQ8++ODw4cPr/S7dunXrPvjggylTptxyyy2jR48eMmTI9l72k08+CSH06tWr3vihhx46d+7cFStWNHBu165d27Rps+W5if3lWrduvb3FAABA2CUB9KxZswYPHvzRRx996czOnTsvW7Zsuy5+3HHH/elPf3r11VfHjx9/wQUX5ObmJraie+KJJ2Kx2LnnnpuY1rNnzy5duixduvTee++94oor0tLSqqur77zzzvLy8iOPPLJjx44pnAYAAMlGjRp1ww03JF7n5eV169atc+fOGRkZy5YtW7RoUWlpaWlp6dChQzds2DB8+PDtuvK6detCCFvePZ0YSRz9ImedddaWg1VVVU888UQIod7v/NUZPHjwls9Eueqqq9yN0cgKCwtTXUILp8NR0+FIaW/UdDhqOhy1qDu8swH00qVL+/fvv+UWGVu17Q//qZOenv6DH/zgZz/72bPPPjtt2rQOHTqsX7++uro6PT19yJAhBxxwQGJaLBYbNmzYzTff/Pzzz7/88sv77rvvsmXLKisrCwsLL7300rqrpWQaAADUeffdd2+66aYQQvv27W+99dZLL700+ebiioqKcePG/exnP1uzZs0NN9xwyimn9OzZc9svnoiY27Sp/5zRtm3bhi8LoLe0du3aO+64Y/Hixe3bt6+786OerT4Tpby8vO4XBGkcGh41HY6aDkdKe6Omw1HT4ahF3eGdDaBHjhxZXV2dl5d36623Hn/88UVFRbukrGSHH3743Xff/Ze//OWtt95at27dHnvs0aVLl29/+9udO3dOnta1a9cxY8ZMmjTpzTffXLx4cWFhYf/+/QcNGlTvBpCUTAMAgISxY8fW1tZmZmZOmzZty0dt5+TkXH311X369Onbt29VVdXYsWN///vfb+8S9TZxDiEkNsrbvHnzNl6hoqLimWeeeeqppzZt2rTffvvdeuutvr8FAGDH7GwA/eqrr4YQnnnmmX79+u2KerZuv/32u+aaa750WqdOnbbltxRTMg0AAEII//jHP0IIQ4cO3TJ9rnPUUUddcsklf/zjH1988cXtunhRUdHKlSu33BMjsY9zu3btvvQK8Xh89uzZ9913X3FxcW5u7kUXXXTmmWdmZHzhTw0zZszYcrCsrGwHfveRnaHhUdPhqOlwpLQ3ajocNR2O2g50uH379ts+eWcD6GXLlvXs2TPS9BkAAFqMxHMCG0ifE44++ug//vGPDT82cEuJAHrLPTESI18aQFdVVf3mN7+ZO3duenr6wIEDzzrrrC138wAAgO2StpPnFxQUbFfgDQAAu7PEbhhb7pLRwORtt9dee4UQFi5cWG88MbLnnns2cG5NTc0vf/nLuXPn7rPPPr/97W8vuugi6TMAADtvZwPoPn36vPnmm9u+nRwAAOzO9t577xDCnDlzGp6W2Olun3322a6LDxgwIIQwe/bsmpqausHKysr58+fHYrH+/fs3cO7MmTNff/31Aw444He/+12XLl22a10AAPgiOxtAX3vtteXl5b/+9a93STUAANCyJVLgBx98MBExb9X8+fPHjRsXQtjene569uzZpUuXzz777N57762trQ0hVFdX33nnneXl5X369OnYsWPdzGnTpk2dOnXx4sV1I3/9619DCN/5zndisVjVFqqrq7fzjQIAQAg7vwd0375977zzzhtuuKGqquqaa67xdGwAAGjA1VdfPW7cuKqqqtNOO+32228fMmRITk5O3dHKysqHHnpoxIgRlZWVaWlpw4YN266Lx2KxYcOG3Xzzzc8///zLL7+87777Llu2rLKysrCw8NJLL02e+dBDD1VXV1900UXdu3cPIdTU1CxdujSE8NOf/nSrV+7UqdP999+/3e8WAIDd3s4G0NOmTTvggAOGDh06cuTIMWPGHHvssV26dOnQocMX7Wp322237eSKAADQfB144IG//vWvr7/++jVr1vzgBz+47bbbevbs2blz5xDC8uXL33///fXr1ydm/vKXvzzwwAO39/pdu3YdM2bMpEmT3nzzzcWLFxcWFvbv33/QoEEN3ymyevXqxB3TAACwa+1sAP2tb32r7nVxcXHiF/caIIAGAGA3d9111xUVFf3oRz8qLS0tLi5+9dVX623H0bp169/97neXXHLJjl2/U6dOw4cPb3jOk08+We+UqVOn7thyAADQgJ0NoFu3br1L6gAAgN3HkCFDzj777EcfffQf//jH22+/vX79+ng8XlRUdPDBB/fr12/w4MGFhYWprhEAAHaBnQ2gy8rKdkkdAACwWykoKLjqqquuuuqqVBcCAAARSkt1AQAAAAAAtEwCaAAAttvEiRNjsdjo0aPLysquv/76zp07Z2dn9+jR49prr123bl29yS+99NL5559/0EEH5eXl9enT5/LLL3/vvfdSUjYAANDIdnYLjg8//HDbJ7dt27aoqGgnVwQAoIkoLy/v27dvenr6pZdempaW9uCDD951111z5sz55z//2apVq8Sc3/72t9ddd10IISMjY5999pk/f/68efMmTJgwZcqUE088MaXlN57evXsnXrz00kt33333dp3rId4AADRrOxtA77///ts++Yc//OHo0aN3ckUAAJqIUaNGnXzyyRMmTEjEzVdeeeVXvvKVOXPmvPLKK9/4xjdCCEuWLLnppptCCD/96U+vv/76nJyc4uLiK6+8ctKkSZdddtmiRYuysrJS+xYax+uvv554UVNT8+Mf/3i7zhVAAwDQrNmCAwCAHVRZWfm73/2u7mbn/Pz8U045JYTwn//8JzEyYsSIzZs3X3LJJT/5yU9ycnJCCAUFBY8++uhXv/rVjz76aNy4camqPIVab6dU1wsAADtlZ++Afvrpp7c6XlNT8/HHH7///vuTJ08uLi4+4YQTxo8fX1hYuJPLAQDQdBx55JF77LFH8kj79u1DCDU1NYk//vOf/wwh/OhHP0qeE4vFhg0bNnTo0JkzZ/7gBz9orGJT6aWXXkq8yMvLKysrS20xAADQmHY2gD7zzDMbnvCrX/3quuuuGz9+/GWXXfbXv/51J5cDAKDp6Ny5cwNHN23a9Mknn6Snp/fs2bPeoYMPPjiEsHTp0uhqa1ISG5IAAMBuKPItOPLz8++5555vfOMbzz333AMPPBD1cgAANJqGN4j47LPP4vF4+/btMzLq3/Sw5557hhA+/vjjCItrqkaPHr0tj0VZuXLl6NGjJ06c2AglAQBAdBpjD+iMjIwhQ4aEEB5++OFGWA4AgKagU6dOsVhszZo1mzdvrnfo888/T0xIRV0pNnz48OHDh3/ptDVr1gwfPjzxCEcAAGi+GukhhInfsnzvvfcaZzkAAFIuOzt77733rqmpWbRoUb1DCxcuDCF07949FXU1A7W1tbNmzQohrF69OtW1AADATtnZPaC30fLly0MIlZWVjbMcAABNwfHHH//YY4/dfffd9913X91gPB4fM2ZMCOG4445LXWmNKvFsxoZHklVUVJSXl4cQ9tprrwjLAgCA6DVGAF1VVXXnnXeGEHr06NEIywEA0ETcfvvtTzzxxLhx47p06TJ8+PDMzMzS0tKrrrrq9ddf33fffS+//PJUF9hI1q5d+6UjW7X7tAgAgJZqZwPov/zlLw0cjcfjH3300Z/+9Kd///vfIYQBAwbs5HIAADQj3bt3v+OOO2644YabbrppxIgR++2335IlS2pra9u3b//www/n5OSkusBGcuutt9a9/sUvflFvZKsyMjJ69+596qmnRlsZAABEbGcD6G9/+9vbOLNDhw4eogIA0LJlZmYefPDBnTt3rhu5/vrrDz/88PHjx7/11lsfffTRV7/61SOOOGLEiBF77rln6spsbD//+c/rXicC6OQRAABowRpjC468vLy+ffvec889RUVFjbAcAABRGzx48ODBg7ccHzly5MiRI+sN9u/fv3///o1SVzPw/e9/P9UlAABA49nZAPrTTz9teEIsFuvQoUNaWtpOLgQAAC3Avffeuy3TXnvttTvuuOO000675JJLoi4JAACis7MBdKdOnXZJHQAAQEI8Hn/mmWeeeeaZ2tpaATQAAM1aY2zBAQAA1Nm8efPYsWNnzpy5ZMmSrU7YuHHjhx9+GELIzMxs1MoAAGBX22UBdElJyWOPPTZjxox///vf69ev37x5c1FR0cEHH9y/f/8LL7wwPz9/Vy0EAADNV01Nzemnnz59+vQvnZmZmfnDH/6wEUoCAIDo7JoA+sEHHxw+fHhJSUny4Lp16z744IMpU6bccssto0ePHjJkyC5ZCwAAmq+pU6cm0uf99tvvm9/85oYNG6ZMmRJCOPfccwsLC4uLi1966aXPP/+8devW//znP7/2ta+lul4AANgpuyCAHjVq1A033JB4nZeX161bt86dO2dkZCxbtmzRokWlpaWlpaVDhw7dsGHD8OHDd345AABovsaPHx9C6Nq16/z58wsKCkII55133uOPP37CCScMHTo0hFBdXT1kyJCJEyc++OCDAmgAAJq7tJ08/93/y96dx0lV3XnjP9W7bM0mtCwuyCKKYBAVgzCKDAnK4Joo+ox7JpsQo0ZjNIOTeTkamegERRnNuBv3uGaMOwEXVEQTBYwNGBa1ERRotqabpp4/7i/9q6dR03T36erl/f6ruXWq63u/VFed+6lb5y5a9NOf/jSE0L179+uvv76srOztt99+9NFHH3roofnz569evfrXv/519+7dQwiXXHLJX/7yl0YoGQAAWqwlS5aEEM4777wkfQ4hfOMb3wghvPbaa8k/8/Pz77jjjv79+990003z58/PVp0AANAoGhpA33DDDTt27CgoKHjqqacuuOCC9u3bZ9662267TZ069cknnywoKEiutdLAhwMAgBZt1apVIYRBgwbVbBk5cmQIIfNcjdzc3ClTpoQQbrnlliYvEAAAGlNDA+gXXnghhHDuuecedthhXzZm5MiR5513Xgjh+eefb+DDAQBAi5aXV3sRvH79+uXk5CxatCidTtdsHDZsWPjbZBsAAFquhgbQH330UQjhK9LnxOGHHx7+droHAAC0WX369Al/W4gjUVhYuOeee37++ecrVqyo2dilS5fwt8k2AAC0XA0NoJPTNFKpVN0HAwBAm7X//vuHEG655ZYNGzbUbNxvv/1CCE8//XTNliShTi6mAgAALVdDA+jevXuHjEumfJnXX389/O10DwAAaLOSxZ2XLFlyyCGHTJ8+Pdk4bty4EMLVV1+9fPnyEMKGDRuuvfbaEMLAgQOzVykAADSC2ivQ7aqjjz56yZIlt91221lnnfVlC3HMnz//1ltvDSGMHTu2gQ8HANB25Obmpv7j+iwW0NCZIl9k9OjRZ5555p133llaWnrVVVf95Cc/CSGcdtpp06ZNW7FixYABAwYMGLB8+fLNmzeHEL73ve9lu14AAGiQhp4BPXXq1JycnMrKyokTJ86cOXPr1q2Zt27btm3WrFnHHnvstm3bcnJyktM9AACoi1QqlZtt2e5BK5RKpW6//fYbbrjhsMMOKywsTDbuscceM2fOTKVSVVVVixYtStLnU0455eSTT85qsQAA0FANPa9l//33/+Uvf/mTn/xk7dq1559//hVXXDFo0KC99947hLB8+fK//OUv69atS0ZeffXVyYJ3AADQlqVSqfPPP//888+vrKys2XjmmWcOHjx41qxZH3744T777DNu3LjJkyfX8VIrAADQbDXCFysvvvjirl27XnDBBRs3bly/fv3rr7+erPhco3379tdff/15553X8McCAGg7qqurMwPKppdKpYqKirJYQKtXUFCQ+c9DDz300EMPzVYxAAAQQ+Os7HfOOeeceOKJ99577wsvvPDuu++uW7cunU537dp1yJAhY8eO/T//5/906dKlUR4IAKDtSKfT7V5fkMUCNo4YlsVHb5U++OCDF198MYQwceJEF+gGAKAtaLRLy3Tu3PmHP/zhD3/4w8b6hQAA0Mq88MILP/jBD0IIRUVFZ511VrbLAQCA6Bp6EUIAAKCO9ttvv+SHxYsXZ7cSAABoGo0TQFdXVz/++OMXXnjhzTffnLn9/PPPnzRp0syZM7O7fCEAADQHRx555JFHHhlCuOuuuz777LNslwMAANE1QgC9atWqsWPHHn/88ddff/3SpUszb1q/fv2TTz55/vnnjxo1qtZNAADQ1qRSqccee+zII48sKys77bTTli1blu2KAAAgroauAV1VVTVu3Li//OUvIYSOHTv2798/89Zx48YtWLBg8eLF8+fPP+GEExYsWJCX12irTgMAQIvz2muvXXzxxfn5+c8+++zAgQOPPvrovfbaq6SkpKCg4AvHX3HFFU1cIQAANKKGxsGzZs1K0ueLLrroqquuKiwszLz1rLPOOvPMM3/zm99897vffffdd2+99dbvf//7DXxEAABouSZMmFDzc3V19bPPPvvV4wXQAAC0aA0NoH/3u9+FEMaPHz99+vRUKrXzgFQq9Z3vfOfll1++6667nnzySQE0AABtWfv27bNdAgAANJ2GBtClpaUhhG9/+9tfmD7XGD9+/F133eVi3wAAtHGbNm3KdgkAANB0GnoRwjVr1oQQiouLv3pYu3btQgiffPJJAx8OAAAAAICWoqEBdElJSQjhrbfe+uphyYAePXo08OEAAAAAAGgpGhpAjx07NoRw5513rlq16svGlJWV3X777SGEMWPGNPDhAAAAAABoKRoaQE+ZMiWVSn3yySff/OY3X3rppXQ6XWvA66+/PnHixI8//jiE8L3vfa+BDwcAAAAAQEvR0IsQDh8+/Morr5w2bdrChQvHjh07ZMiQYcOG9e3bt7CwcMWKFYsWLXr99deTkeeff/4RRxzR4IIBAAAAAGgZGhpAhxB+/vOfd+7c+dJLL62oqHjvvffee++9WgNSqdQll1xy1VVXNfyxAAAAAABoKRq6BEcIIZVKTZ06denSpVdeeeXIkSMLCgpqtg8ePHjKlCkLFy685pprcnNzG/5YAAAAAAC0FI0QQCd69eo1bdq01157raKiory8/LPPPquqqlq0aNGMGTMGDx7cWI8CAEDW3XHHHalUauLEibW2l5WV5ebmFhUVbdiwoWbL+eeff+ihh7Zv375fv35nnnnmu+++W+tea9asueSSS4YNG9ahQ4eSkpIxY8Y88sgjO19ZBAAAaIkaLYCukUqlOnbs2LVrV6c8AwC0SpMmTcrLy3vuuec2btyYuf3hhx/esWPHxIkTi4uLQwh//OMfDzrooJkzZy5YsKBnz54rVqy46667Dj744AceeKDmLh9//PHQoUOnT5/+/vvv77HHHtXV1XPnzj355JN/+ctfNvVeAQAAETR+AA0AQOvWtWvXo446qrKy8umnn87cqi8scgAAIABJREFUfv/994cQTj/99BDC5s2bTz311NWrV1900UUbNmxYtmxZeXn5ZZddVlVVdcYZZyxdujS5y+WXX15WVnbcccd98sknpaWln3766f/8z/+EEH7+859v3bq1yfcMAABoZAJoAAB22UknnRRCePTRR2u2rFy58pVXXikuLp4wYUII4brrrisrKzv11FP/8z//s3379iGEdu3a/cd//MfZZ59dWVk5ffr05F7z5s0LIVx++eVdu3YNIaRSqXPOOWfSpEkHH3zwypUrm36/AACAxiWABgBglx1//PGpVOr3v//9tm3bki0PPvhgCOHkk08uKioKIfzhD38IIUyZMqXWHf/lX/4lhPDHP/4x+WeSTT/88MM1vyeE8Pjjj8+bN2/gwIHRdwMAAIgsL9sFAADQ8vTs2fOII46YO3fuSy+99M1vfjP8bf2N0047LRnwwQcfhBBuvfXWu+66K/OOycIaq1atSv75ve997zvf+c6111572223TZ48+aijjhozZky3bt2acl8AAIB4BNAAANTHSSedNHfu3EcfffSb3/zm0qVL58+f36tXr3/4h38IIWzbtm3t2rUhhDvuuOML77tp06bq6urc3Nxzzz23uLj4X//1X99///0bbrjhhhtuyM3NPfLII//93//98MMPb8rdAQAAYrAEBwAA9XHiiSeGEB5//PHq6uoHHngghDB58uTc3NwQQmFhYbKmc3l5efpLJCNTqdS3vvWtxYsXL1q06Prrrz/xxBPz8/NfeOGFUaNGzZkzJ6v7BwAANAIBNAAA9dG3b99DDjlk9erV8+bNSwLomvU3Qgj77rtvCGHx4sW17rVt27ZVq1atWbMmhFBVVVVWVpb8PHjw4AsuuOCRRx756KOPTjnllHQ6PWvWrKbbGQAAIA4BNAAA9XTSSSeFEK6++uo///nPgwYN+trXvlZz05FHHhlCuPHGG2vd5eqrr+7bt+/06dNDCJ999tkee+zRu3fvjRs31gzo2rXrpEmTQgibN2+OvwcAAEBcAmgAAOopCaB///vfhxBOP/30VCpVc9Oll15aXFx89913T5s2bdu2bSGEHTt23HfffVdffXV+fv4555wTQigpKenbt29VVdVPf/rTioqK5I7Lly+//vrrQwhf//rXm36PAACAxiWABgCgnvr37z906NDk58z1N0II3bp1u+OOOzp27PiLX/yiU6dOgwcP7tmz52mnnVZVVXX77bfvt99+ybAbbrghhHDTTTf16NFjyJAh++677z777DN//vzDDjts6tSpTbw7AABAoxNAAwBQf8cdd1wIYeTIkcmiz5mOP/74d9555+yzzx48ePDy5cuLi4tPPfXUP//5z6effnrm3V9++eVJkyZ169attLR08+bNhx122MyZM1966aXddtutSfcEAACIIC/bBQAA0IItWbIk7HT6c41+/frddtttX/0bRo0a9fjjjzd+ZQAAQDPgDGgAAOppw4YNjz76aG5u7re//e1s1wIAADRHzoAGAGCXbd++vbq6+vLLL6+oqPinf/qnnj17ZrsiAACgORJAAwCwyyZMmDBnzpzKysr8/Pxp06ZluxwAAKCZEkA3C4WFhe3bt6/LyMrYpTQ/3bp1+7KbdCOTbmTSjUy6kamtdUMrMn1FNzLt2LEjdiWtw6BBg1577bUBAwZce+21Bx98cLbLAQAAmikBdLOwffv2yso6RQFt8D9sy5YtX3aTbmTSjUy6kUk3MrW1bmhFpq/oRi11/FS4jbvxxhtvvPHGbFcBAAA0d23w8LM5qq6urqioqMvIjrFLaX62bt36ZTfpRibdyKQbmXQjU1vrhlZk+opu1CKABgAAaCw52S4AAAAAAIDWSQANAAAAAEAUluAAAAAaU35+fn5+fraraFs6dmyDSys1KR2OTYej0t7YdDg2HY4tdocF0AAAQGNKpVKpVCrbVbQtOTm+2xqXDsemw1Fpb2w6HJsOxxa7wwJoAACgMVVWVtbxCts0lg0bNmS7hFZOh2PT4ai0NzYdjk2HY6tHh7t37173wT5AAAAAAAAg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pIDkKfeP//iPyWM1E7v0xEh6eOyxx373u99tgtqalbPPPvuzzz77igFtoS3vvvvu//7v/65ataqsrKxDhw4lJSWDBg064YQTiouLs11a09EEoEUwH24y5tiNzqS9yTgQyCIHF5GYq0eisbtKAN22bNq06Z133hkxYsQX3vryyy83cT3ZlZ+f365du8wtW7duTafThYWFubm5NRtrjWlNDjzwwOSHxYsXH3rooZk3vf3228kPCxYsqDWX3b59e2lpaebdWxlPjF1Sqy2ZCgoKvuxeN9100x/+8IcWfWxfXV197bXXvvbaayGEVCrVrVu3TZs2LVy4cOHChf/7v//7gx/84Mgjj6zH7zzhhBPatWt3//33N37FEcRoAkBs5sOxmUo1OpP2JuPZm3Vt9uAiBgcskTgIqh8BdBuSSqXS6fTcuXO/cMK9devWt956KxnT9LVlxSmnnHLKKadkbjnvvPM+/fTTSy655JBO+bqKAAAfL0lEQVRDDslWVU2pW7duvXv3/uijjxYtWvRlc9mFCxdWVFQUFRXV3LRs2bLKysoQwtChQ5uy2ibjibFLLrvssuHDh2e7iiy45557XnvttY4dO55zzjljxozJz89Pp9OrV69+8MEHn3/++RtvvHGfffbZa6+9sl1mXJoAtDjmw03AVKrRmbQ3Gc/erGuzBxcxmKtHorH1Yw3oNqRPnz4dO3acN29eMhGp5Y033qisrDzggAOavjCyKJmPLl68OHNjZWXlwoULCwoK+vfvv3379nfffTfz1mRwly5devfu3ZSl0tJt2bJl/vz5K1euDCF8/etfP/vss0866aRsF1VPFRUVv/vd70IIP/3pT48++uj8/PwQQiqVKikpmTJlypFHHllZWfnII49ku8y4NAFoicyHaaFM2qGW1nRwEYO5eiQaW2/OgG5D8vLyvv71rz/zzDNvvfXW4YcfXuvW5PuGRxxxxHvvvbfzfd99991nnnnmww8/XLNmTd++fffdd99Jkyb16dOnZkCyANZ55503fvz4++6775VXXlm3bt3uu+9+6KGHfutb36q1VFnL8sADD9x7771nnHHGySefnLn9uuuumz179s9//vPMD8PXrVv34IMPfvDBBytWrOjcufMBBxxwwgknNOfPvoYOHfr000+XlpZWVlbWfKdp0aJFlZWVBx988ODBg5csWbJgwYLMfUzmskOHDk2lUsmWuux1Op1+6aWX5syZU1pamk6nBw4cWOvkgpZu06ZN995777x58zZs2LD77rsfcsghp5xySs0zf5eeRa1J8srw3e9+d8iQIZdffnl5eflJJ5105plnrl+//vbbbz/22GPHjRuX7Rrr48MPP0yn0126dBkyZEitm1Kp1D/+4z/Onj172bJlmdt37NjxyiuvPP3005988smGDRs6d+685557HnPMMTXnMV1zzTWvvvpqCGHLli2TJk0qKiqqyxKEWbSrTajjX0ErfjcBmgPz4eajdc+xG51Je3PmQKDJtNaDixgcsETiIKjeBNBty+jRo5955pm5c+fWmnBv2bJlwYIFJSUl/fr12/lejz322G233RZCyM3N7dat25IlS0pLS1988cWf/exntb4ds23btssuuywnJ2f8+PE5OTnPPffcY4899v7771999dVftpBTa/Lee+9de+2169evz8nJ2X333desWfPiiy/+8Y9/vPDCC0ePHp3t6r5YsiTc9u3blyxZsv/++ycbFyxYEEL42te+tv/++99zzz1vvfVWzfh0Op3MZWvWkqvLXu/YsWPGjBkvvvhiCCE3N7ddu3YLFix4++23jzjiiCbc14jKy8t/8pOffPzxx3vttVeHDh2WL1/+xBNPLF269KqrrsrJ8UWTsHnz5quvvrq8vDwvL691vHeWl5eHELZv375jx46dX9wGDhz4s5/9rNZ//R133PHYY4+FEDp16tSzZ8/PPvtswYIFCxYs+P73vz9hwoQQwrBhw9q1a/f888/n5uaOHTs2+Sy9OatHE+qujb+bAFGZD7c4LXGO3ehM2pstBwJNr/UdXMTggCUSB0H1JoBuW4YMGdK5c+c33nij1gJhr7/+elVV1ejRo2s+Hq9RVlZ25513hhBOO+20E088saCgYPPmzTfffPOcOXNmzpw5a9aszBed3/3udwcffPCPf/zj5G/jmGOO+f73v//+++8vWrSo1V/7oqKiYvr06evXrz/++ONPO+20oqKibdu2PfDAAw8//PD1118/YMCAkpKSbNf4BTp16rTPPvt8+OGHixcvrpnLJmvJfe1rX+vTp09xcXFZWdknn3yyxx57hBA+/fTTdevWhb99DbCOez179uwXX3wxNzf3u9/9bvJG9eGHH15zzTVz587N2p43qrlz5/bt2/e///u/k/195513rrzyyoULFy5ZsmTgwIHZri77Hn744c6dO1911VX7779/K3jjDCH07ds3hLBx48abb775vPPOy3w5DSEUFhaOHDkyc8tHH3302GOP5efnX3bZZQcffHAqlaqurn7yySdvu+22hx56KJnPTZgwYfz48c8//3xhYWGLuMT8rjZhl7TldxMgNvPhlqWFzrEbnUl7s+VAoOm1voOLGBywROIgqN58Ite25OTkjBo1qrKy8s0338zcnnzf8AvPIPjtb39bXV09fvz4U089Nfm2V/v27S+66KJ+/fqtWbPm2WefzRxcVVV13nnn1bwHtGvXLrnAy6pVqyLtUfPx+OOPr1u3bvTo0eecc07yGlRYWHjGGWeMGzdu+/btySJBzVMyK120aFHyz3Xr1i1fvrxbt259+vRJpVLJST3J6RXhb1/l6969e8+ePUPd9nrHjh2//e1vQwjnnHPON7/5zYKCglQq1a9fv1/84het6aSAiy66qOb456CDDkq+R5MsSda6/fKXvzz9i/z+97+vGVNRUXH55ZcfeOCBrWaC2KtXr+TSxs8+++yZZ575q1/96qWXXvr888+/bPz7778fQhgzZsyIESOSXCM3N/e4447r2LHj2rVrt27d2lSFN6ZdbcIuacvvJkBs5sMtS8udYzc6k/Zmq80eCMTQNg8uYnDAEomDoHrzRtLmJLPqzA+xN2/evGDBgt69e3/hMmrJEniTJk3K3JhKpSZOnBhCqHWli0GDBnXu3DlzS6dOnUIIO3bsaLQdaK6Sr7z90z/9U63t3/jGN8Lf2tg8JZ+kLV68OLnge82ZFMm7zsEHHxz+tndhp7Xk6rLXa9as+fTTT9u3b59srFFSUtKQzwablf79+9f6um4yB62urs5SRU1n69atG79I5sWd9ttvv9a3SuOPfvSjk046qV27dlu3bv3jH/94/fXXn3XWWT/84Q9vvfXWDz74oNbgo48++oknnvjRj36UubGysjJ5hrTcV8hdasIuacvvJkATMB9uQVruHLvRmbQ3T235QCCGNntwEYMDlkgcBNWPJTjanMGDB3fv3n3+/Plbtmxp165dCOH111+vrq7+wu8bVlZWfvbZZzk5OTtfOnnPPfcMIZSVlWVu7NGjR8zam7WPP/44hPDMM88ki6bVSN4p165dm52y6mDIkCGpVGrTpk2rVq3q27dvzVw2ufWggw5KpVJ//vOfkwueJJ+LJudfhLrt9SeffBJC6Nu3b831Umr069cvuYhBS7fzH8jOf02t1ZVXXllr7cud7b777k1TTFPKzc0988wzJ0+e/Ke/Wb58+cqVK1euXPnkk08OGzbs4osvLi4urnWv7du3r1y5ctmyZe+///5bb721ZcuWrBTfWOrXhLpoy+8mQBMwH25BWu4cu9GZtDdPbflAIIY2e3ARgwOWSBwE1Y8Aus1JpVJHHHHEY489Nm/evLFjx4aM633vPHj9+vXpdLq4uHjn77Z07do17DTnq7X8TdtRVVWVLEX/wgsvfOGAioqKHTt2NM8vr7Vr127AgAEffPDBokWL+vTp884774SM2WqnTp1qbh04cOBf//rXmlvruNfr168PIXTp0mXnAcmzqBXo0KFDtkto1lrxtUEKCgoOOeSQ5IuW69atW7FiRU5Ozrx585588skrr7zyV7/6Vc1f/ezZsx9//PHly5dv3749hNChQ4eBAwdu2rSpoqIimzvQGOrehLprs+8mQNMwH24pWvQcu9GZtDdPDgSaXis+uIjBAUskDoJ2lQC6LRo9evRjjz02d+7csWPHbtq06e23395zzz2TMzhq6dy5cyqVKi8vr66urjXn/ooJShuxcePGmp/z8/M7duy4cePGBx54YLfddstiVfUzdOjQZLbav3//DRs29O/fP/PzuoMPPviDDz5IVpRLp9MlJSXdu3cPdd7rZHByFZRakmdRW5b5LGrFWt9pIBdccMHKlSv/9V//ddiwYTUbu3TpkrwkHnjggcuWLVu4cOEbb7yRfGX1mWeemTlzZl5e3pgxY4YOHTpo0KBevXqlUqnzzjuv5c7ndrUJX6aN/BUAzY35cLPVmubYjc6kvTUxBaq31ndwEYMDlkgcBNVbm/ismFr69+/fs2fPd955Z+PGjfPmzUu+b/iFIwsKCrp167Zjx47kS1uZVqxYEULo1atX9HKbq1o9SZb62vlaE1VVVWvXrt2wYUPTVbbrkpMjFi9enHyV76CDDsq8tWZFuWQtuczX2brsdXLlk5UrV2au25VYvnx5Y+9KC7PzXxYtQufOnauqqr5iha/kC92bN29O/vnwww+HEC655JILLrhg7NixvXv3TqVS6XS6RV/NY1eb8GX8FQBZYT7cbLWmOXajM2lvTUyBiMoBSyQOgupNAN0WpVKp0aNHV1dXv/rqq8n3DUeNGvVlgw844IAQwhNPPJG5MZ1OP/XUUyGE/fffP3Kx2Zec6vLpp59mbnzvvfeSVdJqJFcFybw4b+Lhhx8+55xzHn300chlNsjgwYNzc3PLyspeeumlkLGWXKJ///4dO3ZcuXJl8mxJ9jRRl73u3r177969N2/eXOsa8WvXrk1+YVtQx2cRLUVygPfII4/U+j9NrF27NrlCfbImYDqdTr6dPWTIkMxhpaWlLfpz711qQvBXADQz5sNZ1xbm2I3OpL0lMgUiKxywROIgqN4E0G1UcorHM88886c//Wmfffbp06fPl42cPHlybm7us88++8gjjyQrAW3duvW//uu/lixZ0r179wkTJjRd0VmSNGf27NnLli1LtqxcuXLGjBl5ef/PCjbJVVBfeuml3/72t1VVVSGEdDo9Z86chx56KDc3d9y4cU1fed0VFhbut99+IYSVK1fW/FwjJycnmd0mJ01kzmXrstepVOrUU08NIdx2223PP/988ixauXLltGnTWse1XOuijs8iWorx48eXlJRs2bLlwgsvfOqppz799NPq6up0Ol1eXj579uwrrrhi8+bNI0aMGDRoUAghlUolT4BXXnml5je8995711xzTfLz6tWrM395RUVFi/ia2y41IfgrAJof8+Hsagtz7EZn0t4SmQKRFQ5YInEQVG9tbodJ7L333r17916yZEn4ksut1OjVq9c///M/33HHHXfeeedvf/vb3Xff/ZNPPkmn0506dbrgggt2vkRy6zN8+PC99tpr+fLlF154Yf/+/auqqv7617/26dPnhBNOeOihh2qGdezY8YILLrj++uvvv//+hx9+uKSkpLy8vLy8PJVK/fjHP/6KQ5pmYujQoQsXLgwhHHjggfn5+bVuHT58+Jw5c0IIffv2zVzosI57PXr06D/96U/PP//8jBkzbr755g4dOqxbty6VSp111lm33357U+1iNtXxWURLUVhY+G//9m/Tp09fsmTJLbfccsstt+Tm5qZSqeRQLYRwwAEHXHTRRTXr033rW9/6z//8z5kzZz755JOdO3devXr16tWrR44cOWjQoFdeeeXiiy8+7bTTTj755JycnA4dOmzatOlHP/pRSUnJv/3bv2VvF/++XW2CvwKguTEfzq42MsdudCbtLY4pEFnhgCUSB0H1JoBuo1Kp1JgxY+67777w9ybcIYQTTzxx3333ffbZZ//617+uWbOmX79+AwYMmDx5cl2uuJKXl7fXXnv16NGjcerOhoKCgn//93+/7777FixYsGzZss6dO0+cOPH0009/7733Ro8enXlJ6JEjR/76179+8MEHly5d+tFHH3Xt2nXYsGHf/va399prryzWX0dDhw5Nng+1vsqXGD58ePJD5pkUibrsdU5OztSpU4cMGTJnzpylS5dWVFQMHTr01FNP7du375IlSwYMGBBtt5qLuj+LaCn22GOPX/3qV/PmzXvxxRfLyspWr16dn5/fs2fPPfbYY/z48UOHDs28OsqYMWOKiooeeeSRlStXbty4sX///pMnTz7qqKM2bdrUtWvXpUuXJpf9SaVSP/jBD+644441a9a0iIur7FITGvhX0AreTYDmxnw4u9rIHLvRmbS3OA4EyBYHLJE4CKqfVDqdznYNAAAAAAC0QtaABgAAAAAgCgE0AAAAAABRCKABAAAAAIhCAA0AAAAAQBQCaID/2979x1RV/gEc/xwuoOLdxF9kNgxUVGiJPya6xJFg/Ch/RP4KaZmYpjZ/RLXcdKs/ytzaZMvMkjQoK23kFZtkWw0VAwLNdKToQjDT1CwR+XEvF+75/vF8PTvfezF/1I17+b5ffx2e5znPPeewnT2fz87zPAAAAAAAAPAKEtAAAAAAAAAAAK8gAQ0AAAAAAAAA8AoS0AAAAAAAAAAAryABDQAAAAAAAADwChLQAAAAAAAAAACvIAENAAAAAAAAAPAKEtAAAAAAAAAAAK8gAQ0AAAAAAAAA8AoS0ADwd+3evVvTNE3T6urq/n5v/fr10zRt7dq1f78rAAAAAN5DIAAAt4MENAAAAAAAAADAK0hAAwAAAAAAAAC8ggQ0AAAAAAAAAMArSEADAAAAAAAAALyCBDQAAAAAAAAAwCtIQAPwdTNmzNA0LSQkxOFwmMuPHTumtpy2WCzXrl0zV9XV1amqRYsWmcuvX7++fv36CRMm9OnTx2q1jhw5csmSJadOnbrZT99pezcNDQ1xcXGapgUGBtpsNnOVrus7duxITU0NCwvr1q1bRETE4sWL/6JnXddLSkrmzJnz4IMPhoaGWq3W6OjoadOmFRYWtre3qzbffvutuusdO3Z02MnYsWM1TYuOjtZ1/TZvAQAAAOgsBAJCIACga9ABwLdt2rRJva9KSkrM5e+8847xKisqKjJX5eXlqfKCggKjsLKy8t577/V8DWqatn79epfL5fa7t9/eGFPW1tYahY2NjfHx8ar9p59+au75+vXrKSkpnj13797dZrP17dtXRNasWWO0dzgc6enpN3uNp6WlOZ1OXdedTqc6d/bs2Z6P8fTp06r966+/ftvPHgAAAOg0BAIEAgC6hsCbvcgAwEcYQ7Ti4mI1klMOHTpkHB88eDAtLc38p4hYLJakpCRVUlNTk5iYeP36dRGZNWtWUlJSaGhoeXl5bm5uc3Pz6tWrAwICXn75ZaOHO23vxm63P/744+oKt23blpGRYVTpup6Zmfn111+LSO/evefNmzdu3LjffvutqKiopKQkIyPD+JDBsGHDBjW0HTJkyOLFi4cOHSoip06d2rp1a01NzVdffbVx48YXXnghMDBwxowZ27ZtKyoqamlp6dGjh7mTnTt3qoN58+bd4okDAAAAPoBAgEAAQBfR2RlwALi1IUOGiEhiYqJR4nK57rvvPhHp3bu3iDz00EOe7ePj442SKVOmiEhAQID5Uwhd16urqwcPHiwiISEh586du7v2bh8+OByOxx57TJVs3rzZ7V52796tqmJiYmpqaozy9vb2V155xXg5mz98GD9+vIhERUXV19ebu7p69Wp4eLiITJ8+XZXs3btXnb5nzx63333ggQc8HxQAAADgywgECAQAdAGsAQ3AD6SmpopIaWmp3W5XJWfPnj1//ryIrFy5UkQqKyubm5tV1YULF2pqakTE+BSiqqrqm2++EZHly5fPnDnT3PPw4cNzc3NFpLm5ecuWLXfX3qytrW3evHlq/JeTk7NkyRK3Bps3b1YHeXl5agirBAQEvPnmm2PHjnVr39raWltb26tXr0WLFvXq1ctcFRoampiYKCLqfkVkypQpqo3bSnNVVVU//fSTiGRmZnpeMwAAAOCbCAQIBAB0ASSgAfgBNfnObrdXVFSoEjWpbciQIU8++aSIOJ3O8vJyVXXgwAF1oEarIvLll1+qg+zsbM/OExMT1UcBpaWld9fe0N7evmDBgi+++EJEMjMzV61a5Xn6Dz/8ICLJycnjxo1zq9I0zXM2X3Bw8KVLl+rr6zuc6Oe26UpwcPC0adNEpLCwsK2tzShXu5EEBgbOmTPHsxMAAADANxEIEAgA6AJIQAPwA5MnTw4KChKR4uJiVVJSUiIikyZNGjZs2IABA+TGcm/GQVhY2KhRo1RJZWWliAwcOHDQoEEd9j9y5EgRqaqqurv2hhUrVmzfvl0d79279/Lly24Nrl279vvvv4tIXFxchz3frNzM4XBUV1fn5eVlZGQY8/gM6kuNP//8Uz0iubHRtoikpqb269fvlv0DAAAAPoJAwIxAAICfIgENwA9YrdaJEyeKyP79+1WJ+vAhPj5e07SEhAQxjTvVhw8pKSkBAf99xV26dElELly4oN3EZ599JiJqp5G7aG8oKirSNO2JJ54Qkfr6+tWrV7s1+Pnnn9WBec6dWXh4uMVi8Sy/ePHihg0b0tLSBg8eHBISEh0dvWDBAjWadJOSktKzZ08R2bVrlyo5cuSImprHtDsAAAD4FwIBAgEAXQAJaAD+QU2jKysrs9vtf/zxx4kTJ0Rk0qRJIqLGnWVlZQ6H4/LlyydPnhTTum8i0tTUdDs/0dzcrDaevtP2Zh988MHnn38+ZswYEfnwww/LysrMtZ7t3Wia5jnu/Pjjj4cOHfriiy/u27evtrY2NDR04sSJWVlZubm5njPpevTooXY+sdlsLpdLbky7s1qt06dPv537AgAAAHwHgQCBAAB/RwIagH9Qq785HI7y8vLvvvtORPr37x8VFSUiDz/8sIjY7fbDhw+r6Waapj3yyCPGuWo7jtGjR99yY1Y15rvT9oaNGzdmZWVZLJZNmzapkmXLlpnHmn369FEHtbW1Hd7mhQsXWltbzSUVFRXz589vamoKDw/ftGnTmTNnrly5cujQoa1btz777LNq7283avLd+fPnDx8+7HK5du7cKSLp6ekhISG3/8ABAAAAX0AgQCAAwN+RgAbgH2JjY++55x4RKS4uVtPuJk2apGmaiIwYMSIsLExEDh48qKbdjRs3zrzG2bBhw0TkxIkT5u04/sKdtjdMnTpVHUyYMCErK0tEfvzxx/fee89oEBkZabVa5cbqcp6OHj3qVvL+++/ruh4UFHTw4MFly5ZFRkaqu1bq6+s9O3n00Ue7d+8uIjabrbS09NdffxWm3QEAAMA/EQgQCADwdySgAfgHTdOSk5NFZP/+/ca406gyVn9TC8AZ214rSUlJIuJwOAoKCjx7bmxsjI2NjYiIWLdu3d2179D69etDQ0NFZO3atcYmJBaLZfLkySKyb9++I0eOuJ2i6/pbb73lVnjmzBkRiYqKioiIcKtyOp3GWnhmVqtVfSeya9cutUpdWFiYuikAAADAvxAIEAgA8HckoAH4DTWaLC8vP3z4sIjEx8cbVca48/jx4/K/676JSHp6utoge8WKFdXV1eYql8uVnZ19/Pjxs2fPGiuj3Wn7DvXv3/+NN94Qj01Ili5dqg6eeeaZuro6o1zX9XXr1qkhtVlkZKSInD17tqGhwVze3t6+cOFCtU1KU1OTruvm2lmzZonI6dOn8/LyRCQjIyMwMPAvrhYAAADwWQQC5nICAQD+55YLGwGAj7h8+bIx6axnz55Op9OoqqqqMl5rvXv3bmtrczu3sLBQ1QYFBT3//PP5+flFRUXvvvvu+PHjVfnKlSvvur3NZlOFtbW15k7a2tpGjx6tqkpLS1Why+VSu2OLSN++fVetWrV9+/acnBy1Vl23bt2io6NFZM2aNar9J598ohpPmDDBZrMdP378wIEDb7/9tlr2Tu1zrdp///33xk9fvXo1KCjIeCYVFRX/wD8AAAAA6AwEAgQCAPwaCWgA/mTs2LFqIDVlyhRzucvlMtZ6mzt3bofn5ufnd+vWTTry3HPPtbe333X7m407dV0vLS1VVaNGjTJGw42NjWpmnJvu3bsXFBTMnTvXPO50uVyzZ8/u8DKWLl1aWVlpjC9nzJhh/mnj64+oqCiXy3XHzxoAAADwGQQCBAIA/Jfltdde6/B1BgA+6JdfflHbW8+fP1/NtlM0TauoqDh58qSIvPTSS6NGjfI8NzY29umnn7ZYLA0NDS0tLcHBwTExMcnJyR999NHChQvNG3rcafvq6mq1wfSqVavUcm+G8PDwc+fOHT169OLFi2FhYXFxcSISHBycmZk5fPjwxsbGhoYGp9M5YMCA9PT0/Pz8hISEpqam+++/PyEhQW2BomnazJkzR4wYceXKFafT2draOmjQoJkzZ27ZsmXRokUDBw5MSEhoaGgYOnTo1KlTjXG5iNjt9j179ojIihUr1P7gAAAAgJ8iECAQAOC/NP1/VwsCAHQNOTk52dnZInL69Gk1TQ8AAABAl0cgAMDXsAkhAHRN+fn5IhIXF8egEwAAAPj/QSAAwNeQgAaALqisrOzYsWMi8tRTT3X2tQAAAAD4lxAIAPBBgZ19AQCAf0x9fX1AQEBdXd2yZctEpGfPnhkZGZ19UQAAAAC8i0AAgC8jAQ0AXcf27duXL19u/JmdnW3sCQ4AAACgqyIQAODLWIIDALqmhQsXvvrqq519FQAAAAD+VQQCAHyNput6Z18DAOCf0dLSUlFRce7cuTFjxsTExHT25QAAAAD4NxAIAPBlJKABAAAAAAAAAF7BEhwAAAAAAAAAAK8gAQ0AAAAAAAAA8AoS0AAAAAAAAAAAryABDQAAAAAAAADwChLQAAAAAAAAAACvIAENAAAAAAAAAPAKEtAAAAAAAAAAAK8gAQ0AAAAAAAAA8AoS0AAAAAAAAAAAryABDQAAAAAAAADwChLQAAAAAAAAAACvIAENAAAAAAAAAPAKEtAAAAAAAAAAAK8gAQ0AAAAAAAAA8Ir/ACRGLIzuVTp1AAAAAElFTkSuQmCC" width="960" style="display: block; margin: auto;" /></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># not using</span>
<span class="kw">get_multiplot</span>(<span class="st">'is_weekend'</span>)</code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAMACAIAAABKP+1aAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nOzde3hW1Z0v8PXmQggEcgExIioXgY4IPGORotZ6BniOiqUF9cHiBftI7VQ7oFgvVWk9YzutioMIo1Xp2HKKgninKDCgRVFBAaVT8IaAyH0CEhJIyIW85493Jk9OgiG3TUj8fP56WXutvX4b3ZvwZb1rx+LxeAAAAAAAgKaW1NwFAAAAAADQOgmgAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIREpzF8B/O3DgwKFDh2rvk5ycnJ2dHUIoLS0tKCg4JnU1j6SkpJycnMLCwpKSkuauJULp6ent27cPdfuv36K1bds2IyNjz549zV1ItLKyslJSUkIIe/fujcfjzV1OhDIzM+Px+NfhKRRCKCsr279/f3OXE6FYLNapUyfP22o6d+4cfVHQmjXgZ5uvzx+jTaVDhw7Jycn5+fnNXUjLkJOTk5SUFI/H9+7d29y1tAyZmZkVFRWFhYXNXUgLkPhpKoRQXl7ulqyjnJyckpKSgwcPNnchLUBlEFRSUuKWrKPOnTu3+pilqbRp06Zjx44hhOLi4vrekvX6S5MV0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAEQipbkLIHIdptzb3CU0REkIbUJo09xlRK0khBBCagipzVxI5EpC6NDcNTRM4W2/bO4SAACA1uyq373b3CUALdtTN3yruUuojRXQAAAAAABEwgpoAACgxbN+EGik43z9IEDLZQU0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEImU5i4AAABoSrt37547d+4HH3xQUFCQnZ09aNCgsWPHZmVl1WXs6tWrFyxYsG3btv379+fm5vbp0+eKK67o0qVL1DUDANBaCaABAKD12LRp05133llcXBxCyMzMzMvLW7hw4YoVK6ZMmXLiiSfWPvb3v//9/PnzQwjt2rXLzs7etm3bli1bli1bdu+99/br1+9YVA8AQKtjCw4AAGgl4vH4jBkziouLBw0aNGvWrD/96U+///3vTz/99Pz8/JkzZ9Y+9qOPPpo/f35aWtpdd901Z86cJ554Yvbs2eeff35ZWdnUqVPLy8uPzSUAANDKCKABAKCV2LBhw8aNG3Nycu64447s7OwQQpcuXe655542bdqsWrVqz549tYxdsmRJCOH73//+kCFDYrFYCKF9+/YTJ05s3759Xl7e1q1bj80lAADQygigAQCglUiEyOedd15aWlplY2Zm5llnnRWPx5ctW1bL2C+++CKE0L9//6qNaWlpJ598cghh+/btURQMAECrZw9oAABoJRIx8YABA6q1Dxw4cOXKldu2batl7LXXXltWVtanT5+qjYcPH87LywshfNV7CBcsWFBaWlqt8cwzz+zatWu9Kk+suQ4htG3bNh6P12ssQJNo27ZtY4YnJSU18gwADdaw509KSkrlh0ifYAJoAABoJb788ssQQmZmZrX2REvi6Fepuva5vLz84MGD27Zte+mll/bt29e/f//evXsfcdTUqVMLCgqqNU6ePLlakF137du3b9hAgEbKyMhozPCkpKRGngGgwRr5/ElNTU1NTW2qYmoSQAMAQCuRiJg7dOhQrb1jx47haAF0VTfffHNiR44QwoUXXjh+/PjKFcoAAFAvAmgAAGhVaobFiU0tysvL63iG3r17d+nS5bTTTtuxY8fy5cu7d+9+ySWXHLHn9ddfX3MLjt69ex88eLBeNaenpyclJYUQioqKbMEBNIv6PrgqJb66UVFRUVxc3KQVAdRVw55gycnJiZ03ysrKav5EV7t6fWtNAA0AAK1ETk7Ojh07CgsLq7UfOHAghNCpU6c6nuemm26q/Dx9+vTHH388JyfnnHPOqdlz7NixNRsPHDhQ3xQmLS0tEUAXFxcLoIFm0bD4OBaLCaCBZtew50+bNm0SAXR5eXl9z1CvADqpfnUBAADHq5ycnBBCzU2ZEy21BNAFBQXLli177733ah46++yzQwhLlixpykIBAPjaEEADAEAr0bVr1xDC+vXrq7UnWk466aSvGhiPx6dOnfrAAw9UVFRUO3To0KGmLhMAgK+RlrcFx6effnrHHXeceeaZv/rVr6Kea/fu3XPnzv3ggw8KCgqys7MHDRo0duzYrKysqn3mzJkzZ86cIw5/9NFHu3XrFnWRAACQMHz48P/4j/945513rrnmmuTk5ERjSUnJ6tWrY7HYsGHDvmpgZmZm586d9+zZ88EHH3zzm9+seiixLNqPtQAANEwLWwFdWFh4//33Hz58+BjMtWnTpokTJ7722mtffvll+/bt8/LyFi5cOHHixN27d1fttmPHjmNQDAAAHFXfvn179uy5a9euxx57LLGWuays7IEHHigqKho8eHCXLl0qey5YsGD+/PkbNmyobLn44otDCI888si6desSuzCXlJTMnj377bffbtu27YgRI4751QAA0Bq0pBXQiS8G5uXlHZu5ZsyYUVxcPGjQoAkTJmRnZ//Xf/3Xfffd99lnn82cOXPy5MmVPbdv3x5CmDp1as1VIWlpacegVAAASIjFYhMmTLjzzjsXL1781ltvnXLKKZs3by4pKcnOzr7++uur9vzDH/5QVlY2bty43r17J1ouvfTSVatWffzxx3fddVd6enqHDh3y8vLi8XibNm1++tOf5ubmNscFAQDQ4rWkAHrevHlr1qw57bTTtmzZcsQO+/btmzdv3qeffvrFF19kZWX169dv9OjRp512WgPm2rBhw8aNG3Nycu64445EjtylS5d77rln/Pjxq1at2rNnT+fOnUMI8Xh8x44dSUlJ3bt3T0lpSb+ZAAC0Sr169Zo+ffqcOXPWrl27YcOG7OzsYcOGjR07NjMzs/aBycnJ991336JFi958882dO3cWFBT06NHj9NNPHzNmTNWl0wAAUC8tJjP961//+vTTT/fr12/EiBFTpkyp2WHdunUPPPBAfn5+UlLSCSeckJeX9/rrr7/xxhu33HLL+eefX9/pEq/5Pu+886quYs7MzDzrrLNWrly5bNmyyy+/PISwf//+oqKik08+WfoMAMBxIjc3d9KkSbX3ef7552s2JiUljRgxwm4bAAA0oZYRm+7du/fBBx/s2LHj7bff/uGHH9bscOjQoSlTpuTn548aNerKK69s27ZtSUnJM88889xzzz300EO9e/c+4ncGx4wZM2TIkFtuuaXmocTGGgMGDKjWPnDgwJUrV27btq1qt27duq1atWrZsmW7d+/u1KlT9+7dL7roouzs7EZeNQAAAABAi9YCAujDhw8/8MADBQUFv/71r78q1X355Zf37dt3/vnnX3fddYmWtLS0cePG5efnL1269IUXXrjxxhvrNemXX34ZQqj5RcVES+Jo+J83EK5Zs+bdd9+t7LNixYr58+ffeOONX7XyeujQoQUFBdUaJ0+ePGrUqDqW16ZNm8QeIHVRUsd+wJHU/V6r1KlTpygqOd404HemJUpNTf06XGmHDh06dOjQ3FUcCxkZGRkZGbX3Sby3DQAAgCbRAgLoWbNmffTRR9dcc03//v2/qs+aNWtCCCNHjqzWfuGFFy5dunTdunX1nTQRMdf823jHjh1DjQC6oqLimmuuGTJkSKdOnbZt2zZv3rz33ntv2rRpPXv2PPnkk+s7NQAAAABA63C8B9ArVqx46aWXvvnNbyb2XP4qiSB48eLFr7/+etX20tLSEMKePXsaNnssFqvWEo/HQwjl5eWJX/br169jx459+/Y944wzEi19+vS5++6777nnnrVr1z711FO33357zdN27dq1ZrTdrl27w4cPH7Wk5OTkRBnWZ8GxUZcbMyEpKSnx0Kj7kBYqKSkpfA1WiX59nrfJyckVFRWJP+Baq1gsVvn/7VGvNB6PJzoDAADQeMd1AL1r166HH364c+fOt9xyS80suFJZWVliR4vXXnvtiB0OHTpUUVGRlJS0fv36N954o7K9tLT0k08+efTRRytbxo0bl/hmbk5Ozo4dOwoLC6ud6sCBA6HK9+sHDRo0aNCgan1isdioUaPWrl372WefHbGe2bNn12w8cODAvn37vuoaE5KTkxObkFRecl18Lb5TDZE56o1ZKSsrK/E+0vz8/Nad5WVmZsbj8bo/hVqipKSknJycEEJ5efn+/fubu5wIxWKxTp06HTx4sKSkNe/YlJ6e3r59+xBCUVHRoUOHjtr/67DvCgAAwLFxXAfQGzZsKCoqSk5OrrqOuKioKITw0Ucf3XDDDSGEn//856eddlqHDh0KCwufeeaZ9PT0Wk74xRdfLFq0qGrLzp07d+7cWfnLMWPGVA2ga8YriZajbvCa2HkjLy8vHo/XEp0DAAAAALRix3UAnVBYWFhzJXJpaen27dtDCGVlZSGE3NzcwsLCrVu39unTp2q3srKy/fv3p6amJl4eePHFF1988cWVR8eMGTNkyJBbbrml5qRdu3Zdt27d+vXrzz777Krt69evDyGcdNJJIYTi4uIlS5YkJyePGDGiWsqcWDLZrVs36TMAAAAA8LV1XAfQ559//vnnn1+t8e23377//vsHDhz4q1/9qrKxf//+GzZseOWVV6oF0M8999ycOXMuvfTSH/7wh/Waevjw4f/xH//xzjvvXHPNNYltQEMIJSUlq1evjsViw4YNCyG0bdt24cKF27dvP/HEE6ttxLF8+fIQQu/eves1KQAAAABAa9JK3rFz2WWXtWvX7i9/+cvTTz+dWBMdj8fffPPNZ599Njk5efjw4fU9Yd++fXv27Llr167HHnss8fqpsrKyBx54oKioaPDgwV26dAkhxGKxxHrqadOmrV27NrHla2lp6bx58xYsWJCenn7llVc28XUCAAAAALQcx/UK6Lrr0KHDzTff/NBDD82dO/e5557Lzc0tKCgoKCiIxWKTJk3q1q1bfU8Yi8UmTJhw5513Ll68+K233jrllFM2b95cUlKSnZ19/fXXV3YbOXLkRx999Pbbb//yl7/MyMho165dYt/ndu3a3XTTTV5hBAAAAAB8nbWSADqEMGTIkIcffnjevHkbN27cvn17Tk7OwIEDx4wZc9ppp33VkHnz5tVywl69ek2fPn3OnDlr167dsGFDdnb2sGHDxo4dm9hOOiEWi912223nnnvuq6++umPHjv379/fq1at3795XXHFFTk5OU14eAAAAAEBL0/IC6PPOO2/+/PlHPJSbmztx4sQmnCs3N3fSpEm190lKSjriXtUAAAAAAF9zrWQPaAAAAAAAjjcCaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAA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AAAAAIAW6nh/CeEXX3wRQujfv3/VxrS0tJNPPjn8z+rjhHXr1t10002vvPLKxo0bs7Ky8vLyXn/99Ztvvnn58uUNmDcRfJ933nlVVzFnZmaeddZZ8Xh82bJliZb9+/cXFRWddNJJ0mcAAAAAgGqO99j02muvLSsr69OnT9XGw4cP5+XlhRAq30N46NChKVOm5Ofnjxo16sorr2zbtm1JSckzzzzz3HPPPfTQQ717987Nza158jFjxgwZMuSWW26peSgRbQ8YMKBa+8CBA1euXLlt27aq3bp167Zq1aply5bt3r27U6dO3bt3v+iii7Kzs7/qot5///3y8vJqjbm5uZmZmbX+ZoSkpKTKD6mpqbV3BppE3e+1WCxWOSQej0dWUfOLxWKxWKx1P4Uqn7et/koT/98mJye37sus/A/a6q8UAADgeHO8B9BV1z6Xl5cfPHhw27ZtL7300r59+/r379+7d+/EoZdffnnfvn3nn3/+ddddl2hJS0sbN25cfn7+0qVLX3jhhRtvvLFe83755ZchhJqJcKIlcTT8zxsI16xZ8+6771b2WbFixfz582+88cbzzz//iCe/9dZbCwoKqjVOnjx51KhRdSwvJSXlqGl1pZI69gOOpO73WqWOHTtGUcnxpgG/My1RvZ63LVe7du2au4RjJD09PT09vfY+FRUVx6YYAACAr4PjPYCu6uabb07syBFCuPDCC8ePH1+53nDNmjUhhJEjR1YbcuGFFy5dunTdunX1nSsRMXfo0KFaeyJXqhZAV1RUXHPNNUOGDOnUqdO2bdvmzZv33nvvTZs2rWfPnomtQgCOqOSOic1dArRsafdPb+4SAAAAqE1LCqB79+7dpUuX0047bceOHcuXL+/evfsll1ySOJQIghcvXvz6669XHVJaWhpC2LNnT8NmrAy4KyW+Vl+5gUa/fv06duzYt2/fM844I9HSp0+fu++++5577lm7du1TTz11++231zztd7/73UOHDlVrPOWUU2o21qwnsSd1RUVF4tLqdBV17AccyVFvzEpt2rRJfM2/pKSkjltwuD2hkep4h1buvFFWVnb48OHaO8fj8aOukgYAAKCOWlIAfdNNN1V+nj59+uOPP56Tk3POOeeUlZUldrR47bXXjjjw0KFDFRUVSUlJ69evf+ONNyrbS0tLP/nkk0cffbSyZdy4cRkZGSGEnJyc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bteuXb9+/S6//PJ33nmnSeaNx+Nz58696KKLunTpkpaW1r179x//+MeffPJJLUMKCwvvu+++IUOG5OTkZGRkDBgw4Cc/+UntQ2pOunz58jFjxvTv3z8rKysjI+Pv/u7vRo4c+fLLLx8+fDjR57XXXktsij137twjnuSb3/xmLBb7u7/7u3g8XvepAQCA6FgBDQDQwrzzzjvf/e53E4ujEz788MMPP/zw+eefv/XWW6dMmdKYkx84cODyyy9fvHhxZcuWLVtmzpz5pz/9ac6cOUccsnr16u9973s7d+6sbPnb3/72t7/97Yknnvjtb397++23x2Kx2ictLS39wQ9+8OKLL1Zt/Pjjjz/++OMFCxZcfPHF8+fPT0lJueCCCzp16rR3794XXnjhBz/4QbWTbNiw4f333w8hXH311UedEQAAODYE0AAALcnu3bsvvfTSffv2tW3b9rrrrjvvvPPatWv34YcfzpgxY9euXQ8++ODQoUMvvvjihp08Ho9fddVVifQ5Ozv7yiuvPPvss3fu3Pnqq68uX7587NixlYuRK23cuHHo0KGFhYUhhMsvv3zYsGFZWVkrV66cOXNmUVHRz3/+86SkpNtuu632eadOnZpIn3v16vXjH//49NNPDyF88skn//7v/75x48aFCxfOmDFj0qRJKSkp3//+95988slXX321uLg4PT296kmeeeaZxIcrr7yyYZcPAAA0OQE0AEBLsnDhwt27d4cQnnvuuUsuuSTROGrUqMsvv7xfv37l5eXPP/98gwPo+fPnz58/P4Rwxhln/PnPf+7Zs2ei/fbbb7/rrrvuv//+mkN+8pOfFBYWJiUlzZs377LLLks0/uAHP7jhhhtGjBixadOm//N//s/YsWO7detWy7wvvfRSCKF3796rVq3KzMysbL/hhhsGDBiwdevWZcuWTZo0KYRw2WWXPfnkkwcPHly6dOnIkSOrniSxL8e5557bo0ePhl0+AADQ5ATQx4vU1NTU1NTa+1R+mTQlJaVDhw7RFwWEut9rSUn/vat+RkZGZOUA/5863qGVb/Br27btUf+0Pf73Dk7sMpGamlotZe7Tp88NN9zwxRdfdOrUqcEn/93vfpf48Mc//rEyfQ4hJCUl/fa3v126dOmaNWuq9l+3bt3SpUtDCBMmTKhMnxP69u07c+bMYcOGFRUVPfHEE/fee+9XTVpaWrp58+bMzMzrr7++avocQsjKyho6dOisWbM2btyYaBk+fHhmZub+/ftffPHFqgH0unXr1q9fH0K46qqrGnbtAABAFATQx4vEG3WO2qfyQ2XUdVQVjaoLvu7qfq9V3qFuTzhm6ni71esP0IqK4/3WTOTLZWVlzz777BVXXFH10PTp0xt58kS6/b//9/8+++yzqx2KxWK33XZbtZ2X//znPyc+3HLLLTXPNnTo0H79+q1fv772tyO2adMmsab7iPbv31+t88iRI2fPnv3yyy+Xl5enpPz3T7OJ5c8pKSljxoypZS4AAOAYE0AfL0pLSw8dOlR7n+Tk5Ozs7BBCWVlZQUFBHc9spTQ0RrXgoxZZWVmJHKSgoKCOKyjdntBIdbxD09PT27dvH0IoLi4+6p+2IYS0tLTGVhalUaNG/frXvy4vL//BD35w3333jR8//qKLLurVq1fjX7u3f//+vLy8EMLgwYOP2KFm+6pVq0IIXbt2PfXUU484ZMCAAevXr1+3bl29KikpKdm8efPKlSsXL16c2J2jqssuu2z27Nlffvnl8uXL/+Ef/iGEEI/HEwH0RRdd1Llz53rNBQAAREoADQDQkgwcOPCPf/zjP/3TP+Xn569du3bChAkhhBNPPHH48OGXXXbZiBEjGhygf/bZZ4kPVTffqOqUU05JTk6u+h7CxMrlHTt21B5/J15RWLtdu3Y9/fTTS5Ys+eSTT7Zs2VLLUvQLL7ywffv2Bw8efOGFFxIB9Jo1axJ7dNh/AwAAjjd1/Z44AADHiauuuurTTz+dMmXKt7/97cSmIrt3737qqacuvfTSgQMHvvfeew07bdVk+YhisVjlhtoJBw8erMuZi4qKaj/5n/70p9NPP/1nP/vZokWLNm/enJWVdd5551133XUzZ86suaVGenp64u2LL774YiKnTix/zsjI+N73vleXegAAgGNGAA0A0PKccMIJt9566/Lly/fu3fvKK6/ceuutJ554Ygjhk08+GTVq1L59+xpwzpycnMSHzZs3H7HDjh07SktLq7Yk3hn493//9/GjqZZcV/Xee+9de+21Bw8ePOWUUx555JFNmzbt2bPnrbfe+vd///cf/ehHif3Hqkm88HD79u2rV6+uqKh45plnQgijR49u165dAy4cAACIjgAaAKDFiMfj+fn5+fn5RUVFiZasrKwRI0ZMmTJl69atd911Vwhh586db7zxRgNO3qNHj4yMjPA/OzvX9MEHH1Rr6dOnTwjhww8/LC8vb8CMCY8//ng8Hk9NTX3zzTdvvPHGHj16VN3QIz8/v+aQESNGtG3bNoTw4osvvvPOO9u2bQv23wAAgOOSABoAoCXp27dvdnb2qFGjqrWnpqaOGzcu8XnPnj0NOHNycnJiS+VFixatWbOm2tF4PD5lypRqjcOGDQshlJSUPPfcczVPeODAgYEDB3bv3v03v/lNLfNu2rQphNC7d+/u3btXO1RWVrZs2bKaQzIyMi688MIQwgsvvDBnzpwQQpcuXRLFAAAAxxUBNABAixGLxc4666wQwrJly/72t79VO1qZAg8ePLhh57/hhhsSH374wx9+/vnnle3xePw3v/nNW2+9Va3/6NGjc3NzQwgTJ078+OOPqx6qqKi45ZZb/vM//3PLli21b83co0ePEMKWLVsKCgqqth8+fHj8+PGJ9xwePHgwHo9XPXr55ZeHED799NM//vGPIYSxY8empHi9NgAAHHf8mA4A0JKMGzdu0aJFZWVlQ4cOvfHGG//+7/8+PT19x44df/7zn1988cUQwpAhQ/r169ewk1900UWXXnrpCy+8sG7dukGDBl1zzTWDBg3Ky8t79dVXlyxZkpaW1rNnz48++qiyf1pa2uOPP/79738/Ly9vwIABP/7xjwcPHnzCCSd8/vnns2bNevfdd0MIN91005lnnlnLpMOHD//DH/5w8ODBCy+88I477ujVq9e+ffv++te/zpgxY8OGDe3btz948ODnn3/+i1/84nvf+15ltv7d7343NTW1rKwssRuJ/TcAAOD4JIAGAGhJxo4du3z58t/97nd79uy59957qx0988wzX3755Vre+Fe7WCz2f//v/z148ODixYv37t07bdq0ykNt27adPXv2s88+WzWADiF873vfmzVr1o9//OOSkpJHHnnkkUceqXr0H//xH6dOnXrUK3rppZeeffbZlStXjh49uuqhG2644brrrjv33HPLysr+5V/+Zd26dS+99FLiUFZW1vDhwxcuXBhC6N2796BBgxp2yQAAQKQE0AAALcyjjz569dVXT5s27eOPP966dWtZWdmpp57aq1evH/7wh6NGjWpw+pzQvn37hQsXzp07d9asWe+//35+fv4JJ5wwfPjw22+/vV+/fgcOHMjNzT3nnHOqDhk3btz/+l//a/r06YsWLdqyZUsI4fTTTx8wYMDPfvazAQMGHHXGWCw2d+7c0aNHP/744xs2bNi7d2/Xrl2HDh36k5/8JBErL1269OGHHy4rK7vkkkuqDrzssssSAfRVV11V9b2FAADA8UMADQBw/Dpw4MAR288999xzzz03okljsdjYsWPHjh1b89C111577bXX1mw/9dRTH3zwwQcffLD2M6ekpFTbyjkhKSnpq2YMIXznO9/5zne+U7O9cs/oK6+8svZ5AQCA5uIlhAAAtEizZs0KIQwePLh3797NXQsAAHBkAmgAAFqeFStW/PWvfw0hXH311c1dCwAA8JVswQEA0Ar9+c9//uSTT+o1JC0tbcKECRHV01Ty8/OTkpI+//zzG2+8MYTQvn37r9q4AwAAOB4IoAEAWqGnnnrqmWeeqdeQzMzM4z+Anj17dtUib7nlls6dOzdjPQAAQO0auwXHtGnTpk2bdtRuO3bsmDZt2uzZsxs5HQAAdTF37tx4PeXn5zd31fUzfvz4e+65p7mrAAAAatPYFdCTJk0KIdx88821d9uzZ8+kSZNOPvlkm/QBANBg48eP79+//9atW88666wzzjijucsBAACO4lhswVFRUbF8+fIQQl5e3jGYDgCA1io9Pf2CCy5o7ioAAIC6akgAXXOjvdq33isuLi4qKgohdO3atQHTAQAAAADQEjUkgN67d+9RW47oJz/5SQOmAwAAAACgJWpIAH333XdXfv6Xf/mXai1HniYlZdCgQZdcckkDpgMAAAAAoCVqSAD961//uvJzIoCu2gIAAAAAAKHxLyH8x3/8xyapAwCAauLxeEVFRfPWkJyc3LwFAAAALVpjA+jHHnusSeoAAKCaw4cPH777lmYsoOwXv8nIyGjGAlq3goKCp59++vXXX//P//zPffv2lZeX5+TknHnmmcOGDbvmmmsyMzObu0AAAGgCjQ2gEyoqKjZt2rRx48Z4PF5Lt4yMjG9/+9tNMiMAALRcTz755KRJkwoKCqo2fvnll5999tlLL7101113TZs27brrrmuu8gAAoKk0QQC9fPnyq6+++osvvjhqz+7du2/evLnxMwIAQMs1ZcqU22+/PfE5IyPj9NNP7969e0pKyubNmz/99NPCwsLCwsLx48fv379/0qRJzVsqAAA0UmMD6E2bNg0bNqysrKwunffs2dPI6QAAoEX78MMPf/7zn4cQOnfufPfdd19//fXt27evPFpcXDxz5sxf/epXe/bsuf3220eMGNG3b9/mKxYAABqrsQH0vffeW1ZWlpGRcffdd3/nO9/JyclpkrIAAKBVmjFjRkVFRZs2bRYsWPCtb32r2tH09PSJEycOHjz4ggsuKC0tnTFjxr/92781S50AANAkGhtAv/vuuyGEl19+eejQoU1RDwAAtGavvfZaCGH8+PE10+dKQ4YM+dGPfvToo48uXbr0GJYGAABNL6mR4zdv3ty3b1/pMwAA1MX27dtDCLWkzwnnnHNOCGHbtm3HoiYAAIhMYwPorKyszp07N0kpAADQ6sXj8RBCLBare2cAAGi5GhtADx48eO3ateXl5U1SDQAAtG4nn3xyCGHFihW1d0vsdNetW7djURMAAESmsQH0z372s6Kiovvvv79JqgEAgNZt2LBhIYQnn3wyETEf0erVq2fOnBlCsNMdAAAtXWMD6AsuuOCBBx74xS9+cc899+zfv79JagIAgNZq4sSJSUlJpaWl3/3udx955JHi4uKqR0tKSh577LFLLrmkpKQkKSlpwoQJzVUnAAA0iZRGjl+wYME3vvGN8ePH33vvvdOnTz/vvPN69ux5wgknfNWudpMnT27kjAAA0HKdccYZ999//2233bZnz55/+qd/mjx5ct++fbt37x5C2LJlyyeffLJv375Ez9/+9rdnnHFGc9YKAACN1tgAeuTIkZWf8/PzX3nlldr7C6ABAPiau/XWW3Nycm6++ebCwsL8/Px333232nYc7du3f+ihh370ox81V4UAANBUGhtAt2/fvknqAACAr4/rrrvu0ksvfeqpp1577bW//e1v+/bti8fjOTk5Z5555tChQ6+++urs7OzmrhEAAJpAYwPoAwcONEkdAADwtZKVlfXTn/70pz/9aXMXAgAAEWrsSwgBAAAAAOCIBNAAAAAAAESisVtwfP7553Xv3LFjx5ycnEbOCABAs5s9e/Y111yTeFHeP//zPz/77LO7du069dRTR44ceffdd1f7ke8vf/nLzJkz//rXv27ZsuWMM84466yzbr755m984xvNVfyxN2jQoMSHv/zlLw8//HC9xnqJNwAALVpjA+gePXrUvfNNN900bdq0Rs4IAMBxoqio6IILLkhOTr7++uuTkpKefPLJqVOnrlix4o033khNTU30+dd//ddbb701hJCSktKtW7fVq1evWrVq1qxZL7300oUXXtis5R87a9asSXw4fPjwL37xi3qNFUADANCi2YIDAID/x969x1lV1/vj/+w9d4ZhLhAOCmkg4C3pGCrlwUgopdRQEwMLC6XjMUEwxfxqUp1TduQ8wqQUxdTsGJdIxOSAKYriBROSU6DJRRK5CsIww2Xu+/fHPs1vzozC3NYMMzyff+392Z+1Pu8Fs9Ze85q1PquJpk6d2r9//5dffvm222679dZbV6xY0aNHj1dfffXll19OdtiwYcP3vve9EMIPf/jD4uLijRs37t69e9SoUaWlpd/+9rfLysratPy2kd1IbV0vAAA0S3OvgJ4/f/6HtldVVb333ntvv/327Nmzi4qKvvjFLz744IP5+fnNHA4AgCNHWVnZtGnTai52zs3N/dKXvvSrX/3qrbfeGjJkSAhhypQplZWV11xzzR133JHsk5eX99hjj7311lurVq2aOXPm9ddf31bFt6bnn38++aJz58779u1r22IAAKA1NTeAHjFixKE7/PSnP73pppsefPDBb3/72wsXLmzmcAAAHDnOPvvsY445pnZLt27dQghVVVXJty+88EIIYeLEibX7xGKx8ePHX3311UuXLj1KAuhkHA8AAEehyKfgyM3Nve+++4YMGbJ48eJf/epXUQ8HAECrOeGEEw7xaWlp6ZYtW1JSUvr371/no9NOOy2E8M4770RX2xHr7rvvbshjUbZu3Xr33Xf/13/9VyuUBAAA0WmNOaBTU1PHjh0bQnjkkUdaYTgAAFrHoWco3r59eyKR6NatW2pq3bvuevToEUJ47733IizuSDVp0qRJkyYdttuuXbsmTZqUnEEbAADar1Z6CGHyIpe//e1vrTMcAABtrrCwMBaL7dq1q7Kyss5H77//frJDW9TVDlRXVy9btiyEsHPnzrauBQAAmqW5c0A30LvvvhtCODofdA4AcHTKzMw87rjjNm/evHbt2lNOOaX2R2vWrAkh9O3bt41Ka23JqbEP3VLbwYMHDxw4EEI49thjIywLAACi1xoBdHl5+V133RVC6NevXysMBwDAEeLcc8/97W9/+/Of//z++++vaUwkEvfcc08IYfDgwW1XWqv64IMPDtvyoa699toIygEAgNbT3AB63rx5h/g0kUhs2rTp0Ucf/ctf/hJCGDZsWDOHAwCgHfnBD34wd+7cmTNn9u7de9KkSenp6SUlJd/5zndWrlzZq1evoyddve2222pe//jHP67T8qFSU1MHDhz45S9/OdrKAAAgYs0NoC+//PIG9vzYxz7mISoAAEeVvn37/uQnP5k8efL3vve9KVOmfPzjH9+wYUN1dXW3bt0eeeSRrKysti6wlfz7v/97zetkAF27BQAAOrDWmIKjc+fOn/vc5+67776CgoJWGA4AgLaSnp5+2mmnnXDCCTUtN9988xlnnPHggw/+z//8z6ZNmz71qU+deeaZU6ZM6dGjR9uV2Zb+5V/+pa1LAACA1tPcAHrbtm2H7hCLxT72sY/F4/FmDgQAwJHj61//+te//vX67T/60Y9+9KMf1WkcOnTo0KFDW6WudmDGjBkN6fanP/3pJz/5yYUXXnjNNddEXRIAAESnuQF0YWFhi9QBAAAkJRKJBQsWLFiwoLq6WgANAEC71hpTcAAAADUqKyunT5++dOnSDRs2fGiH/fv3//3vfw8hpKent2plAADQ0losgC4uLv7tb3/73HPP/eUvf9mzZ09lZWVBQcFpp502dOjQb3zjG7m5uS01EAAAtF9VVVUXX3zxokWLDtszPT39hhtuaIWSAAAgOi0TQD/00EOTJk0qLi6u3bh79+7169c/8cQT/+///b+777577NixLTIWAAC0X08++WQyff74xz/++c9/fu/evU888UQIYeTIkfn5+UVFRc8///z777+fnZ39wgsvfPrTn27regEAoFlaIICeOnXq5MmTk687d+584oknnnDCCampqRs3bly7dm1JSUlJScnVV1+9d+/eSZMmNX84AABovx588MEQQp8+fVasWJGXlxdC+NrXvjZnzpwvfvGLV199dQihoqJi7Nix//Vf//XQQw8JoAEAaO/izVz+zTff/N73vhdC6Nat27Rp07Zv3/7GG2/Mnz//d7/73YoVK3bs2PHzn/+8W7duIYTJkye//fbbLVAyAAC0W+vXrw8hXHPNNcn0OYRw/vnnhxBeffXV5Nu0tLRHHnnkxBNPvPfee1esWNFWdQIAQItobgA9ffr06urq9PT0p556auLEidnZ2bU/zcrKmjBhwh/+8If09PTks1aaORwAALRrmzdvDiH079+/pmXQoEEhhNrXaqSkpIwfPz6E8MADD7R6gQAA0JKaG0AvWbIkhHD11VefffbZH9Vn0KBB11xzTQjh2WefbeZwAADQrqWm1p0Er3fv3vF4/M0330wkEjWNAwYMCP842QYAgParuXNAb9myJYRwiPQ56TOf+cy9996bvNyjCd57773Zs2e/++6727dv79q16wknnHDJJZecdNJJTVtbw+3YsWP27NlvvPFGcXFxfn7+wIEDR40aVXOzZNKsWbNmzZr1oYvfe++9PXv2jLpIAADakZ49e7755pvJiTiSMjIyPv7xj//973/ftGnT8ccfn2zMz88P/zjZBgCA9qu5AXTyMo1YLNbwzo313HPPTZ8+vaqqKiUl5WMf+9gHH3ywbdu2V1999bLLLrvqqquaIEtq1gAAIABJREFUsMIGeuedd2699daDBw+GEHJzc3fu3Llo0aJXX3116tSpxxxzTE23rVu3RlcDAAAdzCmnnPLmm28+8MAD3/72t3Nzc5ONJ5100t///vdFixZde+21yZZkQp18mEq7k5GR0blz56Yt27Vr15YtBqCBmnnITU1NbacHbaADaObxJysrKysrq6WKqa+5AfRxxx23fv36V199dcyYMYfo9tprr4UQmnA58O7dux944IGqqqpLL730yiuvTEtLq6qq+uMf//jAAw/8/ve/79ev32c+85mmV//REonE9OnTDx48OHDgwPHjx+fn57///vs//elP169fP3PmzNtvv72mZ/KylJ/97Gf1ty4jIyOK2gAAaL/Gjx8/b9689evXn3nmmePGjbv55ptDCMOGDVu8ePGdd945fPjw448/fu/evXfddVcIoV+/fm1db1NUVlaWlZU1apGsrKyUlJQQwv79+5t22QpAM+3bt69pCyb/5FZdXX3gwIEWrQigoZp2BEtNTc3MzAwhVFRUNPbkrVFXGzQ3gB46dOj69esfeuihb37zmx81EceKFStmzpwZQjjvvPMau/4lS5YcOHDg1FNPveqqq5LXWaekpAwfPryoqGjWrFmLFy+uHUDv2bNn7ty5a9eu3bRpU15e3qmnnnrJJZfU3MbYKOvWrduwYUNBQcEtt9ySzJG7d+8+ZcqUq6+++vXXX9+1a1fyDwuJRGLr1q3xePyEE06oP50fAEAzVd5xZxuOHm/YXW40yuDBg6+66qpf//rX69at+/GPf5wMoEePHj1lypRNmzb17du3b9++77777v79+0MINRdEty9VVVWlpaWNWiT5y08IobS0VAANtInGHriSYrFYTQDdtDUANF/Tjj/p6enJc7DKysrGrqFRAXRzH0I4YcKEeDxeXl5+4YUX/vKXv0xOWFGjrKxsxowZX/7yl8vKyuLxePJZ3o3y7rvvhhDOOeecOrN8nHXWWeEfdyYmrV69+oYbbli4cOGGDRvy8vJ27tz53HPPTZw4cdmyZU3YrmeeeSY5bu2rmHNzc88444xEIrF06dJky969ew8cONCjRw/pMwDQ4lJTU7PbVKdOndr636ADisViDz/88PTp088+++yaU80ePXr88pe/jMViFRUVb775ZjJ9vuKKK7761a+2abEAANBczY1NTznllP/4j/+4+eabd+3adf31199+++39+/c/4YQTQgjvvvvu22+/vWfPnmTPO++885RTTmns+vv06ZOTk3P66afXaU9eWJ6dnZ18W1paOnXq1KKiohEjRowePTozM7OsrGzOnDnz5s2bNm1a3759CwsL66985MiRgwYNuvHGG+t/lJxYo/64AwYMWL58ec3TFJPdevbs+frrry9dunTHjh3JZyRecMEFyefGAABAHbFY7Prrr7/++uvLy8trGq+66qqTTz55xowZGzdu/MQnPjFs2LBRo0Y18FErAABwxGqB63ZvuummgoKCiRMnlpSUFBUVvfbaa8kZn2tkZ2dPmzbtmmuuacLKL7nkkvqN5eXlc+fODSGceeaZyZYFCxbs2bNn8ODBY8eOTbZkZGSMGTOmqKjo2Wefffzxx6+77rpGjbt79+4QQs1jYWokW5Kfhn88gXDlypW1N/nVV1998sknr7vuusGDB3/oymfOnFn/svZzzz33sHP81fwGkpKSUhO+A5Fq+L4Wj8drFnHvMLSOBu6hNTcqZWRkJCeZPYQjav9NJBLV1dVtWEAsFqs5uBGF9PT02m/POuus5H1+AADQYbTMxBFjx4699NJLH3vssSVLlvz1r3/ds2dPIpEoKCg47bTTzjvvvK9//esteDnwBx988JOf/GTdunXdunUbOXJksnHlypUhhIsuuqhO5/PPP//ZZ59dvXp1Y0dJRsw5OTl12rt06RLqBdDV1dXf+MY3Bg0a1LVr182bN8+dO/dPf/rT3Xff3bt37+OOO67+ymfNmlVcXFynsVevXgMGDGhgeSkpKQ1/NmXjphAH/q8mPAe2ZhbLw7J7QjM1dg9NS0tLS0s7dJ+2DXzrqKqqSnvptcP3i0zJwAGNmtyNw1q7du1zzz0XQrjwwgub8IBuAABod1ps5uK8vLzvfOc73/nOd1pqhfUdPHhwwYIFjz/+eGlp6cc//vHbbrut5grlZBD89NNPJ0/oayTvaty1a1fTRqx/z2PyqqjKysrk21NPPbVLly79+/evmV2kX79+t91225QpU1atWvXYY49Nnjy5aUMDANDxLFmyJHlnXmZm5je/+c22LgcAACLXPh6dl0gkXnnllfvvv7+oqKhTp05jxowZMWJEze20FRUVyQuKlyxZ8qGLl5aWVldXx+PxNWvWvPDCCzXt5eXlb7/99r333lvTMmbMmORlPgUFBVu3bi0pKamzquTc0127dk2+HThw4MCBA+v0icViI0aMWLVqVe1nJNY2ZcqUioqKOo2f+MQn6g9XRzweT95rXFlZWed5j4eQfvguwEc67I5Zo1OnTslb+/ft29fAW/jtntBMDdxD09PTk496Ky0trf8VXEcikUje8ARROOmkk5Iv3nrrrbatBAAAWkfLBNBVVVVPPfXUCy+80Ldv33/913+tab/++us3bdp0/vnnjxs3rs4Mdw1XXl7+n//5n8uXL09JSfnqV796ySWX1JkZIy0tLScnp6SkZM6cOYe+FXfTpk2LFy+u3bJt27Zt27bVvB05cmTtALr+RBnJlpoA+qMkZ97YuXNnIpGofxn15z73ufqL7Nu3r/7E0HXUTP1cXV1dVtbQe/clXNAcDd/Xao4/ZWVlAmhoHQ3cQ+PxeDKArqysbPhODVEYMmTIkCFDli5d+uijj06ePPmwZ5UAANDetUAAvXnz5iuvvPLFF18MIXz3u9+t/VFRUdEf/vCHP/zhD4888sjs2bP79OnT2JVXVVXdeeedK1eu7Nmz50033dS7d+8P7VZYWFhSUvLee+/VeY5fRUXF3r1709LSkpN1DB8+fPjw4TWfjhw5ctCgQTfeeGP9FR577LGrV69es2ZNzXMOk9asWRNC6NGjRwjh4MGDzzzzTEpKype+9KU6KfOePXtCCD179vTgcgAAasRisSeeeGLEiBFLly4dPXr0fffd91HntwAA0DE0N4CuqKgYNmzY22+/HULIyck58cQTa386bNiwP//5z2+99daKFSsuueSSP//5zzXzZjTQ0qVLV65cedJJJ/3bv/1b8tqlD/XJT35y3bp1CxcurBNAz5s3b9asWZdeemljp9gbNmzYH//4x1deeeUb3/hG8p76EEJZWdmKFStisdjQoUNDCJmZmYsWLdqyZcsxxxxTZyKOZcuWhRD69u3bqEEBAOjwXn311ZtuuiktLe2Pf/xjv379hg4devzxxxcWFn7U/YK33357K1cIAAAtqLkB9IwZM5Lp83e/+90f//jHdTLib37zm1ddddWDDz74L//yL3/9619nzpxZe4KOhli4cGEI4YorrojFYsknCtYWi8WSz7K/7LLLFi9e/Pzzzx9zzDGXX355WlpaIpFYtmzZ7373u5SUlGHDhjV2u/r379+7d+933nlnxowZ//qv/xqPxysqKu66664DBw6cffbZ3bt3T44+fPjwBx988O67777pppsGDBiQLPKJJ5546qmnsrKyRo8e3dhxAQDo2GrfkFdVVfXHP/7x0P0F0AAAtGvNDaAff/zxEMIXv/jFqVOnfuh0E7FYbNy4cS+99NKjjz76hz/8oVEBdFVV1TvvvBNC+OEPf/ihHQoLCx944IEQQk5OzsSJE6dNmzZ79ux58+YVFhYWFxcXFxfHYrFJkyb17NmzsdsVi8XGjx9/6623Pv300y+99FKvXr02btxYVlaWn58/bty4mm4XXXTRW2+99fLLL99xxx2dO3fu1KlTct7nTp063XDDDd26dWvsuAAAdGzJR3oAAMBRorkB9Lp160III0eOPPRkx1/84hcfffTRxj7se+fOndXV1Q3sPGjQoJ///Odz587dsGHDli1bCgoKBgwYMHLkyOOPP/6jFpk7d+4hVtinT5977rln1qxZq1atWrduXX5+/tChQ0eNGpWcTjopFovdfPPNn/3sZ//7v/9769ate/fu7dOnT9++fa+44oqCgoIGVg4AwNFj3759bV0CAAC0nuYG0Dt37gwh1M5kP1SnTp1CCNu2bWvUygsLC5988slG9Z8wYUKjhjjsCidNmnToPvF4fPDgwYMHD27BcQEAAAAAOoB4M5cvLCwMIaxcufLQ3ZIdklMnAwAAAABwNGhuAH3eeeeFEH79619v3rz5o/ps37794YcfDiGce+65zRwOAAAAAID2orkB9Pjx42Ox2LZt2y644ILnn38+kUjU6fDaa69deOGFW7duDSFce+21zRwOAAAAAID2orlzQJ9xxhk/+MEPpkyZsmbNmvPOO++0004bMGBAr169MjIyNm3a9Oabb7722mvJntdff/0///M/N7tgAAAAAADah+YG0CGE73//+3l5ebfccktpaenq1atXr15dp0MsFps8efKPf/zj5o8FAAAAAEB70dwpOEIIsVhswoQJGzZs+MEPfjBo0KD09PSa9pNPPnn8+PFr1qz56U9/mpKS0vyxAAAAAABoL1rgCuikY489dsqUKVOmTEkkEvv27auoqMjNzRU6AwAAAAActVrgCug6YrFYTk5OQUGB9BkAoEN65JFHYrHYhRdeWKd9+/btKSkpmZmZe/furWm5/vrrzzrrrOzs7N69e1911VV//etf6yy1c+fOyZMnDxgwoHPnzoWFheeee+7vf//7+o+2BgAA2qOWD6ABAOjYLr744tTU1GeeeaakpKR2+7x586qrqy+88MLc3NwQwgsvvPCpT33ql7/85Z///Odjjjlm06ZNjz766Kc//ek5c+bULLJ169bTTz996tSpf/vb33r06FFVVbVs2bKvfvWr//Ef/9HaWwUAAERAAA0AQOMUFBR8/vOfLy8vX7RoUe322bNnhxCuvPLKEML+/fu/9rWv7dix47vf/e7evXvfeeed4uLiW2+9taKiYsyYMRs2bEguctttt23fvv0rX/nKtm3b1q1b9/777//qV78KIXz/+98/ePBgq28ZAADQwgTQAAA02mWXXRZCmD9/fk3Le++99/LLL+fm5g4fPjyE8LOf/Wz79u1f+9rX/vM//zM7OzuE0KlTp5/85Cff+ta3ysvLp06dmlxq+fLlIYTbbrutoKAghBCLxcaOHXvxxRd/+tOffu+991p/uwAAgJYlgAYAoNFGjBgRi8UWLlxYVlaWbJk7d24I4atf/WpmZmYIYfHixSGE8ePH11nw29/+dgjhhRdeSL5NZtPz5s2rWU8IYcGCBcuXL+/Xr1/kmwEAAEQsta0LAACg/TnmmGP++Z//edmyZc8///wFF1wQ/jH/xujRo5Md1q5dG0KYOXPmo48+WnvB5MQamzdvTr699tprx40bd9dddz300EOjRo36/Oc/f+6553bt2rU1twUAAIiOABoAgKa47LLLli1bNn/+/AsuuGDDhg0rVqw49thjP/e5z4UQysrKdu3aFUJ45JFHPnTZffv2VVVVpaSkXH311bm5uXfcccff/va36dOnT58+PSUlZciQIf/2b//2mc98pjU3BwAAiIIpOAAAaIpLL700hLBgwYKqqqo5c+aEEEaNGpWSkhJCyMjISM7pXFxcnPgIyZ6xWOzyyy9/66233nzzzWnTpl166aVpaWlLliw555xzXnzxxTbdPgAAoAUIoAEAaIpevXqdeeaZO3bsWL58eTKArpl/I4TQp0+fEMJbb71VZ6mysrLNmzfv3LkzhFBRUbF9+/bk65NPPnnixIm///3vt2zZcsUVVyQSiRkzZrTexgAAANEQQAMA0ESXXXZZCOHOO+/8y1/+0r9//3/6p3+q+WjIkCEhhF/84hd1Frnzzjt79eo1derUEMIHH3zQo0eP4447rqSkpKZDQUHBxRdfHELYv39/9FsAAABESwANAEATJQPohQsXhhCuvPLKWCxW89Ett9ySm5v7m9/8ZsqUKWVlZSGE6urqWbNm3XnnnWlpaWPHjg0hFBYW9urVq6Ki4nvf+15paWlywXfffXfatGkhhM9+9rOtv0UAAEDLEkADANBEJ5544umnn558XXv+jRBC165dH3nkkZycnB/96EddunQ5+eSTjznmmNGjR1dUVDz88MMnnXRSstv06dNDCPfee2/37t1PO+20Pn36fOITn1ixYsXZZ589YcKEVt4cAACgxQmgAQBouq985SshhEGDBiUnfa5txIgRq1at+ta3vnXyySe/++67ubm5X/va1/7yl79ceeWVtRd/6aWXLr744q5du65bt27//v1nn332L3/5y+effz4rK6tVtwQAAIhAalsXAABAO7Z+/fpQ7/LnGr17937ooYcOvYZzzjlnwYIFLV8ZAABwBHAFNAAATbR379758+enpKSMHDmyrWsBAACORK6ABgCg0SorK6uqqm677bbS0tKLLrromGOOaeuKAACAI5EAGgCARhs+fPiLL75YXl6elpY2ZcqUti4HAAA4QpmCAwCARuvfv39aWtqpp576xBNPfPrTn27rcgAAgCOUK6ABAGi0X/ziF7/4xS/augoAAOBI5wpoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAikdrWBQAA8OFSU1OrP/fZtq4CAACg6QTQAABHrlgs1tYlAAAANJ0pOAAAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASKS2dQH8r4yMjOzs7AZ2Tk9P79q1awM7lze1JCCE0PB9LRaLJV8UFBQ0cBG7JzRTw/fQpOzs7MN+21ZXVzejIgAAAP4PAfSRorKysrz8MGFULBbr1KlTCKGqqqq0tLSBa/Z/DM1x4MCBBvbMysqKx+MhhIMHDyYSiYYsYveEZmrgHpqWlpaenh5CqKioqKioOGz/hv9JGAAAgEOTfhwpGpIpp6Sk1ATQBw8ebOCac5pbGhzVGr6vZWRkNDaAtntCMzV8D00G0OXl5Q35C64AGgAAoKWYAxoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIRGpbFwAAALSkHTt2zJ49+4033iguLs7Pzx84cOCoUaPy8vIatZJFixbdd999999/f48ePSKqEwCAo4EroAEAoON45513JkyYsGTJkt27d2dnZ+/cuXPRokUTJkzYsWNHw1dSWVm5ePHi6IoEAODoIYAGAIAOIpFITJ8+/eDBgwMHDvz1r3/9m9/85sEHHzzxxBOLiopmzpzZkDVUVVWtXbv2zjvv3LhxY9TVAgBwNDAFBwAAdBDr1q3bsGFDQUHBLbfckpGREULo3r37lClTrr766tdff33Xrl3dunU7xOKPPvro/Pnzq6qqWqteAAA6PldAAwBAB/HMM8+EEM4555xk+pyUm5t7xhlnJBKJpUuXHnrx44477rzzzvvCF77whS98ITXVpSoAALQAp5UAANBBbNmyJYRw+umn12kfMGDA8uXLN2/efOjFhw4dOnTo0OTr5cuXl5SUHHbEtWvX1r9iOj8/PzMzs6FFhxBCiMViyRepqamJRKJRywK0iKb94a3m8BWLxfzpDmgrTTv+pKSkJF/E4/FIj2AOjgAA0EHs3r07hJCbm1unPdmS/LRlXXvttcXFxXUab7/99hEjRjRthfWLB2gdeXl5zVk8JSWlmWsAaLJmHn8yMjJq3z/X4kzBAQAAHUQyYs7JyanT3qVLlxBNAA0AAIfmCmgAAOhQau4Hr5Gc1KKysrLFxxoyZMiBAwfqNBYWFpaVlTVqPenp6cmyG7sgQEtp8vEnedlgIpEoLy9v0YoAGqppR7B4PJ6WlhZCqKqqauyJYqOumBZAAwBAB1FQULB169b6czfv27cvhNC1a9cWH/GOO+6o37hv376GzB9dW15eXnLmwX379pkDGmgTjT1wJcVisWQKU1VV1bQ1ADRf044/6enpyQC6vLx8//79jVq2UQG0KTgAAKCDKCgoCCHUn5Q52RJFAA0AAIcmgAYAgA7i2GOPDSGsWbOmTnuypUePHm1QEwAARzcBNAAAdBDDhg0LIbzyyitVVVU1jWVlZStWrIjFYkOHDm270gAAOEoJoAEAoIPo379/7969t2/fPmPGjOrq6hBCRUXFXXfddeDAgbPOOqt79+41PZ966qknn3xy3bp1bVcsAABHBQ8hBACADiIWi40fP/7WW299+umnX3rppV69em3cuLGsrCw/P3/cuHG1ez788MMVFRVjxozp27dvW1ULAMDRwBXQAADQcfTp0+eee+75/Oc/n56evm7dupycnC996Uv33HNP7cufAQCg1bgCGgAAOpTCwsJJkyYdus/vf//7Q3d47LHHWq4iAACOXq6ABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACKR2tYFNM6iRYvuu++++++/v0ePHq0w3I4dO2bPnv3GG28UFxfn5+cPHDhw1KhReXl5tfvMmjVr1qxZH7r4vffe27Nnz1aoEwAAAADgCNSeroCurKxcvHhxqw33zjvvTJgwYcmSJbt3787Ozt65c+eiRYsmTJiwY8eO2t22bt3aaiUBAAAAALQj7eMK6Kqqqg0bNsyZM2fjxo2tM2IikZg+ffrBgwcHDhw4fvz4/Pz8999//6c//en69etnzpx5++231/TcsmVLCOFnP/tZ/YudMzIyWqdaAAAAAIAjUDsIoB999NH58+dXVVUdtueePXvmzp27du3aTZs25eXlnXrqqZdccsnxxx/fhEHXrVu3YcOGgoKCW265JZkjd+/efcqUKVdfffXrr7++a9eubt26hRASicTWrVvj8fgJJ5yQmtoO/jEBAAAAAFpNO5iC47jjjjvvvPO+8IUvfOELXzhEyLt69eobbrhh4cKFGzZsyMvL27lz53PPPTdx4sRly5Y1YdBnnnkmhHDOOefUvoo5Nzf3jDPOSCQSS5cuTbbs3bv3wIEDPXr0kD4DAAAAANTRDmLToUOHDh06NPl6+fLlJSUl9fuUlpZOnTq1qKhoxIgRo0ePzszMLCsrmzNnzrx586ZNm9a3b9/CwsL6S40cOXLQoEE33nhj/Y+SE2ucfvrpddoHDBiwfPnyzZs31+7Ws2fP119/fenSpTt27OjatesJJ5xwwQUX5OfnN2OjW1Lm8CvaugRox3a2dQEAAAAA7Vc7CKAbYsGCBXv27Bk8ePDYsWOTLRkZGWPGjCkqKnr22Wcff/zx6667rlEr3L17dwghNze3TnuyJflp+McTCFeuXPnaa6/V9Hn11VeffPLJ6667bvDgwR+68muvvXb//v11Gr/1rW+de+65DSwvLS0tLy+vgZ2B5mj4vpaSkpJ8Uf/Q8VEOP7UQcEgN3EPj8f+95atTp06ZmZmH7pxIJJpbFgAAAP/QQQLolStXhhAuuuiiOu3nn3/+s88+u3r16sauMBkx5+Tk1Gnv0qVLqBdAV1dXf+Mb3xg0aFDXrl03b948d+7cP/3pT3fffXfv3r2PO+64+itfu3ZtcXFxncbi4uKGz+MRi8VM+gGtown7WsMXEUBDMzV2D43H4zVh9Eeprq5uRkUAAAD8Hx0kxEwGwU8//fRzzz1Xu728vDyEsGvXrqatNhaL1WlJXhVVWVmZfHvqqad26dKlf//+p5xySrKlX79+t91225QpU1atWvXYY49Nnjy5aUMDAAAAALR3HSGArqioSF5QvGTJkg/tUFpaWl1dHY/H16xZ88ILL9S0l5eXv/322/fee29Ny5gxYzp37hxCKCgo2Lp1a/35pvft2xdC6Nq1a/LtwIEDBw4cWKdPLBYbMWLEqlWr1q9f/6H1LFiwoP7tvdXV1R988MGhtzQejyenlq7ZZCBqh90xa+Tm5iYvxty9e3cDb+Hv3PS6gBAavIdmZmZmZ2eHEPbv319aWnrY/jVf9AAAADRTRwig09LScnJySkpK5syZk5WVdYiemzZtWrx4ce2Wbdu2bdu2rebtyJEjawfQHzpRRmjA76XJmTd27tyZSCTqX0Zdf2aPEMK+fftqLqw+rEQiYYZKaB1N2NfsodBqGruv2T0BAABaWUcIoEMIhYWFJSUl7733Xr9+/Wq3V1RU7N27Ny0tLflMsOHDhw8fPrzm05EjRw4aNOjGG2+sv8Jjjz129erVa9asOfPMM2u3r1mzJoTQo0ePEMIWZ6YVAAAgAElEQVTBgwefeeaZlJSUL33pS3VS5j179oQQevbsWT99BgAAAAA4ShzmOTztxSc/+ckQwsKFC+u0z5s3b+zYsfPnz2/sCocNGxZCeOWVV6qq/v+HhJWVla1YsSIWiw0dOjSEkJmZuWjRovvvvz/5CMTali1bFkLo27dvY8cFAAAAAOgwOkgAfdlll3Xq1On555//7W9/W1FREUJIJBIvvvji7373u5SUlGSa3Cj9+/fv3bv39u3bZ8yYUV1dHUKoqKi46667Dhw4cNZZZ3Xv3j2EEIvFktdT33333atWrUre0lteXj537tynnnoqKytr9OjRLbydAAAAAADtRweZgiMnJ2fixInTpk2bPXv2vHnzCgsLi4uLi4uLY7HYpEmTevbs2dgVxmKx8ePH33rrrU8//fRLL73Uq1evjRs3lpWV5efnjxs3rqbbRRdd9NZbb7388st33HFH586dO3XqlJz3uVOnTjfccEO3bt1adCsBAAAAANqTDhJAhxAGDRr085//fO7cuRs2bNiyZUtBQcGAAQNGjhx5/PHHf9Qic+fOPcQK+/Tpc88998yaNWvVqlXr1q3Lz88fOnToqFGjktNJJ8VisZtvvvmzn/3sf//3f2/dunXv3r19+vTp27fvFVdcUVBQ0JKbBwAAAADQ3rSzAPqxxx47xKeFhYUTJkxoweEKCwsnTZp06D7xeHzw4MGDBw9uwXEBAAAAADqADjIHNAAAAAAARxoBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEAkBNAAAAAAAkRBAAwAAAAAQCQE0AAAAAACREEADAAAAABAJATQAAAAAAJEQQAMAAAAAEInUti4A4OiVOfyKti4B2redbV0AAAAAh+YKaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiYQ5oAACgJWVkZGRnZzdqkVgslnxRUFAQQUUAh9e1a9fmLJ6amtrMNQA0WTOPP1lZWZmZmS1VTH0CaAAAoCVVVVVVVlY2apGMjIx4PB5CKC0tjaYogMNo8vEnKysrhFBdXV1WVtaiFQE0VNOOYCkpKenp6SGEysrKioqKRi2bPPQ1kAAaAABoSZWVlY39LSgtLS0ZQB84cCCRSERTF8Ch7N+/vwlLxWKxmgC6aWsAaL6mHX/S09OTAXRFRUVj19CoANoc0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkBNAAAAAAAERCAA0AAAAAQCQE0AAAAAAAREIADQAAAABAJATQAAAAAABEQgANAAAAAEAkUtu6AP5XPB5PTT3Mf0c8/r9/MIjFYoftDLSIJuxrqampiUQiimKAOhq4h9Z8gaakpPgCBQAAaE1+BztSpKWlderUqeGd8/LyIq0HSGrCvpabmxtFJUB9jd1Ds7KysrKyDt2nurq6GRUBAADwfwigjxQVFRX79+8/dJ94PN6lS5cGdgZaRFFRUQN7du7cOXll5d69e10BDa2jgXtoRkZGMnc+ePBgWVnZYfv7Ky8AAEBLEUAfKaqrqysrKw/dJyUlJfkikUgctjPQIpqwr1VWVgqgoXU0cA9NS0tLvqiqqvIFCgAA0Jo8hBAAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEgIoAEAAAAAiIQAGgAAAACASAigAQAAAACIhAAaAAAAAIBICKABAAAAAIiEABoAAAAAgEiktnUBDbJjx47Zs2e/8cYbxcXF+fn5AwcOHDVqVF5e3hEybluVBwAA9TXn7NSZLQAALasdXAH9zjvvTJgwYcmSJbt3787Ozt65c+eiRYsmTJiwY8eOI2HctioPAADqa87ZqTNbAABa3JEeQCcSienTpx88eHDgwIG//vWvf/Ob3zz44IMnnnhiUVHRzJkz23zctioPAADqa87ZqTNbAACicKQH0OvWrduwYUNBQcEtt9ySn58fQujevfuUKVPS09Nff/31Xbt21e68Z8+e+++//7vf/e7ll18+bty4u++++91334103EaVBwAAkWrO2akzWwAAonCkB9DPPPNMCOGcc87JyMioaczNzT3jjDMSicTSpUtrGlevXn3DDTcsXLhww4YNeXl5O3fufO655yZOnLhs2bLoxm14eQAAELXmnJ06swUAIApH+kMIt2zZEkI4/fTT67QPGDBg+fLlmzdvTr4tLS2dOnVqUVHRiBEjRo8enZmZWVZWNmfOnHnz5k2bNq1v376FhYX1Vz5y5MhBgwbdeOONTR63gd3qKCkpSSQSdRqrq6tjsdiH9q8vFos1vDPQHE3Y1+ye0Goau7v5AqXDa9rZaXOWbf6ZbR12UqCtNO34U3spRzCgrRzhR7AjPYDevXt3CCE3N7dOe7Il+WkIYcGCBXv27Bk8ePDYsWOTLRkZGWPGjCkqKnr22Wcff/zx6667LopxG9itjq985SvFxcV1Gm+//fYRI0Y0sLy0tLSuXbs2sDPQHE3Y1woKCqKoBKivsXtodnZ2dnb2oftUV1c3oyJoY007O23Oss0/s63D1yjQVpr5W3Zqaqrf04G20szjT1ZWVlZWVksVU1/7CKBzcnLqtHfp0iXUOg9euXJlCOGiiy6q0+38889/9tlnV69eHdG4DezWthJDzmnrEoAPZ/cEoGU15+y0XZzZHsLT3/9yW5cA0ESOYEDHdqQH0En1LwJP3uhXWVmZfLt169YQwtNPP/3cc8/V7lZeXh5CaPIjUw47bqO61ejXr9/+/fvrNHbp0uWj+teWmpqaXH9VVdVhO7drqampVVVV9e/o7Eji8Xg8Hg8hVFdXd+wL7pJb2pCf8HYtJSUleTQ4GrY0hHA0HIWC421H0ajjbSKRSHaG9quxZ6fNWbY5Z7a1HT1foy3lKPk6binJr/XgB6zB/IA1ytFz3thSUlNTO/xvwS0lFosl90c/YA3nB6zhan7AmvAvVvPd2qDOjaur1RUUFGzdurWkpKRO+759+8I/Li+vqKhI3ve3ZMmSD11JaWlpdXV1PB5fs2bNCy+8UNNeXl7+9ttv33vvvTUtY8aM6dy5cwPHbXi3OmbMmFG/cd++fUVFRR/av0ZKSkryieQ1m9xRxePxgoKCAwcOlJWVtXUtEcrKykreCX7gwIHS0tK2LidCmZmZnTt3PuxPeHuXl5eXPP7u3bu3Y2d5ubm5iUTiaDgKhRAqKyv37t3b1uVEKBaLde3a1fG2jm7dukVfFESiaWenzVm2yWe2dRw9X6MtJScnJyUlpcOfX7WUgoKCeDyeSCT8izVQbm5udXV1/QMC9SXPpkIIVVVVfsAaqKCgoKysrP7fL6mvJggqLy+3SzZQt27dOnzM0lLS09OT97o1YZds1C9N7SOArh9zJFuSR/m0tLScnJySkpI5c+Ycer6STZs2LV68uHbLtm3btm3bVvN25MiRtQPoQ4/b8G4AANAKmnN26swWAIAoHOl3mB577LEhhDVr1tRpT7b06NEj+bawsDCE8N5779XpVlFRsWvXrpqL14YPH/5kLZmZmUOGDKndUhPeN3DcBnYDAIBW0JyzU2e2AABE4UgPoIcNGxZCeOWVV2rPdFNWVrZixYpYLDZ06NBkyyc/+ckQwsKFC+ssPm/evLFjx86fPz+icRvYDQAAWkFzzk6d2QIAEIUjPYDu379/7969t2/fPmPGjORk2BUVFXfdddeBAwfOOuus7t27J7tddtllnTp1ev7553/7299WVFSEEBKJxIsvvvi73/0uJSUleTIdxbgN7AYAAK2g4WenTz311JNPPrlu3bomLAsAAA13pM8BHYvFxo8ff+uttz799NMvvfRSr169Nm7cWFZWlp+fP27cuJpuOTk5EydOnDZt2uzZs+fNm1dYWFhcXFxcXByLxSZNmtSzZ8+Ixm1gNwAAaAUNPzt9+OGHKyoqxowZ07dv38YuCwAADZfygx/8oK1rOIyCgoLBgwfv27dv586d27Zty83NHTJkyOTJk+s8CKVnz56DBw8+ePBgVVXV9u3bu3Tp8k//9E833XTTpz71qY9a8+WXX/6Zz3ymmeM2sNthlZeXV1ZWHrpPPB5PPmWxqqqqrKysUetvX2KxWFZWVnl5ee07QDuetLS09PT00LD//XYtNTU1PT39wIEDbV1ItDIzM+PxeAjh4MGDbV1LtDIzM0MIR8NRKIRQXV3d4be0U6dOjrd1dOrUKfqiICoNPDudO3dudXX1gAEDTjnllMYue1hNOLc5er5GW0pGRkY8Hi8tLW3rQtqHrKysWCwW/IA1WGZmZiKRKC8vb+tC2oHk2VQIobq62i7ZQFlZWVVVVcn71zm02kGQXbKBkr/gdOyYpaWkpKRkZGSEECorKxu7Szbql6ZYIpFoXGlEY9++fYf9rkpJScnPzw8hlJeX139AeUcSj8cLCgpKSko6du6TlZWVnZ0dGva/365lZmZ27tx5165dbV1ItPLy8lJTU0MIH3zwQcc+tObm5iYSiaPhKBRCqKioqHmSbYcUi8W6du3qeFtHzUOJgaZpwrnN0fM12lJycnJSUlKKioraupD2oaCgIB6PJxKJDz74oK1raR9yc3Orq6tLSkraupB2IHk2FUKorKy0SzZQQUFBWVnZ/v3727qQdqAmCCorK7NLNlC3bt06fMzSUtLT07t06RJCOHjwYGN3yUb90nSkzwENAAAAAEA7JYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASAmgAAAAAACIhgAYAAAAAIBICaAAAAAAAIiGABgAAAAAgEgJoAAAAAAAiIYAGAAAAACASsUQi0dY1EEII+/6/9u49KMrrbuD47+Eil91wU0hB01IYMREDkoD1AjEBiZI6laAdr2FaO7k5o3ZSjGl1mplkmtiQaZOYeKlONZ0mRGur4wXsWEcqQUnASqwabxQzJpsgiYISZOWy7x/P2x26IJfdPfssy/fz1+N5zjnPYY/nPOecffY8LS1tbW19x2lra6usrBSR6OjolJQUj5TLGJqmmUymtra2jo4Oo8ui0JUrVy5cuCAi48ePj42NNbo4CgUGBgYFBbW0tBhdELVOnDjR1NQkItOnTw8ICDC6OAqFhITYbLZ+u6wh7fbt2xUVFSISFRWVlpZmdHEUGib9rcVi+fTTT0Xkvvvui4uL6zf+qFGj1BcK8GUDGdk6qKmpaW5ulmFwG3WX4OBgTdNu3bpldEGGhg8//NBqtQYGBj700ENGl2VoGA7jPXfp7OwsLy8XkbCwsIyMDKOLMzSYTKb29vbbt28bXZAh4Ntvv62qqhKRu+++e8KECUYXZ2gwm81Wq7W9vd3oggwB165dO3nypIjEx8cnJiYOKu2gJk2M7byF2Ww2m819x7FYLMXFxSIyderU7Oxsj5TLSMHBwUYXQa2ysrI333xTRNauXXv//fcbXRzlfL5Cd+zYcerUKRHJy8sLCwszujjK9dtlDWmNjY16f5uRkZGbm2t0cZTz+eZ5+PBhvUKff/553/4GF/ASAxnZOigpKTlz5oyIzJ4922QyqSmXD+KzGqANGzZcu3YtLCysoKDA6LIMJb493nOXtrY2fZhx77335uXlGV2cISMkJMToIgwNN27c0P+DZWdnP/zwwwaXZujw+QmOu5w7d07/D7ZkyZIf/OAH6i7EFhwAAAAAAAAAACVYgAYAAAAAAAAAKMECNAAAAAAAAABACRagAQAAAAAAAABKsAANAAAAAAAAAFAiwOgCYBD8/PzCwsKE18X6iqCgIL1CR4wYYXRZ4AahoaF6hWqaZnRZ4Cr6Wx8zYsQIvUKDgoKMLguA3plMJm6jUMdsNnd0dNx1111GFwQ+SNM0vfsKDQ01uizwQUxMoFRAQIBnJkqazWZTegEAAAAAAAAAwPDEFhwAAAAAAAAAACVYgAYAAAAAAAAAKMECNAAAAAAAAABACRagAQAAAAAAAABKsAANAAAAAAAAAFCCBWgAAAAAAAAAgBIBRhcAvWtoaPjggw9Onjx548aNyMjI9PT0hQsXRkRE9JuwpKSkpKSk11MbNmwYM2aMu0uK3jldgy6mhSI0SV9VVla2cePGzZs3x8bGDjAJLdRrDbY2aZ6AIbilwu0YeEMpei14BhMTKGX4XIknoL3Rf/7znxUrVhw+fPjatWsmk6mxsbGsrGzFihUNDQ39prVYLB4oIfrmSg26khaK0CR9VUdHx8GDBweVhBbqtZyoTZon4HncUuF2DLyhFL0WPIOJCZTyhrkST0B7HZvNtn79+lu3bqWnpy9fvjwyMvLq1avr1q27dOnSli1b1q5d23fyL774QkR+97vf9fw6IigoSFWh0Y0rNehi7UMFmqRP6uzsrKur27FjR319/cBT0UK9k3O1KTRPwOO4pcLtGHhDKXoteAATEyjlPXMlnoD2OhcvXqyrq4uKilq9enVkZKSIxMTEvPjiiyNGjKiurv7666/7SGuz2SwWi5+fX3x8fHAPmqZ56o8Y1lypQVfSQhGapO/505/+NG/evKKiourq6kElpIV6Iadrk+YJeB63VLgdA28oRa8F1ZiYQCmvmiuxAO11Dh06JCLTpk3r/pVCeHj4Aw88YLPZysvL+0jb3Nzc2toaGxsbEMCz7YZxpQZdSQtFaJK+Z/To0dnZ2bm5ubm5uYOqGlqoF3K6NmmegOdxS4XbMfCGUvRaUI2JCZTyqrkSXaHX0Z9yT0lJcQhPTU2tqqr6/PPP+007ZsyY6urq8vLyhoaGkSNHxsfHz5o1S/9ODB7geg06lxaK0CR9T05OTk5Ojn5cVVV18+bNASakhXohF2uT5gl4ErdUuB0DbyhFrwXVmJhAKa+aK7EA7XWuXbsmIuHh4Q7heoh+9k70PcJPnDjx0Ucf2QOPHz++d+/eZcuWZWVlub+46MGVGnQlLRShScKOFupLaJ6A53FLhdsx8IZS9FrwWvRgUEpFD8YCtNfRe4q77rrLITwsLEwGdpPr6up64oknJk+ePHLkyM8//3znzp0ff/zxG2+8kZCQMHr0aGUFx/9zpQZdSQtFaJKwo4X6Epon4HncUuF2DLyhFL0WvBY9GJRS0YOxAO2lem7pbbPZRKSjo6OPVMnJyWFhYePGjRs/frwekpSUtGbNmhdffLG2tva99957/vnnFRUYDpyrQdfTQhGaJOxoob6B5gkYhVsq3I6BN5Si14LXogeDIip6MBagDbN48eLu269kZWWtWrVKRKKioiwWS8+dWVpaWkRk5MiRfeSZnp6enp7uEKhpWn5+fm1t7aVLl9xTdPTJlRp0JS0UoUnCjhbqS2iegDqMcuExDLyhFL0WvBY9GJRS0YOxAG2YtLS01tZW+z8TEhL0A70fuXHjhkN8PcS5fkR/Nr6xsdFms/X8igzu5UoNqqh9uIgmCTta6HBA8wRcxygXHsPAG0rRa8Fr0YPBEK70YCxAG6aoqKjX8Li4uNOnT585cyYjI6N7+JkzZ0QkNjb2ThneunXr0KFD/v7+jz32mMP/g+vXr4vImDFjuMN5gNM16GJaKEKThB0t1GfQPAGlGOXCYxh4Qyl6LXgtejCoo6gH83NbAeEmM2bMEJFjx451dnbaA61Wa01NjaZpOTk5d0oYHBxcVla2efPmEydOOJyqqKgQkbFjx6opMv6H0zXoYlooQpOEHS3UZ9A8AUNwS4XbMfCGUvRa8Fr0YFBHUQ/GArTXGTduXEJCwldffbVp06auri4RaW9vf+2111pbWydNmhQTE2OPuX///r179168eFH/p6ZpeXl5IvLGG2/U1tbqe8/fvn17586d+/fvDwkJWbRokRF/0LDjdA0OKi08hiY5bNFCfQnNE/AG3FLhdgy8oRS9FrwEPRiU8kwPpukZwavU1dX98pe/bGtrM5lM99xzT319vdVqjYyMLC4u7t6PzJ07t729vbCwcN68eXqIzWZ77bXXKisrRcRsNoeGhuo7s4SGhq5cuXLKlCnG/D3Dj9M1OPC08CSapA/T35S1efPmnr9To4UOOYOqTZonYAhuqXA7Bt5Qil4LHsPEBEoZPldiD2hvlJiY+NZbb5WUlNTW1l68eDEyMjInJ2fhwoXh4eF9J9Q0bdWqVVOnTi0tLbVYLM3NzYmJiWPHjp0/f35UVJRnCg9xoQZdTAtFaJKwo4X6DJonYAhuqXA7Bt5Qil4LXoseDOqo6MF4AhoAAAAAAAAAoAR7QAMAAAAAAAAAlGABGgAAAAAAAACgBAvQAAAAAAAAAAAlWIAGAAAAAAAAACjBAjQAAAAAAAAAQAkWoAEAAAAAAAAASrAADQAAAAAAAABQggVoAAAAAAAAAIASLEADAAAAAAAAAJRgARoAAAAAAAAAoAQL0AAAAAAAAAAAJViABgAAAAAAAAAowQI0AAAAAAAAAEAJFqABwDB79uzRNE3TtMuXLxtdln6MGjVK07S1a9caXRAAAABgyGMiAGBYYQEaAAAAAAAAAKAEC9AAPKe8vFz/nj89Pd3osgAAAADwECYCADCcsQANAAAAAAAAAFCCBWgAAAAAAAAAgBIBRhcAwDCSmZl5/fp1EfH39ze6LAAAAAA8hIkAAAxnPAENwHMCAgLGjBkTGRn55ptvOpxqbm5+6aWXpk+fPnr06NDQ0OTk5Hnz5h07dsyVy82ZM0fTtNDQUKvV2j38k08+0Xeg8/f3b25u7n7q8uXL+qknn3yye/jNmzfXrVs3efLkqKgos9mckpLyzDPPnD9//k6XHmx8Bzdu3Jg0aZKmaQEBAbt373YuZ7PZrGna/v37ReTo0aOPP/54XFxcSEjI+PHjly5dWl9f3zOJzWb74IMPZs2aFRMTExQUFB8f/9RTTw282AAAAECvmAgMsORMBAD4JhsAeJDJZBKRl19+uXtgZWVlZGRkr31UUVGR09d655139EwqKiq6h7/99tv2/EtLS7uf2r59ux6+a9cue2B1dXVsbGzPsmmatm7duq6uLofrDjy+fUxZX19vD2xpacnMzNTjv//++87lbPvvR71v377XX39dH39PmzYtKSlJTzJixAiHj+XmzZszZ87smXlwcPDu3btHjhwpImvWrBlUFQAAAAA6JgJMBAAMW2zBAcBgDQ0NBQUF169fDw4OXrp06bRp00JDQ8+ePbt+/fqvvvrq9ddfz87OzsvLcyJn+yjqyJEj+khO9+GHH9qPjx492j3zo0ePioi/v39OTo4eUldXl52dffPmTRGZN29eTk5OREREVVXVli1bWltbX3jhBT8/v1WrVtlzGGx8B21tbfn5+XoJ//jHPy5cuNDFnPfu3bt169aXXnpp9erVgYGBInL48OH8/PyWlpYlS5bU19drmiYiNptt8eLFf//730UkMjJy0aJFGRkZX375ZWlpaUVFxcKFCzs7Owfz2QMAAAD9YCLQHRMBAL7M6BVwAMNLzwcftm3bpndH+/fv7x7z/PnzAQEBIvKzn/3M6cslJiaKSHZ2tj2kq6tr9OjRIqI/ajF16tSe8TMzM+0hM2bMEBE/P7/uj0LYbLZz584lJCSISGho6JUrV5yL7/Dgg9Vq/eEPf6iHbNy40eFvGWxJ9I9aRH796187ZPXqq6/qpy5duqSH7NmzRw8ZP358XV2dPWZnZ+fq1avttwwefAAAAIBzmAgwEQAwbLEHNACD/etf/xKRwMBAh6cbkpKSnn322Tlz5ui/+XLOrFmzROTYsWNtbW16yGefffbFF1+IyMqVK0Wkurq6tbVVP2WxWOrq6kTEXpLTp0//4x//EJHly5fPnTu3e87jxo3bsmWLiLS2tv7hD39wLn53HR0dixYtOnDggIj8/ve/f+aZZ7qfdTrn8PDw5557ziHwoYce0g8uXbqkH2zcuFE/2L59uz6K1fn5+b366qsPPvhgzwIDAAAArmAioGMiAMDnsQANwGD6sLK9vf0vf3wpfx4AAAfhSURBVPmLw6m33nprz549v/3tb53OXP/xXVtb28cff6yH6D9qS0xMXLBggX7dqqoq/dQ///lP/UAfrYrIvn379IOeQzcRyc7OTk5OFhH7O1IGG9+us7Pzpz/96V//+lcRWbx48c9//nOHCE7nnJmZGR4e7hAYFRWlH9hsNv1AH/0/+uijGRkZDpE1Tevjp4IAAACAc5gICBMBAMMDC9AADJafn6//wm7BggVpaWlvv/22/nMwt2T+yCOP6PudHTlyRA+pqKgQkaysrKSkpO985zvy3+3e7AcxMTETJ07UQ6qrq0UkLi7uu9/9bq/5p6SkiMjp06edi2+3YsWKP//5z/rxgQMHrl696hDB6Zy7P8VwJ83NzY2NjSIyadKkXiPcKRwAAABwGhMBYSIAYHhgARqAwVJTU7dv3x4RESEitbW1y5cvHzt2bGxs7JIlS3bv3m21Wl3J3Gw2T5s2TUTKy8v1EP3Bh8zMTE3Tpk+fLt3GnfqDDzNnzvTz+/++saGhQUQsFot2ByUlJSKivw/Eifh2paWlmqYVFBSISFNT0wsvvOAQwemco6Oj+/2U7L+/u9Mg9Z577vH39+83HwAAAGDgmAgIEwEAwwML0ACMt3jx4gsXLhQXF2dmZupjvoaGhvfee6+goCA1NdX+oznn6D+jO378eFtb2zfffHP27FkRycrKEhF93Hn8+HGr1Xr16tVPP/1Uuu37JiLffvvtQC7R2tqqvxt6sPG727p1686dOx944AER2bZt2/Hjx7ufdTpnTdP6TdXvi601TWPcCQAAALdjIiBMBAAMAyxAA/AK0dHRRUVFFRUV33zzzYEDB4qKiu6++24ROX/+fH5+/vXr153OWd/9zWq1VlVVVVZW6tcaO3asiDz88MMi0tbWVlNTo/8iT9O03Nxce1p907S0tLR+3+iqD8sGG99u/fr1S5cu9ff3f+edd/SQZcuWdR8OOp3zQNh3gquvr+81gsViuX379mCzBQAAAPrFRICJAACfxwI0ACPZbLampqampib7G6gjIiIee+yx4uLiK1eu/OpXvxKRL7/80v5WECekpqbqQ9gjR47oP7vLysrSHwe49957Y2JiROTo0aP6JTIyMkaNGmVPm5SUJCJnz57t6OgYyLUGG99u9uzZ+sHkyZOXLl0qIrW1tZs2bXI954H4/ve/bzab5b8bzPV08uRJt18UAAAAwxkTAR0TAQDDAQvQAAw2bty4yMjI/Px8h/DAwMDCwkL9+Ouvv3Y6f03THn30UREpLy+3jzvtp+y7v+kbwNlfe63LyckREavVumvXrp45t7S0pKamxsfHv/LKK87F79W6dev0jfDWrl1rfwmJW3K+E39//0ceeUREDh48eOLECYezNputuLjYiWwBAACAPjARcMBEAICvYgEagJE0TdM3OysvL//3v//tcNY+xnLx5cv6aLKqqqqmpkZEMjMz7afs485Tp07J/+77JiKPP/64/oLsFStWnDt3rvuprq6u55577tSpU5999tmPfvQj5+L3Kjo6+je/+Y3870tI3JJzH5599ln94Cc/+cnly5ft4Tab7ZVXXtHH6wAAAIC7MBHoiYkAAF8VYHQBAAx3hYWFBw8ebG9vz87OXrZsWVpaWkhIiMVi2bdv3+7du0Vk8uTJycnJrlwiNzdX0zR98zKTyTRx4kT7KX33N/13f5GRkRkZGd0TBgUFbd68ec6cOY2NjSkpKU899dSkSZOio6MvX7787rvvfvTRRyKycuXKCRMmOBf/Tp5++umtW7eePHly27ZtTz755JQpU9yV853MmjWroKDgb3/72+nTp9PT05944on09PTGxsbS0tJDhw4FBQUlJCTo72YBAAAA3IKJQE9MBAD4pn63sQcANzKZTCLy8ssvdw+0f+ve04QJExoaGly/7oMPPqhnOGPGjO7hXV1d9r3e5s+f32vad999NygoqNfiPf30052dnU7H1wfWIlJfX++QybFjx/RTEydO7OjocKIkvX7UOvsIsqyszB7Y0tKiv6fFQXBw8K5du+bPny8ia9as6ftzBgAAAHrFRICJAIBhiy04ABhvw4YNlZWVP/7xj++///6IiAiTyXTffffNnj17165dtbW1+utBXGTf082+75vOvvub9Nj3za6wsPDChQu/+MUvkpOTzWaz2WyeOHFiYWHhJ598smnTJj8/x450sPF7NWXKlJ4vIXFLzjqTyfS9731Pf+WIPaSsrOz999+fOXNmdHR0YGBgXFxcYWFhTU3N3Llz8/LyVq5cOWXKlIFfAgAAAOgbE4GemAgA8D2azWYzugwAAAAAAAAAAB/EE9AAAAAAAAAAACVYgAYAAAAAAAAAKBFgdAEAYED27dt3/vz5QSUJCgpavny5ovIAAAAA8AAmAgAw1LEHNIChYcGCBTt27BhUkvDw8KamJkXlAQAAAOABTAQAYKhjARoAAAAAAAAAoAR7QAMAAAAAAAAAlGABGgAAAAAAAACgBAvQAAAAAAAAAAAlWIAGAAAAAAAAACjBAjQAAAAAAAAAQAkWoAEAAAAAAAAASrAADQAAAAAAAABQggVoAAAAAAAAAIASLEADAAAAAAAAAJRgARoAAAAAAAAAoAQL0AAAAAAAAAAAJViABgAAAAAAAAAowQI0AAAAAAAAAEAJFqABAAAAAAAAAEqwAA0AAAAAAAAAUOL/AIn+Nskc5m9jAAAAAElFTkSuQmCC" width="960" style="display: block; margin: auto;" /></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># regrouping</span>
<span class="co"># '1' if month is 12 or 1-3</span>
<span class="co"># '2' if month is 6-8</span>
<span class="co"># '3' if month is 4-5 or 9-11</span>
<span class="kw">get_multiplot</span>(<span class="st">'month'</span>)</code></pre></div>
<p><img src="data:image/png;base64,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vrfccstll122bNmyzZs3V1ZWJqsbAABklKampp07d/bq1SuE0NzcvH379mRX1E3y8/MLCgq2bduW7EK6SXZ2dklJSQihqampvr4+2eV0k0RCV1NTk+xCuknbLDc2Niae/c0EBQUFubm5tbW1yS6km+Tk5CT+19Asp7Hc3NyioqIQQkNDw86dO5NdTjcpLCzMzs6uq6tLdiHdYdu2bd08y6WlpXveOdUD6BdffLG1tfXkk09OpM9trrjiivPOOy/xF2EI4dlnnw0hjBw5sv1/1pWWlh533HEvvfTSwoULx48fn6xuAACQUVpbW5ubm9uOm5qakltPt8nJyQkhZM544/F44iCjZjk3Nzdk5CzH4/HMGXVirXfmjLdNRn0v5+XlZdRXdWJjmZBhs5yfn5+VlZUh421qamrbgqOlpSXVRp3qAfSqVatCCCNGjOjQXlpa2j5o/+CDD0IIw4YN69Dt2GOPfemll9avX5/EbsnVa/qt3XCXhhCKPvrV2uu+0w01AAAAAACpJtUD6C1btoQQKisrFy5c+MILL6xatSoWiw0YMOD0008/6aST2rpt3bo17Grtd6Il8WqyunVw5ZVXdn4I8f/8n/9z6qmnJo7Lysp2eeK+aenCa+2rrh1RV2n737/c3NyysrKe9UYlPi0hKW9sCr5RqVBSSMmqysrK2j52oLS0NBVKCnv8dZ74Du3du3fboptu07PeqC6UxB8s+6PtP/mLioq6apuz7v+qAwAASGM9I4CeO3fuyy+/HELo06dPTU3NihUrVqxYMXbs2MmTJydCikTam9hmrr3evXuHTpFxN3frYNWqVZ33C6upqWnLQxMP7nWVVEhSunZEXS4Wi+Xk5PTENyopb2wKvlGpUFJIyaral5QiX+RhL79uk/K5vT3xjUqD++6/rKystjB6P7W2tnbJdQAAAAipH0BXVVWFEF5++eXx48ePHz++qKiotbX1xRdfnDlz5nPPPXfMMce0LRwO7da0tkksYmrbgS6J3WBvNVw/JdklhBBC/u0zkl0CAAAAAD1VqgfQxcXF27ZtGz169CWXXJJoycrKGjVq1NatW3/xi18888wziQC6oqJiw4YNnT+9NPFJl3369En8MSndOvjzn//cubGurq65uTmx7mzz5s27PHHfdFyenQxdO6Kukp2dXV5eHkJobGysqalJwTcqFUoKKVlVCpYU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eeWVww477L333uvw0h4+bJiUbgAA0D22bt0aQigtLe3QnmhJvPpR2q99bm5u3r59+/r16+fOnVtVVXXMMccMHjx4l2eNHj26pqamQ+PNN9989tlnJ47z8vL8VtxZGrwn7YeQn5/fftF9T7E/s5AGM7i3eugsRy0NvhLaD6GgoKCgoCCJxewb38t7pbCwsLCwMNlVdKsMmeX2w/kaNREAACAASURBVCwqKioqKkpiMZ31mBXQf/vb3371q18NHTr0/PPP7/zqHj5smJRuAADQPRIRc69evTq09+7dO3xcAN3eN77xjYkTJ954441Lly497bTTvv3tb8disa4tFQCADNEzVkBv2bLlzjvv7N2797Rp0958883OHXbzsOFLL73U9rBhUroBAEB36hwWx+PxEEJzc/MeXmHw4MF9+/Y97LDDNmzYsGjRogEDBpxxxhm77Nm/f//OeXdRUVFLS0t2dnbi1q2trXs3gAywy0+16VlaWlpisVhWVlbosbO8b7OQlZUVi8XSYAb3UE+f5ailwVeC7+Uuryc19fRZ3jeJIWfIeLv/eznxm94e6gEBdEtLyx133FFTU/P973+/vLx8l3328GHDpHTr4NZbb62vr+/QePbZZ5944omJ486/wfd0qTmi4uLixEFOTk6KVJgiZXSQglWlYEkhJavq1atX298HJSUlyS2mTWq+UckuYRdSsKrULKnti7ygoCA3N7dLLpvI6aCHqqio2LBhQ21tbYf2urq6EEKfPn328Dpf//rX245nzJhx//33V1RUfPrTn+7c85FHHuncWFdXV1NTk/jVvampqfMeHVRVVSW7hP1VVVWVk5NTVlYWQmhsbOz8VZf69m0WioqKCgsL02AG91BPn+WopcFXQlVVVW5ubiLHaGhoSPx90bPs2ywUFxfn5eWlwQzuoby8vMTjUDt37ty+fXuyy+kmJSUlOTk51dXVyS6kO1RVVeXn5yf+1bZjx47O2WOX26u9TXpAAD179uyVK1dOnDixw0dyt7eHDxsmpVsHCxcu7Pwr+EknndS2UKVr99Vq6MJr7asOI0qFkkIIeXl5iYOsrKz8/PxUqCo136gUrCoFSwopWVX7klLkizyk/BsVUqOk8D+rSsGSQmpU1b6knJycnJyu+a0mQ5ZIkK4SAXTn3zYTLbsJoGtqav76178WFRWNGDGiw0snnHDCc8899+yzz+4ygAYAgN1L9T2glyxZMnfu3OOPP378+PEf23kPHzZMSjcAAIha//79QwhvvPFGh/ZEy0EHHfRRJ8bj8bvuuuuOO+7o/H8wO3fu7OoyAQDIICm9AvrDDz+85557Kisrr7nmmt1/7MkePmyYlG4d3HfffZ33GCovL2/bJq9rHw1IhU827TCiVCgphFBTU5NYq97U1LR9+/ZUqCo136gUrCoFSwopWVV1dXXbBgXbtm1LkU+zTs03qv0fU6Gk8D+rSsGSQmpUVV1dnZ+fn/gU7/r6+sbGxq66cuJZY+iJxo4d+6c//Wnx4sUTJ05s26OmoaFh+fLlsVhszJgxH3ViaWlpZWXl5s2bV6xYcfzxx7d/6eWXXw4hHHLIIZFWDgBAukrpAHr16tX19fXZ2dnTpk1ra0xsYrJy5cpJkyaFEG644YbDDjtsDx82TEq3Do488sjOjXV1dW07Tqbf0unUHFHbfwPE4/EUqTBFyuggBatKwZJCSlbV3Nycgj9YUqeSNilYUkjJqlKzpLZ9n1tbW1OwQuh+Q4YMGThw4Nq1a++7775JkyZlZWU1NTXdcccd9fX1J554Yt++fdt6zp8/v7W19ZOf/OTgwYMTLaeffvrDDz/805/+9Jprrhk6dGgsFmtoaPjNb37z4osvFhQUjBs3LkljAgCgZ0vpADqhtra28yrjxsbGDz74IITQ1NQUQujfv//rr7/+xhtvnHDCCe27dXjYMCndAACge8RiscmTJ994443PPPPMCy+8cOihh65bt66hoaG8vPzyyy9v3/Ohhx5qamq65JJL2gLoc889d9myZW+99dZNN91UWFjYq1evTZs2xePxvLy8q6++ul+/fskYEAAAPV5K7wE9atSoeZ1cf/31IYRjjz028ccjjjgihDB27NgQwuLFi9vvbtH5YcOkdAMAgG4zaNCgGTNmnHrqqXl5eatXr+7Vq9e4ceNmzJjRfvnzLmVnZ//oRz+68sorjzrqqIKCgpqamsMPP/zzn//8z372s1NOOaV7igcAIP30gBXQe2IPHzZMSjcAAOhO/fr1mzp16u77PPHEE50bs7Kyxo0bZ7cNAAC6UJoE0Hv4sGFSugEAAAAAZKaU3oJjr+zhw4ZJ6QYAAAAAkIF63grokSNHzps3b5cv7cnDhsnqBgAAAACQadJnBTQAAAAAAClFAA0AAAAAQCQE0AAAAAAAREIADQDAnqqsrIzFYjfffPO+nd7c3ByLxWKx2E9+8pOuLQwAAEhNAmgAAAAAACIhgAYASFELFy5MrBcePnx4smsBAADYFwJoAAAAAAAiIYAGAAAAACASOckuAACAXfvMZz5TVVUVQsjOzk52LQAAAPvCCmgAgBSVk5NzyCGHlJeX33PPPR1e2rZt26233nrKKaccfPDBRUVFQ4cOHT9+/OLFi7vkvvF4fM6cOV/4whf69u2bn58/YMCAK6644u23397NKbW1tT/60Y9OOumkioqKkpKSYcOGXXnllbs/pfNNFy1adP755x9zzDFlZWUlJSWf/OQnzzzzzKeeeqqlpSXR5/nnn09sij1nzpxdXuT444+PxWKf/OQn4/H4nt8aAACIjhXQAAA9zOLFi7/4xS8mFkcnvPnmm2+++eYTTzxx7bXXTp8+fX8uXldXN378+Geeeaat5b333ps1a9bDDz/82GOP7fKU5cuXf+lLX/r73//e1vLaa6+99tprP//5z3/4wx9OmzYtFovt/qaNjY0XXHDBk08+2b7xrbfeeuutt+bPn3/66afPmzcvJyfnlFNO6dOnz5YtW373u99dcMEFHS6yevXqv/71ryGEiy+++GPvCAAAdA8BNABAT7Jx48Zzzz23qqqqoKDg0ksvHTlyZFFR0Ztvvjlz5swPP/zwzjvvHD169Omnn75vF4/H4xdddFEifS4vL7/wwgtPOOGEv//973/4wx8WLVo0YcKEtsXIbdasWTN69Oja2toQwvjx48eMGVNWVvbSSy/NmjWrvr7+hhtuyMrKuu6663Z/37vuuiuRPg8aNOiKK6444ogjQghvv/32L37xizVr1ixYsGDmzJlTp07Nyck566yzHnzwwT/84Q87duwoLCxsf5Ff//rXiYMLL7xw34YPAAB0OQE0AEBPsmDBgo0bN4YQfvvb355xxhmJxrPPPnv8+PFDhw5tbm5+4okn9jmAnjdv3rx580IIRx111NNPPz1w4MBE+7Rp02666abbb7+98ylXXnllbW1tVlbW448/ft555yUaL7jggkmTJo0bN27t2rXf/e53J0yYcMghh+zmvnPnzg0hDB48eNmyZaWlpW3tkyZNGjZs2Pvvv79w4cKpU6eGEM4777wHH3xw+/btzz333Jlnntn+Iol9OU4++eTDDz9834YPAAB0OXtAAwD0JIldJnJzczukzEceeeSkSZPOOuusPn367PPF77333sTBL3/5y7b0OYSQlZX1wx/+8Pjjj+/Q//XXX3/uuedCCJMnT25LnxOGDBkya9asEEJ9ff3Pf/7z3dy0sbFx3bp1paWll19+efv0OYRQVlY2evToEMKaNWsSLWPHjk306bBfx+uvv/7GG2+EEC666KI9Hy8AABA1K6ABAHqSRL7c1NT0m9/85stf/nL7l2bMmLGfF0+k25///OdPOOGEDi/FYrHrrruuw87LTz/9dOLgmmuu6Xy10aNHDx069I033tj9pyPm5eUl1nTv0rZt2zp0PvPMMx955JGnnnqqubk5J+e/f5tNLH/Oyck5//zzd3MvAACgm1kBDQDQk5x99tmJ1PWCCy741Kc+9ZOf/OSdd96Jx+P7f+Vt27Zt2rQphDBixIhddujcvmzZshBC//79P/GJT+zylGHDhoUQXn/99b2qpKGh4a233vrlL385YcKExO4c7SWWWm/dunXRokWJlng8ngigv/CFL1RWVu7VvQAAgEhZAQ0A0JMce+yxv/zlL7/2ta9VV1e/+uqrkydPDiEceOCBY8eOPe+888aNG5efn79vV37nnXcSB+0332jv0EMPzc7Obv85hImVyxs2bIjFYru5cuIjCnfvww8//NWvfvXss8++/fbb7733Xmtr60f1PO2004qLi7dv3/673/3u1FNPDSG88soriT067L8BAACpxgpoAIAe5qKLLlq1atX06dM/85nPZGVlhRA2btz46KOPnnvuuccee+zLL7+8b5dtnyzvUiwWy87Obt+yffv2PblyfX397i/+8MMPH3HEEd/85jf/+Mc/rlu3rqysbOTIkZdeeumsWbM6b6lRWFiY+PTFJ598MpFTJ5Y/l5SUfOlLX9qTegAAgG4jgAYA6HkOOOCAa6+9dtGiRVu2bPn9739/7bXXHnjggSGEt99+++yzz66qqtqHa1ZUVCQO1q1bt8sOGzZsaGxsbN+S+DzAT33qU/GP0yG5bu/ll1/+yle+sn379kMPPfSnP/3p2rVrN2/e/MILL/ziF7/46le/Wl5e3vmUxC4cH3zwwfLly1tbW3/961+HEM4555yioqJ9GDgAABAdATQAQI8Rj8erq6urq6vr6+sTLWVlZePGjZs+ffr7779/0003hRD+/ve//+Uvf9mHix9++OElJSXh/+3s3NmKFSs6tBx55JEhhDfffLO5uXkf7phw//33x+Px3Nzc//iP/7jqqqsOP/zw9ht6VFdXdz5l3LhxBQUFIYQnn3xy8eLF69evD/bfAACAlGQPaACAnmTIkCH/+Mc//vf//t9/+tOf2rfn5uZecsklP/jBD0IImzdv3ocrZ2dnn3rqqU8//fQf//jHV1555fjjj2//ajwenz59eodTxowZ88ADDzQ0NPz2t7+94IILOrxaV1c3cuTIbdu2XXHFFYlwfJfWrl0bQhg8ePCAAQM6vNTU1LRw4cLOp5SUlJx22mlPPfXU7373u5qamhBC3759x4wZs4cjBdili+5dmuwS9s6jk05MdgkA8PGsgAYA6DFisdhxxx0XQli4cOFrr73W4dXf/va3iYMRI0bs2/UnTZqUOPjnf/7nd999t609Ho//4Ac/eOGFFzr0P+ecc/r16xdCmDJlyltvvdX+pdbW1muuueY///M/33vvvd1vzXz44YeHEN57771ElNympaXlsssuS3zO4fbt2+PxePtXx48fH0JYtWrVL3/5yxDChAkTcnIsrQAAgJTj13QAgJ7kkksu+eMf/9jU1DR69OirrrrqU5/6VGFh4YYNG55++uknn3wyhHDSSScNHTp03y7+hS984dxzz/3d7373+uuvDx8+fOLEicOHD9+0adMf/vCHZ599Nj8/f+DAgStXrmzrn5+ff//995911lmbNm0aNmzYFVdcMWLEiAMOOODdd9+dPXv20qVLQwhf//rXjz766N3cdOzYsQ899ND27dtPO+2066+/ftCgQVVVVX/7299mzpy5evXq4uLi7du3v/vuu9/+9re/9KUvtWXrX/ziF3Nzc5uamhK7kdh/AwAAUpMAGgCgJ5kwYcKiRYvuvffezZs333rrrR1ePfroo5966qndfOLf7sVisX/7t3/bvn37M888s2XLlrvvvrvtpYKCgkceeeQ3v/lN+wA6hPClL31p9uzZV1xxRUNDw09/+tOf/vSn7V/9l3/5l7vuuutjRzR37tzf/OY3L7300jnnnNP+pUmTJl166aUnn3xyU1PTv/7rv77++utz585NvFRWVjZ27NgFCxaEEAYPHjx8+PB9GzIAABApATQAQA/zs5/97OKLL7777rvfeuut999/v6mp6ROf+MSgQYP++Z//+eyzz97n9DmhuLh4wYIFc+bMmT179l//+tfq6uoDDjhg7Nix06ZNGzp0aF1dXb9+/T796U+3P+WSSy753Oc+N2PGjD/+8Y/vvfdeCOGII44YNmzYN7/5zWHDhn3sHWOx2Jw5c84555z7779/9erVW7Zs6d+//+jRo6+88spErPzcc8/dc889TU1NZ5xxRvsTzzvvvEQAfdFFF7X/3EIAACB1CKABAFJXXV3dLttPPvnkk08+OaKbxmKxCRMmTJgwofNLX/nKV77yla90bv/EJz5x55133nnnnbu/ck5OToetnBOysrI+6o4hhM9+9rOf/exnO7e37Rl94YUX7v6+AABAsvgQQgAAeqTZs2eHEEaMGDF48OBk1wIAAOyaABoAgJ5nyZIlf/vb30IIF198cbJrAQAAPpItOAAA0tDTTz/99ttv79Up+fn5kydPjqierlJdXZ2VlfXuu+9eddVVIYTi4uKP2rgDAABIBQJoAIA09Oijj/7617/eq1NKS0tTP4B+5JFH2hd5zTXXVFZWJrEeAABg92zBAQCQhubMmRPfS9XV1cmueu9cdtllt9xyS7KrAAAAdmd/V0DffffdIYRvfOMbu++2YcOGxx9/vLKy0iZ9AADss8suu+yYY455//33jzvuuKOOOirZ5QAAAB9jfwPoqVOnhj0IoDdv3jx16tSDDz5YAA0AwD4rLCw85ZRTkl0FAACwp7pjC47W1tZFixaFEDZt2tQNtwMAAAAAIBXsywrozp/0svvPftmxY0d9fX0IoX///vtwOwAAAAAAeqJ9CaC3bNnysS27dOWVV+7D7QAAAAAA6In2JYD+1re+1Xb8r//6rx1adn2bnJzhw4efccYZ+3A7AAAAAAB6on0JoL///e+3HScC6PYtAAAAAAAQ9i2Abu9f/uVfuqQOAAA6aGlpaWhoSG4NRUVFyS0AAADo0fY3gL7vvvu6pA4AADqIx+PZ37shiQU0ffsHSbx72qupqfnVr3715z//+T//8z+rqqqam5srKiqOPvroMWPGTJw4sbS0NNkFAgBAF9jfADqhtbV17dq1a9asicfju+lWUlLymc98pkvuCAAAPdeDDz44derUmpqa9o1bt25955135s6de9NNN919992XXnppssoDAICu0gUB9KJFiy6++OL/+q//+tieAwYMWLdu3f7fEQAAeq7p06dPmzYtcVxSUnLEEUcMGDAgJydn3bp1q1atqq2tra2tveyyy7Zt2zZ16tTklgoAAPtpfwPotWvXjhkzpqmpaU86b968eT9vBwAAPdqbb755ww03hBAqKyu/9a1vXX755cXFxW2v7tixY9asWbfddtvmzZunTZs2bty4IUOGJK9YAADYX/sbQN96661NTU0lJSXf+ta3PvvZz1ZUVHRJWQAAkJZmzpzZ2tqal5c3f/78E088scOrhYWFU6ZMGTFixCmnnNLY2Dhz5syf/OQnSakTAAC6xP4G0EuXLg0hPPXUU6NHj+6KegAAIJ09//zzIYTLLrusc/rc5qSTTvrqV7/6s5/97LnnnuvG0gAAoOtl7ef569atGzJkiPQZAAD2xAcffBBC2E36nPDpT386hLB+/fruqAkAACKzvwF0WVlZZWVll5QCAABpLx6PhxBisdiedwYAgJ5rfwPoESNGvPrqq83NzV1SDQAApLeDDz44hLBkyZLdd0vsdHfIIYd0R00AABCZ/Q2gv/nNb9bX199+++1dUg0AAKS3MWPGhBAefPDBRMS8S8uXL581a1YIwU53AAD0dPv7IYSnnHLKHXfcMW3atMbGxmuuuaa0tLRLygIAgLQ0ZcqUWbNmNTY2fvGLX/zud7976aWXFhYWtr3a0NDw0EMP3XLLLQ0NDVlZWZMnT05iqUCPc9G9H/k/Wyno0Ukfsxs+AOlhfwPo+fPn/9M//dNll1126623zpgxY+TIkQMHDjzggAM+ale7m2++eT/vCAAAPddRRx11++23X3fddZs3b/7a17528803DxkyZMCAASGE99577+23366qqkr0/OEPf3jUUUcls9Z9lZWVlZeX13acn5+f3HpSUBq8J/n5+VlZ//1AbXZ2dk8cUU+suYOePoSeXn9IlyFkZ2cnjjPqezk7OzsWi/XE8e6bnJz/DgB76Czvm+zs7Mz5PSQ/P79tlnNyclJt1PsbQJ955pltx9XV1b///e93318ADQBAhrv22msrKiq+8Y1v1NbWVldXL126tMN2HMXFxT/+8Y+/+tWvJqvC/ZSbm5ubm5s4zsnJ6dWrV3LrSUFp8J60H0IPneWeWHMHPX0IPb3+kHZDaP/TuwfZn1lIgxncW3l5eW3/SZwhMmSW2w8zBWd5fwPo4uLiLqkDAAAyx6WXXnruuec++uijzz///GuvvVZVVRWPxysqKo4++ujRo0dffPHF5eXlya5x3zU2Nm7fvr2srCxxXFtbm+yKUs6WLVuSXcL+2rJlS3Z2do+e5fSYhWSXsF96ev0hXYaQm5vbu3fvEMLOnTu3b9+e7Ir22r7NQnFxcW5ubnV1dZfXk5ry8vISAeWOHTvq6+uTXU43KSkpyc7O3rZtW7IL6Q5btmzp5lnu06fPnnfe3wC6rq5uP68AAAAZqKys7Oqrr7766quTXUjXi8fj8Xi8/R+TWExqSoP3pMMU98QR9cSaO+jpQ+jp9Yd0GUJP/4m9bzUnzuqJ4903PX2W901GzXKK/72clewCAAAAAABITwJoAAD22iOPPBKLxe6+++66urrrrrtuwIABBQUFRx555De/+c2tW7d26Pzv//7vF1544dChQ0tKSkaMGHHllVe+9dZbSSkbAADoZvu7Bce7776755179+5dUVGxn3cEACBF1NfXn3LKKdnZ2ZdffnlWVtaDDz541113LVmy5C9/+Uvbpxj93//7f6+99toQQk5OziGHHLJ8+fJly5bNnj177ty5p512WlLL7z7Dhw9PHPz7v//7Pffcs1fn+hBvAAB6tP0NoA8//PA97/z1r3/97rvv3s87AgCQIqZPn3766afPnj07ETdfddVVn/zkJ5csWfLiiy9+7nOfCyGsWbPmhhtuCCF873vfu+666woLC6urq6+66qrHHnvsiiuuWLVqVX5+fnKH0D1eeeWVxEFLS8u3v/3tvTpXAA0AQI+2vwE0AAAZq6Gh4cc//nHbYufS0tJx48b94he/WLlyZSKAvuWWW5qbm7/61a9+5zvfSfQpKyt79NFHV65c+eqrr86aNetrX/tasopPluLi4mSXAACktIvuXZrsEvbCo5NOTHYJpLr9DaCffPLJXba3tLS8//77b7/99pw5c6qrqz//+c8/8MAD5eXl+3k7AABSx4knnnjggQe2b6msrAwhtLS0JP74l7/8JYTwjW98o32fWCw2efLky/4/9u4/zqq6wBv4986dnwzjMAMiqLgEKJq+ZB9FrKUMhXqiXAM1DS1pNVsr4Yld03y0aNtNWujJglIE82et6Gam5eKPxWh1BR9R97G0YgQeFBDihzAzzK87M/f549Y806AEM3Pmnnvv+/3XnXPPuffzPefOmXM/c+65V1yxevXqAimgf/GLX2RuDB48uLGxMbthAABgIPW1gJ4xY8bBZ/jmN795zTXX3H777Z/97GcfffTRPj4dAADxMXr06IPc29LSsnXr1mQyOX78+B53nXLKKSGEjRs3RpctVjLngwMAQAEqivoJqqurb7311ilTpjz22GM/+MEPon46AAAGzMGvJrF9+/Z0Oj1s2LDi4p4nPYwcOTKE8MYbb0QYLq6+853vHMrXomzbtu073/nOD3/4wwGIBAAA0Ym8gA4hFBcXX3755SGEu+66awCeDgCAOBgxYkQikdi1a1d7e3uPu37/+99nZshGriybN2/evHnz/uxsu3btmjdvXuYrHAEAIHcNRAEd/vgpy9/+9rcD83QAAGRdeXn5Mccc09HRsX79+h53vfLKKyGE448/Phu5ckBnZ+fTTz8dQti5c2e2swAAQJ/09RrQh2jz5s0hhNbW1oF5OgAA4uCss876l3/5l+9+97u33XZb18R0Or148eIQwvvf//7sRRtQme9mPPiU7pqbm5uamkIIRx99dISxAAAgegNRQLe1tS1cuDCEcMIJJwzA0wEAEBNf+9rXHnjggeXLl48ZM2bevHmlpaUNDQ1f+MIXXnjhhVGjRl111VXZDjhAdu/e/WenvK3CWUUAAOSrvhbQP/7xjw9ybzqdfv311++5556XX345hDBt2rQ+Ph0AADnk+OOPv+mmm6699tovf/nL8+fPP+644zZs2NDZ2Tls2LC77rqroqIi2wEHyA033NB1+xvf+EaPKW+ruLh44sSJH/3oR6NNBgAAEetrAf3xj3/8EOc88sgjfYkKAEB+Ky0tPeWUU0aPHt015Utf+tJpp512++23/5//839ef/31v/zLvzzjjDPmz58/cuTI7MUcaP/0T//UdTtTQHefAgAAeWwgLsExePDgD3zgA7feemttbe0APB0AAFH75Cc/+clPfvLA6V//+te//vWv95g4derUqVOnDkiuHPC3f/u32Y4AAAADp68F9JtvvnnwGRKJxJFHHllUVNTHJwIAgDywdOnSQ5ntf//v/33TTTede+65n/nMZ6KOBAAA0elrAT1ixIh+yQEAAGSk0+mHH3744Ycf7uzsVEADAJDTBuISHAAAQJf29vYlS5asXr16w4YNbzvD/v37/+///b8hhNLS0gFNBgAA/a3fCuj6+vp/+Zd/eeqpp15++eW33nqrvb29trb2lFNOmTp16qc+9anq6ur+eiIAAMhdHR0d55133sqVK//snKWlpf/jf/yPAYgEAADR6Z8C+o477pg3b159fX33iXv27Hnttdd++tOf/s//+T+/853vXH755f3yXAAAkLseeeSRTPt83HHHnX322fv27fvpT38aQrjoootqamr27t37i1/84ve//31lZeUvf/nL008/Pdt5AQCgT/qhgF60aNG1116buT148OBx48aNHj26uLh406ZN69evb2hoaGhouOKKK/bt2zdv3ry+Px0AAOSu22+/PYQwduzYdevWDRkyJITwiU984v777//Qhz50xRVXhBBSqdTll1/+wx/+8I477lBAAwCQ64r6uPyrr7765S9/OYQwbNiwm2++efv2WfQVigAAIABJREFU7S+99NJDDz30r//6r+vWrduxY8d3v/vdYcOGhRCuvfba3/3ud/0QGQAActZrr70WQvjMZz6TaZ9DCP/9v//3EMKaNWsyP5aUlNx1113jxo275ZZb1q1bl62cAADQL/paQC9ZsqSzs7O0tPTnP//5F7/4xcrKyu73VlRUzJ0792c/+1lpaWnmu1b6+HQAAJDTtmzZEkIYP35815T3vOc9IYTu52okk8k5c+aEEJYtWzbgAQEAoD/1tYBetWpVCOGKK64488wz32me97znPZ/5zGdCCP/+7//ex6cDAICcVlzc8yJ4Y8aMKSoqevXVV9PpdNfECRMmhD8ebAMAQO7qawG9devWEMJB2ueM9773veGPp3sAAEDBOvbYY8MfL8SRUVZWdtxxx+3Zs+f111/vmlhTUxP+eLANAAC5q68FdOY0jUQicegzAwBAwXr3u98dQli2bNm+ffu6Jp544okhhJUrV3ZNyTTUmS9TAQCA3NXXAvqYY44J3b4y5Z0899xz4Y+newAAQMHKXNz5tddeO+OMMxYtWpSZOG3atBDCggULNm/eHELYt2/fwoULQwgnnHBC9pICAEA/6HkFusM1derU11577Y477vj0pz/9ThfiWLdu3fLly0MI55xzTh+fDgCgcCSTycRNN2cxQF+PFHk773//+2fPnn333XfX1dV94xvf+NKXvhRCuOSSS+bPn//6668ff/zxxx9//ObNm/fv3x9CuOqqq7KdFwAA+qSvZ0DPnTu3qKiora3t3HPP/f73v9/c3Nz93tbW1qVLl370ox9tbW0tKirKnO4BAMChSCQSyWzL9jrIQ4lE4s4771yyZMmZZ55ZVlaWmThy5Mjvf//7iUQilUq9+uqrmfb54osvvvDCC7MaFgAA+qqv57W8+93v/ud//ucvfelLu3btuvrqq2+88cbx48ePHj06hLB58+bf/e53b731VmbOBQsWZC54BwAAhSyRSFx99dVXX311W1tb18TZs2efdNJJS5cu3bRp07ve9a5p06bNmjXrEL9qBQAgVi699blsRzgMP/rc21/Ugf7SDx+svOaaa2pra7/4xS82NDTs3bv3ueeey1zxuUtlZeXNN9/8mc98pu/PBQBQODo6OroXlAMvkUiUl5dnMUDeKy0t7f7jpEmTJk2alK0wAAAQhf65st/ll19+/vnn/+hHP1q1atWvfvWrt956K51O19bWnnLKKeecc84nP/nJmpqafnmifFVaWtr1Edf+XVft/fhYvdVjRHGIFEI44ogjMjdKSkpqamrikCqeKyqGqWIYKcQyVU1NTVHRH66zNGTIkDhECnFdUd1/jEOk8KepYhgpxCNVTU1N18mhgwYNqqio6JeHTafT/fI4/SKdTg967sUsBmiYOCGLz56X1q9f/9RTT4UQzj33XF/QDQBAIei3r5YZMmTIF77whS984Qv99YAFpft73VQq1Y+PHIcPbfYYURwihRDa29szpX86nU6lUnFIFc8VFcNUMYwUYpkqlUqVlpZm6rmYvMhDXFdU9x/jECn8aaoYRgrxSJVKpYqLizP/aOno6Ojo6OiXh02n08XFvnuPqKxaterzn/98CKG8vPzTn/50tuMAAEDkvL+KhVQqlUwmM293Gxsb+/GRq/rxsXqrx4jiECmE0NTUlPnan/b29sbGxjikiueKimGqGEYKsUzV2Ng4ZMiQTDe3f//+wdnOkxHPFdX9xzhECn+aKoaRQjxSNTY2VlRUZP56tra2trS09Ncj99fJ1HCgE088MXPjN7/5TXaTAADAwCjql0fp6Oh4+OGH/+7v/u7WW2/tPv3qq68+77zzvv/972f38oUAABAHU6ZMmTJlSgjhnnvu2b17d7bjAABA5PqhgN6yZcs555wzY8aMm2++ecOGDd3v2rt3789+9rOrr7568uTJPe4CAIBCk0gkfvrTn06ZMmX79u2XXHLJxo0bs50IAACi1ddLcKRSqWnTpv3ud78LIVRVVY0bN677vdOmTXvxxRd/85vfrFu3bubMmS+++KKLKgIAUMjWrFlzzTXXlJSUPPHEEyeccMLUqVP/4i/+YsSIEaWlpW87/4033jjACQEAoB/1tQ5eunRppn3++7//+2984xuZi+p2+fSnPz179uzbb7/9b//2b3/1q18tX778c5/7XB+fEQAActf06dO7bnd0dDzxxBMHn18BDQBATutrAf2Tn/wkhPChD31o0aJFiUTiwBkSicSVV175zDPP3HPPPT/72c8U0AAAFLLKyspsRwAAgIHT1wK6rq4uhHDRRRe9bfvc5UMf+tA999zjy74BAChwjY2N2Y4AAAADp69fQrhz584QQnV19cFnGzRoUAjhzTff7OPTAQAAAACQK/paQI8YMSKE8MILLxx8tswMw4cP7+PTAQAAAACQK/paQJ9zzjkhhLvvvnvLli3vNM/27dvvvPPOEMJZZ53Vx6cDAAAAACBX9LWAnjNnTiKRePPNNz/84Q//4he/SKfTPWZ47rnnzj333G3btoUQrrrqqj4+HQAAAAAAuaKvX0J42mmnfe1rX5s/f/4rr7xyzjnnnHLKKRMmTBg1alRZWdnrr7/+6quvPvfcc5k5r7766ve97319DgwAAAAAQG7oawEdQvjKV74yZMiQ6667rqWl5de//vWvf/3rHjMkEolrr732G9/4Rt+fCwAAAACAXNHXS3CEEBKJxNy5czds2PC1r33tPe95T2lpadf0k046ac6cOa+88so3v/nNZDLZ9+cCAAAAACBX9EMBnXH00UfPnz9/zZo1LS0t9fX1u3fvTqVSr7766uLFi0866aT+ehYAALLurrvuSiQS5557bo/p27dvTyaT5eXl+/bt65py9dVXT5o0qbKycsyYMbNnz/7Vr37VY6mdO3dee+21EyZMGDx48IgRI84666wHH3zwwG8WAQAAclG/FdBdEolEVVVVbW2tU54BAPLSeeedV1xc/OSTTzY0NHSf/uMf/7izs/Pcc8+trq4OIfzyl7/8y7/8y+9///svvvjiUUcd9frrr99zzz2nn376/fff37XItm3bTj311EWLFv32t78dOXJkR0fH008/feGFF/7zP//zQI8KAACIQP8X0AAA5Lfa2tqzzz67ra1t5cqV3aevWLEihHDppZeGEPbv3/+JT3xix44df//3f79v376NGzfW19dff/31qVTqsssu27BhQ2aRG264Yfv27R/72MfefPPNurq63//+9z/4wQ9CCF/5yleam5sHfGQAAEA/U0ADAHDYLrjgghDCQw891DXljTfe+M///M/q6urp06eHEL797W9v3779E5/4xLe+9a3KysoQwqBBg2666aa/+Zu/aWtrW7RoUWaptWvXhhBuuOGG2traEEIikbj88svPO++8008//Y033hj4cQEAAP1LAQ0AwGGbMWNGIpF49NFHW1tbM1MeeOCBEMKFF15YXl4eQnjsscdCCHPmzOmx4Gc/+9kQwi9/+cvMj5lu+sc//nHX44QQHn744bVr155wwgmRDwMAAIhYcbYDAACQe4466qj3ve99Tz/99C9+8YsPf/jD4Y/X37jkkksyM6xfvz6EsHz58nvuuaf7gpkLa2zZsiXz41VXXXXllVcuXLjwjjvumDVr1tlnn33WWWcNHTp0IMcCAABERwENAEBvXHDBBU8//fRDDz304Q9/eMOGDevWrTv66KM/8IEPhBBaW1t37doVQrjrrrvedtnGxsaOjo5kMnnFFVdUV1d/9atf/e1vf7tkyZIlS5Ykk8kpU6b84z/+43vf+96BHA4AABAFBTQAAL1x/vnnf/GLX3z44YdvueWW+++/P4Qwa9asZDIZQigrK6utrd2zZ099fX1VVdVBHiSRSHz84x//+Mc//pvf/Obxxx9/+umn/+3f/m3VqlVPPfXU6tWrzzrrrAEaTH7ZsWPHihUrXnrppfr6+pqamokTJ86aNWvIkCGHsuwbb7yxYsWKzZs3b9++fejQoaNHj545c+aJJ54YdWYAAPKVa0ADANAbo0aNOuOMM3bs2LF27dpMAd11/Y0QwtixY0MIv/nNb3os1draumXLlp07d4YQUqnU9u3bM7dPOumkL37xiw8++ODWrVsvvvjidDq9dOnSgRtMHtm4cePcuXNXrVq1Z8+eysrKnTt3rly5cu7cuTt27Pizyz711FNz5859+umnt27dWltbu3v37jVr1lx77bV33333ACQHACAvKaABAOilCy64IISwYMGCl19+efz48f/tv/23rrumTJkSQvje977XY5EFCxaMGjVq0aJFIYTdu3ePHDnymGOOaWho6Jqhtrb2vPPOCyHs378/+hHkm3Q6vWTJkubm5okTJ95999333nvv7bffPm7cuL179y5fvvzgy+7Zs2fZsmUdHR3nn3/+Aw88sGzZsvvvv/9zn/tcMpl88MEH16xZMzBD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LS3NdhbgTyQSCbvEvNf1h6+ioiLbWYhKMpnMbOXy8vJsZyEqxcXFtnLe69rKZWVl2c5CVEpKSmL75iiRTqeznQEAAAAAgDzkEhwAAAAAAERCAQ0AAAAAQCQU0AAAAAAAREIBDQAAAABAJBTQAAAAAABEQgENAAAAAEAkirMdoCDs2LFjxYoVL730Un19fU1NzcSJE2fNmjVkyJColy1kb7zxxooVKzZv3rx9+/ahQ4eOHj165syZJ5544p9d8L777rvvvvve9q5bbrnl2GOP7e+k+aCPK82L/HBdeumlDQ0NB5nh29/+9rhx497pXi/yw7Jy5cpbb731tttuGzly5IH32r1H4eDr3O4dYsIOsBDY5eY9h/F5zxuH/OatSiHImzdHCujIbdy48frrr29ubg4hVFdX79y5c+XKlWvWrFm0aNFRRx0V3bKF7KmnnlqyZElHR0cymTzyyCN379795ptvrlmz5oILLpg9e/bBl922bdvAhMwnfVlpXuRRKC4+2L7di/zQtbe3P/bYY+90r917FA6+zu3eISbsAAuBXW4hcBiPNw65y1uVQpBPb44U0NFKp9NLlixpbm6eOHHinDlzampqfv/733/zm9987bXXli9ffuONN0a0bCHbs2fPsmXLOjo6zj///EsvvbSkpKSjo+OJJ55YtmzZgw8+eMIJJ7z3ve89yOJbt24NIXz7298+8B8+ZWVlEebOZb1eaV7kvfODH/zgbae/9NJLCxYs+MAHPvAXf/EXB1nci/xQdHR0bNiw4f7779+0adPbzmD33u/+7Dq3e4eYsAMsBHa5BcJhfN7zxiEveatSCPLvzZFrQEerrq5uw4YNtbW11113XU1NTQhh+PDh8+fPLy0tff7553ft2hXRsoVs1apVTU1NJ5988uzZs0tKSkIIyWRy+vTpF110UQjhIP87CiGk0+lt27YVFRWNHj26/ACJRGKAxpBT+rLSvMh758D1XF5e3traunTp0mOOOebzn//8QVa7F/mhuOeeey688MJrrrnm+eeff6d57N7716Gsc7t3iAk7wEJgl1sIHMYXAm8c8o+3KoUgL98cKaCj9eSTT4YQJk+e3P0fCNXV1aeddlo6nV69enVEyxayzZs3hxAmT57c43dm0qRJIYTXXnvtIMvu27evqalp5MiRB/8gEt31ZaV5kfeXdDr93e9+d//+/ddd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" width="960" style="display: block; margin: auto;" /></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># regrouping</span>
<span class="co"># '1' if dep_hour is 4-12</span>
<span class="co"># '2' if dep_hour is 13-19</span>
<span class="co"># '3' if dep_hour is 0-3 or 20+</span>
<span class="kw">get_multiplot</span>(<span class="st">'dep_hour'</span>)</code></pre></div>
<p><img src="data:image/png;base64,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r3Zl3w0bNixduvSZZ55paWlpbm6eOXPm3Llzx44dm3TNAABUKgE0AABUjn//939ftGhRPp9Pp9Pve9/73n777TfffPOxxx479dRTzz777B3vu3bt2ssuu6yjoyOE0NTUtHHjxhUrVjz22GMLFizYY489hqV8AAAqjSU4AACgQrzzzju33HJLPp//3Oc+t2zZsltuueXOO+88//zz0+n0XXfd9dhjj+1g30KhsGjRoo6OjpkzZ95666233Xbbj370owMOOGDz5s2LFy8etiEAAFBhzIAGGKkaF1wzlN23XnJVsSoBoEz85je/aW9vnz59+tlnnx1FUQghnU6fcMIJmzdvXrJkyQMPPPCxj33svfZdvXr1mjVrxo0bd+mll2az2RDCxIkTr7766nPOOefJJ5/ctGnThAkThm8kAABUCjOgAQCgQrz22mshhCOPPDJOn/vMmjUrhPDKK6/sYN+HHnoo3jdOn2NNTU2HHXZYoVBYuXJlEgUDAFDxzIAGAIAKsf/++zc2Ns6YMaPf9tbW1hBCfX39DvZ94403QggD9z300EMff/zxdevWFbVSAABGCwE0AABUiFNOOWXgxu7u7mXLloUQPvKRj+xg33feeSeE0NTU1G97vCW+d6AlS5Z0d3f32zhz5swpU6bsatHDKJP5y68/2Wy273ap1NbWJtd5VVVV0ocoB6nUXz7RW1NTUygUSltMotLpdBRFFX9C449ujJKRZjKZyh5m349nOp2u7JHGz9vq6up+nz2qMH0vmhX/1E2n0yGEbDYbv5JWqr4TWl1dHQ858SMOwzEAAICSePvtt7/1rW+tXr16woQJn//853fQMo6YGxsb+20fM2ZMeO8AevHixS0tLf02XnnlldOnTx980cmrqakpdQk7mZA+Ug5RJurq6kpdwnAYJSc0iqLRMNJUKlXZ8VafdDo9Gk5odXV1dXV1qasYDqNkpJUdsm9r2N4RCaABRrUdf5NhVwghhHQI/dOIbfgyQ4Dy1NHRcd999919992dnZ3vf//7r7jiioGzmwcaOIErnlja09OTSJUAAFQ6ATQAAFSUQqHw6KOP3nzzzZs3b66rqzvrrLNOPvnkna44MW7cuPXr12/durXf9nj96PHjx293r4svvnjgEhwHHXRQvFe56ftEbUdHRz6fL20xiT5EVVVV1dXVbW1tyR2iHNTW1sYfHG5ra6vsJThqamqiKOro6Ch1IclqaGgIIRQKhYp/6tbV1eXz+a6urlIXkqBUKhV/NKGnp6ezs7PU5SQonrPf1dWVy+VKXUuCMplMPFW2u7t74Ot+JYkXjWlvb+/t7S11LQnqe0fU2dk56EkG8UV7FwmgAQCgcnR3d1933XWPP/54Op0+7bTTTjnllIGramxXHEAPXE8j3vJeAfSnP/3pgRtbW1vLM25Ip9Pxr1vd3d0lTwoSfYiiKKquri7Ps1BE2Ww2DqC7uroqOymoqqpKpVIVf0Lr6+ujKCoUChU/0tra2oqPZdPpdBxA9/b2VvZI4wA6l8tV9jCz2WwcQFf8U7eqqqq2tra7u7uyP/u17TuiQf9FYbcC6NTgjgEAAJSbfD7/7W9/+/HHH588efI///M/n3XWWbuYPocQ9tprrxDC888/3297vGXPPfcsbqkAAIwSAmgAAKgQK1eufPrpp//qr/7qX/7lX/bbb7/d2vfYY48NITz66KPbrk3R1dX11FNPRVE0e/bsItcKAMDoIIAGAIAK8atf/SqE8IUvfCGKou4Btl104v7771++fPnq1av7tkybNm2//fZ76623brrppng1g1wud+2117a3t8+aNWvixInDPxwAACqANaABAKAS5PP5tWvXhhD+5//8n9ttMGnSpFtuuSW+/ZOf/CSXy5111llTp06Nt0RRdOGFF1522WUPPvjgI488ss8++7z66qtdXV3Nzc3nnnvu8AwBAIDKYwY0AABUgo0bNw7xe9j233//G2644ZOf/GR1dfXq1asbGxvnzJlzww03mP4MAMCgmQENAACVYNKkScuXL9/Fxnfdddd7dTJv3rziFQUAwGhnBjQAAAAAAIkQQAMAAAAAkAgBNAAAAAAAibAGNACVpnHBNUPsYeslVxWlEgAAABjlzIAGAAAAACARAmgAAAAAABIhgAYAAAAAIBECaAAAAAAAEiGABgAAAAAgEQJoAAAAAAASIYAGAAAAACARAmgAAAAAABKRKXUBAAAAo9cZP3yi6H3effEnit4nAMDgmAENAAAAAEAizIAGgO1rXHDNUHbfeslVxaoEAAAARigzoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASESm1AXstj/96U+XXnrpwQcf/I//+I/97tqwYcPSpUufeeaZlpaW5ubmmTNnzp07d+zYseXQDAAAAABgtBlhM6C3bt363e9+N5/PD7xr7dq1F1100W9+85t33nmnvr5+48aNK1asuOiiizZs2FDyZgAAAAAAo9BICqALhcL111+/cePG7d61aNGijo6OmTNn3nrrrbfddtuPfvSjAw44YPPmzYsXLy5tMwAAAACA0WkkBdDLli17+umnP/CBDwy8a/Xq1WvWrBk3btyll17a3NwcQpg4ceLVV19dXV395JNPbtq0qYTNAAAAAABGpxETQP/hD3/4+c9/Pn369M9//vMD733ooYdCCEceeWQ2m+3b2NTUdNhhhxUKhZUrV5awGQAAAADA6DQyvoTw7bffvu6668aMGTN//vwXXnhhYIM33ngjhDBjxox+2w899NDHH3983bp1JWzWz/3339/d3d1v48EHH7zXXnttt33SoiiqqakpyaF3VyqVCiFUV1en0+lS17JL4oJDCNlstlAoJHqsIp7ETGaol4ViFVOUfsqqmBBCKpWKomg7y9iXopiy6qdYxWQymSiKht7P8Ayq7yqRSqVGyqU4vkQMw2WtuHbrxW5kDQ0AAKDMjYAAOp/PX3vttS0tLd/85jfjlS4Geuedd0IITU1N/bbHW+J7S9Wsn+uvv76lpaXfxiuvvPLAAw/cbvukpVKphoaGkhx6cGpra0tdwm6rr6/faZuuoR0iPolD7CSEEEVRNpstSjFDr6cogypuMUPvJ/7zyRAD6LJ6hIvVT7EGVVVVNbQO/qK4g9qpTCYzsi7Fu3JZKytRFO36I9zb25toMQAAAKPKCFiC49Zbb33xxRfPPPPMQw455L3axGlvY2Njv+1jxowJAyLjYW4GAAAAADA6lfsM6Mcee+zee+/98Ic/fNppp+208cCPXcefou3p6Sl5sz7nnnvuwCU4pk6d2tbWtt32yYnnrxUKhfb29mE+9OCkUqna2trOzs58fojzR4dJTU1NPN21vb19px/oHuKPYvz8GfrPc6FQyOVyQ+yk78lcDoMqbjFD7yefzw/90/1l9QgXq59iDSqXyw19GZlQ7EG9l/iyFkLI5/OdnZ1DO9owyWQy2Wx2Vy5rZaKuri6Kot19sRtxU7wBAADKVlkH0G+99db3vve9CRMmXHzxxTte03PcuHHr16/funVrv+2tra0hhPHjx5ewWT9z584duLG1tbWjo2MHA0xC/Nt1b2/v8B96cNLpdG1tbVdX19AT0uHRt1x1Z2fnTj/Q3X8i/W6KT+IQO4nlcrkhXhf6nlHlMKjiFjP0fnp7e4f+6f6yeoSL1U+xBtXT01OUZeKLO6j3El/WQgj5fH6kXIqz2Ww2m92Vy1qZqKurCyEUCoXdeoQF0AAAAMVS1gH06tWr29vb0+n0/Pnz+zbGM5hefPHF888/P4Tw9a9//QMf+ECcBQ9cWzne0i8yHuZmAAAAAACj0whYA3rr1q1vbOPdd98NIXR3d8f/jSfD7rXXXiGE559/vt++8ZY999wz/m9JmgEAAAAAjE5lHUAfddRRywe49NJLQwiHHnpo/N8DDjgghHDssceGEB599NFtVwfu6up66qmnoiiaPXt2vKUkzQAAAAAARqeyDqB33bRp0/bbb7+33nrrpptuilelzOVy1157bXt7+6xZsyZOnFjCZgAAAAAAo1NZrwG966IouvDCCy+77LIHH3zwkUce2WeffV599dWurq7m5uZzzz23tM0AAAAAAEanCpkBHULYf//9b7jhhk9+8pPV1dWrV69ubGycM2fODTfc0G8mckmaAQAAAACMQiNvBvSRRx65fPny7d41adKkefPm7bSHkjQDAAAAABhtKmcGNAAAAAAAZUUADQAAAABAIgTQAAAAAAAkQgANAAAAAEAiBNAAAAAAACRCAA0AAAAAQCIE0AAAAAAAJEIADQAAAABAIgTQAAAAAAAkQgANAAAAAEAiBNAAAAAAACRCAA0AAAAAQCIE0AAAAAAAJEIADQAAAABAIjKlLgAAAKgo1dXVNTU1pa5iO1Kpv8y/aWhoKBQKpS1m7NixyXVeW1sbRVGihygH6XQ6vjFmzJjSVpK0eKQVf0KjKAohpFKpih9pKpXKZrNVVVWlLiRB8dkMIVRVVVX8CQ0h1NXVlecLX7H0ndCamprq6urSFpOoeKSNjY0lf5+QqL53RPX19XV1dcNwRAE0AABQTIVCoaenp9RVbEdf3JPP53t7e0tbTKIPUW9vbyqVKs+zUESpVCpOCvL5fGUnBVEURVFU8Sc0k8mEMr6AFFE6na74YUZRFP/hpLe3t7JHGkLIZDL5fD6fz5e6kASl0+lRckJTqVQ6ne7p6ansl5VMJhNn0EN5RxRftHe18eCOAQAAsF25XK6zs7PUVWxHfX19bW1tCKGjoyOXy5W2mNbW1uQ67+rqSqfTiR6iHDQ1NcW/P7e1tZX8LwqJamxsTKVSFX9Cs9lsFEWFQqHiR1pVVdXd3d3W1lbqQhKUTqez2WwIIZ/PV/YJjaKopqamq6urPF/4iqVvzn53d3d7e3upy0lQVVVVdXV1R0dHZefs9fX1cXzc2dnZ3d09uE52a9a/NaABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIRKbUBRBCCKlUqqqqqiSHjqKoVIfeXalUKoSQyYyYJ20URfGNTCZTKBQSPVYRT2I6nR5iD8Uqpij9lFUxIYQoilKpVG95FFNW/RSrmPhCMXTDM6i+akfQpTi+RAzDZa24RtAjDAAAUGFGTJZX2aqqqurq6kpy6FQq1dTUVJJDD059fX2pS9htY8aM2WmbrqEdIj6JQ+wkhBBFUU1NTVGKGXo9RRlUcYsZej/xX1DKpJhiPW3K6kxls9mhdfAXxR3UTlVVVY2sS/GuXNbKShRFu/4I9/YO8Y9EAAAA/D8C6LKQy+Xa2tqG+aBjx44NIfT29ra0tAzzoQcnnU43Nja2trb29PSUupZd0tDQEKeNW7Zs2elUwdqhHWvz5s1D7ySEUCgUurq6omIUM/R6ijKo4hYz9H56enqGPm+0rB7hYvVTrEF1dXUVZaJrcQf1XlKpVJzkluRVYHCqqqrq6+tbWlpGSkrb1NQURdHuvtjFL5EAAAAMnQC6LPT29pYqVC0UCiMlz41ju3w+P7IKDiHk8/mkk5oiPib5fH6I14ViFVOUfsqqmBBCoVAY+pOh3AZVVmeqWD9rwzOovhVvRtClOK65p6dnpATQfUbKIwwAAFBhfAkhAAAAAACJEEADAAAAAJAIATQAAAAAAIkQQAMAAAAAkAgBNAAAAAAAiRBAAwAAAACQCAE0AAAAAACJEEADAAAAAJAIATQAAAAAAIkQQAMAAAAAkAgBNAAAAAAAiRBAAwAAAACQCMKmLbEAACAASURBVAE0AAAAAACJEEADAAAAAJAIATQAAAAAAIkQQAMAAAAAkAgBNAAAAAAAiRBAAwAAAACQCAE0AAAAAACJEEADAAAAAJCITKkLAAAAErFixYof/vCHN99885577rkr7ZcsWbJkyZLt3nXjjTdOnjy5qNUBADAqmAENAAAVqKen54EHHtitXdavX59QMQAAjFpmQAMAQEXJ5/Nr1qy58847X3311d3a8Y033gghXH/99QMnO2ez2aLVBwDAaCKABgCAyvGzn/3snnvuyefzu7tjoVBYv359KpWaMmVKJuPXBAAAisM7SwAAqBx77733McccE9/+X//rf/X09Ozijlu2bGlvb997772lzwAAFJE3lwAAUDlmz549e/bs+Pbjjz++devWXdwxXn9j8uTJTz755MqVKzds2DB+/PgpU6Ycf/zxzc3NSZULAEClE0ADAAB/+QbCp59++oknnujb+Nhjjy1fvvyCCy446qijtrvX9ddf39nZ2W/jcccdN3369ORKHbSqqqr4Rm1tbclXtW5oaEiu82w2G0VRoocoB+l0Or5RX19fKBRKW0yiMpnMaDihURTF/1b8SFOpVFVVVWUPMz6bIYR0Ol3ZI41ls9nK/vxQ3/W2uro6lUqVtphExaOrq6vr7e0tdS0J6nu61tTUVFdXD8cRh+EYAABAmYsD6N7e3i996UuHH374+PHj161bt2zZst/97ncLFy7cb7/99t5774F73X///S0tLf02HnTQQR/+8IeHo+jBGp7ftXaspqYmuc7jXywTPURZKfmfE4bHKDmhURSNhpFmMpnKziv7pNPpvuyyglVVVfX9jbOyjZKnbjm8TxgewzbSyn/SAAAAOzV9+vQxY8ZMmzbtoIMOircceOCBV1xxxdVXX/3ss8/ecccd8+fPL22FAACMRAJoAAAgzJw5c+bMmf02RlF08sknP/vss6+88sp297ruuusGfs/hpEmTtmzZkkiVQ1NbWxvP9Glra9v1r2dMSKIPUWdnZzabHTg5vcLU19fHE/FaWloqewmOurq6KIra2tpKXUiyxowZE0VRb2/vri9eP0I1NjbmcrmB6xdVklQq1djYGELI5XLt7e2lLidBURSNGTOmo6Oju7u71LUkqKqqqq6uLoTQ2dnZ1dVV6nISlMlk6uvrW1tb8/l8qWtJUE1NTfzhoaG8I2pqatr1xgJoAADgPcUrb2zcuLFQKPSt6dnnsMMOG7hLa2treQYrfZ8z7enpyeVypS0m0QLiX5tLPsak9YXOPT09lb1YZ29vbyqVqvgT2qfiR1ooFHp7eyt7mH3LbhQKhcoeafzKmM/nK3uYfes+V/xTN9bT01PyP1Qnqu8d0bA9dQXQAAAw2nV0dDz00EPpdHrOnDn9UuZ33303hDB58uSB6TMAAOyUABoAAEa7mpqaFStWvPHGG3vssUe/hThWrVoVQpg6dWqJSgMAYGRLlboAAABguN1///3Lly9fvXp1/N8oik444YQQwsKFC5999tl4ZYPu7u5ly5bdf//9tbW1p59+einLBQBgxDIDGgAARp2f/OQnuVzurLPO6pvafNJJJ7344ou//e1vr7rqqoaGhrq6unjd57q6uq9+9asTJkwobcEAAIxQAmgAACBEUXTJJZccccQRv/71r9evX79ly5b9999/6tSpX/jCF8aNG1fq6gAAGKkE0AAAUJnuuOOO97rrrrvuGrgxlUodddRRRx11VJJFAQAwulgDGgAAAACARAigAQAAAABIhAAaAAAAAIBEWAMaAJLVuOCa97qrq6/Ne+++9ZKrilsPAAAADBszoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgEQIoAEAAAAASIQAGgAAAACARAigAQAAAABIhAAaAAAAAIBECKABAAAAAEiEABoAAAAAgERkSl3ALnnqqafuv//+devWbdmyZdKkSQceeOAXvvCFiRMn9mu2YcOGpUuXPvPMMy0tLc3NzTNnzpw7d+7YsWPLoRkAAAAAwGgzAgLoH/3oR8uXLw8h1NXVNTc3r1u37rXXXlu5cuU111wzffr0vmZr16697LLLOjo6QghNTU0bN25csWLFY489tmDBgj322KO0zQAAAAAARqFyX4LjxRdfXL58eTabvfzyy5csWXLLLbfcfvvtRx11VC6Xu/7663t6euJmhUJh0aJFHR0dM2fOvPXWW2+77bYf/ehHBxxwwObNmxcvXtzXW0maAQAAAACMTuUeQD/00EMhhM9+9rOHH354FEUhhPr6+osuuqi+vn7jxo2vv/563Gz16tVr1qwZN27cpZde2tzcHEKYOHHi1VdfXV1d/eSTT27atKmEzQAAAAAARqdyD6D/67/+K4RwyCGHbLsxm83uvffeIYQ33ngj3hLn1EceeWQ2m+1r1tTUdNhhhxUKhZUrV5awGQAAAADA6FTuAfTZZ5/9jW9848ADD9x2Yz6f37hxYwih73sI4yR6xowZ/XY/9NBDQwjr1q0rYTMAAAAAgNGp3L+EcNu5zz09PW1tbevWrbv33nvffffdQw45ZOrUqfFd77zzTgihqamp3+7xlvjeUjXrZ/HixZ2dnf02fvzjH+8Xsg+bVCpVX19fkkPvrngNlpqamurq6lLXskvS6XR8o66urlAoJHqsYp3EKIqqq6t7y6OYovRTVsWEENLpdCqV6imPYsqqn2IVU1VVFV8rhqisBlVWV+n4yjYMl7XiiqJo1x/GkTU0AACAMlfuAfS2/v7v/z5ekSOEcNxxx51zzjl9KUOc9jY2NvbbZcyYMWFAZDzMzfpZsmRJS0tLv4377LNPPG96+EVRVFtbW5JDD862C56MFDU1NTtt0zW0Q8QncYidxKqqqopSTCiPQRW3mKH3k0qlQghDDKDL6hEuVj/FGlQmU5zXtbIaVBlepXflslZWduvFrrd3iH+GAwAA4P8ZSQH01KlTJ06c+IEPfGD9+vWrVq2aMmXKiSeeuG2DgbPe4klMPT09JW8GAAAAADDajKQA+qtf/Wrf7RtuuOHmm28eN27cxz72sRDCuHHj1q9fv3Xr1n67tLa2hhDGjx8f/7ckzfq57rrrBmbTkyZN2rJly/aHnZh4qZDe3t6BQyhP6XS6oaGhra1tpIT79fX18WTMlpaWnX6ge4iTCePnz9BnJBYKha6uriGuX9D3ZC6HQRW3mKH309PTM/RP95fVI1ysfoo1qK6urqKs0lNWgxr+F4gdqKqqqqur27p160iZJjxmzJgoigqFwsCPH+3AwPW1AAAAGJyyDqBbWlp+//vf19XVzZo1q99dH/nIRx5++OGHHnpo2wB64O+W8ZZ+kfEwN+vnsMMOG7ixtbV14MLQw6NQKORyuZIcenfFYUdPT89IKbgvZ+zp6dlpUjPEfCp+TIrykfh8Pj/E60LfCSqHQRW3mKH3UygUhh7bldUjXKx+ijWo3t7eoizgW1aDKquLXryMTC6XGykBdGwEvdgBAABUmFSpC9iRQqFw/fXXX3vttQN/y+0X1+61114hhOeff75fs3jLnnvuWcJmAAAAAACjU1kH0E1NTRMmTOju7n7mmWf63fW73/0uhDB58uT4v8cee2wI4dFHH83n831turq6nnrqqSiKZs+eXcJmAAAAAACjU1kH0CGEE044IYTwgx/84Lnnnos/Vd3V1XX77bf/9re/rampmTNnTtxs2rRp++2331tvvXXTTTfF06Vzudy1117b3t4+a9asiRMnlrAZAAAAAMDoVNZrQIcQPve5zz355JMvvfTS5ZdfXltb29jYuHHjxkKhUF1d/d/+23+bNGlS3CyKogsvvPCyyy578MEHH3nkkX322efVV1/t6upqbm4+99xz+3orSTMAAAAAgNGp3GdAp9Pp73znO+edd95BBx1UU1PT0tKy7777fupTn7rxxhuPPvrobVvuv//+N9xwwyc/+cnq6urVq1c3NjbOmTPnhhtu6DcTuSTNAAAAAABGoXKfAR1CSKVSc+bM6VttYwcmTZo0b9688mwGAAAAADDalPsMaAAAAAAARigBNAAAAAAAiRBAAwAAAACQCAE0AAAAAACJEEADAAAAAJAIATQAAAAAAIkQQAMAsKsmTJgQRdGVV145uN17enqiKIqi6Pvf/35xCwMAAMqTABoAAAAAgEQIoAEAytTKlSvj+cIzZ84sdS0AAACDIYAGAAAAACARAmgAAAAAABKRKXUBAABs31//9V+/++67IYR0Ol3qWgAAAAbDDGgAgDKVyWQmT57c3Nz8ve99r99dW7Zsueaaa44++ui99967rq5u+vTpp5122qOPPlqU4xYKhaVLlx5//PETJ07MZrNTpkz5yle+8vLLL+9gl61bt37nO985/PDDx40b19DQMGPGjPPOO2/Huww86KpVqz7/+c8fcsghY8eObWho+OAHP3jSSSfdd999+Xw+bvOb3/wmXhR76dKl2+3kwx/+cBRFH/zgBwuFwq4fGgAASI4Z0AAAI8yjjz766U9/Op4cHXvhhRdeeOGFu+6662tf+9qCBQuG0nlra+tpp5324IMP9m157bXXFi9efNttty1ZsmS7uzz11FOf+cxn3nzzzb4tf/zjH//4xz/ecsst3/72t+fPnx9F0Y4P2t3d/cUvfvGee+7ZduNLL7300ksv3X///SeccMLy5cszmczRRx89fvz4t99+++677/7iF7/Yr5PVq1f//ve/DyGceeaZOz0iAAAwPATQAAAjyYYNGz73uc+9++67NTU1X/7yl4888si6uroXXnhh0aJFb7311nXXXXfMMceccMIJg+u8UCicccYZcfrc3Nx8+umnf+QjH3nzzTd//etfr1q1au7cuX2TkfusWbPmmGOO2bp1awjhtNNOmz179tixYx9//PHFixe3t7d//etfT6VSl1xyyY6Pe/3118fp8/777/+Vr3zlgAMOCCG8/PLL//qv/7pmzZoVK1YsWrRo3rx5mUzms5/97I9//ONf//rXHR0dtbW123Zy5513xjdOP/30wQ0fAAAoOgE0AMBIsmLFig0bNoQQ/u3f/u3EE0+MN5588smnnXba9OnTe3p67rrrrkEH0MuXL1++fHkI4aCDDvrlL3+53377xdvnz59/+eWXf/e73x24y3nnnbd169ZUKrVs2bJTTz013vjFL37x/PPPnzNnztq1a7/xjW/MnTt38uTJOzjuvffeG0KYOnXqk08+2dTU1Lf9/PPPnzFjxuuvv75y5cp58+aFEE499dQf//jHbW1tDz/88EknnbRtJ/G6HEccccS+++47uOEDAABFZw1oAICRJF5loqqqql/KfOCBB55//vmf/exnx48fP+jOf/jDH8Y3fvrTn/alzyGEVCr17W9/+8Mf/nC/9s8999zDDz8cQrjwwgv70ufYtGnTFi9eHEJob2+/5ZZbdnDQ7u7uV199tamp6dxzz902fQ4hjB079phjjgkhrFmzJt5y7LHHxm36rdfx3HPPPf/88yGEM844Y9fHCwAAJM0MaACAkSTOl3O53C9+8YsvfOEL2951ww03DLHzON3+1Kc+9ZGPfKTfXVEUXXLJJf1WXv7lL38Z37j44osH9nbMMcdMnz79+eef3/G3I1ZXV8dzurdry5Yt/RqfdNJJt99++3333dfT05PJ/OXdbDz9OZPJfP7zn9/BsQAAgGFmBjQAwEhy8sknx6nrF7/4xQ996EPf//73X3nllUKhMPSet2zZsnHjxhDCrFmztttg4PYnn3wyhLDXXnu9//3v3+4uM2bMCCE899xzu1VJV1fXSy+99NOf/nTu3Lnx6hzbiqdav/POO6tWrYq3FAqFOIA+/vjjJ0yYsFvHAgAAEmUGNADASHLooYf+9Kc//e///b9v3rz52WefvfDCC0MIe+yxx7HHHnvqqafOmTMnm80OrudXXnklvrHt4hvb2meffdLp9LbfQxjPXF6/fn0URTvoOf6Kwh176623fv7znz/00EMvv/zya6+91tvb+14tjzvuuPr6+ra2trvvvvuTn/xkCOHpp5+O1+iw/gYAAJQbATQAwAhzxhlnfOpTn7r11lvvu+++Rx99tLe3d8OGDXfccccdd9wxbdq0n/3sZ+81hXnHtk2WtyuKon4BdFtb26703N7ens/n0+n0ezW47bbbzj///L7exo0b98EPfnDatGkf+9jHHnrooWXLlm3buLa29sQTT1y2bNk999zzve99L5VKxdOfGxoaPvOZz+xKPTB6nPHDJ4re5x3nf7TofQIAFcwSHAAAI8/73ve+r33ta6tWrXr77bd/9atffe1rX9tjjz1CCC+//PLJJ5/87rvvDqLPcePGxTdeffXV7TZYv359d3f3tlvi7wP80Ic+VNiZHaTPv/vd784+++y2trZ99tnnBz/4wdq1azdt2vTII4/867/+69/+7d82NzcP3CVeheONN9546qmnent777zzzhDCKaecUldXN4iBAwAAyRFAAwCMGIVCYfPmzZs3b25vb4+3jB07ds6cOQsWLHj99dcvv/zyEMKbb775H//xH4PofN99921oaAj/d2XngZ555pl+Ww488MAQwgsvvNDT0zOII8ZuvvnmQqFQVVX1v//3/77gggv23XffbRf02Lx588Bd5syZU1NTE0K45557Hn300XXr1gXrbwAAQFkSQAMAjCTTpk1rbm4++eST+22vqqo666yz4tubNm0aRM/pdDpeUvmBBx54+umn+91bKBQWLFjQb+Ps2bNDCF1dXf/2b/82sMPW1tZDDz10ypQp3/rWt3Zw3LVr14YQpk6dOmXKlH535XK5lStXDtyloaHhuOOOCyHcfffdS5YsCSFMnDgxLgYAACgrAmgAgBEjiqLDDjsshLBy5co//vGP/e7tS4EHtwZ0COH888+Pb/zN3/zNn//8577thULhW9/61iOPPNKv/SmnnDJp0qQQwkUXXfTSSy9te1dvb+/FF1/8n//5n6+99tqOl2bed999QwivvfZaS0vLttvz+fw555wTf89hW1tboVDY9t7TTjsthPCnP/3ppz/9aQhh7ty5mYxvNwEAgLLjbToAwEhy1llnPfDAA7lc7phjjrngggs+9KEP1dbWrl+//pe//OU999wTQjj88MOnT58+uM6PP/74z33uc3ffffdzzz03c+bML33pSzNnzty4ceOvf/3rhx56KJvN7rfffi+++GJf+2w2e/PNN3/2s5/duHHjjBkzvvKVr8yaNet973vfn//851tvvfWJJ54IIXz1q189+OCDd3DQY4899ic/+UlbW9txxx136aWX7r///u++++4f/vCHRYsWrV69ur6+vq2t7c9//vM//MM/fOYzn+nL1j/96U9XVVXlcrl4NRLrbwAAQHkSQAMAjCRz585dtWrVD3/4w02bNl1zzTX97j344IPvu+++HXzj345FUfSzn/2sra3twQcffPvttxcuXNh3V01Nze233/6LX/xi2wA6hPCZz3zm1ltv/cpXvtLV1fWDH/zgBz/4wbb3/t3f/d3111+/0xHde++9v/jFLx5//PFTTjll27vOP//8L3/5y0cccUQul/unf/qn55577t57743vGjt27LHHHrtixYoQwtSpU2fOnDm4IZOEbDYbrydetuLvzyytCRMmJNd5fX19codItPLB6fsO1cpWho98ElKp1GgYaW1tbW1tbamrGA7V1dWj4YQ2NDSU+QtfsdTV1Y2G73weO3ZsqUsYJmPGjBmeAwmgAQBGmBtvvPHMM89cuHDhSy+99Prrr+dyufe///3777//3/zN35x88smDTp9j9fX1K1asWLp06a233vr73/9+8+bN73vf+4499tj58+dPnz69tbV10qRJH/vYx7bd5ayzzvrEJz5xww03PPDAA6+99loI4YADDpgxY8b/+B//Y8aMGTs9YhRFS5cuPeWUU26++ebVq1e//fbbe+211zHHHHPeeefFsfLDDz/8ve99L5fLnXjiidvueOqpp8YB9BlnnLHt9xZScj09Pd3d3aWuYjuqq6urqqpCCJ2dnfl8vrTFtLW1Jdd5d3d3dXV1QodItPLdUlNTE1/x2tvb+63SU2Gy2WwURZ2dnaUuJFnxH04KhULfF+1Wqtra2nw+X57XyWJJpVJxwp7P5yv7qRtFUV1dXVdX11C+kLn8ZTKZbDYbQuju7s7lcqUuJ0HpdLqmpqajo6O3t7fUtSSoKO+I4ov2LhJAAwCUr9bW1u1uP+KII4444oiEDhpF0dy5c+fOnTvwrrPPPvvss88euP3973//ddddd9111+2450wms92QKJVKvdcRQwgf//jHP/7xjw/c3rdm9Omnn77j4zLMyjZuSKVS8a9bXV1dJf/9uaOjI7nOc7lcVVVVQodItPLdUl1dHQfQnZ2dlZ0UZDKZVCpVPo98Qurq6qIoKhQKFT/Smpqanp6eyh5mOp3uC6Are6RxAJ3L5crzha9YstlsHEBX/FO3qqqqpqam4v+i0PeOqLu7e9B/DNutANqXEAIAMCLdeuutIYRZs2ZNnTq11LUAAADbJ4AGAGDkeeyxx/7whz+EEM4888xS1wIAALwnS3AAAFSgX/7yly+//PJu7ZLNZi+88MKE6imWzZs3p1KpP//5zxdccEEIob6+/r0W7gAAAMqBABoARoDGBdcMsYetl1xVlEoYKe64444777xzt3Zpamoq/wD69ttv37bIiy++eMKECSWsBwAA2LGhLsGxcOHChQsX7rTZ+vXrFy5cePvttw/xcAAA7IqlS5cWdtPmzZtLXfXuOeecc66++upSVwEAAOzIUGdAz5s3L4Tw93//9ztutmnTpnnz5u29994W6QMAYNDOOeecQw455PXXXz/ssMMOOuigUpcDAADsxHAswdHb27tq1aoQwsaNG4fhcAAAVKra2tqjjz661FUAAAC7ajAB9MCF9na89F5HR0d7e3sIYa+99hrE4QAAAAAAGIkGE0C//fbbO92yXeedd94gDgcAAAAAwEg0mAD6iiuu6Lv9T//0T/22bP8wmczMmTNPPPHEQRwOAAAAAICRaDAB9De/+c2+23EAve0WAAAAAAAGOuOHTxS9zzvO/2jR+yyioX4J4d/93d8VpQ4AAPopFAq9vb2lrSGdTpe2AAAAYEQbagB90003FaUOAAD6yefz+SsuLmEBuX/4VkNDQwkLqGwtLS0///nP//3f//0///M/33333Z6ennHjxh188MGzZ8/+0pe+1NTUVOoCAQCgCIYaQMd6e3vXrl27Zs2aQqGwg2YNDQ1//dd/XZQjAgDAyPXjH/943rx5LS0t22585513XnnllXvvvffyyy9fuHDhl7/85VKVBwAAxVKEAHrVqlVnnnnmf/3Xf+205ZQpU1599dWhHxEAAEauBQsWzJ8/P77d0NBwwAEHTJkyJZPJvPrqq3/605+2bt26devWc845Z8uWLfPmzSttqQAAMERDDaDXrl07e/bsXC63K403bdo0xMMBAMCI9sILL3z9618PIUyYMOGKK64499xz6+vr++7t6OhYvHjxP/7jP27atGn+/Plz5syZNm1a6YoFAIChGmoAfc011+RyuYaGhiuuuOLjH//4uHHjilIWAABUpEWLFvX29lZXV99///0f/Wj/7yuvra296KKLZs2adfTRR3d3dy9atOj73/9+SeoEAICiGGoA/cQTT4QQ7rvvvmOOOaYY9QAAQCX7zW9+E0I455xzBqbPfQ4//PC//du/vfHGGx9++OFhLO3/Y+/P46Qq70Tx/zlVvQBN0wsEwW0MLqjx6lyDkoxjosI4wRhjjBODSxaXTByFyI1LvJqQeJOQyEw0kggR4xZJjJOMkugPjZeoo1GIuIyJGkUgKhAQZOluuumt6vtHTfry6wZsus7pqup+v//w1Z56zuf5POdUnzr94annAABA/FJ57r9q1arx48erPgMAQG+sWbMmhLCb6nPOBz/4wRDC6tWr+yMnAABITL4F6Nra2lGjRsWSCgAADHjZbDaEEEVR7xsDAEDpyrcAfeyxx77wwgsdHR2xZAMAAAPbPvvsE0J4+umnd98st9Ldvvvu2x85AQBAYvItQH/5y19ubm7+7ne/G0s2AAAwsE2aNCmEcNttt+VKzDu1bNmy+fPnhxCsdAcAQKnLtwD94Q9/+Prrr//qV786c+bMrVu3xpITAAAMVNOnT0+lUm1tbaeeeuoPf/jDlpaWHV9tbW2dN2/eRz/60dbW1lQqNW3atELlCQAAsSjLc/8HHnjg0EMPveCCC6677rqbbrrpuOOOGzdu3Hve855drWp37bXX5tkjAACUrsMPP/y73/3uFVdcsXHjxksvvfTaa68dP378AQccEEJ44403Xn311c2bN+dazpo16/DDDy9krgAAkLd8C9Af+9jHun7esmXLgw8+uPv2CtA7lU6nhwwZUpCuoygqVNd7KpVKhRAqKirS6XShc+mVXMIhhMrKyqSfIBTjSSwvL88z17iSiSVOUSUTQkilUlEUdRZHMkUVJ65k0ul0L5/rtXtFNaiiilNWVhb65bIWrz36sCutoVGiLr/88vr6+ssuu6yxsXHLli1Lly7tthxHVVXVDTfccOGFFxYqQwAAiEu+BeiqqqpY8hjkysrKhg4dWpCuU6nU8OHDC9J13xTqQOWjN78mrfl1kTuJeQYJIURRVFFREUsy+ecTy6DiTSb/OLl/PsmzAF1URziuOHENqqKiIr8A/62oBhXvmYpFyX36R1HU++FnMplEk4Gc888//4wzzliwYMHixYv/8Ic/bN68OZvN1tfXH3HEESeddNK5555bV1dX6BwBACAG+Ragm5qaYsljkGttbe3/FbRHjRoVQujs7Oz6mmeRS6fTdXV1W7dubW9vL3QuvVJTU1NeXh5C2LRp07uWM6rz62vjxo35BwkhZLPZ4MF2qwAAIABJREFU5ubmPK8LuWTyzyeWQcWbTP5x2tvb869tFdURjitOXINqaWmprKzML8b/y6dIBhXvmcpTZWVldXV1by5rRWLkyJFRFGUymU2bNvV+r9xHJCSttrb2kksuueSSSwqdCAAAJCjfhxACAAAAAMBOKUADAAAAAJCIfJfg+POf/9z7xiNGjKivr8+zRwAACu7uu+8+77zzcg/K+8Y3vvHv//7v69at23///T/2sY9dc8013W75Hn300fnz5//Xf/3XG2+8cfjhhx999NGXXXbZoYceWqjk+9+ECRNyPzz66KPf//7392hfD/EGAKCk5VuAfu9739v7xl/60pduvPHGPHsEAKBINDc3f/jDH06n0xdddFEqlbrtttu+973vPf30048//njuQQghhH/7t3+7/PLLQwhlZWX77rvvsmXLnnnmmTvvvPP+++//x3/8x4Km33+effbZ3A+dnZ1f/epX92hfBWgAAEqaJTgAAOij2bNnjx8//ne/+90111xz9dVXL1u2bOzYsU8//fTvfve7XIMVK1Z85StfCSF84xvfaGhoWLVq1aZNm6ZOnbp9+/YvfOELra2tBU2/MKr2UKHzBQCAvOQ7A/q+++7b6fbOzs633nrr1Vdfveeee7Zs2XLyySffeuutdXV1eXYHAEDxaG1tveGGG7omO9fU1Jxyyik//vGPX3nllRNOOCGEMHPmzI6OjgsvvPBrX/tark1tbe2CBQteeeWVF154Yf78+Zdeemmhku9Pjz76aO6H4cOHNzU1FTYZAADoT/kWoE8//fTdN/jOd75z+eWX33rrrV/4whcefPDBPLsDAKB4TJw4ca+99tpxy6hRo0IInZ2duf99/PHHQwiXXXbZjm2iKJo2bdoFF1zw2GOPDZICdK4cDwAAg1DiS3DU1NTMnTv3hBNOeOihh3784x8n3R0AAP3mgAMO2M2r27dvX7NmTTqdHj9+fLeXjjjiiBDCypUrk8utaN144429eSzK2rVrb7zxxrvvvrsfUgIAgOT0xxrQZWVl559/fgjhjjvu6IfuAADoH7tfoXjdunXZbHbUqFFlZd2/dTd27NgQwltvvZVgcsVqxowZM2bMeNdmGzdunDFjRm4FbQAAKF399BDC3CSXP/3pT/3THQAABTdmzJgoijZu3NjR0dHtpbfffjvXoBB5lYBMJvPEE0+EEDZs2FDoXAAAIC/5rgHdS2+88UYIYXA+6BwAYHAaMmTIPvvss3r16tdee+3www/f8aWXXnophHDwwQcXKLX+llsae/dbdtTS0tLc3BxC2HvvvRNMCwAAktcfBei2trbrr78+hHDIIYf0Q3cAABSJD33oQz/96U+///3v/+hHP+ramM1mb7rpphDC8ccfX7jU+tU777zzrlt26otf/GIC6QAAQP/JtwD9i1/8YjevZrPZN99886677nrxxRdDCJMnT86zOwAASsjXv/71e++9d/78+ePGjZsxY0ZFRUVjY+Mll1zy7LPP7rfffoOnunrNNdd0/fytb32r25adKisrmzBhwkc/+tFkMwMAgITlW4D+p3/6p162fM973uMhKgAAg8rBBx/87W9/+8orr/zKV74yc+bM/ffff8WKFZlMZtSoUXfcccfQoUMLnWA/+eY3v9n1c64AveMWAAAYwPpjCY7hw4d/+MMfnjt3bn19fT90BwBAoVRUVBxxxBEHHHBA15Yrrrji6KOPvvXWW//rv/7rzTff/Nu//dtjjjlm5syZY8eOLVyahfTP//zPhU4BAAD6T74F6L/85S+7bxBF0Xve855UKpVnRwAAFI9zzz333HPP7bn9uuuuu+6667ptnDRp0qRJk/olrxIwb9683jT7/e9//+1vf/vUU0+98MILk04JAACSk28BesyYMbHkAQAA5GSz2YULFy5cuDCTyShAAwBQ0vpjCQ4AAKBLR0fHnDlzHnvssRUrVuy0wbZt2/785z+HECoqKvo1MwAAiFtsBeiGhoaf/vSnv/3tb1988cXNmzd3dHTU19cfccQRkyZNOu+882pqauLqCAAASldnZ+dpp522aNGid21ZUVHxpS99qR9SAgCA5MRTgL7ttttmzJjR0NCw48ZNmza9/vrr999////+3//7xhtvPP/882PpCwAAStevfvWrXPV5//33P/HEE7du3Xr//feHED71qU/V1dVt2bLl0Ucfffvtt6uqqh5//PH3v//9hc4XAADyEkMBevbs2VdeeWXu5+HDhx900EEHHHBAWVnZqlWrXnvttcbGxsbGxgsuuGDr1q0zZszIvzsAAChdt956awjhwAMPXLZsWW1tbQjh05/+9M9//vOTTz75ggsuCCG0t7eff/75d99992233aYADQBAqUvluf/LL7/8la98JYQwatSoG264Yd26dc8///x999337//+78uWLVu/fv33v//9UaNGhRCuvPLKV199NYaUAQCgZL3++ushhAsvvDBXfQ4h/OM//mMI4emnn879b3l5+R133HHQQQfdfPPNy5YtK1SeAAAQi3wL0HPmzMlkMhUVFQ888MBll11WVVW146tDhw6dPn36r3/964qKityzVvLsDgAAStrq1atDCOPHj+/a8oEPfCCEsONcjXQ6PW3atBDCLbfc0u8JAgBAnPJdgmPx4sUhhAsuuGDixIm7avOBD3zgwgsvvPnmm//v//2/eXYHAAAlrays+x34uHHjUqnUyy+/nM1moyjKbTzqqKPCX2+2AQDoT+fMXRp7zAUX77J2OuDlW4Bes2ZNCGE31eecD37wgzfffHNuugcAAAxa++6778svv5xbiCOnsrJy//33//Of//zmm2/+zd/8TW5jXV1d+OvNNr3hD0UAgOKU7xIc2Ww2hNA1U6M3jQEAYNA6/PDDQwi33HLL1q1buzYeeuihIYRFixZ1bclVqHMPUwEAgNKVbwF6n332CTs8MmVXli5dGkLYd9998+wOAABKWm5x59dff/2YY46ZPXt2buPkyZNDCLNmzXrjjTdCCFu3br3++utDCIccckjhMgUAgBjkuwTHpEmTXn/99dtuu+1zn/vcrhbiWLZs2fz580MIJ510Up7dAQAMKh1fm1XA3lO9+5Ybe+T444//7Gc/e+eddy5fvvxb3/rWFVdcEUI4++yzZ86c+eabbx588MEHH3zwG2+8sW3bthDCF7/4xULnCwAAecm3AD19+vT58+e3tbWdeuqpX//6188///yhQ4d2vdra2nr77bfPnDmztbU1lUrlpnsAANAbZWVlPR9YR6mLouj222+fMGHC3XffvWrVqtzGsWPH/vCHP/z85z/f3t7+8ssv5zaeddZZZ555ZuEyBQCAGOT7J83hhx/+3e9+94orrti4ceOll1567bXXjh8//oADDgghvPHGG6+++urmzZtzLWfNmpVb8A4AAAazKIouvfTSSy+9tK2trWvjZz/72cMOO2zevHmrVq1673vfO3ny5KlTp/byUSsAAFC0YphTc/nll9fX11922WWNjY1btmxZunRpbsXnLlVVVTfccMOFF16Yf18AAINHNpvNZDIFTCCKolQq30eGsBsVFRU7/u+xxx577LHHFioZAABIQjxf6jz//PPPOOOMBQsWLF68+A9/+MPmzZuz2Wx9ff0RRxxx0kknnXvuuXV1dbF0BAAweHR2dpY/ufTd2yWmccJRw4cPL2ACA89rr73229/+NoRw6qmnekA3AACDQWyrCtbW1l5yySWXXHJJXAEBAGCAWbx48b/8y7+EEIYMGfK5z30u6e4WLVo0d+7cH/3oR2PHju3lLuvXr7/nnnuef/75hoaGurq6CRMmTJ06tba2NtE8AQAYwHynEgAA+smhhx6a++GVV15Juq+Ojo6HHnpoj3ZZuXLl9OnTFy9evGnTpqqqqg0bNixatGj69Onr169PKEkAAAa8eArQnZ2dCxcu/F//63/NnTt3x+2XXnrpaaed9sMf/nDH56sAAMDgdMIJJ5xwwgkhhLvuuuudd95JqJfOzs7XXntt1qxZq1at6v1e2Wx2zpw5LS0tEyZMuPPOO3/yk5/ceuutBx100JYtW+bPn59QqgAADHgxFKBXr1590kknnX766TfccMOKFSt2fGnLli2//vWvL7300uOOO67bSwAAMNhEUXT//fefcMIJ69atO/vss1euXBl7F3fdddeZZ555+eWXP/PMM3u04/Lly1esWFFfX3/VVVflnuAyevTomTNnVlRUPPPMMxs3bow9VQAABoN814Bub2+fPHnyq6++GkKorq4+6KCDdnx18uTJzz333CuvvLJs2bJPfOITzz33XFlZbKtOAwBAyXn66acvv/zy8vLy3/zmN4cccsikSZP+5m/+ZsyYMRUVFTttf+211+5R/H322eekk07K/fzoo492dHT0csdHHnkkhHDcccdVVlZ2baypqTn66KOXLFny2GOPnXnmmXuUCQAAhPwL0PPmzctVn7/85S9/61vf2vFuNYTwuc997rOf/eytt976z//8z3/4wx/mz59/8cUX59kjAACUrilTpnT93NnZ+Zvf/Gb37fe0AD1p0qRJkyblfl6yZEljY2Mvd1yzZk0I4cgjj+y2/aijjlqyZMnq1av3KA0AAMjJtwD9H//xHyGEk08+efbs2VEU9WwQRdFFF1305JNP3nXXXb/+9a8VoAEAGMyqqqoKncLObdq0KYRQU1PTbXtuS+7Vnq644opt27Z123j22WdPnDgxgRz7W8+jUSrBhwwZEkVRQl0kmvke6fp+bXV1dWEzSVo6nU7uhBaPXElhMIw0lUpVVlYO7C+IdxWIysrKBvwJDSEMHTq024zMASaV+u8lfCsrK8vLywubTKJyb93hw4cnEbx47ivS6XTuh2HDhg0dOjSZjP7/5Hu9W758eQjhU5/61E6rz11OPvnku+66qx8e9g0AAMWsqamp0CnsXK7E3LOQN2LEiLDrAvSzzz7b0NDQbePJJ588MP46TXQUiQbP/WGZUBdFeHKLMKUkDJJhRlE0GEYaRVFXRW9gS6VSg2Gk6XS6q6I3sA2SkSb070NFeF/Rb/8Slu9VYMOGDaEXVfZhw4aFEP7yl7/k2R0AAJCcntNKstlsCKH3a0kDAMCO8q1zjxkz5s0333z22Wd3/0ySZ599NoQwevToPLsDAACSUF9fv3bt2p5rRuembI8cOXKney1cuDBXod5RJpN55513kkiynyU6ikSDNzc3Dx06dFfz1vNUPCe3pqYmN3Vr06ZNPd+HA8nw4cNTqVTPbxsMMPX19VEUZTKZzZs3FzqXZNXW1ra3t/dcv2ggSafTtbW1IYS2trbeP42gFEVRVF9fv23btu3btxc6lwRVVlbmVqVobm5uaWkpdDoJKi8vHzFixNatW5MIXjz3FV0rbzQ2Nra1tfWtx13dHO5UvgXok0466Y477rjzzjsvueSSfffdd6dt1q1bd/vtt4cQPvShD+XZHQAAkIRcAbpnhSu3ZVd/Y+x07d2mpqaBMWM60ZpmPwRPqIviKfXumEnxZJWcwTDGnMEw0mw2O7CHOQh/PQf2MAfPCS3dD9C+Be+3t26+S3BMmzYtiqK//OUvH/nIRx599NGeSS9duvTUU09du3ZtCOGLX/xint0BAABJ2HvvvUMIL730UrftuS1jx44tQE4AAJS+fGdAH3300V//+tdnzpz50ksvnXTSSUccccRRRx213377VVZWvvnmmy+//PLSpUtzLS+99NK///u/zzthAAAgfpMnT/7Nb37z1FNPnXfeeV3PF2ptbV22bFkURZMmTSpsegAAOzpn7tLYY947XekyETE86/CrX/1qbW3tVVddtX379j/+8Y9//OMfuzWIoujKK6/81re+lX9fAABA/h544IFMJnPYYYcdfPDBuS3jx48fN27cypUr582bd/HFF6dSqfb29uuvv765uXnixIme5gIAQN/EUICOomj69Olnnnnm/PnzH3rooeeeey63fHUURYceeujkyZMvvvjiww47LP+OAACAWNx+++3t7e2f+cxnugrQURRNmzbt6quvfvjhh5988sn99ttv1apVra2tdXV1F110UWGzBQCgdMVQgM7Ze++9Z86cOXPmzGw229TU1N7eXlNT0/XdPQAAoMgdeOCBN910089+9rMXXnhh+fLldXV1kyZNmjp1ak1NTaFTAwCgVMVWgO4SRdFOn4UNAMDAcMcdd3z+85//6Ec/+sADD+y4fd26dfvss095efn69etzJct169Z985vf/P3vf//SSy/ttddexx9//OWXX/4//sf/2HGvDRs2zJ49++GHH16xYsXw4cMPOeSQL33pS2eccUYURf06qoFowYIFu3rpl7/85U63jxkzZsaMGYllBADAoJMqdAIAAJSY0047rays7JFHHmlsbNxx+y9+8YtMJnPqqafmqs+PP/743/7t3/7whz987rnn9tprrzfffPOuu+56//vf//Of/7xrl7Vr1x555JGzZ8/+05/+NHbs2M7OzieeeOLMM8/87ne/29+jAgAAEqAADQDAnqmvrz/xxBPb2toWLVq04/Z77rknhHDOOeeEELZt2/bpT396/fr1X/7yl7du3bpy5cqGhoarr746t+7wihUrcrtcc80169at+/jHP/6Xv/xl+fLlb7/99o9//OMQwle/+tWWlpZ+HxkAABAzBWgAAPbYJz/5yRDCfffd17Xlrbfe+t3vfldTUzNlypQQwve+971169Z9+tOf/td//deqqqoQwrBhw7797W9//vOfb2trmz17dm6vJUuWhBCuueaa+vr6EEIUReeff/5pp532/ve//6233ur/cQEAAPFSgAYAYI+dfvrpURQ9+OCDra2tuS33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" width="960" style="display: block; margin: auto;" /></p>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## only use dep_delay
<span class="kw">bind_rows</span>(
<span class="kw">summarise_cont</span>(dat_s, <span class="st">'dep_delay'</span>),
<span class="kw">summarise_cont</span>(dat_s, <span class="st">'distance'</span>),
<span class="kw">summarise_cont</span>(dat_s, <span class="st">'air_time'</span>)
)</code></pre></div>
<pre><code>## col is_delay mean median min max
## 1 dep_delay no -0.4642659 -2 -168 85
## 2 dep_delay yes 49.2538712 34 -49 1831
## 3 distance no 713.9658008 557 21 4962
## 4 distance yes 751.6156694 595 31 4962
## 5 air_time no 100.7641820 83 0 641
## 6 air_time yes 109.7099801 91 0 729</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">## dep_delay is highly correlated with arr_delay
dat_s <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">select</span>(arr_delay, dep_delay) <span class="op">%>%</span><span class="st"> </span><span class="kw">cor</span>()</code></pre></div>
<pre><code>## arr_delay dep_delay
## arr_delay 1.000000 0.932244
## dep_delay 0.932244 1.000000</code></pre>
</div>
<div id="machine-learning---feature-generation" class="slide section level1">
<h1>Machine Learning - <em>feature generation</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="st">`</span><span class="dt">%++%</span><span class="st">`</span> <-<span class="st"> </span><span class="cf">function</span>(a, b) <span class="kw">paste</span>(a, b)
month_c_expr <-<span class="st"> </span>
<span class="st"> "case when split(date, '/')[1] in ('6', '7', '8') then '2'"</span> <span class="op">%++%</span>
<span class="st"> "when split(date, '/')[1] in ('1', '2', '3', '12') then '1'"</span> <span class="op">%++%</span>
<span class="st"> "else '3' end"</span>
weekday_expr <-<span class="st"> </span>
<span class="st"> "case date_format(to_date(date, 'yyyy/mm/dd'), 'E')"</span> <span class="op">%++%</span>
<span class="st"> "when 'Mon' then '1' when 'Tue' then '2'"</span> <span class="op">%++%</span>
<span class="st"> "when 'Wed' then '3' when 'Thu' then '4'"</span> <span class="op">%++%</span>
<span class="st"> "when 'Fri' then '5' when 'Sat' then '6'"</span> <span class="op">%++%</span><span class="st"> </span>
<span class="st"> "else '7' end"</span>
dep_hour_c_expr <-<span class="st"> </span>
<span class="st"> "case when cast(floor(dep_time/100) AS integer) <= 3 then '3'"</span> <span class="op">%++%</span>
<span class="st"> "when cast(floor(dep_time/100) AS integer) <= 12 then '1'"</span> <span class="op">%++%</span>
<span class="st"> "when cast(floor(dep_time/100) AS integer) <= 19 then '2'"</span> <span class="op">%++%</span>
<span class="st"> "else '3' end"</span>
dat <-<span class="st"> </span>dat <span class="op">%>%</span><span class="st"> </span><span class="kw">dropna</span>(<span class="dt">cols =</span> <span class="kw">c</span>(<span class="st">'arr_delay'</span>, <span class="st">'dep_delay'</span>)) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">mutate</span>(
<span class="dt">month_c =</span> <span class="kw">expr</span>(month_c_expr),
<span class="dt">weekday =</span> <span class="kw">expr</span>(weekday_expr),
<span class="dt">dep_hour_c =</span> <span class="kw">expr</span>(dep_hour_c_expr),
<span class="dt">is_delay =</span> <span class="kw">ifelse</span>(<span class="kw">expr</span>(<span class="st">'arr_delay'</span>) <span class="op">></span><span class="st"> </span><span class="dv">15</span>, <span class="st">'yes'</span>, <span class="st">'no'</span>)
) <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">filter</span>(<span class="kw">expr</span>(<span class="st">'cancelled == 0'</span>))</code></pre></div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">sel_cols <-<span class="st"> </span><span class="kw">c</span>(<span class="st">'is_delay'</span>, <span class="st">'dep_delay'</span>, <span class="st">'month_c'</span>, <span class="st">'dep_hour_c'</span>, <span class="st">'weekday'</span>)
dat <span class="op">%>%</span><span class="st"> </span><span class="kw">select</span>(sel_cols) <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
is_delay dep_delay month_c dep_hour_c weekday
<span class="dv">1</span> no <span class="dv">7</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span>
<span class="dv">2</span> no <span class="dv">13</span> <span class="dv">1</span> <span class="dv">2</span> <span class="dv">1</span>
<span class="dv">3</span> yes <span class="dv">36</span> <span class="dv">1</span> <span class="dv">3</span> <span class="dv">1</span>
<span class="dv">4</span> yes <span class="dv">30</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span>
<span class="dv">5</span> no <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span> <span class="dv">1</span>
<span class="dv">6</span> no <span class="dv">10</span> <span class="dv">1</span> <span class="dv">2</span> <span class="dv">1</span></code></pre></div>
</div>
<div id="machine-learning---model-fitting" class="slide section level1">
<h1>Machine Learning - <em>model fitting</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">dat_split <-<span class="st"> </span><span class="kw">randomSplit</span>(dat, <span class="dt">weights =</span> <span class="kw">c</span>(<span class="fl">0.7</span>, <span class="fl">0.3</span>), seed)
train <-<span class="st"> </span>dat_split[[<span class="dv">1</span>]]
test <-<span class="st"> </span>dat_split[[<span class="dv">2</span>]]
formula <-<span class="st"> 'is_delay ~ dep_delay + month_c + dep_hour_c + weekday'</span> <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">as.formula</span>()
model <-<span class="st"> </span><span class="kw">spark.randomForest</span>(train, formula, <span class="st">'classification'</span>)
## writing/loading model
<span class="co"># write.ml(model, 's3n://sparkr-demo/model/flight_2007_rf.model')</span>
<span class="co"># model <- read.ml('s3n://sparkr-demo/model/flight_2007_rf.model')</span></code></pre></div>
<ul>
<li>split data for train and test</li>
<li>fit Random Forests model with default options</li>
<li>model can be persisted/loaded by <code>write.ml()</code>/<code>read.ml()</code></li>
</ul>
</div>
<div id="machine-learning---model-evaluation" class="slide section level1">
<h1>Machine Learning - <em>model evaluation</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">preds <-<span class="st"> </span><span class="kw">predict</span>(model, test)
hpreds <-<span class="st"> </span>preds <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>(<span class="dv">50</span>) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">select</span>(is_delay, prediction, probability, rawPrediction) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">rename</span>(<span class="dt">prob =</span> probability, <span class="dt">raw_pred =</span> rawPrediction)
hpreds <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()
is_delay prediction prob raw_pred
<span class="dv">1</span> yes no <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e7dfd8</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6cda460</span><span class="op">></span>
<span class="dv">2</span> yes yes <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e769a0</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6cdfe88</span><span class="op">></span>
<span class="dv">3</span> yes no <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e6ce68</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6ce78c8</span><span class="op">></span>
<span class="dv">4</span> no no <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e65460</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6cee580</span><span class="op">></span>
<span class="dv">5</span> no no <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e5dca0</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6cf5280</span><span class="op">></span>
<span class="dv">6</span> no no <span class="op"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x5e55c28</span><span class="op">></span><span class="st"> </span><span class="er"><</span>environment<span class="op">:</span><span class="st"> </span><span class="dv">0x6cfaf20</span><span class="op">></span></code></pre></div>
<ul>
<li><code>probability</code> and <code>rawPrediction</code> are not <a href="https://spark.apache.org/docs/latest/sparkr.html#data-type-mapping-between-r-and-spark">serializable types</a>
<ul>
<li>they have to be obtained from <code>org.apache.spark.mllib.linalg.DenseVector</code> - <a href="https://stackoverflow.com/questions/38031987/sparkr-1-6-how-to-predict-probability-when-modeling-with-glm-binomial-family">further details</a></li>
</ul></li>
<li><a href="https://stackoverflow.com/questions/37903288/what-do-colum-rawprediction-and-probability-of-dataframe-mean-in-spark-mllib">rawPrediction</a> intuitively gives a measure of confidence in each possible label (where larger = more confident)</li>
</ul>
</div>
<div id="machine-learning---model-evaluation-ctd" class="slide section level1">
<h1>Machine Learning - <em>model evaluation ctd</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">extract_from_jmethod <-<span class="st"> </span><span class="cf">function</span>(dat, <span class="dt">which=</span><span class="st">'prob'</span>) {
envs <-<span class="st"> </span>dat[, which]
<span class="kw">do.call</span>(rbind, <span class="kw">lapply</span>(envs, <span class="cf">function</span>(e) {
df <-<span class="st"> </span><span class="kw">data.frame</span>(
<span class="kw">sparkR.callJMethod</span>(<span class="kw">unlist</span>(e), <span class="st">'apply'</span>, <span class="kw">as.integer</span>(<span class="dv">0</span>)),
<span class="kw">sparkR.callJMethod</span>(<span class="kw">unlist</span>(e), <span class="st">'apply'</span>, <span class="kw">as.integer</span>(<span class="dv">1</span>))
)
<span class="kw">names</span>(df) <-<span class="st"> </span><span class="kw">paste0</span>(which, <span class="kw">c</span>(<span class="st">'_yes'</span>, <span class="st">'_no'</span>))
df
}))
}
hpreds_up <-<span class="st"> </span><span class="kw">bind_cols</span>(hpreds,
<span class="kw">extract_from_jmethod</span>(hpreds, <span class="st">'prob'</span>),
<span class="kw">extract_from_jmethod</span>(hpreds, <span class="st">'raw_pred'</span>)
) <span class="op">%>%</span><span class="st"> </span>dplyr<span class="op">::</span><span class="kw">select</span>(<span class="op">-</span>prob, <span class="op">-</span>raw_pred)</code></pre></div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">hpreds_up <span class="op">%>%</span><span class="st"> </span><span class="kw">head</span>()</code></pre></div>
<pre><code>## is_delay prediction prob_yes prob_no raw_pred_yes raw_pred_no
## 1 yes no 0.7387997 0.2612003 14.775994 5.224006
## 2 yes yes 0.1029412 0.8970588 2.058823 17.941177
## 3 yes no 0.8681795 0.1318205 17.363590 2.636410
## 4 no no 0.8880674 0.1119326 17.761348 2.238652
## 5 no no 0.7650525 0.2349475 15.301049 4.698951
## 6 no no 0.7650525 0.2349475 15.301049 4.698951</code></pre>
</div>
<div id="machine-learning---model-evaluation-ctd-1" class="slide section level1">
<h1>Machine Learning - <em>model evaluation ctd</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">cmat <-<span class="st"> </span>preds <span class="op">%>%</span><span class="st"> </span><span class="kw">crosstab</span>(<span class="st">'is_delay'</span>, <span class="st">'prediction'</span>)</code></pre></div>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">cmat</code></pre></div>
<pre><code>## is_delay_prediction no yes
## 1 yes 154930 365202
## 2 no 1619566 42170</code></pre>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># accuracy</span>
<span class="dv">1</span> <span class="op">-</span><span class="st"> </span><span class="kw">sum</span>(cmat<span class="op">$</span>no[<span class="dv">1</span>], cmat<span class="op">$</span>yes[<span class="dv">2</span>])<span class="op">/</span><span class="kw">sum</span>(cmat<span class="op">$</span>no, cmat<span class="op">$</span>yes)</code></pre></div>
<pre><code>## [1] 0.9096646</code></pre>
</div>
<div id="machine-learning---model-evaluation-ctd-2" class="slide section level1">
<h1>Machine Learning - <em>model evaluation ctd</em></h1>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r"><span class="co"># importance <- get_feat_importance(model))</span>
<span class="kw">ggplot</span>(importance, <span class="kw">aes</span>(<span class="dt">x=</span>feature, <span class="dt">y=</span>importance)) <span class="op">+</span>
<span class="st"> </span><span class="kw">geom_bar</span>(<span class="dt">stat =</span> <span class="st">'identity'</span>, <span class="dt">fill =</span> <span class="st">'steel blue'</span>) <span class="op">+</span>
<span class="st"> </span><span class="kw">ggtitle</span>(<span class="st">'Feature importance'</span>) <span class="op">+</span>
<span class="st"> </span><span class="kw">theme</span>(<span class="dt">plot.title =</span> <span class="kw">element_text</span>(<span class="dt">hjust =</span> <span class="fl">0.5</span>),
<span class="dt">axis.text.x =</span> <span class="kw">element_text</span>(<span class="dt">angle =</span> <span class="dv">45</span>, <span class="dt">hjust =</span> <span class="dv">1</span>))</code></pre></div>
<p><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAB4AAAAMACAIAAABKP+1aAAAACXBIWXMAAB2HAAAdhwGP5fFlAAAgAElEQVR4nOz9eZwU9b0v/n96htmYGYZNBEEFVEDcrhFwC6KgRlwSTHJNwKg5cYlRQHGPmBATE028ERKj4hLJSTQYz/EmIIpLUBIlikLkirixxiDKIsvAALP29486v/7NY2YYke6ynfb5/KvmU8vnXV01XdOvqf5UIplMBgAAAAAAyLS8bBcAAAAAAEBuEkADAAAAABALATQAAAAAALEQQAMAAAAAEAsBNAAAAAAAsRBAAwAAAAAQCwE0AAAAAACxEEADAAAAABALATQAAAAAALEQQAMAAAAAEAsBNAAAAAAAsRBAAwAAAAAQCwE0AAAAAACxEEADAAAAABALATQAwOfagAEDEp/Q7373u2xXDQAAtA0CaAAAAAAAYtEu2wUAAPCZ0KFDh/Ly8t1Zsn379nEX07q6urqCgoIQwt577/3hhx9mt5gM6tWr1/vvvx9COP7441988cVsl5NluXqUAQA+bwTQAACEEMLNN9985ZVXZrsKAAAgpxiCAwAAAACAWLgDGgAAPhNOP/30jRs3hhAGDBiQ7VoAACAzBNAAALBLK1asePbZZ9evX3/uuef26dMn1r7uu+++WLf/mfVpvsgAAHzKDMEBAEC66uvrH3nkkXPOOadv374lJSV77733cccdN2HChOXLl3/sukuXLh0/fvywYcP69u1bXFzcvXv3QYMGff3rX58xY0Z9fX2ThW+66aZEIhE9my6EsHbt2kQikUgkOnbsmFrmtNNOixoXLFiwq06Li4sTiURZWVmT9muuuSZad9WqVclk8mc/+9mAAQMuvfTSH/zgB0uWLMngXrco1fvvfve75nudSCTeeOONEMLbb789duzYAw88sKSkpHPnzkOGDPnVr35VW1ubqur+++8/8cQTu3XrVlxcPGDAgK9+9avz589v0teGDRuibV500UUhhGQyOXPmzC9/+cv77bdfUVFRz549TznllHvvvbe6urr1mtetW/ezn/1s6NChPXr0KCws3GuvvY466qgbbrjh7bff/tjd3NWLvDtHOeUTnT9NCohez61bt955553HHHPM3nvv3b59+8MPP3z06NGvvvpq6zv+3nvvTZo0afDgwXvttVdpaekRRxzx9a9//e67766qqmplrYyfMwAAbUASAIDPsf79+0d/Fk6ePHnPtvD//t//O+yww1r8UzORSFx88cXV1dUtrlhVVTVmzJhEIrGrv1QPPPDA119/vfEqEydObHHJioqK1DJf+tKXosZXX311VzUXFRWFEEpLS5u0X3311dG6K1eu/MlPftK4i8cffzwje92KVO/Tpk1rca8XL178+9//vqSkpHmnJ5100o4dOz788MNjjjmmxZJuv/32xttcv359NOvCCy/ctGnTV77ylRb3pV+/fv/85z93VfDUqVPLy8tbXDE/P/+qq66qra1tZTd39SLvzlFO7tH506SAxYsXv/vuu7sa8GTcuHENDQ3NV29oaPjlL3/Z4lEIIey///7z589v8eWK45wBAPjscwc0AAB77pVXXjnhhBMWL14c/VhSUjJ48OADDjgg+jGZTN5///2nn376tm3bmq97wQUX/PGPf0wmkyGEoqKigw8+eNiwYYcffnhpaWm0wLJly04//fStW7emVvnyl798zz33/OY3v4l+LC8vv+eee+6555477rgjs/v1wgsv/PCHP4ymO3ToMGTIkO7du2dkr9Px+OOPX3DBBX379n3kkUdWrVq1aNGiG264IS8vL4Tw/PPPjx079pRTTnn55ZfHjBnzzDPPvP/++3Pnzj3xxBOjkiZOnNjiXcl1dXXR/cLdunX70Y9+NHv27KeeeuqWW27Zd999Qwjvvvvu8OHDX3/99eYr3nbbbZdeemnq6JSXl0c3EUc/1tfX33HHHaNHj46Ob4t29SLv5lHeg/OnifXr15900knLly+/8cYbn3vuuTVr1rzwwgvnnntuNPfOO+9scit65MYbb7z66qt37NgR/bjvvvsee+yxXbt2jX7817/+deqpp77zzjtN1srWOQMAkH1ZDL8BAMi6dO6A3rJlS+/evaPV99lnnxkzZtTV1UWzNmzYcNlll6X+5rzmmmuarPvyyy+n5l511VUfffRRalZVVdVdd92Vn58fzZ05c2aTdVPDTey9997Nq8rIHdDRaA//8R//sXz58ia3waaz16372DugE4nEySefvG3btsZzb7755sZ/3t9+++2NC66rqzviiCOiWTfffHOqPXUHdHFxcQjhf/2v/7V27drGm62srDzjjDOiZY488sgm9zLPmzcvCr5DCF/84hcXLFgQvQgNDQ2rVq369re/narn7rvv3oMXOflxRzmd8ydVQL9+/Tp37vzCCy80WeDaa6+NFjjkkEOazHryySdT/X7ve997//33o/aGhoY///nPPXr0iGadcsopjdeK75wBAPjsE0ADAHyupQLoTp067f9xLr744sbrTpo0KVq3V69eGzZsaL7x+++/P1qgXbt2b731VuNZ119/fTRr1KhRLQ50kEoJJ06c2GTWpxBAhxCuvvrqFtdNZ69b97EBdFFR0YoVK5qstXnz5lTNxx13XPMX84EHHojmRvcjR1IBdAghPz+/+WaTyWRVVVXqjuaHH3648azoxuoQwtFHH71jx44mKzY0NFxyySXRAt26ddu5c2eLu9nKi5z8uKOczvnTuIDf/OY3zdfdtm1blF/n5eU1jvsbGhoOPvjgaMWxY8c2X/Ef//hHKvhevnx5qj2+cwYA4LPPEBwAAIQQwqZNm/71cdatW5davq6u7p577omm77///i5dujTf5oUXXnj66adHC//Xf/1X41mVlZVRqH3BBRe0OIzv0UcfHU18+OGHmdrH3dexY8cmwxNH0tzrNJ1xxhl9+vRp0lhRUZG68fbyyy9v/mKmxjhes2ZNi5v95je/2XyzIYT27dtfddVV0XQqxQ4hvPvuu3Pnzo2mb7vttuge6sYSicSPf/zjqH3dunUzZsxosd9dvci7IyPnT8+ePaNnMDZRWlp60EEHhRAaGho++OCDVPvzzz//1ltvhRCKi4t/8IMfNF/x2GOPPeWUU6Lpv/71r9FEds8ZAICsE0ADALAnFi1aFOXRPXv2TN103EQikTjvvPOi6b/97W+NZ919992rVq1atWrVqFGjWlx306ZNGa33kzn11FNbfMpcmnudpl09wq5Dhw7RxOGHH958bkVFReubvfTSS3c167vf/W408eKLL1ZXV0fTqZ0aPHjwsGHDWlxx7733vuCCC5os38SuXuTdkZHz54QTTojuhW+uxRftmWeeiSbOP//8bt26tbji+PHjv/vd7373u9/da6+9opbsnjMAAFnXLtsFAADwmTB58uQrr7xy95efP39+NHHCCSe0eAtq5Atf+EI08eabb+7mlj/66KNnn302NWpBVuy///4ttse317sjNSDGHi/QotSwEs1Ft1d/8MEHtbW1r7/++uDBg0MICxcujOYOHjy4lRdh0KBB9957b+Plm9jVi5ym3T9/Us8A3E2pox+9Di0aOXLkyJEjW1wrK+cMAEDWCaABANgTqaEJpk+fPn369I9dfuvWrS22b9q0KRrZYNmyZcuWLVu6dOnatWszWege2WeffVpsz9Re75lW4svdXKC50tLSzp07t7JAnz59or1+//33o+B1w4YNqVmtrJh67F7j8aYb29WL/Imkc/7st99+n6iv1Ggen2jF7J4zAABZJ4AGAGBPNH723e7Ytm1bQ0NDXt7/fwi4119//fvf//5TTz3V0NDQZOH27dv369dv0aJFGSh0j+xq2Ir09/qzpkuXLq3H1qkxiysrK6OJbdu2RRPdu3dvZcWePXtGE1u2bGlxgY8dG6R16Z8/BQUFn6jH1LAeqUG3d0funTMAAJ+IABoAgD1RWloaTZx22mlf+cpXdmeVxrHaU0899ZWvfKWmpib6sUePHoMHDz7ssMP69+/fv3//ww477Omnnz777LPjqLympibV767sKpNNc68/gz744IPWK/zXv/4VTbRv3z6aKCsriyZafz5k6pGVqeWb2IP7tVOycv6kXoFPNEB57p0zAACfiAAaAIA9kboxtmPHjq08xa5F27ZtO/fcc6P0cPjw4bfeeuuQIUMyX+IurFy5MplM7tm66ez1Z1Ntbe0HH3yQulu5iWQyuXz58mg69di9rl27RhOrVq1qZcsrVqyIJlIvWqZk6/zp0qXLypUrQwirVq064YQTdn+taCJnzhkAgE/E/9UBANgTRx55ZDSxB89Mmzlz5saNG0MIAwYMeOKJJ1pMDz/66KM0K9xVyvzOO+/s8TbT2evPrJdffnlXsxYsWFBVVRVCyMvLS+17amJXTxeMvPbaa9FE6vF6mfLpnD/NpXZ88eLFu1pm4cKFZ5555plnnvmTn/ykyVq5dM4AAOw+ATQAAHvimGOOKSoqCiEsXrx4/vz5u1ps4sSJZWVlZWVlv/zlL1ONqZtqhw0bVlxc3OKKc+bMSbPC9957r8X2e++9d4+3mc5ef2bddtttuwrrf/zjH0cTgwcPLi8vj6aHDRsWTbz88st///vfW1xx3bp1v/3tb5ssnymfzvnT3EknnRRNPPDAA7sa2PqPf/zjE0888cQTT+Tn50ctOXnOAADsPgE0AAB7ory8/LzzzgshJJPJSy65pLq6uvky77zzzpQpU6qqqnbs2PHNb34z1b733ntHE2vXrm1x408//fR///d/R9OtDJfR4qx99tknmnjiiSeaz/3b3/725JNP7mqDHyudvf7MWrBgwbRp05q3P/nkk7NmzYqmL7nkklT7gAEDUgNQ3Hjjjc0H1K6vr7/hhhu2b98eQujSpcvXvva1dMprfpQzdf58UmeffXY0/MjmzZtvvfXW5gusXr36P//zP6PpVFqdk+cMAMDuE0ADALCHbrzxxuiu2Ndff/3II4984YUXUmFffX39zJkzTzjhhCiFPPfccxuPMpwalGDWrFlPPfVU421WVlbefvvtZ599dm1tbdTywgsvpKab2Lx5c7T9xo466qhoYtq0aVOnTm1oaEjNeuSRR0aOHBlC6NChwx7ucxp7/Vl24YUX/uAHP0g9W2/79u2TJ0/+6le/Gv04cODAc889t/Hyt9xyS/QIwXnz5p1++ulLlixJvQj//ve/zzzzzFSiPWnSpJKSknRqa36UM3X+fFLFxcU333xzNP3zn//8mmuu2bBhQ2ruwoULzzrrrGjoj8MPP7zxwCA5ec4AAOwmDyEEAGAP9enTZ9q0ad/4xjfq6+vfeuutE044oWPHjgMHDgwhLFu2bN26ddFiX/ziF5uMenHUUUd96Utfevrpp+vq6kaOHDl48OCBAwfm5+cvX778tddeq6ysDCFccMEFv//975PJ5NKlS/fee+8zzjjjD3/4Q7R6fn5+RUXFli1bampqTjzxxEGDBu3cufPBBx+M5p5zzjk/+9nP1qxZE0L43ve+96tf/eqoo46qrq5+5ZVXokE5Lr/88tWrV8+YMeNT3uvPph49elRUVLz99tu33HLLLbfcMmDAgPLy8jfffDMa+jmE0KFDh4ceeigaRCJl6NChP/nJT2666aYQwpw5cw499NBOnTodeuihK1euXL16dWqxr3/965dffvmeFdbKUU7z/EnH9773vb///e9/+tOfQgi//OUvf/nLX/bp02f//fdfvXr1smXLomVKS0unTZuWGoIj5Nw5AwDwySQBAPgc69+/f/Rn4eTJk/dsC7Nnz06NetFEIpH41re+tXHjxuZrrV279vDDD29xrS5dujzwwAPJZPKyyy5LNR5yyCGNVz///PMbr1JRUdF47t///vcuXbq0uPHx48fX1tZ+5StfCSGUlpY2qerqq6+OFps2bVoce926XfU+ceLEqP2ee+5pccXUQVy/fn3zuakn5g0bNizVuH79+qixf//+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AAAAANBcGwugTz755BDCP/7xj8b/f6iurl6wYEEikRgxYsTubOTZZ58NIQwdOrT5rOLi4tmzZ997770LFy5sMuuFF14IIRx00EF7XDwAAAAAwOdKGwug+/fv37dv3w8//HDq1KnRl1lqa2t/8YtfbN++fciQId26dUstOWvWrJkzZy5durTJFqqqqpYsWZJIJFLPGGwskUiMHJ1fw9UAACAASURBVDkyhDBlypRFixZF90HX1NQ8+uijs2bNKikpGTNmTIy7BwAAAACQQ9rYGNCJRGLcuHHf//73n3766RdffHHfffdduXJldXV1p06dLr744sZLTps2rba29vzzz29yz/KiRYsaGhr69u0bPQqgubPOOuutt96aN2/eD3/4w7Kysvbt20fjPrdv3/6KK67o2rVrjLsHAAAAAJBD2lgAHUI44IADfv3rX0+fPn3RokVLly7t1KnTiBEjRo8eXVFRsTurL1iwIIRw6KGH7mqBRCJx7bXXHnfccU8++eSaNWu2bNlywAEHHHTQQd/4xjc6d+6csd0AAAAAAMh1bS+ADiF07959woQJrS/z2GOPtdh+xRVXXHHFFa2vm5eXN3To0BYHiQYAAAAAYDe1sTGgAQAAAABoKwTQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMRCAA0AAAAAQCwE0AAAAAAAxEIADQAAAABALATQAAAAAADEQgANAAAAAEAsBNAAAAAAAMSiXbYLyGV5eXlFRUXZroJPm4Pert3/vLEUFBRktxLikJf3P/+5LCwsTCaT2S2GmCQSCW9luSf15pyfn+/45p78/PxooqCgIJFIZLcYMi51TAsLC7NbCRmXOrg+POak1MW3Xbt2jm/uaXzxTX1KImdE788+GWWKADpGBQUF7du3z3YVfNrKy8uzXcJnRXFxcXFxcbarIC5lZWXZLoG45OXleSvLYYWFhTKsHFZSUpLtEoiRN+cclp+f7/jmMBff3Cb5yW3enDNCAB2jmpqabdu2ZbsKPm2bNm3KdglZVlxcHH36raqqqqmpyXY5ZFh5eXl0K8eWLVsaGhqyXQ4Z1qlTpxBCfX19ZWVltmshwwoKCqL/G1VXV2/fvj3b5ZBhJSUl0T99t23bVltbm+1yyLAOHTpE99lt3rzZ149yTCKR6NixYwihrq5u69at2S6HDCssLCwtLQ0h7Ny5c8eOHdkuhwxr3759dG/s1q1b6+rqsl0OGVZRUZGXl5dMJjdv3pztWj6jog+Pu0kAHaNkMllfX5/tKvi0OeipULKhocGrkXtSn3vr6+sF0DnML2/uSX0z1JtzTkq9OTu+OanxxVcAnWNSQ3D48JiTfDLKbS6+ua3xxTe7leQGg9QAAAAAABCLuAJo/x8AAAAAAPicy1gAvXr16h/+8IcjRozo3r17aWlp6mGvP/vZz5YsWZKpXgAAAAAAaCsyEEAnk8nbb7+9X79+P/nJT5577rm1a9c2frLNfffdd+ihh06YMMFQoQAAAAAAnysZCKB//vOfX3fdddETXQ855JDRo0c3nltRURFCmDJlytixY9PvCwAAAACAtiLdAPrtt9/+/ve/H0Lo27fvnDlz3njjjT/+8Y+NF5g3b97FF18cQpg6deobb7yRZncAAAAAALQV6QbQkydPDiGUlpbOnj17+PDhzRcoKyubOnXq0UcfnUwm77jjjjS7AwAAAACgrUg3gJ43b14I4eKLL+7Xr98u+8jLO//880MIr7/+eprdAQAAAADQVqQbQK9cuTKEcPTRR7e+WO/evUMI7777bprdAQAAAADQVqQbQBcUFIQQKisrW19s3bp1IYREIpFmdwAAAAAAtBXpBtAHHXRQCGHOnDmtL/bKK6+EEPbff/80uwMAAAAAoK1IN4A+++yzQwiPPvroY489tqtl3nrrrQceeCCEcNppp6XZHQAAAAAAbUW6AfTYsWO7d+8eQjjnnHMmTJjw73//u/Hcurq66dOnDxs2rLa2tri4eNy4cWl2BwAAAABAW5FuAN2hQ4cZM2aUl5c3NDRMmTJlv/3269WrVzTryCOPLCsrGzNmzPr160MI991337777ptuvQAAAAAAtBHpBtAhhCFDhvzzn/8cMWJE9OP7778fTSxatKi6ujqE0KNHj8cff/y8885Lvy8AAAAAANqKdhnZyoEHHvjXv/518eLFs2bNeuWVV9auXbt9+/aKiop+/fqNGDHi7LPPLioqykhHAAAAAAC0FZkJoCOHHXbYYYcdlsENAgAAAADQdmVgCA4AAAAAAGguMwF0fX39jBkzrrrqqnvuuadx+9ixY7/85S/fddddNTU1GekIAAAAAIC2IgMB9OrVq4cPHz5q1KjJkycvX7688azNmzc//vjjY8eOPf7445vMAgAAAAAgt6UbQNfW1p588sl///vfQwjl5eUHHnhg47knn3zywQcfHEJYsGDB2WefXVdXl2Z3AAAAAAC0FekG0FOnTn3nnXdCCFdfffX69esvvfTSxnO//e1vL1my5L777kskEosXL77//vvT7A4AAAAAgLYi3QD6//7f/xtCOPXUU2+//faioqLmCyQSiYsvvvi8884LITz++ONpdgcAAAAAQFuRbgC9dOnSEMI555yTSCRaWezUU08NIbz11ltpdgcAAAAAQFuRbgC9fv36EEJFRUXri7Vv3z6E8MEHH6TZHQAAAAAAbUW6AXT37t1DCAsXLmx9sWiBbt26pdkdAAAAAABtRboB9PDhw0MI//mf/7l69epdLfPhhx9OmzYthHDCCSek2R0AAAAAAG1FugH0uHHjEonEBx98cNpppz3//PPJZLLJAvPnzz/zzDPXrFkTQrj00kvT7A4AAAAAgLaiXZrrf+ELX/jRj340adKkJUuWDB8+/NBDDz3iiCP23XffoqKi9957780335w/f3605NixY7/4xS+mXTAAAAAAAG1DugF0COEHP/hBx44dr7/++p07d77xxhtvvPFGkwUSicR1113305/+NP2+AAAAAABoK9IdgiOEkEgkxo8fv3z58h/96EfHHHNMYWFhqv3ggw8eN27ckiVLbrvttvz8/PT7AgAAAACgrcjAHdCRffbZZ9KkSZMmTUomk9u2bautra2oqBA6AwAAAAB8bmUsgE5JJBLl5eUZ3ywAAAAAAG1LZgLohoaGFStWLF++PJlMtrJYWVmZ5xACAAAAAHxOZCCAfuGFF771rW+99957H7tk7969V65cmX6PAAAAAAB89qUbQK9YsWLEiBG1tbW7s/CGDRvS7A4AAAAAgLYi3QD6xz/+cW1tbVlZ2cSJE0844YTOnTtnpCwAAAAAANq6dAPo+fPnhxBmzJgxfPjwTNQDAAAAAECOyEtz/ZUrV/bv31/6DAAAAABAE+kG0B07duzatWtGSgEAAAAAIJekG0APGTJk0aJFdXV1GakGAAAAAICckW4AffXVV2/fvv3nP/95RqoBAAAAACBnpPsQwmHDhv3iF7+47rrrampqrrrqqoqKioyUBQAAAABAW5duAD1r1qwBAwZceOGFP/7xj3/9618ff/zxffv23WuvvRKJRIvL33TTTWn2CAAAAABAm5BuAH3WWWelpjdv3vzEE0+0vrwAGgAAAADgcyLdALq0tDQjdQAAAAAAkGPSDaC3bduWkToAAAAAAMgxedkuAAAAAACA3PQpBdCvvPLKqFGjHnjggU+nOwAAAAAAsu7TCKCTyeSMGTNmzJgxc+bMT6E7AAAAAAA+C9IdAzqEUFdXd+edd86dO3f58uUtLlBVVbVq1aoQQmFhYfrdAQAAAADQJqQbQNfX13/5y1+ePXv2xy5ZWFh4xRVXpNkdAAAAAABtRboB9MyZM6P0eb/99jvppJO2bNnyl7/8JYRwzjnndOrUafPmzc8///y6detKS0v/9re/HXXUURkoGQAAAACAtiDdADp6ruABBxywYMGCjh07hhC++c1v/ulPfzr11FMvvPDCEEJtbe13vvOdhx566MEHH8xUAL127dpHHnnktddeq6ys7NSp06BBg0aPHh313rrp06dPnz69xVl33313r1690u8CAAAAAIBIug8hXLZsWQjhoosuSoWzX/rSl0IIL730UvRjQUHB7373uwMPPPDuu+9esGBBmt2FEFasWDF+/Pg5c+Zs3LixtLR0/fr1s2fPHj9+/Nq1az923TVr1sTdBQAAAAAAkXTvgF69enUIoX///qmWY445JoTwzjvvpFry8/PHjRt3xRVX3HfffYMGDUqnu2Qyeeedd+7YsWPQoEHjxo3r1KnTunXrbrvttmXLlt1///033XRT66u///77IYQ77rij8c3OkaKioox0AQAAAABAJN07oNu1axph9+3bNy8v780330wmk6nGI444IoQwZ86cNLtbunTp8uXLO3fufP3113fq1CmE0K1bt0mTJhUWFr766qsbNmxoZd1kMrlmzZq8vLzevXsXN5NIJNLvAgAAAACAlHQD6OhW4mggjkhRUdF+++23cePG9957L9UYJbnRDcjpePbZZ0MIxx9/fOqG5RBCRUXFF77whWQyOXfu3FbW3bJly/bt23v06NE8NM9UFwAAAAAApKQ7BMfAgQPffPPN++6775JLLqmoqIgaBwwYsGrVqtmzZ1966aVRS5RQd+3aNc3uogj78MMPb9J+xBFHvPzyy9F4IK2v26tXr1dffXXu3Llr167t0qVL7969TzvttCgfT6eLv/3tb7W1tU0a+/Tp061bt93aMXJI439dfD6l/sdTUFCQ3UqIQ17e//znsrCwsPE3XcgliUTCW1nuSb055+fnO765Jz8/P5ooKChIfbGPnJE6poWFhdmthIxLHdy8vDxvzrkndfFt166d45t7Gl98U5+SyBnR+7NPRpmSbgA9bty4//7v/162bNngwYMvvvjia6+9NoRw8sknP/XUU7feeuvIkSP333//LVu2/OIXvwgh9OvXL83uNm7cGEJIJd0pUUs0d1eiJxAuXLhw/vz5qcaXXnpp5syZl1122dChQ9Pp4uabb66srGzSeNNNN40aNepjdomcU15enu0SPiui8W2yXQVxKSsry3YJxCUvL89bWQ4rLCyUYeWwkpKSbJdAjLw557D8/HzHN4e5+Oa29u3bZ7sEYuTNOSPS/RfN0KFDL7jgghDC0qVLf/rTn0aNY8aMKS0tfe+99w466KBDDjmkZ8+eUeabuiF6j0X5b/Nj36FDh7B7AXRDQ8N555131113PfLII//n//yfIUOGVFVVTZkyJTU8SDpdAAAAAACQku4d0IlEYtq0aYMGDXrooYdWrlwZNfbo0eOuu+76j//4j9ra2jfffDNq/MY3vvH1r389ze5SnTZpib4GXldX18pahxxySIcOHfr37z9w4MCopV+/fhMnTpw0adKiRYsefvjh6667bo+7GD169M6dO5s09unTZ8eOHR+/P+QWB71du3bR4Bs1NTX19fXZLocMKyoqir5ftnPnTkNw5J7o3slkMtn8okZbl/pyd11dXfNxw2jrCgoKoi96u/jmpNTF19+ZuSeRSERfGWxoaKiurs52OWRYfn5+dOOzi29OSl18q6urGxoasl0OGVZcXBxlgy6+u/KJvniXbgAdQkgkEmPHjh07dmxNTU2q8YILLjj44IOnTp26cuXKPn36nHzyyaNHj05/QLrOnTuvWbNm69atTdq3bdsWQujSpUsr6w4aNGjQoEHNix81atSiRYtSz1Hcsy4uvvji5o3btm2rqqpqpSRykoNeUlISBdDV1dX+jM497dq1iz4Db9++3Z9ZuSf6G6KhocFbWe4pKCiIAuja2lrHN/eUlpZGn4F37tzZ+G9yckNqdNHt27f772+OSQXQ9fX13pxzT1FRURRA19TUbN++PdvlkGFlZWWpi69/MOSewsLC/Pz8ZDLpzXlXPu0AOqXJkEZDhgwZMmRIBrcf/n/pcPPRlqOW1gPoXenZs2cIYf369clkMpFIxNEFAAAAAMDnULpjQE+ZMmXKlCkfu9iaNWumTJny0EMPpdndPvvsE0JYsmRJk/aopUePHrtacceOHTNnznziiSea3zKwadOmEEKvXr2iG7T3uAsAAAAAABpLN4CeMGHChAkTPnaxDRs2TJgw4YYbbkizu5NPPjmE8I9//KPx2HbV1dULFixIJBIjRozY1YrFxcWzZ8++9957Fy5c2GTWCy+8EEI46KCD0uwCAAAAAIDG0g2gd0dDQ0MU8q5fvz7NTfXv379v374ffvjh1KlTo7FHa2trf/GLX2zfvn3IkCHdunVLLTlr1qyZM2cuXbo0+jGRSIwcOTKEMGXKlEWLFkX3QdfU1Dz66KOzZs0qKSkZM2bMJ+0CAAAAAIBW7MkY0F27dv3YlsZ27NgRDbcfjW6RjkQiMW7cuO9///tPP/30iy++uO+++65cubK6urpTp05NHgM4bdq02tra888/P3Vr81lnnfXWW2/Nmzfvhz/8YVlZWfv27aNxn9u3b3/FFVekdmH3uwAAAAAAoBV7EkB/9NFHH9vSoksvvXQPumvigAMO+PWvfz19+vRFixYtXbq0U6dOI0aMGD16dEVFResrJhKJa6+99rjjjnvyySfXrFmzZcuWAw444KCDDvrGN77RuXPnjHQBAAAAAEDKngTQEydOTE3/9Kc/bdLScjft2g0aNOiMM87Yg+6a6969+8cOPP3YY481b8zLyxs6dOjQoUMz0gUAAAAAAK3YkwD6lltuSU1HAXTjFgAAAAAACHsWQDf23e9+NyN1AAAAAACQY9INoKdOnZqROgAAAAAAyDFpBdDvvvvuc889F0I488wze/XqlaGSAAAAAADIBWkF0HPmzLnssstCCMXFxd/+9rczUxEAAAAAADkhL52VBwwYEE289dZbmSgGAAAAAIDckVYAfeKJJ5544okhhN///vcfffRRZioCAAAAACAnpBVAJxKJv/zlLyeeeOKHH344ZsyYFStWZKosAAAAAADaurTGgA4hvPTSS9dcc01BQcEzzzzTr1+/ESNG7L///t27dy8sLGxx+ZtuuinNHgEAAAAAaBPSDaBHjhyZmq6vr3/mmWdaX14ADQAAAADwOZFuAF1aWpqROgAAAAAAyDHpBtDbtm3LSB0AAAAAAOSYtB5CCAAAAAAAuyKABgAAAAAgFukOwZFSWVn5xz/+8bnnnnv99dc3bdpUV1fXuXPnQw89dMSIEeedd15FRUWmOgIAAAAAoE3ITAD94IMPTpgwobKysnHjxo0bly1b9pe//OXGG2+cMmXKd77znYz0BQAAAABAm5CBAPr222+/7rrroumysrIDDzywd+/e7dq1W7ly5bvvvrt169atW7deeOGFW7ZsmTBhQvrdAQAAAADQJqQ7BvSbb755ww03hBC6du06efLkDz/88LXXXvvzn//8X//1XwsWLFi7du2vfvWrrl27hhCuu+66d955JwMlAwAAAADQFqQbQN95550NDQ2FhYWzZs268sorS0tLG88tKSkZP378448/XlhYWFdXd+edd6bZHQAAAAAAbUW6AfScOXNCCBdeeOHRRx+9q2WOOeaYiy66KITw17/+Nc3uAAAAAABoK9INoN9///0QQivpc+TYY48NIaxevTrN7gAAAAAAaCvSDaCTyWQIIZFI7P7CAAAAAAB8HqQbQPfs2TOE8NJLL7W+2Pz580MIvXr1SrM7AAAAAADainQD6BEjRoQQHnzwwShibtGCBQvuv//+EMLw4cPT7A4AAAAAgLYi3QB6/PjxeXl5NTU1Z5555l133bVjx47Gc6urq6dOnXrGGWdUV1fn5eWNGzcuze4AAAAAAGgr2qW5/sCBA3/+859fe+21GzZsGDt27E033dS/f//evXuHEP71r3+98847mzZtipa89dZbBw4cmGZ3AAAAAAC0FekG0CGEa665pnPnzldeeeXW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7969ly9f7tu3b/PF+RoI10OQ7y2lpqbm+eef37RpU35+vt1uVxTFbreXl5c3OY/ZqVOnsrOzs7KyEhISsrOzX3311bKysgULFoSHhzf5gSaTSTsxGjxBS/JtebiCfD2Me/MlXE9DvhJjcZYb+Xo1CmhcQVRU1JdffllWVmY2mxMTE5t812azrVu37q677howYMCkSZOCgoIMGRItpyhKTEzMnj17jh07JoRISkqKjY290R/iLDgmTpyow4y4eeQrk1WrVr311lvV1dW33367VkEuXbr00KFDffr0mTJlSocOHTIzM0+ePFleXp6cnNzCjpJwPQf53lLef//9vXv3duvW7eWXX54+ffrEiRPbt29//PjxwsLCxi+TOnbsuGvXrvPnz2/ZsmXnzp1VVVUzZ84cOHCg0ePjOlqSL+F6L/KVG/lKjHDlRr5ejQIaV6AoSvv27b/55pujR4/Gx8e3bdu28Xe/+eabgwcPDhw48Je//CXts7eIjo7u1q1bamqq3W4vKioaNWqUj88NnIGHgsPDka80fHx8UlNTMzIytI6ypKQkJSVl8ODBCxYsiI+PT0pK6tOnz549e44fP97CjpJwPQr53jpafj3noKCgUaNGVVZWOhyObt26zZ49e+jQoUaPj+toYb4RERGE643IV27kKzHClRv5ejsKaFxZbGyszWY7fvz47t27HQ5Hx44dtXPo7Nu375133rHb7bNnz7ZarUaPieuw2WzaqZFEo46yoKCgtLS0X79+HF7n7chXPs4ctY4yJCRkx44dTz/9tPOyGBEREb17925hR0m4noZ8bx2HDh369ttvBw4cOHr06MbbLRZL3759d+zYcfHiRWcHbTabBwwYMH78+GHDhrlyFVn8aFqeb1hYGOF6HfKVG/lKjHDlRr7ejgIaV5WUlGQ2m48ePfr999//5z//OXDgwGefffbll1/W19fPmjWrb9++Rg+I66ioqHjmmWcqKyu7deumbXF2H6dOnWr8GfBroODwWOQrq8YdZVFRUVFR0fTp052X0RAt7igJ1zOR7y0iLS3tyJEjnTp1av6Rz6CgIH9//7S0tObng4a3IF+5ka/cyFdihCs38vV2FNC4KkVREhMTe/bsmZeXd/HixZKSkqqqqqioqKeffpoLD3qF06dPr1+/Pj093c/Pr3lH6fwMOIfXeSnylUlDQ0PjpJw55ufn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" width="960" style="display: block; margin: auto;" /></p>
<ul>
<li><em>dep_delay</em> is dominant</li>
</ul>
<div class="sourceCode"><pre class="sourceCode r"><code class="sourceCode r">get_feat_importance <-<span class="st"> </span><span class="cf">function</span>(model) {
s <-<span class="st"> </span><span class="kw">summary</span>(model)
features <-<span class="st"> </span>s<span class="op">$</span>features <span class="op">%>%</span><span class="st"> </span><span class="kw">unlist</span>()
imp_ext <-<span class="st"> </span>stringr<span class="op">::</span><span class="kw">str_extract_all</span>(s<span class="op">$</span>featureImportances, <span class="st">'</span><span class="ch">\\</span><span class="st">[(.*?)</span><span class="ch">\\</span><span class="st">]'</span>) <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span><span class="kw">unlist</span>()
importance <-<span class="st"> </span>imp_ext[<span class="kw">length</span>(imp_ext)] <span class="op">%>%</span><span class="st"> </span>
<span class="st"> </span>stringr<span class="op">::</span><span class="kw">str_replace_all</span>(<span class="st">'[</span><span class="ch">\\</span><span class="st">[|</span><span class="ch">\\</span><span class="st">]]'</span>, <span class="st">''</span>) <span class="op">%>%</span>
<span class="st"> </span><span class="kw">strsplit</span>(<span class="st">','</span>) <span class="op">%>%</span><span class="st"> </span><span class="kw">unlist</span>() <span class="op">%>%</span><span class="st"> </span><span class="kw">as.numeric</span>()
<span class="kw">data.frame</span>(<span class="dt">feature =</span> features, <span class="dt">importance =</span> importance) <span class="op">%>%</span>
<span class="st"> </span>dplyr<span class="op">::</span><span class="kw">arrange</span>(<span class="op">-</span>importance) <span class="op">%>%</span><span class="st"> </span><span class="kw">as.tibble</span>()
}</code></pre></div>
</div>
<div id="further-topics" class="slide section level1">
<h1>Further topics</h1>
<ul>
<li>Hive UDF
<ul>
<li><a href="https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF">Hive UDFs</a> can be run alongside Spark SQL</li>
<li><a href="http://jaehyeon-kim.github.io/2016/04/Boost-SparkR-with-Hive.html">Spark should be built with Hive</a></li>
</ul></li>
<li><a href="https://spark.rstudio.com/">sparklyr</a>
<ul>
<li>has a complete dplyr backend, <a href="http://spark.rstudio.com/#using-sql">too tight integration?</a></li>
<li>has more features for data analysis
<ul>
<li><a href="https://spark.rstudio.com/mlib/#transformers">feature transformers</a> vs <a href="https://databricks.com/blog/2015/10/05/generalized-linear-models-in-sparkr-and-r-formula-support-in-mllib.html">one-hot encoding and a few more</a></li>
</ul></li>
<li>deprecated way of creating Spark session
<ul>
<li>not sure if SparkR and sparklyr can be used side by side</li>
</ul></li>
</ul></li>
<li>Production environment
<ul>
<li><a href="https://aws.amazon.com/emr/">Amazon EMR</a>
<ul>
<li>managed Hadoop framework on AWS</li>
<li><a href="https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-automatic-scaling.html">automatic scaling</a></li>
<li><a href="https://aws.amazon.com/blogs/aws/new-amazon-emr-instance-fleets/">instance fleets</a></li>
</ul></li>
<li>Other options
<ul>
<li><a href="https://github.com/amplab/spark-ec2/">amplab/spark-ec2</a> - no longer maintained</li>
<li><a href="https://github.com/nchammas/flintrock">Flintrock</a> - currently undergoing heavy development</li>
</ul></li>
</ul></li>
</ul>
</div>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML";
document.getElementsByTagName("head")[0].appendChild(script);
})();
</script>
</body>
</html>