From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============7520765512725123832==" MIME-Version: 1.0 From: Sreeni (Sreenivasa) Busam (Stellus) Subject: Re: [SPDK] Helloworld program fails during device initialization. Date: Tue, 14 Nov 2017 18:42:40 +0000 Message-ID: In-Reply-To: A5F28D4A728A7E41839CDC5C3B5A01E8B5B5AD25@FMSMSX103.amr.corp.intel.com List-ID: To: spdk@lists.01.org --===============7520765512725123832== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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 --===============7520765512725123832== 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 fQpzcGFuLkVtYWlsU3R5bGUyMgoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5OwoJZm9u dC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xvcjojMUY0OTdEO30KLk1zb0NocERl ZmF1bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsKCWZvbnQtc2l6ZToxMC4wcHQ7fQpA cGFnZSBXb3JkU2VjdGlvbjEKCXtzaXplOjguNWluIDExLjBpbjsKCW1hcmdpbjoxLjBpbiAxLjBp biAxLjBpbiAxLjBpbjt9CmRpdi5Xb3JkU2VjdGlvbjEKCXtwYWdlOldvcmRTZWN0aW9uMTt9Ci0t Pjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+CjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9 ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1z byA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+CjxvOmlkbWFwIHY6ZXh0PSJl ZGl0IiBkYXRhPSIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+CjwvaGVh ZD4KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9IiMwNTYzQzEiIHZsaW5rPSIjOTU0RjcyIj4KPGRp diBjbGFzcz0iV29yZFNlY3Rpb24xIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiPlRoYW5rcyBEYW5pZWwgZm9yIHlvdXIgY29tbWVudHMuIEkgdGhpbmsg dGhlIFNTRCBkZXZpY2VzIGFyZSBvZiBzYW1lIG1vZGVsIGxvb2tpbmcgYXQgbHNwY2kgb3V0cHV0 Lgo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj5MZXQgbWUgY29uZmlybSBpdCB3aXRoIG15IGxhYiBhZG1pbmlzdHJh dG9yLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPkkgd2lsbCBhZGQgdGhlIGRlYnVnIGNvZGUgYW5kIGdpdmUgeW91 IHRoZSBvdXRwdXQuPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+U3JlZW5pPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48YSBuYW1lPSJfTWFpbEVu ZENvbXBvc2UiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwv c3Bhbj48L2E+PC9wPgo8ZGl2Pgo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNv bGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERLIFttYWlsdG86c3Bkay1ib3VuY2VzQGxpc3RzLjAx Lm9yZ10gPGI+T24gQmVoYWxmIE9mCjwvYj5WZXJrYW1wLCBEYW5pZWw8YnI+CjxiPlNlbnQ6PC9i PiBUdWVzZGF5LCBOb3ZlbWJlciAxNCwgMjAxNyA5OjQzIEFNPGJyPgo8Yj5Ubzo8L2I+IFN0b3Jh Z2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0ICZsdDtzcGRrQGxpc3RzLjAxLm9yZyZndDs8 YnI+CjxiPlN1YmplY3Q6PC9iPiBSZTogW1NQREtdIEhlbGxvd29ybGQgcHJvZ3JhbSBmYWlscyBk dXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uLjxvOnA+PC9vOnA+PC9wPgo8L2Rpdj4KPC9kaXY+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SXQgbG9va3MgdG8gbWUgbGlrZSB0 aGUgZGV2aWNlIGF0IDAwMDA6YWQ6MDAuMCB3b3JrZWQgaW4gYm90aCB0ZXN0cywgYW5kIHRoZSBk ZXZpY2UgYXQgMDAwMDphZTowMC4wIGZhaWxlZCBkdXJpbmcgaWRlbnRpZnkgYW5kIHdhc24mIzgy MTc7dCB1c2VkIGluIHBlcmYgZHVlIHRvIHRoZSAtciBhcmd1bWVudCBzcGVjaWZ5aW5nIG9ubHkg MDAwMDphZDowMC4wLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkFyZSB0aGVz ZSB0d28gZGV2aWNlcyB0aGUgc2FtZSBtb2RlbC9maXJtd2FyZSBvZiBOVk1lIGNvbnRyb2xsZXIs IG9yIGlzIHRoZXJlIHNvbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZW0/PG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+SXQgd291bGQgYWxzbyBiZSB1c2VmdWwgdG8gc2VlIHRoZSBk ZWJ1ZyBvdXRwdXQgZnJvbSB0aGUgTlZNZSBsaWJyYXJ5IGZvciB0aGUgZmFpbGluZyBjb250cm9s bGVyOyB5b3UgY2FuIGVuYWJsZSB0aGlzIGluIGhlbGxvX3dvcmxkLmMgYnkgYWRkaW5nIHRoZXNl IHR3byBsaW5lcyBhdCB0aGUgYmVnaW5uaW5nIG9mIG1haW4oKTo8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpw PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj4mbmJzcDsgc3Bka19sb2dfc2V0X3ByaW50X2xldmVsKFNQREtfTE9H X0RFQlVHKTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj4mbmJzcDsgc3Bka19sb2dfc2V0X3RyYWNlX2ZsYWcoJiM4 MjIwO2FsbCYjODIyMTspOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoYW5r cyw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj4tLSBEYW5pZWw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L3A+CjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJs dWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBpbiA0LjBwdCI+CjxkaXY+CjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBp biAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGEgbmFtZT0iX19fX19yZXBseXNlcGFy YXRvciI+PC9hPjxiPkZyb206PC9iPiBTUERLIFs8YSBocmVmPSJtYWlsdG86c3Bkay1ib3VuY2Vz QGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XQo8Yj5P biBCZWhhbGYgT2YgPC9iPkx1c2UsIFBhdWwgRTxicj4KPGI+U2VudDo8L2I+IFR1ZXNkYXksIE5v dmVtYmVyIDE0LCAyMDE3IDY6NDYgQU08YnI+CjxiPlRvOjwvYj4gU3RvcmFnZSBQZXJmb3JtYW5j ZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9yZyI+ c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj4KPGI+U3ViamVjdDo8L2I+IFJlOiBbU1BES10g SGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1cmluZyBkZXZpY2UgaW5pdGlhbGl6YXRpb24uPG86 cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJz cDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5XZWxsLCBtYXliZSBub3QuJm5ic3A7IENvdWxkIHZlcnkgd2VsbCBiZSBhbiBpc3N1ZSBp biB0aGUgZHJpdmVyIHRoYXQmIzgyMTc7cyBvbmx5IGV4cG9zZWQgdmlhIHRoaXMgaGFyZHdhcmUg ZXNwZWNpYWxseSBnaXZlbiB0aGF0IGhlbGxvX3dvcmxkIGZhaWxlZCBhbmQgcGVyZiBkaWQgbm90 LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlNyZWVuaSwgZG8geW91IGhhdmUg YW55IG90aGVyIGRhdGEgcG9pbnRzIHRoYXQgeW91IGNhbiBzaGFyZT8gTGlrZSwgZm9yIGV4YW1w bGUsIGhhdmUgeW91IHRyaWVkIG11bHRpcGxlIFNTRHMgb2YgdGhhdCBzYW1lIG1vZGVsIG9yIGFu eSBvdGhlciBtb2RlbD8gRG9lcyBoZWxsbyBjb25zaXN0ZW50bHkgZmFpbCBhbmQgcGVyZiBjb25z aXN0ZW50bHkgcGFzcz8gSQogaGF2ZW4mIzgyMTc7dCBkb25lIGEgdG9uIG9mIGRlYnVnIHdpdGgg ZWl0aGVyIGJ1dCB3aXRoIGEgbGl0dGxlIG1vcmUgaW5mbywgaWYgc29tZW9uZSBlbHNlIGRvZXNu JiM4MjE3O3QganVtcCBpbiB3aXRoIHRoZSBhbnN3ZXIsIEkgY2FuIHByZXR0eSBlYXNpbHkgaGVs cCBjb21wYXJlIHRoZSBpbml0IHNlcXVlbmNlIGluIGEgZmV3IG9mIHRoZXNlIGFuZCBtYXliZSBz dGFydCB0byBuYXJyb3cgZG93biB3aGF0JiM4MjE3O3MgZGlmZmVyZW50LjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoeDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlBhdWw8bzpwPjwvbzpwPjwv c3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxkaXY+CjxkaXYgc3R5bGU9ImJvcmRlcjpu b25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4g MGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFNQREsgWzxhIGhyZWY9Im1h aWx0bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnIj5tYWlsdG86c3Bkay1ib3VuY2VzQGxpc3Rz LjAxLm9yZzwvYT5dCjxiPk9uIEJlaGFsZiBPZiA8L2I+V3UsIFdlbnpob25nWDxicj4KPGI+U2Vu dDo8L2I+IFR1ZXNkYXksIE5vdmVtYmVyIDE0LCAyMDE3IDI6MTMgQU08YnI+CjxiPlRvOjwvYj4g U3RvcmFnZSBQZXJmb3JtYW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1haWx0bzpz cGRrQGxpc3RzLjAxLm9yZyI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0Ozxicj4KPGI+U3ViamVj dDo8L2I+IFJlOiBbU1BES10gSGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1cmluZyBkZXZpY2Ug aW5pdGlhbGl6YXRpb24uPG86cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IaSBTcmVlbmksPC9zcGFuPjxvOnA+PC9vOnA+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJz cDs8L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+VmVyaWZ5IHdpdGggbmV3ZXN0IHNwZGsgc291cmNlIGNvZGUgd2l0aCBpbnRl bCBQMzcwMCAscnVuIGhlbGxvd29yZCBldmVyeXRoaW5nIGlzIG9rOjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPnJv b3RAd2Fpa2lraTUtdGFyZ2V0On4vd29ya3NwYWNlL3NwZGsxMTAyL2V4YW1wbGVzL252bWUvaGVs bG9fd29ybGQjIC4vaGVsbG9fd29ybGQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TdGFydGluZyBEUERLIDE3LjA4 LjAgaW5pdGlhbGl6YXRpb24uLi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5bIERQREsgRUFMIHBhcmFtZXRlcnM6 IGhlbGxvX3dvcmxkIC1jIDB4MSAtLWZpbGUtcHJlZml4PXNwZGswIC0tYmFzZS12aXJ0YWRkcj0w eDEwMDAwMDAwMDAgLS1wcm9jLXR5cGU9YXV0byBdPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiBEZXRlY3Rl ZCAzNiBsY29yZShzKTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDogQXV0by1kZXRlY3RlZCBwcm9jZXNzIHR5 cGU6IFBSSU1BUlk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IE5vIGZyZWUgaHVnZXBhZ2VzIHJlcG9ydGVk IGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFByb2JpbmcgVkZJTyBz dXBwb3J0Li4uPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SW5pdGlhbGl6aW5nIE5WTWUgQ29udHJvbGxlcnM8bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0OTdEIj5FQUw6IFBDSSBkZXZpY2UgMDAwMDo4MTowMC4wIG9uIE5VTUEgc29ja2V0IDE8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5FQUw6Jm5ic3A7Jm5ic3A7IHByb2JlIGRyaXZlcjogODA4Njo5NTMgc3Bk a19udm1lPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoaW5nIHRvIDAwMDA6ODE6MDAuMDxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5 N0QiPkVBTDogUENJIGRldmljZSAwMDAwOjg0OjAwLjAgb24gTlVNQSBzb2NrZXQgMTxvOnA+PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPkVBTDombmJzcDsmbmJzcDsgcHJvYmUgZHJpdmVyOiA4MDg2Ojk1MyBzcGRrX252bWU8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5BdHRhY2hpbmcgdG8gMDAwMDo4NDowMC4wPG86cD48L286cD48L3NwYW4+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFM OiBQQ0kgZGV2aWNlIDAwMDA6ODU6MDAuMCBvbiBOVU1BIHNvY2tldCAxPG86cD48L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ RUFMOiZuYnNwOyZuYnNwOyBwcm9iZSBkcml2ZXI6IDgwODY6OTUzIHNwZGtfbnZtZTxvOnA+PC9v OnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx RjQ5N0QiPkF0dGFjaGluZyB0byAwMDAwOjg1OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0 byAwMDAwOjg1OjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVyIElOVEVMIFNTRFBF RE1EODAwRzQmbmJzcDsgKFBIRlQ2NDAxMDExQjgwMENHTiZuYnNwOyApIHdpdGggMSBuYW1lc3Bh Y2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpw PjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xv cjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjgxOjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Vc2luZyBj b250cm9sbGVyIElOVEVMIFNTRFBFRE1EODAwRzQmbmJzcDsgKFBIRlQ1MzczMDAyRDgwMENHTiZu YnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiZuYnNwOyBOYW1lc3BhY2Ug SUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hlZCB0byAwMDAwOjg0OjAwLjA8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5Vc2luZyBjb250cm9sbGVyIElOVEVMIFNTRFBFRE1EODAwRzQmbmJzcDsg KFBIRlQ1MzY0MDAwMzgwMENHTiZuYnNwOyApIHdpdGggMSBuYW1lc3BhY2VzLjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5 N0QiPiZuYnNwOyBOYW1lc3BhY2UgSUQ6IDEgc2l6ZTogODAwR0I8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5Jbml0 aWFsaXphdGlvbiBjb21wbGV0ZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3JsZCE8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5IZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IZWxsbyB3b3JsZCE8bzpwPjwvbzpwPjwv c3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdE Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJjb2xvcjojMUY0OTdEIj5TZWVtICZuYnNwO2l0JiM4MjE3O3MgeW91ciBoYXJkd2Fy ZSBjYXVzZSB0aGlzIGlzc3Vlcy4KPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ VGhhbmtzIDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPldlbnpob25nPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8 L286cD48L3NwYW4+PC9wPgo8ZGl2Pgo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9w OnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxiPkZyb206PC9iPiBTUERLIFs8YSBocmVmPSJtYWlsdG86c3Bkay1ib3Vu Y2VzQGxpc3RzLjAxLm9yZyI+bWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmc8L2E+XQo8 Yj5PbiBCZWhhbGYgT2YgPC9iPlNyZWVuaSAoU3JlZW5pdmFzYSkgQnVzYW0gKFN0ZWxsdXMpPGJy Pgo8Yj5TZW50OjwvYj4gVHVlc2RheSwgTm92ZW1iZXIgMTQsIDIwMTcgMjozNiBQTTxicj4KPGI+ VG86PC9iPiA8YSBocmVmPSJtYWlsdG86c3Bka0BsaXN0cy4wMS5vcmciPnNwZGtAbGlzdHMuMDEu b3JnPC9hPjxicj4KPGI+U3ViamVjdDo8L2I+IFtTUERLXSBIZWxsb3dvcmxkIHByb2dyYW0gZmFp bHMgZHVyaW5nIGRldmljZSBpbml0aWFsaXphdGlvbi48bzpwPjwvbzpwPjwvcD4KPC9kaXY+Cjwv ZGl2Pgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+SSB3YXMgdGVzdGluZyB0aGUgaGVsbG93b3JsZCBwcm9ncmFtIG9uIHVidW50 dSB3aXRoIE5WTWUgU1NEIGFuZCB0aGUgcHJvYmUoKSBpcyBmYWlsaW5nLiBQbGVhc2UgbGV0IG1l IGtub3cgaWYgdGhpcyBpcyBhIGtub3duIHByb2JsZW0uCjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj5MZXQgbWUga25vdyBpZiB0aGVyZSBpcyB3b3JrYXJvdW5kLjxvOnA+PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGUgcGVyZiBwcm9ncmFtIGRpZCBub3QgaGF2 ZSBhbnkgcHJvYmxlbS4gPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgaGF2 ZSBhdHRhY2hlZCB0aGUgb3V0cHV0IGZvciBib3RoIHRlc3RzLjxvOnA+PC9vOnA+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5sc3BjaXwgZ3JlcCBOb248bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PGI+YWQ6MDAuMCBOb24tVm9sYXRpbGUgbWVtb3J5IGNvbnRyb2xsZXI6IFNh bXN1bmcgRWxlY3Ryb25pY3MgQ28gTHRkIE5WTWUgU1NEIENvbnRyb2xsZXI8L2I+IChyZXYgMDEp PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFlOjAwLjAgTm9uLVZvbGF0aWxl IG1lbW9yeSBjb250cm9sbGVyOiBTYW1zdW5nIEVsZWN0cm9uaWNzIENvIEx0ZCBOVk1lIFNTRCBD b250cm9sbGVyIChyZXYgMDEpPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnVu YW1lIC1hPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkxpbnV4IHNqY2E1cmFk ZXZjdDEzIDQuMTAuMC0zOC1nZW5lcmljICM0Mn4xNi4wNC4xLVVidW50dSBTTVAgVHVlIE9jdCAx MCAxNjozMjoyMCBVVEMgMjAxNyB4ODZfNjQgeDg2XzY0IHg4Nl82NCBHTlUvTGludXg8bzpwPjwv bzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+MS4gaGVsbG93b3JsZCBvdXRwdXQ6PG86cD48 L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5BdHRhY2hlZCB0byAwMDAwOmFk OjAwLjA8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VXNpbmcgY29udHJvbGxl ciBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5ZQUZBMDAxNDgmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgKSB3aXRoIDEgbmFtZXNwYWNlcy48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+Jm5ic3A7IE5hbWVzcGFjZSBJRDogMSBzaXplOiA0ODBHQjxvOnA+PC9vOnA+ PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5udm1lX2N0cmxyLmM6MTQ3NTpudm1lX2N0cmxyX3By b2Nlc3NfaW5pdDogKkVSUk9SKjogSW5pdGlhbGl6YXRpb24gdGltZWQgb3V0IGluIHN0YXRlIDE8 bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+bnZtZV9jdHJsci5jOiA1MjM6bnZt ZV9jdHJscl9zaHV0ZG93bjogKkVSUk9SKjogZGlkIG5vdCBzaHV0ZG93biB3aXRoaW4gNSBzZWNv bmRzPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNwZGtfbnZtZV9wcm9iZSgp IGZhaWxlZDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+Mi4gcGVyZiBvdXRwdXQ6PG86cD48L286cD48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPnN1ZG8gLi9wZXJmIC1xIDEgLXMgNDA5NiAtdCAxMCAt dyByZWFkIC1yICZxdW90O3RydHlwZTpQQ0llIHRyYWRkcjowMDAwOmFkOjAwLjAmcXVvdDs8bzpw PjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+LS0tLS0tLS0tLS0tLS0tPG86cD48L286 cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPlN0YXJ0aW5nIERQREsgMTcuMDguMCBpbml0aWFs aXphdGlvbi4uLjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5bIERQREsgRUFM IHBhcmFtZXRlcnM6IHBlcmYgLWMgMHgxIC0tZmlsZS1wcmVmaXg9c3Bka19waWQ3NjQ3IF08bzpw PjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+RUFMOiBEZXRlY3RlZCAzMiBsY29yZShz KTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5FQUw6IE5vIGZyZWUgaHVnZXBh Z2VzIHJlcG9ydGVkIGluIGh1Z2VwYWdlcy0xMDQ4NTc2a0I8bzpwPjwvbzpwPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+QXR0YWNoZWQgdG8gTlZNZSBDb250cm9sbGVyIGF0IDAwMDA6YWQ6MDAu MCBbMTQ0ZDphODAyXTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5Bc3NvY2lh dGluZyBTQU1TVU5HIE1aUVdWNDgwSENHTSAoUzFUUk5ZQUZBMDAxNDgmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgKSB3aXRoIGxjb3JlIDA8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+SW5pdGlhbGl6YXRpb24gY29tcGxldGUuIExhdW5jaGluZyB3b3JrZXJzLjxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TdGFydGluZyB0aHJlYWQgb24gY29yZSAw PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PG86cD48L286cD48L3A+CjxwIGNs YXNzPSJNc29Ob3JtYWwiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtMYXRlbmN5 KHVzKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5EZXZpY2UgSW5mb3JtYXRp b24mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgOiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBJT1BTJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IE1CL3MmbmJzcDsmbmJzcDsmbmJzcDsgQXZlcmFnZSZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBtaW4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgbWF4PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PlNBTVNVTkcgTVpRV1Y0ODBIQ0dNIChTMVRSTllBRkEwMDE0OCZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyApIGZyb20gY29yZSAwOiZuYnNwOyZuYnNwOyAxMzc3My41MCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyA1My44MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA3 Mi41OSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA2MC4yMCZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAyNDMuODI8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08bzpwPjwv bzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VG90YWwmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgOiZuYnNwOyZuYnNw OyAxMzc3My41MCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA1My44MCZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyA3Mi41OSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA2 MC4yMCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAyNDMuODI8bzpwPjwvbzpwPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwi PlRoYW5rcyBmb3IgeW91ciBoZWxwLDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5TcmVlbmk8bzpwPjwvbzpwPjwvcD4KPC9kaXY+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============7520765512725123832==--