From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============6889819744652589674==" MIME-Version: 1.0 From: Sreeni (Sreenivasa) Busam (Stellus) Subject: Re: [SPDK] Helloworld program fails during device initialization. Date: Tue, 14 Nov 2017 20:05:46 +0000 Message-ID: <83f39a3e63bc4e76961c92946cb6fcd6@stellus.com> In-Reply-To: 82C9F782B054C94B9FC04A331649C77A9D42AC29@FMSMSX108.amr.corp.intel.com List-ID: To: spdk@lists.01.org --===============6889819744652589674== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Yes Paul. I added the header file log.h. Let me compile hello_world and library again and try it. From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Luse, Paul E Sent: Tuesday, November 14, 2017 11:56 AM To: Storage Performance Development Kit Subject: Re: [SPDK] Helloworld program fails during device initialization. Sreeni, Are you sure you got those statements added (also need to add #include "spd= k/log.h" as I didn't see some expected output in your text. Here's what it= should look like: peluse(a)pels2-64:~/spdk/examples/nvme/hello_world$ sudo ./hello_world Starting DPDK 17.08.0 initialization... [ DPDK EAL parameters: hello_world -c 0x1 --file-prefix=3Dspdk0 --base-virt= addr=3D0x1000000000 --proc-type=3Dauto ] EAL: Detected 72 lcore(s) EAL: Auto-detected process type: PRIMARY EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... Initializing NVMe Controllers EAL: PCI device 0000:06:00.0 on NUMA socket 0 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:06:00.0 nvme_ctrlr.c: 623:nvme_ctrlr_set_state: *INFO*: setting state to init (no t= imeout) nvme_ctrlr.c:1382:nvme_ctrlr_process_init: *INFO*: CC.EN =3D 1 nvme_ctrlr.c:1396:nvme_ctrlr_process_init: *INFO*: Setting CC.EN =3D 0 nvme_ctrlr.c: 627:nvme_ctrlr_set_state: *INFO*: setting state to disable an= d wait for CSTS.RDY =3D 0 (timeout 20000 ms) nvme_ctrlr.c:1442:nvme_ctrlr_process_init: *INFO*: CC.EN =3D 0 && CSTS.RDY = =3D 0 nvme_ctrlr.c: 627:nvme_ctrlr_set_state: *INFO*: setting state to enable con= troller by writing CC.EN =3D 1 (timeout 20000 ms) nvme_ctrlr.c:1454:nvme_ctrlr_process_init: *INFO*: Setting CC.EN =3D 1 nvme_ctrlr.c: 627:nvme_ctrlr_set_state: *INFO*: setting state to wait for C= STS.RDY =3D 1 (timeout 20000 ms) nvme_ctrlr.c:1461:nvme_ctrlr_process_init: *INFO*: CC.EN =3D 1 && CSTS.RDY = =3D 1 - controller is ready nvme_pcie.c:1541:nvme_pcie_prp_list_append: *INFO*: prp_index:0 virt_addr:0= x103ff9b000 len:4096 nvme_pcie.c:1568:nvme_pcie_prp_list_append: *INFO*: prp1 =3D 0x45179b000 nvme_ctrlr.c: 723:nvme_ctrlr_identify: *INFO*: transport max_xfer_size 2072= 576 nvme_ctrlr.c: 727:nvme_ctrlr_identify: *INFO*: MDTS max_xfer_size 131072 nvme_pcie.c:1541:nvme_pcie_prp_list_append: *INFO*: prp_index:0 virt_addr:0= x103ff9a000 len:4096 nvme_pcie.c:1568:nvme_pcie_prp_list_append: *INFO*: prp1 =3D 0x45179a000 nvme_ns.c: 98:nvme_ns_identify_update: *INFO*: ns 1 stripe size quirk 256 = blocks nvme_pcie.c:1541:nvme_pcie_prp_list_append: *INFO*: prp_index:0 virt_addr:0= x103ff9b000 len:512 nvme_pcie.c:1568:nvme_pcie_prp_list_append: *INFO*: prp1 =3D 0x45179b000 nvme_ctrlr.c: 823:nvme_ctrlr_set_keep_alive_timeout: *INFO*: Controller KAS= is 0 - not enabling Keep Alive nvme_ctrlr.c: 893:nvme_ctrlr_set_host_id: *INFO*: Using 64-bit host identif= ier nvme_ctrlr.c: 909:nvme_ctrlr_set_host_id: *INFO*: User did not specify host= ID - not sending Set Features - Host ID nvme_ctrlr.c: 623:nvme_ctrlr_set_state: *INFO*: setting state to ready (no = timeout) Attached to 0000:06:00.0 Using controller INTEL SSDPEDMD400G4 (CVFT7203005M400LGN ) with 1 namespa= ces. Namespace ID: 1 size: 400GB Initialization complete. nvme_pcie.c:1541:nvme_pcie_prp_list_append: *INFO*: prp_index:0 virt_addr:0= x103fe73000 len:512 nvme_pcie.c:1568:nvme_pcie_prp_list_append: *INFO*: prp1 =3D 0x451673000 nvme_pcie.c:1541:nvme_pcie_prp_list_append: *INFO*: prp_index:0 virt_addr:0= x103fe73000 len:512 nvme_pcie.c:1568:nvme_pcie_prp_list_append: *INFO*: prp1 =3D 0x451673000 Hello world! nvme_ctrlr.c: 512:nvme_ctrlr_shutdown: *INFO*: RTD3E =3D 0 us nvme_ctrlr.c: 515:nvme_ctrlr_shutdown: *INFO*: shutdown timeout =3D 10000 ms nvme_ctrlr.c: 525:nvme_ctrlr_shutdown: *INFO*: shutdown complete in 1808 mi= lliseconds From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Sreeni (Sreeni= vasa) Busam (Stellus) Sent: Tuesday, November 14, 2017 12:44 PM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. Hi Daniel, I added the debug flag you mentioned in the program and tested it. There is= not much of any log which is helpful for the probe of the device. Please ignore the printf from func pci_probe_all_drivers, it was printf add= ed by me. I have attached the file. From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Sreeni (Sreeni= vasa) Busam (Stellus) Sent: Tuesday, November 14, 2017 10:43 AM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. Thanks Daniel for your comments. I think the SSD devices are of same model = looking at lspci output. Let me confirm it with my lab administrator. I will add the debug code and give you the output. Sreeni From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Verkamp, Daniel Sent: Tuesday, November 14, 2017 9:43 AM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. It looks to me like the device at 0000:ad:00.0 worked in both tests, and th= e device at 0000:ae:00.0 failed during identify and wasn't used in perf due= to the -r argument specifying only 0000:ad:00.0. Are these two devices the same model/firmware of NVMe controller, or is the= re some difference between them? It would also be useful to see the debug output from the NVMe library for t= he failing controller; you can enable this in hello_world.c by adding these= two lines at the beginning of main(): spdk_log_set_print_level(SPDK_LOG_DEBUG); spdk_log_set_trace_flag("all"); Thanks, -- Daniel From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Luse, Paul E Sent: Tuesday, November 14, 2017 6:46 AM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. Well, maybe not. Could very well be an issue in the driver that's only exp= osed via this hardware especially given that hello_world failed and perf di= d not. Sreeni, do you have any other data points that you can share? Like, for exa= mple, have you tried multiple SSDs of that same model or any other model? D= oes hello consistently fail and perf consistently pass? I haven't done a to= n of debug with either but with a little more info, if someone else doesn't= jump in with the answer, I can pretty easily help compare the init sequenc= e in a few of these and maybe start to narrow down what's different. Thx Paul From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Wu, WenzhongX Sent: Tuesday, November 14, 2017 2:13 AM To: Storage Performance Development Kit > Subject: Re: [SPDK] Helloworld program fails during device initialization. Hi Sreeni, Verify with newest spdk source code with intel P3700 ,run helloword everyth= ing is ok: root(a)waikiki5-target:~/workspace/spdk1102/examples/nvme/hello_world# ./he= llo_world Starting DPDK 17.08.0 initialization... [ DPDK EAL parameters: hello_world -c 0x1 --file-prefix=3Dspdk0 --base-virt= addr=3D0x1000000000 --proc-type=3Dauto ] EAL: Detected 36 lcore(s) EAL: Auto-detected process type: PRIMARY EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... Initializing NVMe Controllers EAL: PCI device 0000:81:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:81:00.0 EAL: PCI device 0000:84:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:84:00.0 EAL: PCI device 0000:85:00.0 on NUMA socket 1 EAL: probe driver: 8086:953 spdk_nvme Attaching to 0000:85:00.0 Attached to 0000:85:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT6401011B800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Attached to 0000:81:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT5373002D800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Attached to 0000:84:00.0 Using controller INTEL SSDPEDMD800G4 (PHFT53640003800CGN ) with 1 namespa= ces. Namespace ID: 1 size: 800GB Initialization complete. Hello world! Hello world! Hello world! Seem it's your hardware cause this issues. Thanks Wenzhong From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Sreeni (Sreeni= vasa) Busam (Stellus) Sent: Tuesday, November 14, 2017 2:36 PM To: spdk(a)lists.01.org Subject: [SPDK] Helloworld program fails during device initialization. I was testing the helloworld program on ubuntu with NVMe SSD and the probe(= ) is failing. Please let me know if this is a known problem. Let me know if there is workaround. The perf program did not have any problem. I have attached the output for both tests. lspci| grep Non ad:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD= Controller (rev 01) ae:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD= Controller (rev 01) uname -a Linux sjca5radevct13 4.10.0-38-generic #42~16.04.1-Ubuntu SMP Tue Oct 10 16= :32:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 1. helloworld output: --------------------------- Attached to 0000:ad:00.0 Using controller SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) with 1 namespa= ces. Namespace ID: 1 size: 480GB nvme_ctrlr.c:1475:nvme_ctrlr_process_init: *ERROR*: Initialization timed ou= t in state 1 nvme_ctrlr.c: 523:nvme_ctrlr_shutdown: *ERROR*: did not shutdown within 5 s= econds spdk_nvme_probe() failed 2. perf output: sudo ./perf -q 1 -s 4096 -t 10 -w read -r "trtype:PCIe traddr:0000:ad:00.0" --------------- Starting DPDK 17.08.0 initialization... [ DPDK EAL parameters: perf -c 0x1 --file-prefix=3Dspdk_pid7647 ] EAL: Detected 32 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB Attached to NVMe Controller at 0000:ad:00.0 [144d:a802] Associating SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) with lcore 0 Initialization complete. Launching workers. Starting thread on core 0 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D = Latency(us) Device Information : IOPS M= B/s Average min max SAMSUNG MZQWV480HCGM (S1TRNYAFA00148 ) from core 0: 13773.50 53= .80 72.59 60.20 243.82 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Total : 13773.50 53= .80 72.59 60.20 243.82 Thanks for your help, Sreeni --===============6889819744652589674== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNv bnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPgo8c3R5bGU+ PCEtLQovKiBGb250IERlZmluaXRpb25zICovCkBmb250LWZhY2UKCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsKCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQpAZm9udC1mYWNlCgl7 Zm9udC1mYW1pbHk6Ik1hbGd1biBHb3RoaWMiOwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAw IDQ7fQpAZm9udC1mYWNlCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsKCXBhbm9zZS0xOjIgMTUgNSAy IDIgMiA0IDMgMiA0O30KQGZvbnQtZmFjZQoJe2ZvbnQtZmFtaWx5OiJcQE1hbGd1biBHb3RoaWMi OwoJcGFub3NlLTE6MiAxMSA1IDMgMiAwIDAgMiAwIDQ7fQovKiBTdHlsZSBEZWZpbml0aW9ucyAq LwpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsCgl7bWFyZ2luOjBpbjsK CW1hcmdpbi1ib3R0b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToi Q2FsaWJyaSIsc2Fucy1zZXJpZjt9CmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsKCXttc28tc3R5 bGUtcHJpb3JpdHk6OTk7Cgljb2xvcjojMDU2M0MxOwoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGlu ZTt9CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZAoJe21zby1zdHlsZS1wcmlv cml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30KcC5N c29MaXN0UGFyYWdyYXBoLCBsaS5Nc29MaXN0UGFyYWdyYXBoLCBkaXYuTXNvTGlzdFBhcmFncmFw aAoJe21zby1zdHlsZS1wcmlvcml0eTozNDsKCW1hcmdpbi10b3A6MGluOwoJbWFyZ2luLXJpZ2h0 OjBpbjsKCW1hcmdpbi1ib3R0b206MGluOwoJbWFyZ2luLWxlZnQ6LjVpbjsKCW1hcmdpbi1ib3R0 b206LjAwMDFwdDsKCWZvbnQtc2l6ZToxMS4wcHQ7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fu cy1zZXJpZjt9CnNwYW4uRW1haWxTdHlsZTE4Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7Cglm b250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOndpbmRvd3RleHQ7fQpzcGFu LkVtYWlsU3R5bGUxOQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOwoJZm9udC1mYW1pbHk6IkNh bGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjojMUY0OTdEO30Kc3Bhbi5FbWFpbFN0eWxlMjAKCXtt c28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm OwoJY29sb3I6IzFGNDk3RDt9CnNwYW4uRW1haWxTdHlsZTIxCgl7bXNvLXN0eWxlLXR5cGU6cGVy c29uYWw7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOiMxRjQ5N0Q7 fQpzcGFuLkVtYWlsU3R5bGUyMgoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsOwoJZm9udC1mYW1p bHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjojMUY0OTdEO30Kc3Bhbi5FbWFpbFN0eWxl MjMKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5z LXNlcmlmOwoJY29sb3I6IzFGNDk3RDt9CnNwYW4uRW1haWxTdHlsZTI0Cgl7bXNvLXN0eWxlLXR5 cGU6cGVyc29uYWw7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsKCWNvbG9yOiMx RjQ5N0Q7fQpzcGFuLkVtYWlsU3R5bGUyNQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5 OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjojMUY0OTdEO30KLk1z b0NocERlZmF1bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKCWZvbnQtc2l6ZToxMC4w cHQ7fQpAcGFnZSBXb3JkU2VjdGlvbjEKCXtzaXplOjguNWluIDExLjBpbjsKCW1hcmdpbjoxLjBp biAxLjBpbiAxLjBpbiAxLjBpbjt9CmRpdi5Xb3JkU2VjdGlvbjEKCXtwYWdlOldvcmRTZWN0aW9u MTt9Ci0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlZGVmYXVsdHMg djpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYg Z3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+CjxvOmlkbWFwIHY6 ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+ CjwvaGVhZD4KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9IiMwNTYzQzEiIHZsaW5rPSIjOTU0Rjcy Ij4KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlllcyBQYXVsLiBJIGFkZGVkIHRoZSBoZWFkZXIgZmlsZSBs b2cuaC4KPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+TGV0IG1lIGNvbXBpbGUgaGVsbG9fd29ybGQgYW5kIGxpYnJh cnkgYWdhaW4gYW5kIHRyeSBpdC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxhIG5hbWU9Il9NYWlsRW5kQ29tcG9zZSI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5 N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvYT48L3A+CjxkaXY+CjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBp biAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFNQREsgW21haWx0 bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnXSA8Yj5PbiBCZWhhbGYgT2YKPC9iPkx1c2UsIFBh dWwgRTxicj4KPGI+U2VudDo8L2I+IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3IDExOjU2IEFN PGJyPgo8Yj5Ubzo8L2I+IFN0b3JhZ2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0ICZsdDtz cGRrQGxpc3RzLjAxLm9yZyZndDs8YnI+CjxiPlN1YmplY3Q6PC9iPiBSZTogW1NQREtdIEhlbGxv d29ybGQgcHJvZ3JhbSBmYWlscyBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uLjxvOnA+PC9v OnA+PC9wPgo8L2Rpdj4KPC9kaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ U3JlZW5pLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkFyZSB5b3Ugc3VyZSB5 b3UgZ290IHRob3NlIHN0YXRlbWVudHMgYWRkZWQgKGFsc28gbmVlZCB0byBhZGQgI2luY2x1ZGUg JiM4MjIwO3NwZGsvbG9nLmgmIzgyMjE7IGFzIEkgZGlkbiYjODIxNzt0IHNlZSBzb21lIGV4cGVj dGVkIG91dHB1dCBpbiB5b3VyIHRleHQuJm5ic3A7IEhlcmUmIzgyMTc7cyB3aGF0IGl0IHNob3Vs ZCBsb29rIGxpa2U6PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+cGVsdXNlQHBl bHMyLTY0On4vc3Bkay9leGFtcGxlcy9udm1lL2hlbGxvX3dvcmxkJCBzdWRvIC4vaGVsbG9fd29y bGQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5TdGFydGluZyBEUERLIDE3LjA4LjAgaW5pdGlhbGl6YXRpb24uLi48 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5bIERQREsgRUFMIHBhcmFtZXRlcnM6IGhlbGxvX3dvcmxkIC1jIDB4MSAt LWZpbGUtcHJlZml4PXNwZGswIC0tYmFzZS12aXJ0YWRkcj0weDEwMDAwMDAwMDAgLS1wcm9jLXR5 cGU9YXV0byBdPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiBEZXRlY3RlZCA3MiBsY29yZShzKTxvOnA+PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPkVBTDogQXV0by1kZXRlY3RlZCBwcm9jZXNzIHR5cGU6IFBSSU1BUlk8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5FQUw6IE5vIGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2 a0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5FQUw6IFByb2JpbmcgVkZJTyBzdXBwb3J0Li4uPG86cD48L286cD48 L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+SW5pdGlhbGl6aW5nIE5WTWUgQ29udHJvbGxlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFBDSSBk ZXZpY2UgMDAwMDowNjowMC4wIG9uIE5VTUEgc29ja2V0IDA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6Jm5i c3A7Jm5ic3A7IHByb2JlIGRyaXZlcjogODA4Njo5NTMgc3Bka19udm1lPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ QXR0YWNoaW5nIHRvIDAwMDA6MDY6MDAuMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPm52bWVfY3RybHIuYzogNjIz Om52bWVfY3RybHJfc2V0X3N0YXRlOiAqSU5GTyo6IHNldHRpbmcgc3RhdGUgdG8gaW5pdCAobm8g dGltZW91dCk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX2N0cmxyLmM6MTM4Mjpudm1lX2N0cmxyX3Byb2Nl c3NfaW5pdDogKklORk8qOiBDQy5FTiA9IDE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX2N0cmxyLmM6MTM5 Njpudm1lX2N0cmxyX3Byb2Nlc3NfaW5pdDogKklORk8qOiBTZXR0aW5nIENDLkVOID0gMDxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9y OiMxRjQ5N0QiPm52bWVfY3RybHIuYzogNjI3Om52bWVfY3RybHJfc2V0X3N0YXRlOiAqSU5GTyo6 IHNldHRpbmcgc3RhdGUgdG8gZGlzYWJsZSBhbmQgd2FpdCBmb3IgQ1NUUy5SRFkgPSAwICh0aW1l b3V0IDIwMDAwIG1zKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPm52bWVfY3RybHIuYzoxNDQyOm52bWVfY3RybHJf cHJvY2Vzc19pbml0OiAqSU5GTyo6IENDLkVOID0gMCAmYW1wOyZhbXA7IENTVFMuUkRZID0gMDxv OnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNv bG9yOiMxRjQ5N0QiPm52bWVfY3RybHIuYzogNjI3Om52bWVfY3RybHJfc2V0X3N0YXRlOiAqSU5G Tyo6IHNldHRpbmcgc3RhdGUgdG8gZW5hYmxlIGNvbnRyb2xsZXIgYnkgd3JpdGluZyBDQy5FTiA9 IDEgKHRpbWVvdXQgMjAwMDAgbXMpPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9jdHJsci5jOjE0NTQ6bnZt ZV9jdHJscl9wcm9jZXNzX2luaXQ6ICpJTkZPKjogU2V0dGluZyBDQy5FTiA9IDE8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5udm1lX2N0cmxyLmM6IDYyNzpudm1lX2N0cmxyX3NldF9zdGF0ZTogKklORk8qOiBzZXR0 aW5nIHN0YXRlIHRvIHdhaXQgZm9yIENTVFMuUkRZID0gMSAodGltZW91dCAyMDAwMCBtcyk8bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0OTdEIj5udm1lX2N0cmxyLmM6MTQ2MTpudm1lX2N0cmxyX3Byb2Nlc3NfaW5pdDogKklO Rk8qOiBDQy5FTiA9IDEgJmFtcDsmYW1wOyBDU1RTLlJEWSA9IDEgLSBjb250cm9sbGVyIGlzIHJl YWR5PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9wY2llLmM6MTU0MTpudm1lX3BjaWVfcHJwX2xpc3RfYXBw ZW5kOiAqSU5GTyo6IHBycF9pbmRleDowIHZpcnRfYWRkcjoweDEwM2ZmOWIwMDAgbGVuOjQwOTY8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5udm1lX3BjaWUuYzoxNTY4Om52bWVfcGNpZV9wcnBfbGlzdF9hcHBlbmQ6 ICpJTkZPKjogcHJwMSA9IDB4NDUxNzliMDAwPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9jdHJsci5jOiA3 MjM6bnZtZV9jdHJscl9pZGVudGlmeTogKklORk8qOiB0cmFuc3BvcnQgbWF4X3hmZXJfc2l6ZSAy MDcyNTc2PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9jdHJsci5jOiA3Mjc6bnZtZV9jdHJscl9pZGVudGlm eTogKklORk8qOiBNRFRTIG1heF94ZmVyX3NpemUgMTMxMDcyPG86cD48L286cD48L3NwYW4+PC9w Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9w Y2llLmM6MTU0MTpudm1lX3BjaWVfcHJwX2xpc3RfYXBwZW5kOiAqSU5GTyo6IHBycF9pbmRleDow IHZpcnRfYWRkcjoweDEwM2ZmOWEwMDAgbGVuOjQwOTY8bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX3BjaWUu YzoxNTY4Om52bWVfcGNpZV9wcnBfbGlzdF9hcHBlbmQ6ICpJTkZPKjogcHJwMSA9IDB4NDUxNzlh MDAwPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9ucy5jOiZuYnNwOyA5ODpudm1lX25zX2lkZW50aWZ5X3Vw ZGF0ZTogKklORk8qOiBucyAxIHN0cmlwZSBzaXplIHF1aXJrIDI1NiBibG9ja3M8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5udm1lX3BjaWUuYzoxNTQxOm52bWVfcGNpZV9wcnBfbGlzdF9hcHBlbmQ6ICpJTkZPKjog cHJwX2luZGV4OjAgdmlydF9hZGRyOjB4MTAzZmY5YjAwMCBsZW46NTEyPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ bnZtZV9wY2llLmM6MTU2ODpudm1lX3BjaWVfcHJwX2xpc3RfYXBwZW5kOiAqSU5GTyo6IHBycDEg PSAweDQ1MTc5YjAwMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPm52bWVfY3RybHIuYzogODIzOm52bWVfY3RybHJf c2V0X2tlZXBfYWxpdmVfdGltZW91dDogKklORk8qOiBDb250cm9sbGVyIEtBUyBpcyAwIC0gbm90 IGVuYWJsaW5nIEtlZXAgQWxpdmU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX2N0cmxyLmM6IDg5Mzpudm1l X2N0cmxyX3NldF9ob3N0X2lkOiAqSU5GTyo6IFVzaW5nIDY0LWJpdCBob3N0IGlkZW50aWZpZXI8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5udm1lX2N0cmxyLmM6IDkwOTpudm1lX2N0cmxyX3NldF9ob3N0X2lkOiAq SU5GTyo6IFVzZXIgZGlkIG5vdCBzcGVjaWZ5IGhvc3QgSUQgLSBub3Qgc2VuZGluZyBTZXQgRmVh dHVyZXMgLSBIb3N0IElEPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9jdHJsci5jOiA2MjM6bnZtZV9jdHJs cl9zZXRfc3RhdGU6ICpJTkZPKjogc2V0dGluZyBzdGF0ZSB0byByZWFkeSAobm8gdGltZW91dCk8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjA2OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2lu ZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1ENDAwRzQmbmJzcDsgKENWRlQ3MjAzMDA1TTQwMExH TiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3Bh Y2UgSUQ6IDEgc2l6ZTogNDAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Jbml0aWFsaXphdGlvbiBjb21wbGV0 ZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5udm1lX3BjaWUuYzoxNTQxOm52bWVfcGNpZV9wcnBfbGlzdF9hcHBl bmQ6ICpJTkZPKjogcHJwX2luZGV4OjAgdmlydF9hZGRyOjB4MTAzZmU3MzAwMCBsZW46NTEyPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+bnZtZV9wY2llLmM6MTU2ODpudm1lX3BjaWVfcHJwX2xpc3RfYXBwZW5kOiAq SU5GTyo6IHBycDEgPSAweDQ1MTY3MzAwMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPm52bWVfcGNpZS5jOjE1NDE6 bnZtZV9wY2llX3BycF9saXN0X2FwcGVuZDogKklORk8qOiBwcnBfaW5kZXg6MCB2aXJ0X2FkZHI6 MHgxMDNmZTczMDAwIGxlbjo1MTI8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX3BjaWUuYzoxNTY4Om52bWVf cGNpZV9wcnBfbGlzdF9hcHBlbmQ6ICpJTkZPKjogcHJwMSA9IDB4NDUxNjczMDAwPG86cD48L286 cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFG NDk3RCI+SGVsbG8gd29ybGQhPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+bnZtZV9jdHJsci5jOiA1MTI6bnZtZV9j dHJscl9zaHV0ZG93bjogKklORk8qOiBSVEQzRSA9IDAgdXM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5udm1lX2N0 cmxyLmM6IDUxNTpudm1lX2N0cmxyX3NodXRkb3duOiAqSU5GTyo6IHNodXRkb3duIHRpbWVvdXQg PSAxMDAwMCBtczxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPm52bWVfY3RybHIuYzogNTI1Om52bWVfY3RybHJfc2h1 dGRvd246ICpJTkZPKjogc2h1dGRvd24gY29tcGxldGUgaW4gMTgwOCBtaWxsaXNlY29uZHM8bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxkaXY+CjxkaXYgc3R5bGU9 ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0 IDBpbiAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgbmFtZT0iX19fX19yZXBseXNl cGFyYXRvciI+PC9hPjxiPkZyb206PC9iPiBTUERLIFs8YSBocmVmPSJtYWlsdG86c3Bkay1ib3Vu Y2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XQo8 Yj5PbiBCZWhhbGYgT2YgPC9iPlNyZWVuaSAoU3JlZW5pdmFzYSkgQnVzYW0gKFN0ZWxsdXMpPGJy Pgo8Yj5TZW50OjwvYj4gVHVlc2RheSwgTm92ZW1iZXIgMTQsIDIwMTcgMTI6NDQgUE08YnI+Cjxi PlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9 Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj4K PGI+U3ViamVjdDo8L2I+IFJlOiBbU1BES10gSGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1cmlu ZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IaSBEYW5pZWwsPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+SSBhZGRlZCB0aGUgZGVidWcgZmxhZyB5b3UgbWVudGlvbmVk IGluIHRoZSBwcm9ncmFtIGFuZCB0ZXN0ZWQgaXQuIFRoZXJlIGlzIG5vdCBtdWNoIG9mIGFueSBs b2cgd2hpY2ggaXMgaGVscGZ1bCBmb3IgdGhlIHByb2JlIG9mIHRoZSBkZXZpY2UuPG86cD48L286 cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFG NDk3RCI+UGxlYXNlIGlnbm9yZSB0aGUgcHJpbnRmIGZyb20gZnVuYyBwY2lfcHJvYmVfYWxsX2Ry aXZlcnMsIGl0IHdhcyBwcmludGYgYWRkZWQgYnkgbWUuPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SSBoYXZlIGF0 dGFjaGVkIHRoZSBmaWxlLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv cD4KPGRpdj4KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUx IDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 Yj5Gcm9tOjwvYj4gU1BESyBbPGEgaHJlZj0ibWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5v cmciPm1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnPC9hPl0KPGI+T24gQmVoYWxmIE9m IDwvYj5TcmVlbmkgKFNyZWVuaXZhc2EpIEJ1c2FtIChTdGVsbHVzKTxicj4KPGI+U2VudDo8L2I+ IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3IDEwOjQzIEFNPGJyPgo8Yj5Ubzo8L2I+IFN0b3Jh Z2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0ICZsdDs8YSBocmVmPSJtYWlsdG86c3Bka0Bs aXN0cy4wMS5vcmciPnNwZGtAbGlzdHMuMDEub3JnPC9hPiZndDs8YnI+CjxiPlN1YmplY3Q6PC9i PiBSZTogW1NQREtdIEhlbGxvd29ybGQgcHJvZ3JhbSBmYWlscyBkdXJpbmcgZGV2aWNlIGluaXRp YWxpemF0aW9uLjxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPC9kaXY+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+VGhhbmtzIERhbmllbCBmb3IgeW91ciBjb21tZW50cy4gSSB0aGlu ayB0aGUgU1NEIGRldmljZXMgYXJlIG9mIHNhbWUgbW9kZWwgbG9va2luZyBhdCBsc3BjaSBvdXRw dXQuCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPkxldCBtZSBjb25maXJtIGl0IHdpdGggbXkgbGFiIGFkbWluaXN0 cmF0b3IuPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+SSB3aWxsIGFkZCB0aGUgZGVidWcgY29kZSBhbmQgZ2l2ZSB5 b3UgdGhlIG91dHB1dC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TcmVlbmk8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxkaXY+CjxkaXYgc3R5 bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMu MHB0IDBpbiAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFNQREsg WzxhIGhyZWY9Im1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIj5tYWlsdG86c3Bkay1i b3VuY2VzQGxpc3RzLjAxLm9yZzwvYT5dCjxiPk9uIEJlaGFsZiBPZiA8L2I+VmVya2FtcCwgRGFu aWVsPGJyPgo8Yj5TZW50OjwvYj4gVHVlc2RheSwgTm92ZW1iZXIgMTQsIDIwMTcgOTo0MyBBTTxi cj4KPGI+VG86PC9iPiBTdG9yYWdlIFBlcmZvcm1hbmNlIERldmVsb3BtZW50IEtpdCAmbHQ7PGEg aHJlZj0ibWFpbHRvOnNwZGtAbGlzdHMuMDEub3JnIj5zcGRrQGxpc3RzLjAxLm9yZzwvYT4mZ3Q7 PGJyPgo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtTUERLXSBIZWxsb3dvcmxkIHByb2dyYW0gZmFpbHMg ZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbi48bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjwvZGl2 Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkl0IGxvb2tzIHRvIG1lIGxpa2Ug dGhlIGRldmljZSBhdCAwMDAwOmFkOjAwLjAgd29ya2VkIGluIGJvdGggdGVzdHMsIGFuZCB0aGUg ZGV2aWNlIGF0IDAwMDA6YWU6MDAuMCBmYWlsZWQgZHVyaW5nIGlkZW50aWZ5IGFuZCB3YXNuJiM4 MjE3O3QgdXNlZCBpbiBwZXJmIGR1ZSB0byB0aGUgLXIgYXJndW1lbnQgc3BlY2lmeWluZyBvbmx5 IDAwMDA6YWQ6MDAuMC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BcmUgdGhl c2UgdHdvIGRldmljZXMgdGhlIHNhbWUgbW9kZWwvZmlybXdhcmUgb2YgTlZNZSBjb250cm9sbGVy LCBvciBpcyB0aGVyZSBzb21lIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGVtPzxvOnA+PC9vOnA+PC9z cGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkl0IHdvdWxkIGFsc28gYmUgdXNlZnVsIHRvIHNlZSB0aGUg ZGVidWcgb3V0cHV0IGZyb20gdGhlIE5WTWUgbGlicmFyeSBmb3IgdGhlIGZhaWxpbmcgY29udHJv bGxlcjsgeW91IGNhbiBlbmFibGUgdGhpcyBpbiBoZWxsb193b3JsZC5jIGJ5IGFkZGluZyB0aGVz ZSB0d28gbGluZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBtYWluKCk6PG86cD48L286cD48L3NwYW4+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86 cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+Jm5ic3A7IHNwZGtfbG9nX3NldF9wcmludF9sZXZlbChTUERLX0xP R19ERUJVRyk7PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+Jm5ic3A7IHNwZGtfbG9nX3NldF90cmFjZV9mbGFnKCYj ODIyMDthbGwmIzgyMjE7KTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5UaGFu a3MsPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0iY29sb3I6IzFGNDk3RCI+LS0gRGFuaWVsPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286 cD48L3NwYW4+PC9wPgo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBi bHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNC4wcHQiPgo8ZGl2Pgo8ZGl2IHN0eWxlPSJi b3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAw aW4gMGluIDBpbiI+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERLIFs8YSBo cmVmPSJtYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNl c0BsaXN0cy4wMS5vcmc8L2E+XQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkx1c2UsIFBhdWwgRTxicj4K PGI+U2VudDo8L2I+IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3IDY6NDYgQU08YnI+CjxiPlRv OjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1h aWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj4KPGI+ U3ViamVjdDo8L2I+IFJlOiBbU1BES10gSGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1cmluZyBk ZXZpY2UgaW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5XZWxsLCBtYXliZSBub3QuJm5ic3A7IENvdWxk IHZlcnkgd2VsbCBiZSBhbiBpc3N1ZSBpbiB0aGUgZHJpdmVyIHRoYXQmIzgyMTc7cyBvbmx5IGV4 cG9zZWQgdmlhIHRoaXMgaGFyZHdhcmUgZXNwZWNpYWxseSBnaXZlbiB0aGF0IGhlbGxvX3dvcmxk IGZhaWxlZCBhbmQgcGVyZiBkaWQgbm90LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5 N0QiPlNyZWVuaSwgZG8geW91IGhhdmUgYW55IG90aGVyIGRhdGEgcG9pbnRzIHRoYXQgeW91IGNh biBzaGFyZT8gTGlrZSwgZm9yIGV4YW1wbGUsIGhhdmUgeW91IHRyaWVkIG11bHRpcGxlIFNTRHMg b2YgdGhhdCBzYW1lIG1vZGVsIG9yIGFueSBvdGhlciBtb2RlbD8gRG9lcyBoZWxsbyBjb25zaXN0 ZW50bHkgZmFpbCBhbmQgcGVyZiBjb25zaXN0ZW50bHkgcGFzcz8gSQogaGF2ZW4mIzgyMTc7dCBk b25lIGEgdG9uIG9mIGRlYnVnIHdpdGggZWl0aGVyIGJ1dCB3aXRoIGEgbGl0dGxlIG1vcmUgaW5m bywgaWYgc29tZW9uZSBlbHNlIGRvZXNuJiM4MjE3O3QganVtcCBpbiB3aXRoIHRoZSBhbnN3ZXIs IEkgY2FuIHByZXR0eSBlYXNpbHkgaGVscCBjb21wYXJlIHRoZSBpbml0IHNlcXVlbmNlIGluIGEg ZmV3IG9mIHRoZXNlIGFuZCBtYXliZSBzdGFydCB0byBuYXJyb3cgZG93biB3aGF0JiM4MjE3O3Mg ZGlmZmVyZW50LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoeDxvOnA+PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPlBhdWw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Cjxk aXY+CjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBw dDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJv bTo8L2I+IFNQREsgWzxhIGhyZWY9Im1haWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIj5t YWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZzwvYT5dCjxiPk9uIEJlaGFsZiBPZiA8L2I+ V3UsIFdlbnpob25nWDxicj4KPGI+U2VudDo8L2I+IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3 IDI6MTMgQU08YnI+CjxiPlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBL aXQgJmx0OzxhIGhyZWY9Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5v cmc8L2E+Jmd0Ozxicj4KPGI+U3ViamVjdDo8L2I+IFJlOiBbU1BES10gSGVsbG93b3JsZCBwcm9n cmFtIGZhaWxzIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3A+Cjwv ZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IaSBTcmVlbmks PC9zcGFuPjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+VmVyaWZ5IHdpdGggbmV3ZXN0IHNw ZGsgc291cmNlIGNvZGUgd2l0aCBpbnRlbCBQMzcwMCAscnVuIGhlbGxvd29yZCBldmVyeXRoaW5n IGlzIG9rOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPnJvb3RAd2Fpa2lraTUtdGFyZ2V0On4vd29ya3NwYWNlL3Nw ZGsxMTAyL2V4YW1wbGVzL252bWUvaGVsbG9fd29ybGQjIC4vaGVsbG9fd29ybGQ8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5TdGFydGluZyBEUERLIDE3LjA4LjAgaW5pdGlhbGl6YXRpb24uLi48bzpwPjwvbzpwPjwv c3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij5bIERQREsgRUFMIHBhcmFtZXRlcnM6IGhlbGxvX3dvcmxkIC1jIDB4MSAtLWZpbGUtcHJlZml4 PXNwZGswIC0tYmFzZS12aXJ0YWRkcj0weDEwMDAwMDAwMDAgLS1wcm9jLXR5cGU9YXV0byBdPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+RUFMOiBEZXRlY3RlZCAzNiBsY29yZShzKTxvOnA+PC9vOnA+PC9zcGFuPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDog QXV0by1kZXRlY3RlZCBwcm9jZXNzIHR5cGU6IFBSSU1BUlk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IE5v IGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0I8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5FQUw6IFByb2JpbmcgVkZJTyBzdXBwb3J0Li4uPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SW5pdGlhbGl6 aW5nIE5WTWUgQ29udHJvbGxlcnM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFBDSSBkZXZpY2UgMDAwMDo4 MTowMC4wIG9uIE5VTUEgc29ja2V0IDE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6Jm5ic3A7Jm5ic3A7IHBy b2JlIGRyaXZlcjogODA4Njo5NTMgc3Bka19udm1lPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoaW5nIHRv IDAwMDA6ODE6MDAuMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDogUENJIGRldmljZSAwMDAwOjg0OjAwLjAg b24gTlVNQSBzb2NrZXQgMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDombmJzcDsmbmJzcDsgcHJvYmUgZHJp dmVyOiA4MDg2Ojk1MyBzcGRrX252bWU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hpbmcgdG8gMDAwMDo4 NDowMC4wPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiBQQ0kgZGV2aWNlIDAwMDA6ODU6MDAuMCBvbiBOVU1B IHNvY2tldCAxPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiZuYnNwOyZuYnNwOyBwcm9iZSBkcml2ZXI6IDgw ODY6OTUzIHNwZGtfbnZtZTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkF0dGFjaGluZyB0byAwMDAwOjg1OjAwLjA8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjg1OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2lu ZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1EODAwRzQmbmJzcDsgKFBIRlQ2NDAxMDExQjgwMENH TiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3Bh Y2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjgxOjAw LjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1EODAwRzQmbmJz cDsgKFBIRlQ1MzczMDAyRDgwMENHTiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bh bj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5B dHRhY2hlZCB0byAwMDAwOjg0OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVyIElO VEVMIFNTRFBFRE1EODAwRzQmbmJzcDsgKFBIRlQ1MzY0MDAwMzgwMENHTiZuYnNwOyApIHdpdGgg MSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTog ODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJjb2xvcjojMUY0OTdEIj5Jbml0aWFsaXphdGlvbiBjb21wbGV0ZS48bzpwPjwvbzpwPjwv c3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij5IZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwvc3Bh bj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5I ZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TZWVtICZuYnNw O2l0JiM4MjE3O3MgeW91ciBoYXJkd2FyZSBjYXVzZSB0aGlzIGlzc3Vlcy4KPG86cD48L286cD48 L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+VGhhbmtzIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPldlbnpob25nPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8ZGl2Pgo8ZGl2IHN0eWxl PSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBw dCAwaW4gMGluIDBpbiI+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERLIFs8 YSBocmVmPSJtYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91 bmNlc0BsaXN0cy4wMS5vcmc8L2E+XQo8Yj5PbiBCZWhhbGYgT2YgPC9iPlNyZWVuaSAoU3JlZW5p dmFzYSkgQnVzYW0gKFN0ZWxsdXMpPGJyPgo8Yj5TZW50OjwvYj4gVHVlc2RheSwgTm92ZW1iZXIg MTQsIDIwMTcgMjozNiBQTTxicj4KPGI+VG86PC9iPiA8YSBocmVmPSJtYWlsdG86c3Bka0BsaXN0 cy4wMS5vcmciPnNwZGtAbGlzdHMuMDEub3JnPC9hPjxicj4KPGI+U3ViamVjdDo8L2I+IFtTUERL XSBIZWxsb3dvcmxkIHByb2dyYW0gZmFpbHMgZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbi48 bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjwvZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SSB3YXMgdGVzdGluZyB0aGUgaGVs bG93b3JsZCBwcm9ncmFtIG9uIHVidW50dSB3aXRoIE5WTWUgU1NEIGFuZCB0aGUgcHJvYmUoKSBp cyBmYWlsaW5nLiBQbGVhc2UgbGV0IG1lIGtub3cgaWYgdGhpcyBpcyBhIGtub3duIHByb2JsZW0u CjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5MZXQgbWUga25vdyBpZiB0aGVy ZSBpcyB3b3JrYXJvdW5kLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUg cGVyZiBwcm9ncmFtIGRpZCBub3QgaGF2ZSBhbnkgcHJvYmxlbS4gPG86cD48L286cD48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPkkgaGF2ZSBhdHRhY2hlZCB0aGUgb3V0cHV0IGZvciBib3RoIHRl c3RzLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5sc3BjaXwgZ3JlcCBOb248 bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+YWQ6MDAuMCBOb24tVm9sYXRp bGUgbWVtb3J5IGNvbnRyb2xsZXI6IFNhbXN1bmcgRWxlY3Ryb25pY3MgQ28gTHRkIE5WTWUgU1NE IENvbnRyb2xsZXI8L2I+IChyZXYgMDEpPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPmFlOjAwLjAgTm9uLVZvbGF0aWxlIG1lbW9yeSBjb250cm9sbGVyOiBTYW1zdW5nIEVsZWN0 cm9uaWNzIENvIEx0ZCBOVk1lIFNTRCBDb250cm9sbGVyIChyZXYgMDEpPG86cD48L286cD48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnVuYW1lIC1hPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPkxpbnV4IHNqY2E1cmFkZXZjdDEzIDQuMTAuMC0zOC1nZW5lcmljICM0Mn4xNi4w NC4xLVVidW50dSBTTVAgVHVlIE9jdCAxMCAxNjozMjoyMCBVVEMgMjAxNyB4ODZfNjQgeDg2XzY0 IHg4Nl82NCBHTlUvTGludXg8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4g aGVsbG93b3JsZCBvdXRwdXQ6PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj5BdHRhY2hlZCB0byAwMDAwOmFkOjAwLjA8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+VXNpbmcgY29udHJvbGxlciBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5ZQUZB MDAxNDgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSB3aXRoIDEgbmFtZXNwYWNlcy48 bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Jm5ic3A7IE5hbWVzcGFjZSBJRDog MSBzaXplOiA0ODBHQjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5udm1lX2N0 cmxyLmM6MTQ3NTpudm1lX2N0cmxyX3Byb2Nlc3NfaW5pdDogKkVSUk9SKjogSW5pdGlhbGl6YXRp b24gdGltZWQgb3V0IGluIHN0YXRlIDE8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+bnZtZV9jdHJsci5jOiA1MjM6bnZtZV9jdHJscl9zaHV0ZG93bjogKkVSUk9SKjogZGlkIG5v dCBzaHV0ZG93biB3aXRoaW4gNSBzZWNvbmRzPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPnNwZGtfbnZtZV9wcm9iZSgpIGZhaWxlZDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0i TXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Mi4g cGVyZiBvdXRwdXQ6PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnN1ZG8gLi9w ZXJmIC1xIDEgLXMgNDA5NiAtdCAxMCAtdyByZWFkIC1yICZxdW90O3RydHlwZTpQQ0llIHRyYWRk cjowMDAwOmFkOjAwLjAmcXVvdDs8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ LS0tLS0tLS0tLS0tLS0tPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlN0YXJ0 aW5nIERQREsgMTcuMDguMCBpbml0aWFsaXphdGlvbi4uLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj5bIERQREsgRUFMIHBhcmFtZXRlcnM6IHBlcmYgLWMgMHgxIC0tZmlsZS1w cmVmaXg9c3Bka19waWQ3NjQ3IF08bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ RUFMOiBEZXRlY3RlZCAzMiBsY29yZShzKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj5FQUw6IE5vIGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2 a0I8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QXR0YWNoZWQgdG8gTlZNZSBD b250cm9sbGVyIGF0IDAwMDA6YWQ6MDAuMCBbMTQ0ZDphODAyXTxvOnA+PC9vOnA+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5Bc3NvY2lhdGluZyBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5Z QUZBMDAxNDgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSB3aXRoIGxjb3JlIDA8bzpw PjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SW5pdGlhbGl6YXRpb24gY29tcGxldGUu IExhdW5jaGluZyB3b3JrZXJzLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5T dGFydGluZyB0aHJlYWQgb24gY29yZSAwPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtMYXRlbmN5KHVzKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj5EZXZpY2UgSW5mb3JtYXRpb24mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgOiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJT1BT Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IE1CL3MmbmJzcDsmbmJzcDsmbmJz cDsgQXZlcmFnZSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtaW4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbWF4PG86cD48L286cD48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlNBTVNVTkcgTVpRV1Y0ODBIQ0dNIChTMVRSTllBRkEw MDE0OCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyApIGZyb20gY29yZSAwOiZuYnNwOyZu YnNwOyAxMzc3My41MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA1My44MCZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA3Mi41OSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyA2MC4yMCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyNDMuODI8bzpwPjwvbzpwPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT08bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VG90 YWwmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgOiZuYnNwOyZuYnNwOyAxMzc3My41MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyA1My44MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA3Mi41OSZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA2MC4yMCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyNDMu ODI8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlRoYW5rcyBmb3IgeW91ciBoZWxwLDxvOnA+PC9vOnA+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TcmVlbmk8bzpwPjwvbzpwPjwvcD4KPC9kaXY+Cjwv ZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============6889819744652589674==--