actplane-bpf 0.1.0

ActPlane eBPF loader: loads the prebuilt CO-RE object with aya, no clang/libbpf at runtime.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
ELF�p3@@@.strtab.symtab.textlsm/bprm_check_securitylsm/file_openlsm/file_permissionlsm/file_truncatelsm/path_truncatelsm/path_unlinklsm/path_renamelsm/socket_connecttp/sched/sched_process_forktp/sched/sched_process_exectp/sched/sched_process_exittp/syscalls/sys_enter_openattp/syscalls/sys_exit_openattp/syscalls/sys_enter_opentp/syscalls/sys_exit_opentp/syscalls/sys_enter_openat2tp/syscalls/sys_exit_openat2tp/syscalls/sys_enter_creattp/syscalls/sys_exit_creattp/syscalls/sys_enter_truncatetp/syscalls/sys_exit_truncatetp/syscalls/sys_enter_unlinktp/syscalls/sys_enter_unlinkattp/syscalls/sys_enter_renametp/syscalls/sys_enter_renameattp/syscalls/sys_enter_renameat2tp/syscalls/sys_enter_connect.rodatalicense.mapsprocess.bpf.cLBB0_22LBB0_5LBB0_6LBB0_8te_check_labelsLBB0_21LBB0_12LBB0_18LBB0_15LBB0_17LBB1_63LBB1_5LBB1_4LBB1_62LBB1_7LBB1_12LBB1_9LBB1_11LBB1_14LBB1_16LBB1_20LBB1_18te_file_srcLBB1_27LBB1_23LBB1_25LBB1_28LBB1_40LBB1_31LBB1_37LBB1_34LBB1_36LBB1_50LBB1_43LBB1_45LBB1_46te_inval_hitsLBB1_49te_tickte_stampLBB1_53LBB1_56LBB1_58LBB1_61LBB2_64LBB2_6LBB2_5LBB2_63LBB2_8LBB2_13LBB2_10LBB2_12LBB2_15LBB2_17LBB2_21LBB2_19LBB2_28LBB2_24LBB2_26LBB2_29LBB2_41LBB2_32LBB2_38LBB2_35LBB2_37LBB2_51LBB2_44LBB2_46LBB2_47LBB2_50LBB2_54LBB2_57LBB2_59LBB2_62LBB3_38LBB3_5LBB3_4LBB3_37LBB3_7LBB3_11LBB3_8LBB3_10LBB3_13LBB3_26LBB3_17LBB3_23LBB3_20LBB3_22LBB3_28LBB3_31LBB3_33LBB3_36LBB4_34LBB4_4LBB4_8LBB4_5LBB4_7LBB4_10LBB4_23LBB4_14LBB4_20LBB4_17LBB4_19LBB4_25LBB4_28LBB4_30LBB4_33LBB5_49LBB5_17LBB5_5LBB5_7LBB5_8LBB5_12LBB5_13LBB5_16LBB5_19LBB5_23LBB5_20LBB5_22LBB5_25LBB5_38LBB5_29LBB5_35LBB5_32LBB5_34LBB5_40LBB5_43LBB5_45LBB5_48LBB6_51LBB6_17LBB6_5LBB6_7LBB6_8LBB6_12LBB6_13LBB6_16LBB6_19LBB6_24LBB6_21LBB6_23LBB6_26LBB6_39LBB6_30LBB6_36LBB6_33LBB6_35LBB6_89LBB6_88LBB6_41LBB6_50LBB6_44LBB6_46LBB6_49LBB6_102LBB6_68LBB6_56LBB6_58LBB6_59LBB6_63LBB6_64LBB6_67LBB6_70LBB6_74LBB6_71LBB6_73LBB6_76LBB6_90LBB6_80LBB6_86LBB6_83LBB6_85LBB6_92LBB6_101LBB6_95LBB6_97LBB6_100LBB7_29LBB7_4LBB7_5LBB7_7te_endp_src_ipte_connect_check_labelsLBB7_20LBB7_11LBB7_17LBB7_14LBB7_16LBB7_22LBB7_23LBB7_28LBB7_27LBB8_2LBB8_4te_exec_updateLBB9_7LBB9_6LBB9_4te_tok_cbLBB9_20LBB9_10LBB9_12LBB9_18LBB9_15LBB9_17LBB10_2te_exec_src_cbLBB10_4te_exec_xform_cbLBB10_6te_exec_gate_cbLBB10_8LBB10_12LBB10_11LBB11_2LBB13_55LBB13_54LBB13_5LBB13_7LBB13_9LBB13_11LBB13_15LBB13_13LBB13_22LBB13_18LBB13_20LBB13_23LBB13_32LBB13_24LBB13_30LBB13_27LBB13_29LBB13_42LBB13_35LBB13_37LBB13_38LBB13_41LBB13_45LBB13_48LBB13_50LBB13_53LBB15_55LBB15_54LBB15_5LBB15_7LBB15_9LBB15_11LBB15_15LBB15_13LBB15_22LBB15_18LBB15_20LBB15_23LBB15_32LBB15_24LBB15_30LBB15_27LBB15_29LBB15_42LBB15_35LBB15_37LBB15_38LBB15_41LBB15_45LBB15_48LBB15_50LBB15_53LBB17_55LBB17_54LBB17_5LBB17_7LBB17_9LBB17_11LBB17_15LBB17_13LBB17_22LBB17_18LBB17_20LBB17_23LBB17_32LBB17_24LBB17_30LBB17_27LBB17_29LBB17_42LBB17_35LBB17_37LBB17_38LBB17_41LBB17_45LBB17_48LBB17_50LBB17_53LBB19_55LBB19_54LBB19_5LBB19_7LBB19_9LBB19_11LBB19_15LBB19_13LBB19_22LBB19_18LBB19_20LBB19_23LBB19_32LBB19_24LBB19_30LBB19_27LBB19_29LBB19_42LBB19_35LBB19_37LBB19_38LBB19_41LBB19_45LBB19_48LBB19_50LBB19_53LBB21_55LBB21_54LBB21_5LBB21_7LBB21_9LBB21_11LBB21_15LBB21_13LBB21_22LBB21_18LBB21_20LBB21_23LBB21_32LBB21_24LBB21_30LBB21_27LBB21_29LBB21_42LBB21_35LBB21_37LBB21_38LBB21_41LBB21_45LBB21_48LBB21_50LBB21_53LBB22_28LBB22_3LBB22_5LBB22_7LBB22_17LBB22_9LBB22_15LBB22_12LBB22_14LBB22_19LBB22_22LBB22_24LBB22_27LBB23_28LBB23_3LBB23_5LBB23_7LBB23_17LBB23_9LBB23_15LBB23_12LBB23_14LBB23_19LBB23_22LBB23_24LBB23_27LBB24_28LBB24_3LBB24_5LBB24_7LBB24_17LBB24_9LBB24_15LBB24_12LBB24_14LBB24_19LBB24_22LBB24_24LBB24_27LBB25_28LBB25_3LBB25_5LBB25_7LBB25_17LBB25_9LBB25_15LBB25_12LBB25_14LBB25_19LBB25_22LBB25_24LBB25_27LBB26_28LBB26_3LBB26_5LBB26_7LBB26_17LBB26_9LBB26_15LBB26_12LBB26_14LBB26_19LBB26_22LBB26_24LBB26_27LBB27_25LBB27_4LBB27_5LBB27_7LBB27_17LBB27_9LBB27_15LBB27_12LBB27_14LBB27_19LBB27_20LBB27_24LBB28_11LBB28_10LBB28_9LBB28_6LBB28_7taint_prefixLBB28_8taint_suffixtaint_streqLBB29_12LBB29_8LBB29_5LBB29_6LBB29_7LBB29_11LBB29_10LBB30_10LBB30_8LBB30_5LBB30_6LBB30_7LBB30_9LBB31_2te_inval_cbLBB32_11LBB32_4LBB32_6LBB32_8LBB32_10LBB33_2LBB33_5LBB33_4LBB33_6LBB34_1LBB34_2LBB34_4LBB34_6LBB35_1LBB35_15LBB35_12LBB35_6LBB35_8LBB35_9LBB35_14LBB35_10LBB36_1LBB36_2LBB36_4LBB37_11LBB37_10LBB37_9LBB37_6LBB37_7LBB37_8LBB38_11LBB38_4LBB38_10LBB39_2te_endp_src_cbLBB40_2te_rule_cbLBB40_4LBB41_2te_conn_rule_cbLBB41_4LBB42_2te_file_src_cbLBB43_11LBB43_10LBB43_9LBB43_6LBB43_7LBB43_8LBB44_5LBB44_4te_rule_effectLBB45_5LBB45_3LBB45_4LBB46_39LBB46_5LBB46_15LBB46_11LBB46_12LBB46_13LBB46_19taint_arg_matchLBB46_38LBB46_25LBB46_26LBB46_37te_after_satisfiedLBB46_34LBB46_30LBB46_31LBB46_32LBB46_33LBB46_36LBB47_2LBB47_9LBB47_4LBB47_3LBB47_7LBB47_6LBB48_2LBB48_6LBB48_7LBB48_5LBB48_10LBB48_15LBB48_16LBB48_11LBB49_21LBB49_5LBB49_14LBB49_13LBB49_17LBB49_16LBB49_19LBB49_20enforce_bprm_check_securityenforce_modets_procrbenforce_file_opents_filets_rootenforce_file_permissionenforce_file_truncateenforce_path_truncateenforce_path_unlinkenforce_path_renameenforce_socket_connectts_endphandle_forkhandle_exects_argslotsts_countshandle_exittrace_openatts_openpendtrace_openat_exittrace_opentrace_open_exittrace_openat2trace_openat2_exittrace_creattrace_creat_exittrace_truncatetrace_truncate_exittrace_unlinktrace_unlinkattrace_renametrace_renameattrace_renameat2trace_connecttaint_sourcestaint_xformstaint_gatests_sessts_sess_zerotaint_invalstaint_rulesn_sourcesn_rulesn_xformsn_gatesn_invalsLICENSE.rel.text.rellsm/bprm_check_security.rellsm/file_open.rellsm/file_permission.rellsm/file_truncate.rellsm/path_truncate.rellsm/path_unlink.rellsm/path_rename.rellsm/socket_connect.reltp/sched/sched_process_fork.reltp/sched/sched_process_exec.reltp/sched/sched_process_exit.reltp/syscalls/sys_enter_openat.reltp/syscalls/sys_exit_openat.reltp/syscalls/sys_enter_open.reltp/syscalls/sys_exit_open.reltp/syscalls/sys_enter_openat2.reltp/syscalls/sys_exit_openat2.reltp/syscalls/sys_enter_creat.reltp/syscalls/sys_exit_creat.reltp/syscalls/sys_enter_truncate.reltp/syscalls/sys_exit_truncate.reltp/syscalls/sys_enter_unlink.reltp/syscalls/sys_enter_unlinkat.reltp/syscalls/sys_enter_rename.reltp/syscalls/sys_enter_renameat.reltp/syscalls/sys_enter_renameat2.reltp/syscalls/sys_enter_connect.BTF.BTF.ext������p 	�8� �(p0�8p@HPHW@^fpm�u�|��h�0�@�p��� �����X��	����	���(	��H
�
0��&�.�
6P	h?�G�O@
W�
_�	gXnHuH}�������h�(�8�p������@��	�x��	�x�	�8
�
 $�,x4�<0
D�
LP	T�[�bH	jq�y8�����P����������0���������������`�`pX$�,(4�<�D@	L	�
T	x\	�c	8j	@q	�y	��	h�	��	�	��	�	p�	��	p�	��	h�	�	8	�	�	�	�	�	P

�
�

�	
 
h
p
�&
 .
�6
�>
PF
N
HV
�^
�f
�n
�v
�~
P�
��
p�
`	�
�
�
�	�

�
p
�
��
P�
��

�

�
�
�
�
�
@�
h
�
�
�
H'
�/
H7
X?
@G
�O
W
x`
hh
�p
y8�����8��������H�8�H�����P�0��	�	
	�"	
()	
�0	
�7	��A	
�I	
�Q	
�Y	
�a	
�i	
Hq	�y	���	�	X��	��	��	(�	x�	8�	��	��	��	��	��	`

 
P 
)
�2
�;
8D
�M
XV
p_
Xh
�q
�	z
��
h�
��
@	�

�
p
�
�
�
 �
��
��
��
��
`�
�
 �
P��"8+�4X=pFXO�X�	a�jhs�|@	�
�p
��
� ���������`�� �P����	8�X$p-X6�?�	H�QhZ�c@	l
up
~�
� ���������`�� �P������8��
X
p
X
�&
�	/
�8
hA
�J
@	S

\
p
e
�
n
 w
��
��
��
��
`�
�
 �
P�
�
��
��
8�
��
X�
p�
X�
�	�h(�1@	:
Cp
L�
U ^�g ohw���������8�@�����P��� �h�������
�8@%�.�7P@�I QhY�a�j�r�{��8�@�����P��� �h�����������8�@��P"�+ 3h;�C�L�T�]�f8o@x����P�������H�0�(��(��������PH
(��%��2:��G`�S\�d�l�t�|�����p�@�P�X���	��	��
�8
�
��
�h
��
�
@��%x-�5�=�E�
NXW8_Xg�o�x@�p�����������`�����p���`��������(��02�/7p?��N�W�``hp0x@�x(�p(�p)��`)�)�X)�P/��+��,�H,�X,�`,�h-�X/8/ .`.  /)X0�</E�.N�.W�.`�.i/r�/z�/�80��/�0�P0��0�01�H1�(1��1��1��1�2��6�x4��5�5	8606x6$�6-�I��V! ^!as!� {!  ��X	���	�
�
��H!� p
�&!� 2!� <�H�U! a�s�~�������������������'�7�E,S�`�l!@ t!` ����,l������ 
�&�cz��{j���{���{���{����c����������a�����������c���������a�������	��X����c����������a���������cz����������y	{���y{��y���O){���y���Oy��������_{*������������������b���y���Oaa���c���������r��aw�q��y����q��d����g w %6'Xy1P{��y1H{��y1@{��y18{��y10{��y1({��y1 {��y1{��y1{��y1{��y1{��q���Uq���������y!�&U�2���&�2���2�Kg w �by!y���O1{���&�g w %1?'Py!H{��y!@{��y!8{��y!0{��y!({��y! {��y!{��y!{��y!{��y!{��q���
������yaU�����g w 	�q����yay���O!{���&�g w %,?'Py!H{��y!@{��y!8{��y!0{��y!({��y! {��y!{��y!{��y!{��y!{��q���
������yaU�s����g w yay���O!{��{*��c���{j���c���������a�������a����y�����F�8�'g w  �bO�c���������yO�{��U@�
��W��cr��U@��bW��cp��c����������cj���������U�������r����r�ac`�`����� @q�Fqf��w�_W�OVO�e@�����U�_������	��1Aq�w_��!Aq	�w	_	��v��Q������g@����dg w 2�g w -T.�dg w %*ag � �e��(�?-�?{z��{z��{z����������qg w ���O#�2������sq4�sq3�CW�-v�����������EqU� @q�PW�O@������g w %?{0�'Bq8-gq1,Oq1.gq4/gO{J��q45gq14O{J��q16gq47gO{J��q4=gq1<O{Jh�q1>gq0?gOq41gq10O{Jx�q49gq18O{Jp�q4
gq1O{J`�q4	gq1O{JX�q4gq1O{JP�q4gq1O{JH�q1gq4gO{J��q4%gq1$O{J@�q1&gq6'gO�%q2)gq1(O{*8�q1*gq2+gO{*��q12gq73gO{z��q1:gq4;gOq1gq9g	Oq1
gq2gOq1g{Z��q7gOy�h�O{
h�y���y���O{Z��y���O�{��q8gq1Oq0gq1Oy�@�O{j��y���y�H�OQ{��y�P�Oy�X�O{*X�y�`�Oy�p�O{Jp�y�x�y���O{*��y���y�8�O!{��q1gq6gOq1gq5gOq1!gq2 O!q2"gq4#gO$OOO�y���g y���O{*��y���g y���O{*��y�h�g y�p�Oq0Agq1@Og	 y�X�Og Ogy���g OQ�y���g OA�q2gq1Oq4gq1gOAk
��{���y���{J��y���{J��{j��{Z��{z��y���{���O!q2gq4OBq4gq3gOCO#g O{:��aqq���]!q���������yty�0�U	�A�2�o���y�0��A�2������A�2�����g w �y�0�o!yrO{'���&��c����������$W�qabg � qU	�!c�c�e��m!eadg � mAe'�E%g w %Ps0�adcF���{j��c��{j��{j���c���������a�������a����y���������{��{j���cz����������a�������(���a���g � ma���c,������c��c*��{j���cz��cz����������a������02���a���g � ma���c,�{���{j��cj���c���������a�������a����y�����g w %6'Xy1P{��y1H{��y1@{��y18{��y10{��y1({��y1 {��y1{��y1{��y1{��y1{��q���Uq���������y!�&U�2������&�2������2����g w �by!y���O1{���g w %'Xq1{P�s��q8gq4
OHq4gq1gOA{��q7
gq4	OGq4gq1gOA{��q4g{*X�q5OTq5gq1gOQ{��q5gq0Oq0gq2 gOq0&gq6%O`q6'gq9(g	Oiq1gq6Oa{H�q1"gq6!Oa{@�q1.gq6-Oa{0�q1*gq6)Oa{(�q16gq65Oa{ �q12gq61Oa{�q1>gq6=Oa{�O	{�8�OR{*x�y���OA{��y���Oq{��y���O�{��q2Bgq1AO{*�q1Cgq2DgO{*`�q2gq1O{*�q1gq2gO{*p�q1gq2gO{*h�q1#gq9$g	Oq1/gq70gOq1+gq8,gOq17gq58gOq13gq64gOq2?gq4@gO$q0:gq29O q1;gq2<gOOy��Oy��Oy� �Oy�(�Oy�0�Oy�@�O{�@�y�H�y�h�O{
h�y�p�y��O{p�y��y�`�O{
`�q0Fgq1EOy���g y���O�{��y���g y�p�O�{��y�x�g y�h�O�{x�y�8�g y�@�O��g O�g Oeg O$q6gq1Oq1gq2gOq1Gs��k
��y�`�c��{J��{Z��{z��{���y�x�{��y���{��y���{��Obq1gq4OAq4gq5gOEOg O%{Z��y�X�y1H{��a2Pc*��a3Tc:��y�P�UaT_4]$yRO{%���&�ya��g � �m!aag � �maa�g w =!yaa4cc�g w �������g w %�'�#y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2�{*��y2x{*��y2p{*��y2h{*��y2`{*��y2X{*x�y2P{*p�y2H{*h�y2@{*`�y28{*X�y20{*P�y2({*H�y2 {*@�y2{*8�y2{*0�y2{*(�y2{* �aq� �]#za0q�%�%vCWsyy����E_5]Eny���_4Ukq�!����&���yU������
����`����g w �a����WaUq�f��c��������������H��f�����E�a�����g w =q�"�8aUc*����������a�����*y"y���_#�U"� �� ����D�a������q�$��y��~���U�����������a�������a����q�#�U��rg w Ua���c!4q�%��q$��������T���Vqf�'Wqw�gW�Op����������E���U���c*���������r��aqc����������yb�U	yyb�_�U�W��ac�%��?g�4aC����T
@�%W��ag w -E���E��g w �-C�����g w %�'�y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1�{��y1x{��y1p{��y1h{��y1`{��y1X{x�y1P{p�y1H{h�y1@{`�y18{X�y10{P�y1({H�y1 {@�y1{8�y1{0�y1{(�y1{ ��q� �UNy!a0q�%�%ICWFyy����E_5]EAy���_4U>a#a���_4a���]T9q�"�!U'ac���������&�2��b��yy���_#a�� ����&�2�S����b��g w 	a���_1a���q�#�11q�%�a#g � �m4a#=a���c2c���y�{j��{j��{j��{j��{j��{j��{j��{jx�{jp�{jh�{j`�sj^�kj\�cjX�{jP�{jH�{j@�{j8�{j0�{j(�{j �{j�{j�{j�{j�{j��{j��{j��{j��a��@�s��������q�y�����������q�`y�����������qy������`����X�s�m��`��������s�qy�����������sey���{0�y���{(�y���{ �y���{�y���{�y���{�y���{�y�x�{��y�p�{��y�h�{��y�`�{����w cj�����������y{��{����`���{��{z���c��{z��cj��{z��{z���������f�g � m�Sa�����1�����-UL�{J��{:���#�	������8�ccg������������q�|y�����������q�y����a���c7cy���cc'�c��{�c��cj���������y{���q ���s0�q0��������s�q�������y���U�	�m��`��xy�c#��0�����qa�0��s
��k
��c
��{
��{
��{
��{
��{
��{
x�{
p�{
h�{
`�{
X�{
P�{
H�{
@�{
8�{
0�{
(�{
 �a��{���{�����c�������q��q��0����q���e��c��������q�`y�����������qy�����0�����sex� ��������c�q{� �{�(�y����@�c��������qy���{ ��(��������c�q�y�����������qa���c(�y� �U%#"���˷���0���$qD�A/1U��@{ ���W�w {
�c
�����������yW	C{��{��{��{��{��{��{��{��{z�U�c���c��{j��y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OOh{����������f	����g � �ma����	y���c���c����������F�f�d��a����-F���g � m2�g � mrOWU��g � ����FmS��a�����-UM�{:��#�	������9�cy��c������������q�|y�����������q��a���chcy��cc(�cx�{�cx�y��c���������y{x��� ���s0��0��0�����s����������U�	�m�����y��y��=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)�	B��0������y��c������������	y�qO�.y��c���������b��ah���V����b��t�)�	�� ����c`yO�{cj��{����c���� �������������yy�s
��k
��c
��{
��{
��{
��{
��{
��{
x�{
p�{
h�{
`�{
X�{
P�{
H�{
@�{
8�{
0�{
(�{
 �a �)W	W�!wO�{*��{���{�����c�������q��q��0����q���e��c��������q�`y�����������qy�����0�����se��� ��������c�q{� �{�(�y����@�c��������qy���{ ��(��������c�q�y�����������qa���c(�y� �U%#"���˷���0���$qD�A/1U��@{ ��w {
�c
�����������y{��{��{��{��{��{��{��{��y��U�c���c��{j��y��c����0���{��	�����"�� ������	y	��0����q���c��y��c��{z���c��c��O	Oi{����������f	����g � ma����	y���c���cj���������f��a����-����g � m2�g � mrOWU��g � �����mT��A�����-UN�{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cchc(�cx�{�cx�y��c���������y{x��� ���s0��0��0�����s���������y��U�	�m�����y��y��=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)�	����0������y��c������������	y�qO���y��c���������b��ah���V����b��t�)�	���� ����c`yO�{��cj��{����c���� �������������y�s
��k
��c
��{
��{
��{
��{
��{
��{
x�{
p�{
h�{
`�{
X�{
P�{
H�{
@�{
8�{
0�a�{���{�����c�������q��q��0����q���e��c��������q�`y�����������qy�����0�����se�� ��������c�q{� �{�(�y����@�c��������q�(y���{z ���������c�q�y�����(�����qU%#"���˷���0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z����{�c*��{z���	c���{z���������f�g � m�Sa����!����-UN�{�{*��#�	������8�ccg������������q�|y�����������q�y���a���c7cy��cc'�c��{�c��cj���������y{���q ���s0�q0��0�����s�q�������y��FU�	�m����@��0������cj������������	y�qO�-cj���������b��ah���V����b��t�)�	�� ����c`yO�{cj��{����c���� �������������y�sz��kz��cz��{z��{z��{z��{z��{z��{zx�{zp�{zh�{z`�{zX�{zP�{zH�{z@�{z8�{z0�a�{z��{z������������c�q��0���������m����������c�q�hy�����������q{z �{z(�y����@�c��������q�(y���{� ���������c�q�y�����(�����qU%#"�������0���sq3�1/!U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z����{�c*��{z���	c���{z���������f�g � m�Qa����!����-UL�{�{*��#�	������8�ccg������������q�|y�����������q�y���a���c7cy��cc'�c��{�c��cj���������y{���q ���s0�q0��0�����s�q�������y��AU�	�m=��0������	cj�����������y��O�+{��cj���������b��ai���V�y�����b��)�� ����c`yO�{cj��{���cz���� ������������p�yy�sz��kz��cz��{z��{z��{z��{z��{zx�{zp�{zh�{z`�{zX�{zP�{zH�{z@�{z8�{z0�{z(�a<{z��{z������������q��(���������m.{z��{z��{z��{z��{z��{z��{z��{z���`�c��������qy���7�������@�sm2���(���!q����!�g w #%"}�g w ��(���2q#��/�/s2�g w ��(����C�4%~�$4������5qUsT�4U��?�s���h��������c�q{z�{z �y����@�c��������q�(y���{z���������c�q�y����� �����qU%#"���˷���(���$qD�A/1U��@{���w cj�����������y{����(���{��{z���c��{z��cj��{z����{�c*��{z���	c���{z���������f�g � m�Qa����!����-UL�{�{*��#�	������8�ccg������������q�|y�����������q�y���a���c7cy��cc'�c��{�c��cj���������y{���q ���s0�q0��(�����s�q�������y��AU�	�m=��(������	cj�����������y��O�+{��cj���������b��ai���V�y�����b��)������c`yO�{cj��{���cz����������������p�yyyy�s��k��c��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �{�a"{z�={��{���������a��q��(����a����m/�{z��{z��{z��{z��{z��{z��{z��{z���`����������qy���7�������@�sm2���(���!q����!�g w #%"}�g w ��(���2q#��/�/s2�g w ��(����C�4%~�$4������5qUsT�4U��?�s���h����������q{z�{z �y����@�c��������qy���{��(��������c�q�y�����������qa���c �y��U%#"���˷���(���$qD�A/1U��@{�{����w c������������y{����(���{��{j���c��{j��c���{j����{�c*��{j���	c���{j���������f�g � mvMa����!����-UH�{�{*���#�������		8�cc�����������c�q�|y�����������q�y����a���c9cy��cc)�cy�{	�ci�c����������y{i��� ���s0��0��(�����s�����y���TUP��(������c�����������	y	�qO�+c����������b��af�a�V��a����t�)	������c�yO�{c���{����c���������������y���sz��kz��cz��{z��{z��{z��{z��{zx�{zp�{zh�{z`�{zX�{zP�{zH�{z@�{z8�{z0�{z(�a>{z��{z���������a�y���q��(����a����m/�{j��{j��{j��{j��{j��{j��{j��{j���`����������qy���7�������@�sm2���(���!q����!�g w #%"}�g w ��(���2q#��/�/s2�g w ��(����C�4%~�$4������5qUsT�4U��?�s���h����������q{j�{j �y����@�c��������q�(y���{z���������c�q�y����� �����qU%#"���˷���(���$qD�A/1U��@{���w cj�����������y{����(���{��{z���c��{z��cj��{z����{�c*��{z���	c���{z���������f�g � m�Qa����!����-UL�{�{*��#�	������8�ccg������������q�|y�����������q�y���a���c7cy��cc'�c��{�c��cj���������y{���q ���s0�q0��(�����s�q���y��U�	�m����=��(������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	������c`yO�{cj��{����c�����������������p��ya�{���{���k�����������c�qmi���U��������c�qe�����������a��w cz����������y{j��{j��{j��{j��{j��{j��{j�����O�c����{��c*��cz��O�{
�������������g � m�Oa����1�����-UI�{��{:��{����#�������		3�ccy����������c�q�|y�����������q�y����a���c9cy���cc)�y���c�c��{	cz����������y{��� ���s0���������y���y���;U�	�m7���O�cz��cz���������yOa{{j���{����������������c���cz���������y��������yOa{��������������������aa,c��cz����������{��{��y{��y{���������������b��cz���������r��aqc���������b����{�����#��{j��{j��{j��{j��{j��{j��{j��{jx�{jp�{jh�{j`�sj^�kj\�cjX�{jP�{jH�{j@�{j8�{j0�{j(�{j �{j�{j�{j�{j�{j��{j��{j��{j����	`�������w �q�������cj�����������	0������������q�py�������������q�xy�������������qy����s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s�s�~s�}s�|s�{s�zs�ys�xs�ws�vs�us�ts�ss�rs�qs�ps�os�ns�ms�ls�ks�js�is�hs�gs�fs�es�ds�cs�bs�as�`s�_s�^s�]s�\s�[s�Zs�Ys�Xs�Ws�Vs�Us�Ts�Ss�Rs�Qs�Ps�Os�Ns�Ms�Ls�Ks�Js�Is�Hs�Gs�Fs�Es�Ds�Cs�Bs�As�@s�?s�>s�=s�<s�;s�:s�9s�8s�7s�6s�5s�4s�3s�2s�1s�0s�/s�.s�-s�,s�+s�*s�)s�(s�'s�&s�%s�$s�#s�"s�!s� s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�
s�s�s�
s�	s�s�s�s�s�s�s�s�s�s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s��s�s�~s�}s�|s�{s�zs�ys�xs�ws�vs�us�ts�ss�rs�qs�ps�os�ns�ms�ls�ks�js�is�hs�gs�fs�es�ds�cs�bs�as�`s�_s�^s�]s�\s�[s�Zs�Ys�Xs�Ws�Vs�Us�Ts�Ss�Rs�Qs�Ps�Os�Ns�Ms�Ls�Ks�Js�Is�Hs�Gs�Fs�Es�Ds�Cs�Bs�As�@s�?s�>s�=s�<s�;s�:s�9s�8s�7s�6s�5s�4s�3s�2s�1s�0s�/s�.s�-s�,s�+s�*s�)s�(s�'s�&s�%s�$s�#s�"s�!s� s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�s�
s�s�s�
s�	s�s�s�s�s�s�s�s�s�bb�-!��q�)�c�p���	U�{�����������������vy���a1W����������-aUk��w c������������y{��{j����`���{��{z���c��{z���c��{z��c���c���{z���������fg � mIa�����GD{
���#�������7�cc�����������c�q�|y�����������q�	�a���c�cc'�cg�y���c�{cg�c����������y{g��q ���s0�q0��������s�q���U	�	�m����w g w ]c���������b��b���yy �{
��cz��{j������������������y�{
�������l�maeyas��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �aUK��0�����r�mE�aWC{�W%#"���˷{*(����0���$qD�A/1U��@{ ��w {
�c
�����������	y	{��{��{��{��{��{��{��U�c���c��{���y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OO�{����������f	����g � �ma����	y���c���c����������W�f�u��a����-T���g � m2�g � mrOWU��g � ����TmK�AGG{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cc(�	c��cx�{c��y��c���������y	{���� ���s0��0��0�����s�����y��U�	�m=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)y��>��0������y��c����������	y	�qO�,y��c���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������������yy�{
��cz��{j������������������y�{
�������l�maeyas��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �aUK��0�����r�mE�aWC{�W%#"���˷{*(����0���$qD�A/1U��@{ ��w {
�c
�����������	y	{��{��{��{��{��{��{��U�c���c��{���y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OO�{����������f	����g � �ma����	y���c���c����������W�f�u��a����-T���g � m2�g � mrOWU��g � ����TmK�AGG{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cc(�	c��cx�{c��y��c���������y	{���� ���s0��0��0�����s�����y��U�	�m=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)y��>��0������y��c����������	y	�qO�,y��c���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� ���������������������{��{��{��yc �������q��pyfyw�{
��cz��{j������������������y�{
�������l�maeyas��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �aUK��0�����r�mE�aWC{�W%#"���˷{*(����0���$qD�A/1U��@{ ��w {
�c
�����������	y	{��{��{��{��{��{��{��U�c���c��{���y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OO�{����������f	����g � �ma����	y���c���c����������W�f�u��a����-T���g � m2�g � mrOWU��g � ����TmK�AGG{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cc(�	c��cx�{c��y��c���������y	{���� ���s0��0��0�����s�����y��U�	�m=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)y��>��0������y��c����������	y	�qO�,y��c���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������������y�{
���Ac��{j������������������y�{
�������l�maeyas��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �aUK��0�����r�mE�aWC{�W%#"���˷{*(����0���$qD�A/1U��@{ ��w {
�c
�����������	y	{��{��{��{��{��{��{��U�c���c��{���y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OO�{����������f	����g � �ma����	y���c���c����������W�f�u��a����-T���g � m2�g � mrOWU��g � ����TmK�AGG{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cc(�	c��cx�{c��y��c���������y	{���� ���s0��0��0�����s�����y��U�	�m=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)y��>��0������y��c����������	y	�qO�,y��c���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������������y�{
���c��{j������������������y�{
�������l�maeyas��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�{(�{ �aUK��0�����r�mE�aWC{�W%#"���˷{*(����0���$qD�A/1U��@{ ��w {
�c
�����������	y	{��{��{��{��{��{��{��U�c���c��{���y��c����0���{��	�����"�� �����y��0����q���c��y��c��{z���c��c��OO�{����������f	����g � �ma����	y���c���c����������W�f�u��a����-T���g � m2�g � mrOWU��g � ����TmK�AGG{J��#�	������9�cy��c������������q�|y�����������q�y���a���c8cc(�	c��cx�{c��y��c���������y	{���� ���s0��0��0�����s�����y��U�	�m=�� �����y��0������y��c��c��Og�������yOq{{z���{������������������0������y��c������������a����V�����t�)y��>��0������y��c����������	y	�qO�,y��c���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������������y�s��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�aU���0�����r�m�%#"���˷{*(����0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z���c��{z���c��{z���������fg � mIa�����GD{
��#�������7�ccg������������q�|y�����������q�	�a���c�cc'�c��y��c�{c��cj���������y{���q ���s0�q0��0�����s�q���U	�	�m��0������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������y�s��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�aU���0�����r�m�%#"���˷{*(����0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z���c��{z���c��{z���������fg � mIa�����GD{
��#�������7�ccg������������q�|y�����������q�	�a���c�cc'�c��y��c�{c��cj���������y{���q ���s0�q0��0�����s�q���U	�	�m��0������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������y�s��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�aU���0�����r�m�%#"���˷{*(����0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z���c��{z���c��{z���������fg � mIa�����GD{
��#�������7�ccg������������q�|y�����������q�	�a���c�cc'�c��y��c�{c��cj���������y{���q ���s0�q0��0�����s�q���U	�	�m��0������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������y(�s��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�aU���0�����r�m�%#"���˷{*(����0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z���c��{z���c��{z���������fg � mIa�����GD{
��#�������7�ccg������������q�|y�����������q�	�a���c�cc'�c��y��c�{c��cj���������y{���q ���s0�q0��0�����s�q���U	�	�m��0������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������y(�s��k��c��{��{��{��{��{��{x�{p�{h�{`�{X�{P�{H�{@�{8�{0�aU���0�����r�m�%#"���˷{*(����0���$qD�A/1U��@{ ���w cj�����������y{����0���{��{z���c��{z��cj��{z���c��{z���c��{z���������fg � mIa�����GD{
��#�������7�ccg������������q�|y�����������q�	�a���c�cc'�c��y��c�{c��cj���������y{���q ���s0�q0��0�����s�q���U	�	�m��0������cj����������	y	�qO�+cj���������b��ah���V����b��t�)	�� ����c`yO�{cj��{����c���� �������������yaU�{z��{z��kz����������c�pmi���U��������c�pe������������a��w cz�����������	y	{���{���{���{���{���{���{����a�O�c���c��cz��O�{
���������b��g � mFa����!GA{*��{
���#�	������2�ccx������������q�|y�����������q�y����a���c8cc(�	c��ch�y���c�{cz���������y	{���� ���s0�����y���U�	�m�a�O�cz��cz���������yO�{{����{����������������cj��cz���������o�ym���������yOa{����������������Z�Dual BSD/GPL`M��M(hM��>�>B�`�a@b�M 	�	c�
cdPc�c e(L�M�M�pM�HM��`�`�)f�,L�->x0B�0cX2f 5>�=P>
�?�>�=0>@A�
�
�
�?	>
AX

�
>>H
�B�
�

H>�B

8

`
A�
A�=0>8A�
�
x
�?�>
AH

�
>>8
pB�
�

8>�B�
(

P
A�
A�=�>�
?X>h
�>B@
x
�A(	A�=(>
x?�>�
�>`B�
�
�AxA�=8>
�?�>�
	>p	B�	
�	

A�
A�=�>`
�?(>	
0	>�	B�	


(
A�
Ap=>�
`?�>�
�>8Bx
�
�AXA=>x
�
h?�>�
�>0>p>�II0>�>�B8BX
xL�h=�>x
�? >H>hBPP(P=(> Ah
�
h
p?�>�A�
(>�>�
	BP	
x	
�	
�	>@
B�

�

�
A`A�PPP(P=(> Ah
�
h
p?�>�A�
(>�>�
	BP	
x	
�	
�	>@
B�

�

�
A`A�P�P(P=(> Ah
�
h
p?�>�A�
(>�>�
	BP	
x	
�	
�	>@
B�

�

�
A`A�PPP(P=(> Ah
�
h
p?�>�A�
(>�>�
	BP	
x	
�	
�	>@
B�

�

�
A`A�PPP(P=(> Ah
�
h
p?�>�A�
(>�>�
	BP	
x	
�	
�	>@
B�

�

�
A`A�P�=�>h
�?>�
>pB�
�
A�A�=�>h
�?>�
>pB�
�
A�A�=�>h
�?>�
>pB�
�
A�A�=�>h
�?>�
>pB�
�
A�A�=�>h
�?>�
>pB�
�
A�A=>�
�
H?�>8
h>�> >`I�I������  @	.9@@J
P@ ch@t�x
�~ ch@t�x�����@�`������ @ ch@t�x�� ch@t�x��!���@�`#�9@�` ch@t �x"�$ ch@t�x&�'*, c)h+@t�x�&-00<2A3G1�1� ch@t�x/�L479c6h8@X:=	?[en@ c<h@t&�x>�t@

�B�C����F�G@�H��G��G�@�A�B�C�I�	I�IJ@�&�0�5�:KCK@JK�Q�^�eGlG@qM�|O�@�PL
1��N�N@�G1�Q�X��[�\@�^�������������������
����o
$o@
1��
6��
@�I� RRZTdq|SR�|U�V@TW
U��Y�Z@���]
��_�@`@�a��@�b� �@�o��p��cdegkf!h(h0i3j8FlUlZm^nds(tq�@�K��h�h�h�s���t�w��w�w�ty�@�`G��� @�K��h��h��h�-|u8v@tu>|xHx@wz
�|
}M�tX~�]~�h�pG{
r@t��p�h~���������@�������@��@�w��o�p@�a�Ue����
X��"�@+�`/��4�;�@���@�`�o��p�D�R��b Ze�_hg�h�"p|����������
� �G�@�`�������{~�8!�@'�.Z�7��>[@F��N��X��]�bG@io���rw@zw���@	���8�������0��p@^�|�8�@������@���X~�~ �
jj �H�H�H^��
���w����t �1T7��@'C�O�Wo]�@n`c�j�q��|@�G������ �@�`�������������
���	��	�	&	 -	@=	��F	��T	�^	o�p	n��	n��	��	� �	w@ �	�� �	G!�	h@!
hH!
`!$
w�!;
"N
 "]
�@"p
w�"�
w#�
�#�
��#�
w�$�
�@%�
��&�H@'�
H�'�
��'�
`(�
�(�
�(�(G)@)#`)7a)Qb)`�)t�)~�)��)��)��)��)��)��)��)��)��)	G�)�*�+$�+)G,6�@,B��,Iw�,Rw@-Z��-gw.ow�.|�/��@/�w@1�w�1��@2���2���2�o3��@3���3���3��4
G�6
G�6
�7
�@7(
G�70
G�78
�8H
�:]
�@;j
��;��;t
<�
@<�
�<�
=�
@=�
G�=�
G>�
@>�
�>�
�>�
?�
@?�
�?�
�?�
@	@@("�@G@A!#�A-�A:UBE%@BS��B\�Bf&�Bn(@C�@D���D�^�D���F�,�H�I���I�.�I�/J�@J�0�J�@L��L!�L2�LBMM�@M\�Mj�M|3�M�o���4��5@��6���7���8��9@��G���:���<��������@�%=��2���C��[��t?��|w��@���w���A@��������H@������w@��G��I�J@� JP�/`�=��N��c��vG���@����������T��K���L���G��M@�G�N@�$~��-G��=O�Q��ER@�QS��[U�b@�o`�x������G�������@��������V���
�e@�e`�'G��7W��DX�W �g@��W���Y���Z��[@��G@���������\��`�����o�a@�$b��,o��6�A�@�J��S��b��>qT��}@��c���c���T��d�CnG�G@�~��~�����e�R�@l`lpe�#0�5��>w@��I�T�@e��n�����@B��������G@����G�~@��G��@������	@��@%��2~�;~�JGSG@`G�i��ir{ �0�w�G��G���n �n0��@�������������@������
��@n��(�3�E�P��Y��h��n@v�{���@����h��h��h��h�� v�������
���������
���!�@*��5��>�K�@V��b��l�~�@����������@���������@��3��>�N�@a��r������@�������
�������G����~�
h�hhh��
 G
@%
�2
�>(�Iw@Sw�]k�� 8rG|�@���
��@�(������(��~@n~`�~������~��c� �@�������������� �@`(G�/G��t��P����@��8
P7=@K`Ym�u@|�����@���H
�T���]e�e �o@��+��������/� �@��`������
@)�2�>jJ@Z�j�yo@������@��	�
����
�������T1���
w������ &!G*5w�
�:$AN�fQVe c'@�j �)�G@�G��*�1�+��|-,���	8��G@�G����G1G@C�Y�n�(x��G@�2��2��
�
������ p10������;��8��@ ��&��,�7�@C��Y>�!���Cd�wD�@��@{w��E@�E��w@�w��w@	��	��	�
� 
�@
 `
 �
 �
( ��
1 ���@6 ��@ ��K BV �@a ����l �w o
�T@
� F�
�� � � �@� G� �B�� �GG�� � P� *�� *�� ��	!��TV!!T�@�`@���"!���(!P3!t�G��]�n~sp@^
_\���9!D!SJ!�@X!fb!G�e!nh!nk!n s!n0{!G@�!G��!���!G��!G�!G@�!G��!G��!��!G@�!��!��!~��!��!
�"l"l"l cl(�l,"l-�l/"l0&"l4*"l5,"l6."l70"l8eh6"KA"wM"w�Z"w>��f"�@r"w��"t�"w��"�" �"@Zg�wD��"o�i@�"`�j��"���"��"�@#��
#l�#l�
#l�
-#l�
7#r�B( �@:#��S#��l#�x#w�Bg�#@�`�#w����#�@�#e�X��#w@�#G��#�#�@�#�� �#!�# !�#@!$`!$G�!"$��!.$T�";$@#H$e`#T$��#a$�@&t$G�&�$g�&�$�'�T@'�$��'�$�(�$�@(�$��(�$��(�$o)�$�@)�$��)�$��)%�*c�@*	%��*%�@7o�7%w�7!%�2%����H%����^%����u%�����%�%�%k� F�%;��c� �%@m��%��%�%@�%A&B
&C&D$&E3&F>&GK&H�
IP&JU&Kb&L1 Mq&N{&O�&Q�&R�&S�&T�&U�&V�&W�&X�&Y'Z'[#'\.']6'^@'_K'`R'a\'be'ct'd�'e�'fn��'�o�p�'@�'��'��q��'�'@�'m`(mp(�#(�0(�9(G(S(a(r(z(�(�(�(�(�(�(�(�(�s�(�T$o@t$G����(j9(�@���(��(�@)��)��`tvwxy
`�%�#)�@,)G�8)G�C)T) X)@n`a)u�k)u@v)�%��)@�)`T)�@n��)w�)��)�@(�)z�){��)�)G�)G@�h�ch��)�)||~@�)|}|{�)h�)h	*l*�@*����*�(*j@4*�A*�@�M*P^]*w�b* v����k*���
��s*1 �{*X5w���*���
g��
��*��
g����*�*��*�@�*������*��*�@�*���*��c��*�@+������$�+�@+��+��)+�2+�@<+��F+�@V+��K'��`+�o+�@�~+�+��+�+m �+m0�+���+�+�+�+�+�+!�+%,&,(,+,.�~%,~ �~),~ �2,<,@,�@�E,�M,GQ,G@U,G�Y,G�],G`,G@c,G�g,G�k,Gn,G@q,G�t,G�w,Gz,G@},G��,G��*G�,G@nG�b!G��,G���	%���|�@nG��,o��,��,�@�,�@�,���,G��,G�5w�,���,��
GG�����,�@,��,�
-�-�@&-����1-��
��C-R-|-�-�g��!�X)�-G@�-���-���-��-��	.��.".�/.@<.`�-
�@�N. X.�@b.��q.��u..�.�.@,��.�.��.��.��.�t��.	p�.~�.~ �.~@�.~`�.~��.~��.~��.���~`~�.�.l�.l�.l /l0�@/~�/~��.�/�	*�
����!/�%/�@�.~�.~ �.~@�.~`~ ~@~0)/�2/�>/��.~�.~ �.~@�.~`�.~��.~��.~��.��K/h`P/hhX/hpb/hxl/h�o/h��)��v/~��/@�/��/��/��/@X.��/�@),���hh�/C�/4x�/��/n�/� �/@�/`0��0��0�0�@0��(0o�30G�@90�`@0��G0��O0�@W0��_0^@f0n@n0hPx0hX�0���0G��0��0G��0G�0t@�0w��0�@
�0�
�0l�
�0l�
1w�
1w@1w��@ 1��*1�51e@=1e`I1e�V1e���b1zj1{@q1w@"�"{1#�1 #�1�@#�1o�#�1n��
��1��1
�1��1~�1(�/�@�1��1��1�����@�������w��o@�p��2�2T2D!u&2\,2x72"��G2�@���N2��T2�^2�@i2��p2�x2�
@�2��2�K&�2G@�2%��2'��2%�2*@�#,�.��2>�2P@�2R��2.��2T3X@3Z� 3^�*3`63h@F3j�W3*�_3li3v@��
�I��
�I)#�z3��3��3���
�IK#��
�����30�3I�3�@�3���,o��3�3l �3�@�
����3(�3h�3*�3*4*�@�#����4#4*4�.4�34�84�?4RD4o�
��
��
�|I4G�Q4�]*^4 
�i4w4�4*@�4��

I	�4�4
�4�@�4
*K��
I�4�4�4�4@�4
I�
�IG
IF�4��4G5G@5H�
5�5G@#5w@25 �;5!B5G@K5I�S5o�c5�w5I@�5#��5�5�5�5G �5�5 X��5G���"
��5�$�&
[I(
I)�5o+
I��-
I/
I01�5�50�5w@�5t�6w@6w�'6)@06�96j�A6�H6�T6�\6I�d6��m6�t6�@~6G��6G��62�64@�66�3
�5
� �67�6:�6=�6 �~�8@5w�9�6�6�;<�67w��7�?
�IT#�!@nGA@O�7e�7G�(BEHIJM�T(C$7��� G��,G,7wD07w;7wD7oM7@(Y7Gb7F@e7G�u7G�G�~7G�7��7G�7j@�7jH�7e`�7e��7� �7G8G@8w�($8G.8K@;8G�L�E8�I8TS8HY8ej8Np8o@��8e�8Q
GIGGGGS
U
�RI�#�8����8���8�]*�	U�	�8�	�8�	�8
�8 
�8@
�
`
�8�
�8�
�8*�
9T9�@9��,9W���Y
�I�R#[
I�\]0o_
�I��a
bIc19�|)�#@:9#��#�?9#� �@I9����R9d@U9�f��,oe
�g
Pi
�I�I�#k
�I�I��m
no`9@Im9p@r�q9~�n~�x9uq
|9s�9ot
nh w
ny
[��9 �9[�9|@�9���9X��9e��9��9�@�9G
�9G@
:}�
nG�
:�
:^@:w@$o�84P':^/:X8:o@~
�@:RG:�N:)U:��_:;�
k:wr:��x:j��:G��:��:�@�:���:���:��:�@�:G��:G��:G�:Z@�:���:@�:e`�:o�
;��;�	;w@	#;��	*;7
0;�@
6;t�
B;P;�@X;��b;o�2l;~�2x;�3�;�@3�;�3�;��3�;�4�;�5�;�5�;��5�;��5�;K@:�;��:�;��:�;��<
<�= <@=3<�`=<<��=J<��=Q<>[<�@>h<��A�T@Et<��E�<�H�<�L�<^N�<wP�<^�P�<w�R��
��
��
��
���
��<D!����<�<�n�<�@�
��)��=��[=	H=�=@&=w�5=G?=@J=`U=��g=��y=o��=���
��=@�=��=�@�=���=���=��=�@�=��>���
��
��>�>t>w�#>w+>w�4>�<>^�H>e�Q>��W>�	]>�@	d>G�	m>��	t>�c� +��y>��>���>��>�>�>�>�>	H�>��>�@�>���>���>�
?�@?��'?��1?��
����;?@�F?�@T?��[?�o?�s?�@~?���?���?e@�p��?h�?�? �?�@�?T��1 �?���i�?
��?��?�@'���?��@�	@�@@��@��"@�)@�@1@��=@��F@��
Z�
���
���
�K��
��
��
Z�
Z�
Z[�
)Z)�
Y�M@ V@Z_@�@f@�p@�X�
�*�
X�
ZZ��
�{@@�@��@�@�@���@�n�5w�$��@���
G�����@ �9X�@ �@G@�@G��@W����@pv�5w@�@��@*�A|�
AHA�3!w@���spA��
��'AC?ACUACkACAC�AC�A�A��A��A� �A�@�An�Am�A�A�Bj�B0.B�2B@>B�IB�TB`^B��eBcnnjqBj 1
��B���B.B��B~@`�B�^B��
���B��Bx��B�38x�B��2P��BG��BGCG@C�Ce�+Ce�4Ce=C�@LC�VC^�fC��pCw�wCG�CG@�CG��CG��C�
�CG@
�CG�
�CG�
�CG�C�@�C^��CG��CG�CG@DG�DG�DGDG@+DG�5DG�=DGGDG@OD��
 ZD	!aD
@!nG@,iD^�,tD�.���.�/�DI@/�DG�/�DG�//0�De 0�De@0�D�0�D��0�D�1�DG@3
EG�3EP$Eo,E@@5E^=ENE2\ECbEGG.kE ���wE`�E��E�@�E���E@nn����Eo@
�E
�
�Ee�
�El�
�E�
�
��E�EJ��D�E�
�
K�EF .B��
@���^B�
�5FAF@.B��$�@[F�^B�G
�`F mF.B��$�@�F��^B��
��F!�F�F!�F�FnQ@�F��F!�F�F!GG!)G6GEGRGaGqG
G�Go�G2�G2�G2
R9�(K�G6
�G�G�G�G�G8
�G�G:
�GK�GK�G<
�GKHK
H>
� K�KH@#H2/H2
�*9HDGHH	89@R9��(K�UHKZH@cH`jH�vH�
�HF�HH
�HF�*�HJ
�K�HL�H2�H2�H2
�HFT)�HQ
AK�HK�HSV
WI�R9jIjIj Ij)Ij cHj(�(X04IY08IX�AI
EI
@LI
�QI�YI�^IhI rI@�I`�I
�1@1
�IU�IZ�I2
^	�I]�I]�I]�I]�I]
e	f�IX�IjIj�IX�I
@YI�^I�d�Jg
j	Wi�Jk
n	oJPIj(JjLIX�I
@m@,Jp
s	t9JPIj�IXDJ
@r@HJu
x	yTJBR9jIj�IXw@`Jz1
mJ|uJ]�J�J�J�J�Jt�J�J��
��J�JKKK)KAKOK`KyK�K�K�K25�K�K�K�K�K.4�K�K�K
LL�.L>LPLXLcLtL��L�L�L�L�L�L���L�LMMw&M2M>MUMgMwM�M�M�M�M�M�M�E�M�E�M��M�MNN�
N+N8NFNON]NElN|N���N�N��N�N�N�N�N�!�N����_`abch,l,lq�v�{��~��‹
}
ʋ
0   @ ` %� (� .� 5� ;A int__ARRAY_SIZE_TYPE__pid_t__kernel_pid_tproc_statelabelslin_gates__u64unsigned long longtypemax_entrieskeyvaluets_procts_rootte_sessgate_bitsepoch_padgate_epochinval_epoch__u32unsigned intts_sessts_sess_zerofile_idinodevfile_statelast_write_epochts_filets_endpts_countste_argslotsblobslotscharts_argslotsrbopen_pendpath_ptrflagsts_openpendctxenforce_bprm_check_securitylinux_binprmvmavma_pagesmmpargminhave_execfdexecfd_credssecureexecpoint_of_no_returnexecutableinterpreterfilecredunsafeper_clearargcenvcfilenameinterpfdpathinterp_flagsexecfdloaderexecrlim_stackbufunsigned longrlimitrlim_currlim_max__kernel_ulong_tf_pathf_inodef_opf_lockf_countf_flagsf_modef_pos_lockf_posf_ownerf_credf_raf_versionf_securityprivate_dataf_epf_mappingf_wb_errf_sb_errf_llistf_rcuheadf_iocb_flagsllist_nodenextcallback_headfuncpathmntdentryspinlock_tspinlockrlockraw_spinlockraw_lockmagicowner_cpuownerdep_maparch_spinlock_tqspinlockvalatomic_tcounterlockedpendingu8__u8unsigned charlocked_pendingtailu16__u16unsigned shortlockdep_mapclass_cachenamewait_type_outerwait_type_innerlock_typelock_classhash_entrylock_entrylocks_afterlocks_beforesubclassdep_gen_idusage_maskusage_tracesname_versionhlist_nodepprevlist_headprevlock_tracehashnr_entriesentriesu32__paddingatomic_long_tatomic64_ts64__s64long longfmode_tmutexwait_lockosqwait_listraw_spinlock_toptimistic_spin_queueloff_t__kernel_loff_tfown_structlockpidpid_typeuideuidsignumrwlock_tarch_rwlock_tqrwlockcntswlocked__lstatePIDTYPE_PIDPIDTYPE_TGIDPIDTYPE_PGIDPIDTYPE_SIDPIDTYPE_MAXkuid_tuid_t__kernel_uid32_tfile_ra_statestartsizeasync_sizera_pagesmmap_missprev_posu64errseq_td_flagsd_seqd_hashd_parentd_named_inoded_inamed_lockrefd_opd_sbd_timed_fsdatad_childd_subdirsd_useqcount_spinlock_tseqcount_spinlockseqcountseqcount_tsequencehlist_bl_nodeqstrhash_lenlenlockrefcountd_lrud_waitwait_queue_head_td_aliasd_in_lookup_hashd_rcutask_structthread_info__statestackusageptraceon_cpuwake_entrywakee_flipswakee_flip_decay_tslast_wakeerecent_used_cpuwake_cpuon_rqpriostatic_prionormal_priort_prioritysertdlsched_classsched_task_groupstatsbtrace_seqpolicynr_cpus_allowedcpus_ptruser_cpus_ptrcpus_maskmigration_pendingmigration_disabledmigration_flagsrcu_read_lock_nestingrcu_read_unlock_specialrcu_node_entryrcu_blocked_nodercu_tasks_nvcswrcu_tasks_holdoutrcu_tasks_idxrcu_tasks_idle_cpurcu_tasks_holdout_listtrc_reader_nestingtrc_ipi_to_cputrc_reader_specialtrc_holdout_listtrc_blkd_nodetrc_blkd_cpusched_infotaskspushable_taskspushable_dl_tasksactive_mmrss_statexit_stateexit_codeexit_signalpdeath_signaljobctlpersonalitysched_reset_on_forksched_contributes_to_loadsched_migratedsched_remote_wakeupin_execvein_iowaitrestore_sigmaskin_user_faultbrk_randomizedno_cgroup_migrationfrozenuse_memdelayin_eventfdreported_split_lockin_thrashingatomic_flagsrestart_blocktgidstack_canaryreal_parentparentchildrensiblinggroup_leaderptracedptrace_entrythread_pidpid_linksthread_groupthread_nodevfork_doneset_child_tidclear_child_tidworker_privateutimestimegtimeprev_cputimenvcswnivcswstart_timestart_boottimemin_fltmaj_fltposix_cputimersposix_cputimers_workptracer_credreal_credcached_requested_keycommnameidatasysvsemsysvshmlast_switch_countlast_switch_timefsfilesio_uringnsproxysignalsighandblockedreal_blockedsaved_sigmasksas_ss_spsas_ss_sizesas_ss_flagstask_worksaudit_contextloginuidsessionidseccompsyscall_dispatchparent_exec_idself_exec_idalloc_lockpi_lockwake_qpi_waiterspi_top_taskpi_blocked_onblocked_onnon_block_countirqtracehardirq_threadedhardirq_chain_keysoftirqs_enabledsoftirq_contextirq_configcurr_chain_keylockdep_depthlockdep_recursionheld_locksjournal_infobio_listplugreclaim_statebacking_dev_infoio_contextcapture_controlptrace_messagelast_siginfoioacacct_rss_mem1acct_vm_mem1acct_timexpdmems_allowedmems_allowed_seqcpuset_mem_spread_rotorcpuset_slab_spread_rotorcgroupscg_listrobust_listpi_state_listpi_state_cachefutex_exit_mutexfutex_stateperf_event_ctxpperf_event_mutexperf_event_listpreempt_disable_ipmempolicyil_prevpref_node_forknuma_scan_seqnuma_scan_periodnuma_scan_period_maxnuma_preferred_nidnuma_migrate_retrynode_stamplast_task_numa_placementlast_sum_exec_runtimenuma_worknuma_groupnuma_faultstotal_numa_faultsnuma_faults_localitynuma_pages_migratedrseqrseq_sigrseq_event_masktlb_ubcsplice_pipetask_fragdelaysmake_it_failfail_nthnr_dirtiednr_dirtied_pausedirty_paused_whentimer_slack_nsdefault_timer_slack_nscurr_ret_stackcurr_ret_depthret_stackftrace_timestamptrace_overruntracing_graph_pausetrace_recursionmemcg_in_oommemcg_oom_gfp_maskmemcg_oom_ordermemcg_nr_pages_over_highactive_memcgthrottle_queueutaskkmap_ctrltask_state_changepagefault_disabledoom_reaper_listoom_reaper_timerstack_vm_areastack_refcountsecuritybpf_storagebpf_ctxmce_vaddrmce_kflagsmce_addrmce_ripvmce_whole_page__mce_reservedmce_kill_memce_countkretprobe_instancesrethooksl1d_flush_killthreadsyscall_workstatuscpurefcount_trefcount_structrefs__call_single_nodellistsrcdstu_flagsa_flagssched_entityloadrun_nodegroup_nodeexec_startsum_exec_runtimevruntimeprev_sum_exec_runtimenr_migrationsdepthcfs_rqmy_qrunnable_weightavgload_weightweightinv_weightrb_node__rb_parent_colorrb_rightrb_leftsched_avglast_update_timeload_sumrunnable_sumutil_sumperiod_contribload_avgrunnable_avgutil_avgutil_estenqueuedewmasched_rt_entityrun_listtimeoutwatchdog_stamptime_sliceon_listbacksched_dl_entitydl_runtimedl_deadlinedl_perioddl_bwdl_densityruntimedeadlinedl_throttleddl_yieldeddl_non_contendingdl_overrundl_timerinactive_timerpi_sehrtimernode_softexpiresfunctionbasestateis_relis_softis_hardtimerqueue_nodeexpiresktime_thrtimer_restartHRTIMER_NORESTARTHRTIMER_RESTARTsched_statisticswait_startwait_maxwait_countwait_sumiowait_countiowait_sumsleep_startsleep_maxsum_sleep_runtimeblock_startblock_maxsum_block_runtimeexec_maxslice_maxnr_migrations_coldnr_failed_migrations_affinenr_failed_migrations_runningnr_failed_migrations_hotnr_forced_migrationsnr_wakeupsnr_wakeups_syncnr_wakeups_migratenr_wakeups_localnr_wakeups_remotenr_wakeups_affinenr_wakeups_affine_attemptsnr_wakeups_passivenr_wakeups_idlecpumask_tcpumaskbitsrcu_specialbsneed_qsexp_hintneed_mbpcountrun_delaylast_arrivallast_queuedplist_nodeprio_listnode_listtask_rss_stateventsarch_datafnlongfutexnanosleeppolluaddrbitsettimeuaddr2clockidclockid_t__kernel_clockid_ttimespec_typeTT_NONETT_NATIVETT_COMPATrmtpcompat_rmtpufdsnfdshas_timeouttv_sectv_nsecbasestimers_activeexpiry_activeposix_cputimer_basenextevttqheadtimerqueue_headrb_rootrb_root_cachedrb_leftmostworkscheduledsubscribersput_addrgidsuidsgidegidfsuidfsgidsecurebitscap_inheritablecap_permittedcap_effectivecap_bsetcap_ambientjit_keyringsession_keyringprocess_keyringthread_keyringrequest_key_authuseruser_nsucountsgroup_infokgid_tgid_t__kernel_gid32_tkernel_cap_tkernel_cap_structcapnon_rcurcusysv_semundo_listsysv_shmshm_clistsigset_tsigsigpendinglistsize_t__kernel_size_tmodefilter_countfiltersyscall_user_dispatchselectoroffseton_dispatchbool_Boolwake_q_nodeirqtrace_eventsirq_eventshardirq_enable_iphardirq_disable_iphardirq_enable_eventhardirq_disable_eventsoftirq_disable_ipsoftirq_enable_ipsoftirq_disable_eventsoftirq_enable_eventheld_lockprev_chain_keyacquire_ipinstancenest_lockclass_idxirq_contexttrylockreadcheckhardirqs_offreferencespin_countkernel_siginfo_ttask_io_accountingrcharwcharsyscrsyscwread_byteswrite_bytescancelled_write_bytesnodemask_tperf_event_contextpmuactive_ctx_listpinned_groupsflexible_groupsevent_listpinned_activeflexible_activenr_eventsnr_activenr_useris_activenr_statnr_freqrotate_disablerotate_necessaryrefcounttasktimestamptimeoffsetparent_ctxparent_gengenerationnr_cgroupstask_ctx_datanr_pendingperf_event_groupstreeindexlocal_tashorttlbflush_unmap_batcharchflush_requiredwritablearch_tlbflush_unmap_batchrcu_userspage_fragpagegfp_ttimer_listentryllist_headfirstthread_structtls_arrayspesdsfsindexgsindexfsbasegsbaseptrace_bpsvirtual_dr6ptrace_dr7cr2trap_nrerror_codeio_bitmapiopl_emuliopl_warnsig_on_uaccess_errpkrufpudesc_structlimit0base0base1dpllimit1avlldgbase2perf_eventevent_entrysibling_listactive_listgroup_indexmigrate_entryhlist_entryactive_entrynr_siblingsevent_capsgroup_capspmu_privateattach_statechild_counttotal_time_enabledtotal_time_runningtstampattrheader_sizeid_header_sizeread_sizehwchild_total_time_enabledchild_total_time_runningchild_mutexchild_listoncpuowner_entrymmap_mutexmmap_countrb_entryrcu_batchesrcu_pendingwaitqfasyncpending_wakeuppending_killpending_disablepending_sigtrappending_addrpending_irqpending_taskpending_workevent_limitaddr_filtersaddr_filter_rangesaddr_filters_genaux_eventdestroynsidlost_samplesclockoverflow_handleroverflow_handler_contextorig_overflow_handlerprogbpf_cookietp_eventftrace_opscgrpsb_listperf_event_statePERF_EVENT_STATE_DEADPERF_EVENT_STATE_EXITPERF_EVENT_STATE_ERRORPERF_EVENT_STATE_OFFPERF_EVENT_STATE_INACTIVEPERF_EVENT_STATE_ACTIVElocal64_tperf_event_attrconfigsample_typeread_formatdisabledinheritpinnedexclusiveexclude_userexclude_kernelexclude_hvexclude_idlemmapfreqinherit_statenable_on_execwatermarkprecise_ipmmap_datasample_id_allexclude_hostexclude_guestexclude_callchain_kernelexclude_callchain_usermmap2comm_execuse_clockidcontext_switchwrite_backwardnamespacesksymbolbpf_eventaux_outputcgrouptext_pokebuild_idinherit_threadremove_on_execsigtrap__reserved_1bp_typebranch_sample_typesample_regs_usersample_stack_usersample_regs_intraux_watermarksample_max_stack__reserved_2aux_sample_size__reserved_3sig_datasample_periodsample_freqwakeup_eventswakeup_watermarkbp_addrkprobe_funcuprobe_pathconfig1bp_lenkprobe_addrprobe_offsetconfig2__s32hw_perf_eventtargetprev_countinterrupts_seqinterruptsfreq_time_stampfreq_count_stamplast_tagconfig_baseevent_baseevent_base_rdpmcidxlast_cpuextra_regbranch_reghw_perf_event_extraregalloctp_listpwr_accptscinfobp_listarch_hw_breakpointaddressmaskrhlist_headrheadrhash_headiommu_bankiommu_cntrpaddingconfconf1last_periodperiod_leftsaved_metricsaved_slotswait_queue_headheadirq_workirqwaitrcuwaitperf_addr_filters_headnr_file_filtersperf_overflow_handler_tperf_sample_datasample_flagsperiodbr_stackdata_srctxnaddrrawiptid_entrystream_idcpu_entrycallchainaux_sizeregs_userregs_intrstack_user_sizephys_addrdata_page_sizecode_page_sizeperf_sample_weightfullvar1_dwvar2_wvar3_wperf_mem_data_srcmem_opmem_lvlmem_snoopmem_lockmem_dtlbmem_lvl_nummem_remotemem_snoopxmem_blkmem_hopsmem_rsvdtidreservedperf_regsabiregspt_regsr15r14r13r12bpbxr11r10r9r8axcxdxsidiorig_axcsssprivatesaved_funclocal_hashfunc_hashold_hashtrampolinetrampoline_sizeops_funcftrace_func_tftrace_regsftrace_ops_hashnotrace_hashfilter_hashregex_lockftrace_ops_func_tftrace_ops_cmdFTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_SELFFTRACE_OPS_CMD_ENABLE_SHARE_IPMODIFY_PEERFTRACE_OPS_CMD_DISABLE_SHARE_IPMODIFY_PEERavx512_timestampfpstate__task_fpstatepermguest_perm__fpstatefpu_state_perm__state_perm__state_size__user_state_sizeuser_sizexfeaturesuser_xfeaturesxfdis_vallocis_guestis_confidentialin_usefpregs_statefsavefxsavesoftxsavefregs_statecwdswdtwdfipfcsfoofosst_spacefxregs_statefopmxcsrmxcsr_maskxmm_spaceriprdppadding1sw_reservedswregs_stateftopchangedlookaheadno_updatermalimitentry_eipxregs_statei387headerextended_state_areaxstate_headerxcomp_bvenforce_file_openinodei_modei_opflagsi_uidi_gidi_flagsi_acli_default_acli_opi_sbi_mappingi_securityi_inoi_rdevi_sizei_atimei_mtimei_ctimei_locki_bytesi_blkbitsi_write_hinti_blocksi_statei_rwsemdirtied_whendirtied_time_wheni_hashi_io_listi_wbi_wb_frn_winneri_wb_frn_avg_timei_wb_frn_historyi_lrui_sb_listi_wb_listi_versioni_sequencei_counti_dio_counti_writecounti_readcounti_flctxi_datai_devicesi_generationi_fsnotify_maski_fsnotify_marksi_privateumode_ti_nlink__i_nlinkdev_t__kernel_dev_ttimespec64time64_tblkcnt_trw_semaphorei_dentryi_rcuhlist_headi_fopfree_inodefile_operationsllseekwriteread_iterwrite_iteriopolliterateiterate_sharedunlocked_ioctlcompat_ioctlmmap_supported_flagsopenflushreleasefsyncsendpageget_unmapped_areacheck_flagsflocksplice_writesplice_readsetleasefallocateshow_fdinfocopy_file_rangeremap_file_rangefadviseuring_cmduring_cmd_iopollssize_t__kernel_ssize_t__kernel_long_tkiocbki_filpki_poski_completeki_flagski_ioprioki_waitqiov_iteriter_typenofaultdata_sourceuser_backediov_offsetlast_offsetiovkvecbvecxarraypipeubufnr_segsxarray_startstart_headio_comp_batchreq_listneed_tscompletedir_contextactorposfilldir_t__poll_tpoll_table_struct_qproc_keypoll_queue_procvm_area_structvm_startvm_endvm_mmvm_page_protvm_flagsanon_vma_chainanon_vmavm_opsvm_pgoffvm_filevm_private_dataswap_readahead_infovm_policyvm_userfaultfd_ctxpgprot_tpgprotpgprotval_tsharedanon_namerb_subtree_lastfl_owner_tfile_lockfl_blockerfl_listfl_linkfl_blocked_requestsfl_blocked_memberfl_ownerfl_flagsfl_typefl_pidfl_link_cpufl_waitfl_filefl_startfl_endfl_fasyncfl_break_timefl_downgrade_timefl_opsfl_lmopsfl_unfs_flnfs4_flafsnfs_lock_infonlm_lockownernfs4_lock_infonfs4_lock_statelinkdebug_id_refcountmemcg_datamappinglrubuddy_listpcp_list__fillermlock_countpp_magicpp_pp_mapping_paddma_addrdma_addr_upperpp_frag_countcompound_headcompound_dtorcompound_ordercompound_mapcountcompound_pincountcompound_nr_compound_pad_1_compound_pad_2deferred_list_pt_pad_1pmd_huge_pte_pt_pad_2ptlpgtable_tpt_mmpt_frag_refcountpgmapzone_device_data_mapcountpage_typepipe_inode_inford_waitwr_waitmax_usagering_sizenr_accountedreaderswritersr_counterw_counterpoll_usagetmp_pagefasync_readersfasync_writersbufsseq_filefrompad_untilread_posoppoll_eventio_uring_cmdcmdcmd_oppdutask_work_cbcookieaddress_spacehosti_pagesinvalidate_lockgfp_maski_mmap_writablei_mmapi_mmap_rwsemnrpageswriteback_indexa_opswb_errprivate_lockprivate_listxa_lockxa_flagsxa_headi_pipei_cdevi_linki_dir_seqsuper_blocks_lists_devs_blocksize_bitss_blocksizes_maxbytess_types_opdq_ops_qcops_export_ops_flagss_iflagss_magics_roots_umounts_counts_actives_securitys_xattrs_rootss_mountss_bdevs_bdis_mtds_instancess_quota_typess_dquots_writerss_fs_infos_time_grans_time_mins_time_maxs_fsnotify_masks_fsnotify_markss_ids_uuids_max_linkss_modes_vfs_rename_mutexs_subtypes_d_ops_shrinks_remove_counts_fsnotify_connectorss_readonly_remounts_wb_errs_dio_done_wqs_pinss_user_nss_dentry_lrus_inode_lrudestroy_works_sync_locks_stack_depths_inode_list_locks_inodess_inode_wblist_locks_inodes_wbhlist_bl_headmtd_infoquota_infodqio_semopsmem_dqinfodqi_formatdqi_fmt_iddqi_dirty_listdqi_flagsdqi_bgracedqi_igracedqi_max_spc_limitdqi_max_ino_limitdqi_privqsize_tquota_format_opscheck_quota_fileread_file_infowrite_file_infofree_file_inforead_dqblkcommit_dqblkrelease_dqblkget_next_iddquotdq_hashdq_inusedq_freedq_dirtydq_lockdq_dqb_lockdq_countdq_sbdq_iddq_offdq_flagsdq_dqbkqidprojidkprojid_tprojid_tquota_typeUSRQUOTAGRPQUOTAPRJQUOTAmem_dqblkdqb_bhardlimitdqb_bsoftlimitdqb_curspacedqb_rsvspacedqb_ihardlimitdqb_isoftlimitdqb_curinodesdqb_btimedqb_itimesb_writerswait_unfrozenrw_sempercpu_rw_semaphorerssread_countwriterwaitersblockrcu_syncgp_stategp_countgp_waitcb_headuuid_tdentry_operationsd_revalidated_weak_revalidated_compared_deleted_initd_released_pruned_iputd_dnamed_automountd_managed_realvfsmountmnt_rootmnt_sbmnt_flagsmnt_usernsshrinkercount_objectsscan_objectsbatchseeksnr_deferredshrink_controlnidnr_to_scannr_scannedmemcglist_lrushrinker_idmemcg_awarexawork_structdatawork_func_tenforce_file_permissionenforce_file_truncateenforce_path_truncateenforce_path_unlinkenforce_path_renameenforce_socket_connectsockaddr_insin_familysin_portsin_addr__pad__kernel_sa_family_t__be16in_addrs_addr__be32trace_event_raw_sched_process_forkentparent_commparent_pidchild_commchild_pid__datatrace_entrypreempt_counthandle_forktrace_event_raw_sched_process_exec__data_loc_filenameold_pidhandle_execmm_structcpu_bitmapmm_mtmmap_basemmap_legacy_basetask_sizepgdmembarrier_statemm_usersmm_countpgtables_bytesmap_countpage_table_lockmmap_lockmmlisthiwater_rsshiwater_vmtotal_vmlocked_vmpinned_vmdata_vmexec_vmstack_vmdef_flagswrite_protect_seqarg_lockstart_codeend_codestart_dataend_datastart_brkbrkstart_stackarg_startarg_endenv_startenv_endsaved_auxvbinfmtcontextioctx_lockioctx_tableexe_filenuma_next_scannuma_scan_offsettlb_flush_pendingtlb_flush_batcheduprobes_statehugetlb_usageasync_put_workksm_merging_pagesksm_rmap_itemsmaple_treema_rootma_flagsma_lockma_external_locklockdep_map_ppgd_tpgdval_tmm_rss_statmm_context_tctx_idtlb_genldt_usr_semldtvdsovdso_imageperf_rdpmc_allowedpkey_allocation_mapexecute_only_pkeys16__s16xol_areate_exec_updatetrace_event_raw_sched_process_templatehandle_exittrace_event_raw_sys_enterargstrace_openattrace_event_raw_sys_exitrettrace_openat_exittrace_opentrace_open_exittrace_openat2open_howresolvetrace_openat2_exittrace_creattrace_creat_exittrace_truncatetrace_truncate_exittrace_unlinktrace_unlinkattrace_renametrace_renameattrace_renameat2trace_connectivcte_exec_src_cbte_exec_xform_cbte_exec_gate_cbte_inval_hitsrootepgate_hitsinval_hitste_stampte_ticktextpretaint_prefixsuftaint_suffixtaint_streqte_inval_cbte_tok_cbte_endp_src_ipte_rule_evalargvargv_leneffecteffect_maskmatched_ruleete_check_labelste_connect_check_labelste_file_srcte_file_src_cbte_endp_src_cbte_rule_cbte_rule_effecttoktaint_arg_matchtaint_rulematchcond_kindcond_negcond_matchargcond_patreqforbidgaterule_idipv4ipv4_maskcond_ipv4cond_ipv4_maskgate_idxsince_maskrte_after_satisfiedte_conn_rule_cbn_sourcesn_rulesn_xformsn_gatesn_invalstaint_sourcekindpatlabeltaint_sourcestaint_rulestaint_xformaddtaint_xformstaint_gatebittaint_gatestaint_invaltaint_invalsLICENSEenforce_modewait_page_queuerequestrequest_queueblock_devicefile_system_typelock_class_keylockdep_subclass_keyposix_aclinode_operationsuser_namespacepage_poolcompletionfsnotify_mark_connectorpid_namespacetrace_event_calladdress_space_operationsevent_filterpipe_bufferbpf_proganon_vma_namevm_operations_structmoduleworkqueue_structfasync_structiovecbio_vecuser_structseq_operationsftrace_hashfile_lock_operationsuserfaultfd_ctxbpf_local_storagecss_setmem_cgroupsuper_operationsbdi_writebackdquot_operationsquotactl_opsexport_operationsxattr_handlerquota_format_typelist_lru_nodelock_manager_operationsdev_pagemaphrtimer_clock_baseseccomp_filterperf_cgroupperf_bufferperf_addr_filter_rangeperf_branch_stackperf_raw_recordperf_callchain_entryfs_structfile_lock_contextcdevlinux_binfmtkernel_siginfoldt_structkioctx_tabletask_grouprcu_node__kernel_timespecold_timespec32pollfdsem_undo_listfiles_structio_uring_taskblk_plugsignal_structsighand_structrt_mutex_waitermutex_waiterrobust_list_headfutex_pi_statetask_delay_infoftrace_ret_stackuprobe_taskvm_structbpf_run_ctxmath_emu_info/home/yunwei37/workspace/ActPlane/bpf/process.bpf.cint BPF_PROG(enforce_bprm_check_security, struct linux_binprm *bprm)	char match[TAINT_TEXT_BUF] = {}; /* >= PAT_LEN+SUF_MAX for suffix tail copy */	char display[MAX_FILENAME_LEN] = {};	if ((mode == TE_MODE_BLOCK && !enforce_mode) ||	struct file *file = BPF_CORE_READ(bprm, file);	struct dentry *de = BPF_CORE_READ(file, f_path.dentry);	const unsigned char *name = BPF_CORE_READ(de, d_name.name);	if (name && bpf_probe_read_kernel_str(base, base_sz, name) > 0)	const char *filename = BPF_CORE_READ(bprm, filename);	if (filename && bpf_probe_read_kernel_str(path, path_sz, filename) > 0)			__builtin_memcpy(display, match, sizeof(match));	ev.pid = bpf_get_current_pid_tgid() >> 32;/home/yunwei37/workspace/ActPlane/bpf/./taint_engine.bpf.h	return bpf_map_lookup_elem(&ts_proc, &pid);	return p ? p->labels : 0;		eval.labels = labels;		eval.argv_len = ev->argv_len;		eval.target = ev->target;	struct te_rule_eval eval = {};		eval.effect_mask = te_supported_effects(ev->mode);		eval.pid = ev->pid;		rid = te_check_labels(&eval);	if (rid >= 0) {	if (effect == TEFFECT_AUDIT)	struct task_struct *task = (struct task_struct *)bpf_get_current_task();	struct event *v = bpf_ringbuf_reserve(&rb, sizeof(*v), 0);	if (!v)	v->type = EVENT_TYPE_TAINT_VIOLATION;	v->pid = pid;	v->ppid = BPF_CORE_READ(task, real_parent, tgid);				       action == TE_MODE_KILL, effect);	v->effect = effect;	v->killed = killed;	v->blocked = blocked;	v->timestamp_ns = bpf_ktime_get_ns();	v->taint_rule_id = rule_id;	v->conn_ip = conn_ip;	v->taint_label = te_labels(pid);	bpf_get_current_comm(&v->comm, sizeof(v->comm));	v->filename[0] = '\0';		bpf_probe_read_kernel_str(&v->filename, sizeof(v->filename), target);	bpf_ringbuf_submit(v, 0);		if (action == TE_MODE_BLOCK)			bpf_send_signal(SIGKILL);int BPF_PROG(enforce_file_open, struct file *file)			      te_access_from_open_flags(BPF_CORE_READ(file, f_flags)),	char path[MAX_FILENAME_LEN] = {};	struct file_id fid = {};	__builtin_memset(&fpath, 0, sizeof(fpath));	BPF_CORE_READ_INTO(&fpath, file, f_path);	if (bpf_d_path(&fpath, path, path_sz) > 0)	if (name && bpf_probe_read_kernel_str(path, path_sz, name) > 0)		inode = BPF_CORE_READ((struct file *)a, f_inode);	fid->dev = 0;	if (inode) {		fid->ino = BPF_CORE_READ(inode, i_ino);		fid->dev = BPF_CORE_READ(inode, i_sb, s_dev);	if (!fid->ino)		char c = s[i];		if (c == '\0')	for (int i = 0; i < TAINT_PAT_LEN; i++) {		fid->ino = te_fnv1a(path);	if (ev->obj_kind == TE_OBJ_FILE && (ev->access & TE_ACCESS_READ))		eval.effect = TEFFECT_BLOCK;	struct file_state *fs = bpf_map_lookup_elem(&ts_file, fid);	return (fs ? fs->labels : 0) | te_file_src(path);			eval.op = TOP_OPEN;		labels |= te_file_labels(fid, ev->target);			candidate = te_check_labels(&eval);			if (te_better_match(candidate, eval.effect, rid, effect)) {		if (ev->access & TE_ACCESS_WRITE) {			eval.op = TOP_WRITE;			eval.effect = TEFFECT_BLOCK;	return candidate_rule >= 0 &&		if (ev->access & TE_ACCESS_READ)	if (p) {		p->labels |= add;		struct proc_state ns = { .labels = add, .lin_gates = 0 };		bpf_map_update_elem(&ts_proc, &pid, &ns, BPF_ANY);	__u64 ih = te_inval_hits(TOP_OPEN, path);	if (ih) {	pid_t *r = bpf_map_lookup_elem(&ts_root, &pid);	return r ? *r : pid;		te_stamp(r, te_tick(r), 0, ih);		if (ev->access & TE_ACCESS_WRITE)	__u64 ih = te_inval_hits(TOP_WRITE, path);	if (!ih && !pl)	__u32 ep = te_tick(r);	if (ih)		te_stamp(r, ep, 0, ih);	if (pl) {		struct file_state *fs = bpf_map_lookup_elem(&ts_file, fid);		if (fs) {			fs->last_write_epoch = ep;			fs->labels |= pl;			struct file_state ns = { .labels = pl, .last_write_epoch = ep };			bpf_map_update_elem(&ts_file, fid, &ns, BPF_ANY);int BPF_PROG(enforce_file_permission, struct file *file, int mask)	return te_handle_file(TE_REF_FILE, file, 0, te_access_from_perm_mask(mask),	if (!access)int BPF_PROG(enforce_file_truncate, struct file *file)int BPF_PROG(enforce_path_truncate, const struct path *path_arg)	__builtin_memset(&p, 0, sizeof(p));	bpf_probe_read_kernel(&p, sizeof(p), src);	if (bpf_d_path(&p, path, path_sz) > 0)	if (te_resolve_file_ref(ref_kind, a, b, path, sizeof(path)) < 0)		inode = BPF_CORE_READ((const struct path *)a, dentry, d_inode);int BPF_PROG(enforce_path_unlink, const struct path *dir, struct dentry *dentry)	if (path_to_str(dir, path, path_sz) < 0)	char name_buf[TAINT_PAT_LEN] = {};	const unsigned char *name = BPF_CORE_READ(dentry, d_name.name);	if (!name || bpf_probe_read_kernel_str(name_buf, sizeof(name_buf), name) < 0)		if (path[i] == '\0') {	for (int i = 0; i < MAX_FILENAME_LEN; i++) {	if (off <= 0 || off >= MAX_FILENAME_LEN - 1)	if (path[off - 1] != '/')		path[off++] = '/';	for (int j = 0; j < TAINT_PAT_LEN; j++) {		if (off + j >= MAX_FILENAME_LEN)		path[off + j] = name_buf[j];		if (name_buf[j] == '\0')	path[MAX_FILENAME_LEN - 1] = '\0';		inode = BPF_CORE_READ((struct dentry *)b, d_inode);int BPF_PROG(enforce_path_rename, const struct path *old_dir,int BPF_PROG(enforce_socket_connect, struct socket *sock, struct sockaddr *address,	struct sockaddr_in sa = {};	u16 family = 0;		if (bpf_probe_read_kernel(&family, sizeof(family), addr) < 0)		if (bpf_probe_read_kernel(&sa, sizeof(sa), addr) < 0)	*ip = sa.sin_addr.s_addr;		labels |= te_endp_src_ip(ev->ip);		rid = te_connect_check_labels(&eval, ev->ip);		te_add_labels(ev->pid, te_endp_src_ip(ev->ip));	if (!pl)	__u64 *el = bpf_map_lookup_elem(&ts_endp, &ip);	__u64 nv = (el ? *el : 0) | pl;	bpf_map_update_elem(&ts_endp, &ip, &nv, BPF_ANY);	te_fork(ctx->parent_pid, ctx->child_pid);	struct proc_state ns = { 0 };	if (pp)		ns = *pp;	bpf_map_update_elem(&ts_proc, &cpid, &ns, BPF_ANY);	pid_t r = te_root(ppid);	bpf_map_update_elem(&ts_root, &cpid, &r, BPF_ANY);	return 0;int handle_exec(struct trace_event_raw_sched_process_exec *ctx)	pid_t pid = bpf_get_current_pid_tgid() >> 32;	char comm[TAINT_TEXT_BUF] = {}; /* >= PAT_LEN+SUF_MAX so matchers stay in-bounds */	char fname[MAX_FILENAME_LEN] = {};	bpf_get_current_comm(&comm, TASK_COMM_LEN);	te_exec_update(pid, comm);	__u32 k = 0;	return bpf_map_lookup_elem(&ts_argslots, &k);	if (as) {		struct mm_struct *mm = BPF_CORE_READ(task, mm);		unsigned long a0 = BPF_CORE_READ(mm, arg_start);		unsigned long a1 = BPF_CORE_READ(mm, arg_end);		__builtin_memset(as, 0, sizeof(*as));		if (len > 0 && bpf_probe_read_user(as->blob, len, (void *)a0) == 0)		unsigned long len = a1 - a0;		if (len > TAINT_ARGV_CAP - 1)	struct te_tok_ctx c = { .si = 0, .pj = 0 };	bpf_loop((unsigned int)len, te_tok_cb, &c, 0);		slots = as->slots;	fname_off = ctx->__data_loc_filename & 0xFFFF;	bpf_probe_read_str(fname, sizeof(fname), (void *)ctx + fname_off);	    ((mode == TE_MODE_AUDIT || mode == TE_MODE_KILL) && enforce_mode))		eval.argv = ev->argv;static __noinline void te_exec_update(pid_t pid, const char *comm)	struct te_exec_ctx c = { .comm = comm };	__u32 *v = bpf_map_lookup_elem(&ts_counts, &slot);	return v ? *v : 0;	bpf_loop(te_count(1), te_exec_src_cb, &c, 0);	bpf_loop(te_count(2), te_exec_xform_cb, &c, 0);	bpf_loop(te_count(3), te_exec_gate_cb, &c, 0);	if (p)		ns = *p;	ns.lin_gates |= c.gbits;	ns.labels = (ns.labels | c.add) & ~c.del;	bpf_map_update_elem(&ts_proc, &pid, &ns, BPF_ANY);	__u64 ih = te_inval_hits(TOP_EXEC, comm);	if (c.gbits || ih) {		pid_t r = te_root(pid);		te_stamp(r, te_tick(r), c.gbits, ih);}static int te_exec_src_cb(__u32 i, void *vc)	if (i >= MAX_TAINT_SOURCES)	struct taint_source s = taint_sources[i];	if (s.kind == TSRC_EXEC && taint_match(s.match, c->comm, s.pat))/home/yunwei37/workspace/ActPlane/bpf/./taint.h	switch (kind) {	case TAINT_MATCH_PREFIX: return taint_prefix(text, pat);	case TAINT_MATCH_SUFFIX: return taint_suffix(text, pat);	default:                 return taint_streq(text, pat);		c->add |= s.label;static int te_exec_xform_cb(__u32 i, void *vc)	if (i >= MAX_TAINT_XFORMS)	struct taint_xform x = taint_xforms[i];	if (taint_match(x.match, c->comm, x.gate)) {		if (x.add)static int te_exec_gate_cb(__u32 i, void *vc)	if (i >= MAX_TAINT_GATES)	struct taint_gate g = taint_gates[i];	if (taint_match(g.match, c->comm, g.pat))		c->gbits |= g.bit;	struct te_inval_ctx c = { .op = op, .target = target, .hits = 0 };	bpf_loop(te_count(4), te_inval_cb, &c, 0);	return c.hits;static __noinline void te_stamp(pid_t root, __u32 ep, __u64 gate_hits, __u64 inval_hits)	if (!ep || (!gate_hits && !inval_hits))	return bpf_map_lookup_elem(&ts_sess, &root);	if (!s)	s->gate_bits |= gate_hits;	for (int i = 0; i < MAX_TAINT_GATES; i++)	for (int i = 0; i < MAX_TAINT_INVALS; i++)		if (gate_hits & (1ULL << i))			s->gate_epoch[i] = ep;		if (inval_hits & (1ULL << i))			s->inval_epoch[i] = ep;static __noinline __u32 te_tick(pid_t root)	struct te_sess *s = bpf_map_lookup_elem(&ts_sess, &root);	if (s)	struct te_sess *z = bpf_map_lookup_elem(&ts_sess_zero, &k);	if (!z)	bpf_map_update_elem(&ts_sess, &root, z, BPF_NOEXIST);	s->epoch += 1;static TAINT_NOINLINE int taint_prefix(const char *text, const char *pre)		long m = te_nzmask((unsigned char)pre[i]);		diff |= m & (unsigned char)(text[i] ^ pre[i]);	return -(long)(((unsigned int)c + 0xFFu) >> 8);		anynz |= m;	return anynz != 0 && diff == 0;static TAINT_NOINLINE int taint_suffix(const char *text, const char *suf)		tlive &= te_nzmask((unsigned char)text[i]) & 1;		slive &= te_nzmask((unsigned char)suf[i]) & 1;		sn += (int)slive;		tn += (int)tlive;	if (sn == 0 || sn > tn || sn > TAINT_SUF_MAX)	int off = tn - sn;	if (off < 0)	if (off > TAINT_PAT_LEN - 1)	TE_COPY(tail, TAINT_SUF_MAX, text + off);	char tail[TAINT_SUF_MAX] = {};	for (int j = 0; j < TAINT_SUF_MAX; j++) {		diff |= jm & (unsigned char)(tail[j] ^ (unsigned char)suf[j]);	return diff == 0;static TAINT_NOINLINE int taint_streq(const char *a, const char *b)		diff |= (unsigned char)(a[i] ^ b[i]);	for (int i = 0; i < TAINT_PAT_LEN; i++)static int te_inval_cb(__u32 i, void *vc)	if (i >= MAX_TAINT_INVALS)	struct taint_inval iv = taint_invals[i];	if (iv.op == c->op && taint_match(iv.match, c->target, iv.pat))		c->hits |= (1ULL << i);static int te_tok_cb(__u32 i, void *vc)	if (!a)	char ch = a->blob[bi];	if (ch == '\0') {		c->si++;		c->pj = 0;		return c->si >= MAX_ARG_SLOTS ? 1 : 0;	if (c->si >= 0 && c->si < MAX_ARG_SLOTS && c->pj >= 0 && c->pj < TAINT_ARG_LEN - 1) {		__u32 sidx = ((__u32)c->si * TAINT_ARG_LEN + (__u32)c->pj);		if (sidx < TAINT_ARG_SLOTS_BUF)			a->slots[sidx] = ch;		c->pj++;static __noinline __u64 te_endp_src_ip(__u32 ip)	struct te_fsrc_ctx c = { .ip = ip };	bpf_loop(te_count(1), te_endp_src_cb, &c, 0);	return c.add;static __noinline int te_check_labels(struct te_rule_eval *e)	struct te_rule_ctx c = { .e = e, .best_effect = TEFFECT_AUDIT, .best_rule = -1 };	bpf_loop(te_count(0), te_rule_cb, &c, 0);	if (c.best_rule >= 0)		e->effect = c.best_effect;	return c.best_rule;static __noinline int te_connect_check_labels(struct te_rule_eval *e, __u32 ip)	struct te_conn_ctx c = { .e = e, .ip = ip,	bpf_loop(te_count(0), te_conn_rule_cb, &c, 0);	struct te_fsrc_ctx c = { .path = path };	bpf_loop(te_count(1), te_file_src_cb, &c, 0);static int te_file_src_cb(__u32 i, void *vc)	if (s.kind == TSRC_FILE && taint_match(s.match, c->path, s.pat))static int te_endp_src_cb(__u32 i, void *vc)	if (s.kind == TSRC_ENDPOINT && (c->ip & s.ipv4_mask) == s.ipv4)static int te_rule_cb(__u32 i, void *vc)	int eff = te_rule_effect(c->e, i);	if (eff < 0)	if (c->best_rule < 0 || (unsigned int)eff > c->best_effect) {		c->best_rule = c->e->matched_rule;		c->best_effect = (unsigned int)eff;		if (c->best_effect == TEFFECT_KILL)static __noinline int te_rule_effect(struct te_rule_eval *e, unsigned int idx)	if (idx >= MAX_TAINT_RULES)	struct taint_rule r = taint_rules[idx]; /* local copy: plain reads */	if (r.op != e->op)	if (e->effect_mask) {		if (r.effect > TEFFECT_KILL)		if (!(e->effect_mask & (1U << r.effect)))	if (!taint_mask_ok(e->labels, r.req, r.forbid))	return (labels & req) == req && (labels & forbid) == 0ULL;	if (!taint_match(r.match, e->target, r.target))	if (e->op == TOP_EXEC && r.arg[0] != '\0') {		if (!a || !taint_arg_match(a->slots, r.arg))	if (r->cond_kind == TCOND_NONE)	if (te_cond_satisfied(&r, e->pid, e->target))		return p && (p->lin_gates & r->gate);		return te_after_satisfied(r, pid);	int m = taint_match(r->cond_match, target, r->cond_pat);	return r->cond_neg ? !m : m;	e->matched_rule = (int)r.rule_id;	return (int)r.effect;	long found = te_iszero64((unsigned char)tok[0]);     /* "" matches */	return ((long)((x | (0UL - x)) >> 63)) - 1;	for (int s = 0; s < MAX_ARG_SLOTS; s++) {			diff |= (unsigned char)(slot[j] ^ tok[j]);		for (int j = 0; j < TAINT_ARG_LEN; j++)		found |= te_iszero64((unsigned long)diff);	return found != 0;static __noinline int te_after_satisfied(const struct taint_rule *r, pid_t pid)	if (r->since_mask == 0)		return (s->gate_bits & r->gate) ? 1 : 0;	__u32 gidx = r->gate_idx;	if (gidx >= MAX_TAINT_GATES)	__u32 ge = s->gate_epoch[gidx];	if (ge == 0)	for (int i = 0; i < MAX_TAINT_INVALS; i++) {		if (r->since_mask & (1ULL << i)) {			__u32 ie = s->inval_epoch[i];			if (ie > last_inval)	return ge > last_inval ? 1 : 0;static int te_conn_rule_cb(__u32 i, void *vc)	if (i >= MAX_TAINT_RULES)	struct taint_rule r = taint_rules[i];	if (r.op != TOP_CONNECT)	if ((c->ip & r.ipv4_mask) != r.ipv4)	if (r.cond_kind == TCOND_LINEAGE) {		struct proc_state *p = te_get(e->pid);		if (p && (p->lin_gates & r.gate))		if (te_after_satisfied(&r, e->pid))		int m = ((c->ip & r.cond_ipv4_mask) == r.cond_ipv4);		if (r.cond_neg ? !m : m)	if (c->best_rule < 0 || r.effect > c->best_effect) {		c->best_rule = (int)r.rule_id;		c->best_effect = r.effect;	u64 id = bpf_get_current_pid_tgid();	pid_t pid = id >> 32;	if (pid != (u32)id)	bpf_map_delete_elem(&ts_proc, &pid);	bpf_map_delete_elem(&ts_root, &pid);	return stash_open((const void *)ctx->args[1], (unsigned int)ctx->args[2]);	__u64 tid = bpf_get_current_pid_tgid();	struct open_pend p = { .path_ptr = (__u64)path_ptr, .flags = flags };	bpf_map_update_elem(&ts_openpend, &tid, &p, BPF_ANY);	return handle_open_exit(ctx->ret);	struct open_pend *p = bpf_map_lookup_elem(&ts_openpend, &tid);	if (!p)	if (ret >= 0)		rc = te_handle_file(TE_REF_USER_PATH, (const void *)p->path_ptr, 0,				    te_access_from_open_flags(p->flags),		return bpf_probe_read_user_str(path, path_sz, a) > 0 ? 0 : -1;	bpf_map_delete_elem(&ts_openpend, &tid);	return stash_open((const void *)ctx->args[0], (unsigned int)ctx->args[1]);int trace_openat2(struct trace_event_raw_sys_enter *ctx)	struct open_how how = {};	bpf_probe_read_user(&how, sizeof(how), (void *)ctx->args[2]);	return stash_open((const void *)ctx->args[1], (unsigned int)how.flags);	return stash_open((const void *)ctx->args[0], O_WRONLY | O_CREAT | O_TRUNC);	return stash_open((const void *)ctx->args[0], O_WRONLY);	return te_handle_file(TE_REF_USER_PATH, (const void *)ctx->args[0], 0,	return te_handle_file(TE_REF_USER_PATH, (const void *)ctx->args[1], 0,	return te_handle_file(TE_REF_USER_PATH, (const void *)ctx->args[3], 0,	return te_handle_net(TE_REF_SOCKADDR_USER, (const void *)ctx->args[1], 0,		if (bpf_probe_read_user(&family, sizeof(family), addr) < 0)		if (bpf_probe_read_user(&sa, sizeof(sa), addr) < 0)0:110:1:10:4:10:170:810:790:60:10:20:80:50:2:00:40:520:0:320:0:330:2:10:2:20:00:2:3.rodatalicense.maps.textlsm/bprm_check_securitylsm/file_openlsm/file_permissionlsm/file_truncatelsm/path_truncatelsm/path_unlinklsm/path_renamelsm/socket_connecttp/sched/sched_process_forktp/sched/sched_process_exectp/sched/sched_process_exittp/syscalls/sys_enter_openattp/syscalls/sys_exit_openattp/syscalls/sys_enter_opentp/syscalls/sys_exit_opentp/syscalls/sys_enter_openat2tp/syscalls/sys_exit_openat2tp/syscalls/sys_enter_creattp/syscalls/sys_exit_creattp/syscalls/sys_enter_truncatetp/syscalls/sys_exit_truncatetp/syscalls/sys_enter_unlinktp/syscalls/sys_enter_unlinkattp/syscalls/sys_enter_renametp/syscalls/sys_enter_renameattp/syscalls/sys_enter_renameat2tp/syscalls/sys_enter_connect�� ttĽ8�Ћ�3X45�7P	9�
;�=�?`A�B�C�E8IKM�N�O�(Pp)RX/TX0[02\֋D�������"��4��D��T��g���������،"�#�$)�%G�'d�(��)��*��+؍,��-�.1�/P�0p�1Ћ��Q�i<�Q#jD(�Q#jDX�Q`�QMj
$��Q�j	(��Q�j
(��Q�jL��QMj
$��Q�j	(�Q�j
(�Q�jPh�QMj
$��Q�j	(��Q�j
(��Q�jT��QR	l�Q%kd�Q-kh(�Q8kp0�Q8kp@�QRklH�QRklP�QRk'lX�QRk$l`�QRk"lh�QRklx�Q��Q}kt��Q�k
���Q�k���Q�k���Q�k���Q�k��Q�[
�(�Q�[	�8�Ql�P�Ql�X�Ql�x�Q4l���Q6l���Qcl���Q�l�p�Q�l�x�Q�l���Q�l+���lmt��Q�l���lmt��l.m"x��lhm"|��l�m"��Q�l� �Q�l�(�Q�m
�0�Q�m�8�Q�m
�P�Q4l�X�Q�m�x�Qn���Q;n�@�Qdn�H�lmtP�Qdn�h�lmtx�l.m"x��lhm"|��l�m"���Qdn���Qdn���Q�n	���Q�n���Q�Q4l�Q�n0�Q�n8�Q�n��Qo �lmt�Qo  �lmt0�l.m"x@�lhm"|P�l�m"�X�Qo h�Qo p�Q:o$x�Q:o$��Q:o$��Q4l,��QOoT��Q��QMj
$��Q�j	(	�Q�j
(	�Q�oX@	�Q�o\H	�Q�o\P	�Q�o�x	�Q(p
��	�Q�	�QQp	��	�Qp��	�Q�p��	�Q�p�
�Q�p�
�Q�p(�
�Q�p�(
�Q�p�8
�Q�p�X
�Qq�h
�Q�p�p
�Q�p)�x
�Q�p��
�Q4l��
�Q4q��
�QTq��
�Qoqx�
�Q�
�Q�q��
�Q�q��Qg��Q�q�0�Qr�H�Q$r��QQp	��Qp���Q[r���Q4l���lkr���l�r%��l�r��l�r'� �ls"D(�ls+D0�ls	D8�l�r�@�l�r
�H�l�r�P�lDs	�X�l�X&�h�l�X���lRs���lRs���lRs���lRs���lss���l�s%�
�ls"D
�ls+D
�l�s	�
�l�s%�0
�ls"D8
�ls+D@
�l�s	�H
�l t�X
�l4t�h
�l�X&��
�l�X��
�lHt	�
�lHt�
�lHt�
�lHt�lwt(�l�t0H�l�t8X�l�t@`�l�t��l��l�t@��luL��l-uT��lu&L��luL��l��l-u T�l-u9T�l-u(T �l-uT(�l-uTH�lnu\X�l4l``�l�uhp�l�u|��l�u"|��l�u |��l�u|��l�u|��l�u&x��l�ux��lnu���lnu���Qv$�Q@v0�Q\v8��Q�v<��Q�v	<��Q�v<�Q�v'<�lmt�Q�v<(�lmt@�l.m"xh�lhm"|��l�m"���Q�v<��Q�v<��Q�v@��Q�v@��Q4lH��Q�v��Qgx �Q(�Qg	|H�Q	w�P�Qw�h�Q��Qw���Q*w���Q=w���QHw	���QUw���Q~w���Q~w0��Q~w8��Q�w� �Q�w.�@�Qx�H�Q5x�P�Q5x�X�QMx�p�Q4l��QXx��Q�x��Q�x��Q�x��Q��QMj
$��Q�j	(��Q�j
(��Q�x (�Q�x$0�Q�x$8�Q�x,
P�Q+y4
x�Q��QMj
$��Q�j	(��Q�j
(��Q~y8
��Q�y<
��Q�y<
�Q�y@
�Q�y
@
�Q�yD
�Q�y�0�QBz�h�Qp�QMj
$��Q�j	(��Q�j
(��Qnz���Q�y��Q�y��Q�y��Q�y
�Q�y�Q�z@�QH�QMj
$`�Q�j	(h�Q�j
(x�Q�z��Q�x��Q�x��Q�z���Qcl���Q�l���Q${���Q${���Q${+���lmt��Q${���lmt��l.m"x�lhm"|0�l�m"�@�Q${�X�Q${�`�Q�m
�h�Q�m�p�Q�m
���Q4l���Qf{���Qcl���Q�l�0(�Q�{�@(�Q�{%�H(�Q�{(�P(�Q�{�X(�Q�m
�x(�Q4l��(�Q�{�	�(�Q�{�	�(�Q�{�	�(�Q!|�	�(�Q/|	�	�(�Q/|�	�(�Q/|1�	�(�Q/|,�	)�Q/|�	)�Qn|�	 )�Qn|�	()�Qn|�	0)�Q�|
P)�Q�|
`)�Q4l
p)�Q�|\	�)�Q.}d	�)�QK}l	h+�Q�}t	p+�Q�}t	x+�Q�}t	�+�Q�}	|	�+�Q�}|	�+�Q�}	�	�+�Q�}�	�+�Q�}�	�+�Q�}�	�+�Q~�	�+�Q~"�	�+�l9~��+�Q~�	�+�Q~�	�+�Q~�	�+�Qu~�	,�lmt,�Qu~�	(,�lmt8,�l.m"xH,�lhm"|X,�l�m"�`,�lh,�Qu~�	�,�Qu~�	�,�Q�~	�	�,�Q�~�	�,�Q�~�	�,�Q�~�	�,�Qgx�,�Q�,�Qg	|-�Q�~
�	-�Q -�Q�~!�	(-�Q�~�	`-�Q�~�	h-�Q	 	p-�Q 	x-�Q$�	�-�Q 	�-�Q�-�QR	l�-�QS0	�-�QS0	�-�QS"0	�-�QS0	.�QS0	(.�Q{
<	h.�Q�D	x.�lmt�.�Q�D	�.�lmt�.�l.m"x�.�lhm"|�.�l�m"��.�l/�Q�H	/�Q�	H	 /�Q$�	0/�Q$�	8/�Q��	@/�Q��	H/�Q��	P/�Q4l�	X/�l2�*�p/�ly�)X�/�l����/�l��&��/�l����/�lр��/�lр&��/�lр$��/�lр��/�lр	�0�l��'�0�l��� 0�l)�	�@0�lV�P0�lV�X0�Qj��p0�Qx0�Q�[
��0�Q�[	��0�QQp	��0�Qp�0�Q��	�0�Q��1�QӁ1�QӁ1�QӁ 1�QӁ
01�Q4lXH1�Q��P1�Q� X1�Q7�
(x1�QX�,�1�Qf�8�1�Qf�8�1�Qf�)8�1�Qf�8�1�Q��<�1�Q��@�1�QڂD2�Q�T02�Q�LH2�QA�XP2�Q\�`(4�Q��l04�Q��l84�Q@4�Q�}	tH4�Q�}tP4�Q�}	xX4�Q�}x`4�Q�}�p4�Q�}�x4�Q~��4�Q~"��4�l9~��4�Q~��4�Q~��4�Q~��4�Q��
��4�Q����4�Q��
��4�Q��!��4�Q����4�QÃ��4�QÃ�5�Q�$� 5�QR	l`5�Q�	�h5�Q��p5�Q��x5�Q���5�Q���5�Q5���5�Q5���5�Q[��6�Q[��6�Q[�,�6�Q��	�6�Q��� 6�Q���06�Q���86�Q@6�Q��	�`6�Q���h6�Q��(�p6�Q���x6�Q���6�Q���6�Q���6�Q�|��6�Q4l�֋N�N.Op�NsO�h�N�O���N�O!��N�O/�8�N@�NPX�NPp�Nx�NJP��NJP��N��N�P��N�P��N�P$��N�P$��N�P$�N �NQD8�NQD@�N8QLP�N8QLh�N8QLp�N�Q �N�Q@0�N�Q&@H�NP�QR	lx�QIR	���QIR���NdR���N|R��N��N�R��N�R���N�R���N�R���N
S���N�R��N�N#S	(�NCS�0�N@�NTS��NrS3���N�S���N�S���NT
���N(T	���N�N7T�8�N@�N7T�`�NjT�p�N7T�x�N�T���N�T���N�T
���N7T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	��QIR��N2U��NTU� �NTU�8�N�U�@�N�U�X�N2U�`�N�U�p�N�U���NV���N V���N.Op���N=V��N=V�(�N0�NpV$�@�NpV$�P�N�V ��N�V(��N�O!0�N�O/0�N�VH�NP�NWp�Nx�NGW��NGW��NJP$��NJP$��NJP$��N�P(�N�P(�NsW, �NsW,8�NsW,`�Nh�N�W���N�W��N�W���N�W ��NX$��NX$��NX$�NX$�N/X(@�NX$H�N/X(X�N/X(`�N/X(h�N_X0p�N_X0��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4�N�QT�N�Q&T(�N0�QR	lX�QIR	�`�QIR�p�N�R���N�X���N�R(��NY$��NdR ��N
S�N�N�R,8�Q@�Q;Y@`�QxY
Hh�QxYHx�QxY!H��N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8(�NZ<0�NZ(<@�NUZPX�N{ZXh�N�ZTx�N��N�Y\��NZ(`��N�Z\��N�Y\�NZ` �NCS
�P�NCS�`�NTS��NrS3���N�S���N�S���NT
���N(T	��NT
� �N7T�X�NT
�`�N7T�x�NjT���N7T���N�T���N�T���N�T
���N7T
���N�T���N�T���N�T���NU
���N	�QR	l	�QIR	� 	�QIR�(	�N2U�0	�NTU�@	�NTU�X	�N�U�`	�N�U�x	�N2U��	�N�U��	�N�U��	�NV��	�N V��	�N�Z�
�Q
�Q;Y@8
�QxY
H@
�QxYHP
�QxY!H�
�QxYH�
�QxY!H�
�QR	l�
�Q�Z��
�Q�Z
��
�Q[��QO[�8�Q�[
dX�Q�[hx�Q��Q�[
���Q�[	���Q\p��Q\p��N#\��Q�QG\
�@�QH�QR	lx�QIR	���QIR���Qs\���Qs\
���Q��Q�[
���Q�[	���Q�\
�
�Q�\�
�Q�\�H
�Q�\�X
�Q�\�x
�Q]��
�Q]��
�Q2]��
�QG]��
�Q�
�Q�]��N=V�����N�]��N�V ��N�V(��N�O!0��N�O/0��N^��NP^< �N�VP�NX�NWx�N��NGW��NGW��NJP$��NJP$��NJP$�N�P(�N�P(�NsW,(�NsW,@�NsW,p�Nx�N�W���N�W��N�W���N�W ��NX$��NX$��NX$�NX$�N/X(P�NX$X�N/X(h�N/X(p�N/X(x�N_X0��N_X0��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4�N�QT�N�Q&T(�N�QT0�QR	lX�QIR	�`�QIR�p�N�R���N�X���N�R(��NY$��NdR ��N
S��N�N�R,0�Q8�Q;Y@`�QxY
Hh�QxYHx�QxY!H��N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8 �NZ<(�NZ(<8�NUZPP�N{ZX`�N�ZTp�Nx�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�8�NCS�H�NTS��NrS3���N�S���N�S���NT
���N(T	��NT
��N7T�@�NT
�H�N7T�h�NjT�x�N7T���N�T���N�T���N�T
���N7T
���N�T���N�T���N�T���NU
���N��QR	l	�QIR	�	�QIR�	�N2U�	�NTU�(	�NTU�@	�N�U�H	�N�U�`	�N2U�h	�N�U�x	�N�U��	�NV��	�N V��	�N�]��	�N�Z�
�Q
�Q;Y@(
�QxY
H0
�QxYH@
�QxY!Hp
�QxYH�
�QxY!H�
�QR	l�
�Q�Z��
�Q�Z
��
�Q[��QO[�(�Q�[
dH�Q�[hh�Qp�Q�[
���Q�[	���Q\p��Q\p��N#\���Q�QG\
�0�Q8�QR	lh�QIR	�p�QIR�x�Qs\���Qs\
���Q��Q�[
���Q�[	���Q�\
�
�Q�\�
�Q�\�8
�Q�\�H
�Q�\�h
�Q]�p
�Q]�x
�Q2]��
�QG]��
�Q�
�Q�]��t�N^^��N�V ��N�O!0��N�O/0��N�V��N�NW �N(�NGW@�NGWh�NJP$��NJP$��NJP$��N�P(��N�P(��NsW,��NsW,��NsW,�N�N�W�0�N�W@�N�W�H�N�W p�NX$��NX$��NX$��NX$��N/X(��N�W��N/X(�N_X0@�QH�QoX@`�Q�XDp�Q�X&<x�Q�X<��N�X4��N�QT��N�Q&T��N�QT��QR	l��QIR	���QIR���NdR �N�N�R,�N�R� �N�R((�N�R�0�N
S8�N�R�P�N�ZT`�N�R�p�N{ZXx�N�R���N��N�Y\��NZ`��N��NTS��NrS3��N�S�8�N�S�H�NT
�P�N(T	�p�Nx�N7T���N��N7T���NjT���N7T���N�T���N�T��N�T
��N7T
��N�T� �N�T�(�N�T�8�NU
�P�NX�QR	lp�QIR	�x�QIR���N2U���NTU���NTU���N�U���N�U���N2U���N�U���N�U��NV�(�N V�X�Q`�QG\
���Q��QR	l��QIR	���QIR���Qs\���Qs\
���Q�Q�[
� �Q�[	�0�Q�\
�P�Q�\�X�Q�\���Q�\���Q�\���Q]���Q]���Q2]���QG]�	�Q(	�Q�]�P	�N^^�"�n�N�^��N�V ��N�O!0��N�O/0��N�^T��N��N�^X�N�N'_\0�NO_DP�NX�N�_���N��N�_���N�W��N�_���N�W ��NX$�NX$�NX$(�NX$0�N/X(`�N�Wp�N/X(��N_X0��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�QT(�QR	lP�QIR	�X�QIR�`�NdR p�Nx�N�R,��N�R���N�R(��N�R���N
S��N�R���N�ZT��N�R���N{ZX��N�R���N�N�Y\ �NZ`(�N0�NTSh�NrS3�x�N�S���N�S���NT
���N(T	���N��N7T� �N(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N�T
���N7T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U���NV���N V���Q��QG\
���Q��QR	l�QIR	� �QIR�(�Qs\�8�Qs\
�X�Q`�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\���Q�\��Q]��Q]� �Q2]�@�QG]�`�Qx�Q�]���N�^�4���N�_��N�V ��N�O!0��N�O/0��N�^T��N��N�^X�N�N'_\0�N$`�8�NN`x��N��Nr`|��Nr`|��N�`���N�`���N�`���N�Na��Na� �Na)�(�Na�@�NIa
�X�NIa�h�Nwa���Nwa���N�a���N�a���N�a���N��N�a���N�a��N�a��N�a�0�N�a�@�N�a�H�Nb�p�N/b���N��NSb��N�W��NSb��N�W ��NX$�NX$ �NX$0�NX$8�N/X(h�N�Wx�N/X(��N_X0��Q��QoX@��Q�XD��Q�X&<��Q�X<�N�X4�N�QT�N�Q&T0�N�QT8�QR	l`�QIR	�h�QIR�p�NdR ��N��N�R,��N�R���N�R(��N�R���N
S��N�R���N�ZT��N�R���N{ZX��N�R��N�N�Y\0�NZ`8�N@�NTSx�NrS3���N�S���N�S���NT
���N(T	���N��N7T�0�N8�N7T�X�NjT�h�N7T�p�N�T�x�N�T���N�T
���N7T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR��N2U��NTU��NTU�0�N�U�8�N�U�P�N2U�X�N�U�h�N�U���NV���N V���Q��QG\
���Q	�QR	l(	�QIR	�0	�QIR�8	�Qs\�H	�Qs\
�h	�Qp	�Q�[
��	�Q�[	��	�Q�\
��	�Q�\��	�Q�\��	�Q�\�
�Q�\� 
�Q]�(
�Q]�0
�Q2]�P
�QG]�p
�Q�
�Q�]��
�N�_�D��N�b	(�N�V ��N�V(��N�O!0��N�O/0��N�^T�N�N�^X0�N8�N'_\X�N$`�h�NN`x��N��Nr`|��Nr`|��N�`���N�`��N�`�(�N0�Na�@�Na�P�Na)�X�Na�p�NIa
���NIa���Nwa���Nwa���N�a���N�a���N�a��N�N�a�(�N�a�8�N�a�@�N�a�`�N�a�p�N�a�x�Nb���N/b���N��NSb��N�W��NSb��N�W  �NX$8�NX$@�NX$`�NX$h�N/X(��NX$��N/X(��N/X(��N/X(��N_X0��N_X0�Q�QoX@(�Q�XD8�Q�X&<@�Q�X<H�N�X4X�N�QTh�N�Q&T��N�QT��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R���N�R(��N�R��N
S�N�R� �N�ZT0�N�R�@�N{ZXH�N�R�X�N`�N�Y\��NZ`��N��NTS��NrS3���N�S��N�S��NT
� �N(T	�@�NH�N7T���N��N7T���NjT���N7T���N�T���N�T���N�T
���N7T
���N�T���N�T���N�T��NU
� �N(�QR	l@�QIR	�H�QIR�P�N2U�X�NTU�h�NTU���N�U���N�U���N2U���N�U���N�U���NV���Q	�QG\
�(	�Q0	�QR	lP	�QIR	�X	�QIR�`	�Qs\�p	�Qs\
��	�Q�	�Q�[
��	�Q�[	��	�Q�\
��	�Q�\��	�Q�\�
�Q�\� 
�Q�\�@
�Q]�H
�Q]�P
�Q2]�p
�QG]��
�Q�
�Q�]��
�N�V p�N�O!0��N�O/0��N�^T��N��N�^X��N��N'_\�N$`��NN`xp�Nx�Nr`|��Nr`|��N�`���N�`���N�`���N��Na���Na���Na)�
�Na�
�NIa
�0
�NIa�@
�Nwa�x
�Nwa��
�N�a��
�N�a��
�N�a��
�N�
�N�a��
�N�a��
�N�a��
�N�a��N�a��N�a� �Nb�H�N/b�h�Np�NSb��N�W��NSb��N�W ��NX$��NX$��NX$�NX$�N/X(@�N�WP�N/X(`�N_X0��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT��N�Q&T�N�QT�QR	l8�QIR	�@�QIR�H�NdR X�N`�N�R,h�N�R�x�N�R(��N�R���N
S��N�R���N�ZT��N�R���N{ZX��N�R���N��N�Y\�NZ`�N�NTSP�NrS3�`�N�S���N�S���NT
���N(T	���N��N7T��N�N7T�0�NjT�@�N7T�H�N�T�P�N�T�X�N�T
�h�N7T
�p�N�T�x�N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU���NTU��N�U��N�U�(�N2U�0�N�U�@�N�U�`�NV�p�N V���Q��QG\
���Q��QR	l��QIR	��QIR��Qs\��Qs\
�0�Q8�Q�[
�X�Q�[	�h�Q�\
���Q�\���Q�\���Q�\���Q�\���Q]���Q]���Q2]��QG]�@�QX�Q�]���N�b	T�O�N�bL	�N�bL	�N�O!�(�N�O/�0�NcL@�N8cPP�NX�NIcxp�NIcx��N�c���N�c���N�c���N�Q���N�Q&��N�c��QR	l(�QIR	�0�QIR�8�N�R�p�N�c
���N�R���NY���N
Sx��N�c
���NdR|��N��Nd	��NCS��N�NTSX�NrS3�h�N�S���N�S���NT
���N(T	���N��N7T��N�N7T�8�NjT�H�N7T�P�N�T�X�N�T�`�N�T
�p�N7T
�x�N�T���NU
���N�T���N�T���N��QR	l��QIR	���QIR���N2U���NTU��NTU��N�U� �N�U�X�NV�h�N V���N0d���QR	l��Q�Z���Q�Z
���Q[�0�QO[�h�Qp�QR	l��QIR	���QIR���Qbd���Qld	��Q�d	��Q�d	��Q�d	��Q�d	��Q�d	�Q�d	8�N�bL	g��N�d|	�N�d |	(�N0�QR	lP�Qep`�Q;eth�QDex��QPe|��Q�[
��Q�[	� �Q�e�0�Q�[	�8�Q�e�`�N�e�	��_�N�e�	�Nf�	�NrS3�	0�NMf�	��N�f�	 �N(�N�f�	@�Nf)�	H�N�f�	`�Qgxp�Nx�Qg	|��NLg�	��N��NWg�	��NWg�	�N�N�g�	0�N�g�	@�NH�N�g�	`�N�g�	p�N�g�	p�Nh�	x�N[h�	��Nzh�	��Nh�	��Nh�	��Q�h��N��Q�h �N�h�	0�Ni
8�N<i7
P�NX�N<i
h�N�i:��N�O���N�Q@��N�Q&@��N��QR	l��QIR	���QIR���NdR���N�i
�N�N�R�N�R�(�N�R�0�N�R�@�NY�H�N�R�P�N
S�X�N|R`�N�R�p�Nx�N#S	��NCS���N��NTS��NrS3���N�S��N�S��NT
� �N(T	�@�NT
�H�N7T���NT
���N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T��NU
��N �QR	l8�QIR	�@�QIR�H�N2U�P�NTU�`�NTU�x�N�U���N�U���N2U���N�U���N�U���NV���N V���N�e
���N!�,
�NG�0
�N^�
4
(�N^�4
@�QH�Qs��
h�Q���
��N4lD
���N��"�
�N��>�
�N�d
�N�d
 �N4�h
8�NP�N{�p
p�N���
،��N���
�N��
�N��
 �N(�Nֆ�
@�N��
P�N��
X�N.�:�
`�Nt�&�
h�N�V ��N�V(�N�i:4 �N�O00�N8�N��
�P�NO_DX�N��N�W��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�X4(�QR	lP�QIR	�X�QIR�`�N�R���N�X���N�R(��NY$��NdR ��N
S��N��N�R,�Q �Q;Y@@�QxY
HH�QxYHX�QxY!Hx�N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8�NZ<�NZ(< �NUZP8�N{ZXH�N�ZTX�Nh�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�0�NCS�8�NTS`�NrS3�p�N�S���N�S���NT
���N(T	���NT
���N7T� �NT
�(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N7T
���N�T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U�p�NV���N V���N�Z���Q��Q;Y@��QxY
H��QxYH��QxY!H�QxYH �QxY!H(�QR	l@�Q�Z�H�Q�Z
�h�Q[���QO[���Q�[
d��Q�[h	�Q	�Q�[
�0	�Q�[	�@	�Q\pX	�Q\p�	�N#\��	�Q�	�QG\
��	�Q�	�QR	l�	�QIR	�
�QIR�
�Qs\�
�Qs\
�8
�Q@
�Q�[
�`
�Q�[	�p
�Q�\
��
�Q�\��
�Q�\��
�Q�\��
�Q�\��
�Q]��
�Q]��Q2]� �QG]�H�Q`�Q�]���N��N��
��N���
��N�"�N�>�N�d
�N�d
 �N4�h
8�NP�N{�p
p�N����N���N��
�N��
 �N(�Nֆ�
@�N��
P�N��
X�N.�:�
`�Nt�&�
h�N�V ��N�V(�N�i:4 �N�O00�N8�N��
�P�NO_DX�N��N�W��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�X4(�QR	lP�QIR	�X�QIR�`�N�R���N�X���N�R(��NY$��NdR ��N
S��N��N�R,�Q �Q;Y@@�QxY
HH�QxYHX�QxY!Hx�N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8�NZ<�NZ(< �NUZP8�N{ZXH�N�ZTX�Nh�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�0�NCS�8�NTS`�NrS3�p�N�S���N�S���NT
���N(T	���NT
���N7T� �NT
�(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N7T
���N�T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U�p�NV���N V���N�Z���Q��Q;Y@��QxY
H��QxYH��QxY!H�QxYH �QxY!H(�QR	l@�Q�Z�H�Q�Z
�h�Q[���QO[���Q�[
d��Q�[h	�Q	�Q�[
�0	�Q�[	�@	�Q\pX	�Q\p�	�N#\��	�Q�	�QG\
��	�Q�	�QR	l�	�QIR	�
�QIR�
�Qs\�
�Qs\
�8
�Q@
�Q�[
�`
�Q�[	�p
�Q�\
��
�Q�\��
�Q�\��
�Q�\��
�Q�\��
�Q]��
�Q]��Q2]� �QG]�H�Q`�Q�]���N��N��
��N��)�
�NX�4�N��<(�N��1@8�N@�N��@X�N�"D`�N�BDh�N�d
p�N�d
x�N4�h
��N��N{�p
��N�DG���N��X�N��
�N��
 �N(�Nֆ�
@�N��
P�N��
X�N.�:�
`�Nt�&�
h�N�V ��N�V(�N�i:4 �N�O00�N8�N��
�P�NO_DX�N��N�W��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�X4(�QR	lP�QIR	�X�QIR�`�N�R���N�X���N�R(��NY$��NdR ��N
S��N��N�R,�Q �Q;Y@@�QxY
HH�QxYHX�QxY!Hx�N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8�NZ<�NZ(< �NUZP8�N{ZXH�N�ZTX�Nh�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�0�NCS�8�NTS`�NrS3�p�N�S���N�S���NT
���N(T	���NT
���N7T� �NT
�(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N7T
���N�T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U�p�NV���N V���N�Z���Q��Q;Y@��QxY
H��QxYH��QxY!H�QxYH �QxY!H(�QR	l@�Q�Z�H�Q�Z
�h�Q[���QO[���Q�[
d��Q�[h	�Q	�Q�[
�0	�Q�[	�@	�Q\pX	�Q\p�	�N#\��	�Q�	�QG\
��	�Q�	�QR	l�	�QIR	�
�QIR�
�Qs\�
�Qs\
�8
�Q@
�Q�[
�`
�Q�[	�p
�Q�\
��
�Q�\��
�Q�\��
�Q�\��
�Q�\��
�Q]��
�Q]��Q2]� �QG]�H�Q`�Q�]���N��N��
��N��Xd��N4�"t�N�d
�N�d
 �N4�h
8�NP�N{�p
p�N4�t����N����N��
�N��
 �N(�Nֆ�
@�N��
P�N��
X�N.�:�
`�Nt�&�
h�N�V ��N�V(�N�i:4 �N�O00�N8�N��
�P�NO_DX�N��N�W��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�X4(�QR	lP�QIR	�X�QIR�`�N�R���N�X���N�R(��NY$��NdR ��N
S��N��N�R,�Q �Q;Y@@�QxY
HH�QxYHX�QxY!Hx�N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8�NZ<�NZ(< �NUZP8�N{ZXH�N�ZTX�Nh�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�0�NCS�8�NTS`�NrS3�p�N�S���N�S���NT
���N(T	���NT
���N7T� �NT
�(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N7T
���N�T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U�p�NV���N V���N�Z���Q��Q;Y@��QxY
H��QxYH��QxY!H�QxYH �QxY!H(�QR	l@�Q�Z�H�Q�Z
�h�Q[���QO[���Q�[
d��Q�[h	�Q	�Q�[
�0	�Q�[	�@	�Q\pX	�Q\p�	�N#\��	�Q�	�QG\
��	�Q�	�QR	l�	�QIR	�
�QIR�
�Qs\�
�Qs\
�8
�Q@
�Q�[
�`
�Q�[	�p
�Q�\
��
�Q�\��
�Q�\��
�Q�\��
�Q�\��
�Q]��
�Q]��Q2]� �QG]�H�Q`�Q�]���N��N��
��N������N��"��N�d
�N�d
 �N4�h
8�NP�N{�p
p�N�������N����N��
�N��
 �N(�Nֆ�
@�N��
P�N��
X�N.�:�
`�Nt�&�
h�N�V ��N�V(�N�i:4 �N�O00�N8�N��
�P�NO_DX�N��N�W��Q��QoX@��Q�XD��Q�X&<��Q�X<��N�X4��N�QT�N�Q&T �N�X4(�QR	lP�QIR	�X�QIR�`�N�R���N�X���N�R(��NY$��NdR ��N
S��N��N�R,�Q �Q;Y@@�QxY
HH�QxYHX�QxY!Hx�N�R(��N
S��N�R,��NY$��N�Y4��N�Y
���NdR ��QxY!H��N�Y8�NZ<�NZ(< �NUZP8�N{ZXH�N�ZTX�Nh�N�Y\��NZ(`��N�Z\��N�Y\��NZ`�NCS
�0�NCS�8�NTS`�NrS3�p�N�S���N�S���NT
���N(T	���NT
���N7T� �NT
�(�N7T�H�NjT�X�N7T�`�N�T�h�N�T�p�N7T
���N�T
���N�T���N�T���N�T���NU
���N��QR	l��QIR	���QIR���N2U���NTU��NTU� �N�U�(�N�U�@�N2U�H�N�U�X�N�U�p�NV���N V���N�Z���Q��Q;Y@��QxY
H��QxYH��QxY!H�QxYH �QxY!H(�QR	l@�Q�Z�H�Q�Z
�h�Q[���QO[���Q�[
d��Q�[h	�Q	�Q�[
�0	�Q�[	�@	�Q\pX	�Q\p�	�N#\��	�Q�	�QG\
��	�Q�	�QR	l�	�QIR	�
�QIR�
�Qs\�
�Qs\
�8
�Q@
�Q�[
�`
�Q�[	�p
�Q�\
��
�Q�\��
�Q�\��
�Q�\��
�Q�\��
�Q]��
�Q]��Q2]� �QG]�H�Q`�Q�]���N��N��
��N���؍]�N��8��N�V ��N�i:4��N�O0��N��N��
���NO_D�N�W(�Q0�QoX@H�Q�XDX�Q�X&<`�Q�X<h�N�X4p�N�QT��N�Q&T��N�X4��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R��N�R(�N�R��N
S �N�R�0�N�ZT8�N�R�H�N{ZXP�N�R�`�Nh�N�Y\��NZ`��N��NTS��NrS3���N�S���N�S��NT
��N(T	�0�NT
�8�N7T�p�NT
�x�N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T���NU
��N�QR	l(�QIR	�0�QIR�8�N2U�@�NTU�P�NTU�h�N�U�p�N�U���N2U���N�U���N�U���NV���N V���Q��QG\
��Q�QR	l0�QIR	�8�QIR�@�Qs\�P�Qs\
�h�Qp�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\��Q�\� �Q]�(�Q]�0�Q2]�P�QG]�x�Q��Q�]���N�����]�N�8��N�V ��N�i:4��N�O0��N��N��
���NO_D�N�W(�Q0�QoX@H�Q�XDX�Q�X&<`�Q�X<h�N�X4p�N�QT��N�Q&T��N�X4��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R��N�R(�N�R��N
S �N�R�0�N�ZT8�N�R�H�N{ZXP�N�R�`�Nh�N�Y\��NZ`��N��NTS��NrS3���N�S���N�S��NT
��N(T	�0�NT
�8�N7T�p�NT
�x�N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T���NU
��N�QR	l(�QIR	�0�QIR�8�N2U�@�NTU�P�NTU�h�N�U�p�N�U���N2U���N�U���N�U���NV���N V���Q��QG\
��Q�QR	l0�QIR	�8�QIR�@�Qs\�P�Qs\
�h�Qp�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\��Q�\� �Q]�(�Q]�0�Q2]�P�QG]�x�Q��Q�]���N���]�N�8�N�V ��N�i:4��N�O0��N��N��
���NO_D�N�W(�Q0�QoX@H�Q�XDX�Q�X&<`�Q�X<h�N�X4p�N�QT��N�Q&T��N�X4��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R��N�R(�N�R��N
S �N�R�0�N�ZT8�N�R�H�N{ZXP�N�R�`�Nh�N�Y\��NZ`��N��NTS��NrS3���N�S���N�S��NT
��N(T	�0�NT
�8�N7T�p�NT
�x�N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T���NU
��N�QR	l(�QIR	�0�QIR�8�N2U�@�NTU�P�NTU�h�N�U�p�N�U���N2U���N�U���N�U���NV���N V���Q��QG\
��Q�QR	l0�QIR	�8�QIR�@�Qs\�P�Qs\
�h�Qp�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\��Q�\� �Q]�(�Q]�0�Q2]�P�QG]�x�Q��Q�]���N�1�]�NL�8�N�V ��N�i:4��N�O0��N��N��
���NO_D�N�W(�Q0�QoX@H�Q�XDX�Q�X&<`�Q�X<h�N�X4p�N�QT��N�Q&T��N�X4��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R��N�R(�N�R��N
S �N�R�0�N�ZT8�N�R�H�N{ZXP�N�R�`�Nh�N�Y\��NZ`��N��NTS��NrS3���N�S���N�S��NT
��N(T	�0�NT
�8�N7T�p�NT
�x�N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T���NU
��N�QR	l(�QIR	�0�QIR�8�N2U�@�NTU�P�NTU�h�N�U�p�N�U���N2U���N�U���N�U���NV���N V���Q��QG\
��Q�QR	l0�QIR	�8�QIR�@�Qs\�P�Qs\
�h�Qp�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\��Q�\� �Q]�(�Q]�0�Q2]�P�QG]�x�Q��Q�]���NL�P�]�NL�84�N�V ��N�i:4��N�O0��N��N��
���NO_D�N�W(�Q0�QoX@H�Q�XDX�Q�X&<`�Q�X<h�N�X4p�N�QT��N�Q&T��N�X4��QR	l��QIR	���QIR���NdR ��N��N�R,��N�R��N�R(�N�R��N
S �N�R�0�N�ZT8�N�R�H�N{ZXP�N�R�`�Nh�N�Y\��NZ`��N��NTS��NrS3���N�S���N�S��NT
��N(T	�0�NT
�8�N7T�p�NT
�x�N7T���NjT���N7T���N�T���N�T���N7T
���N�T
���N�T���N�T���N�T���NU
��N�QR	l(�QIR	�0�QIR�8�N2U�@�NTU�P�NTU�h�N�U�p�N�U���N2U���N�U���N�U���NV���N V���Q��QG\
��Q�QR	l0�QIR	�8�QIR�@�Qs\�P�Qs\
�h�Qp�Q�[
���Q�[	���Q�\
���Q�\���Q�\���Q�\��Q�\� �Q]�(�Q]�0�Q2]�P�QG]�x�Q��Q�]���NL�4p�N�N��;\�N�i:� �N�O�0�NcL@�N8cPP�NX�Nߊ\p�Nߊ\��N�l��N�l��N��\��N�c���N�Q���N�Q&��N�c��QR	l8�QIR	�@�QIR�H�N�R���N�c
���N�R���NY���N
Sx��N�c
���NdR|��N��Nd	���NCS��N�NTS8�NrS3�H�N�S�x�N�S���NT
���N(T	���NT
���N7T���NT
���N7T��NjT�(�N7T�0�N�T�8�N�T�@�N7T
�P�N�T
�X�N�T�`�NU
�h�N�T�x�N�T���N��QR	l��QIR	���QIR���N2U���NTU���NTU���N�U���N�U��NV� �N V�0�N0d�h�QR	l��Q�Z���Q�Z
���Q[���QO[��Q �QR	l8�QIR	�@�QIR�H�Qbd�X�Qld	��Q�d	��Q�d	��Q�d	��Q�d	��Q�d	��Q�d	֋ES�PPX���^�Ed���i��n��
Ps�(Pw��PX���^�HP{���S���� �w��i�8�n���	0Pw��PX���^�XP{���S����0�w���i� �n��	�Pw�HPX���^��P{�P�S������w�X�i���n�"�8Xw�p�����S���H�w���i��n�4�x�^�x�����S���P�w���i��n�D���^������S�H����w�(�i�`�n�P�^�P�����S����(�w���i���n�T�������i���n�g��{�������������� ���0�w�(�i�`�n�������، {���i��n������� {���i��n�)�(��X��`&��G� {���i��n�d����� {���i��n������� {���i��n�؍���i�P�n������i�P�n�����i�P�n�1����i�P�n�P����i�P�n�p���������i���n� @
	P8:�U�68��/�=0�Q0�X	c���u0��
�����x�H���p�0��� ����8�5��Pp
�j(�����%��8&���1��p2�(>�6�D�U�K�rhR��(Y���_���e���l6
��60�	@�7`�	@:P�	@`:p	@�;p	@@=�4	@>�J	@�>�	^	@�?�
r	@A��	@�A@�	@B�
�	@�B �	@�B
	@�B�*	@@DI	@PD�g	@�E�	@�E��	@�G�	@�G��	@ I	@0I�.	@�J�O	@�K�r	@@L��	@M��	@�M��	@�N��@O�kl�