From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============8613309922004789843==" MIME-Version: 1.0 From: Sreeni (Sreenivasa) Busam (Stellus) Subject: Re: [SPDK] Helloworld program fails during device initialization. Date: Tue, 14 Nov 2017 18:09:51 +0000 Message-ID: In-Reply-To: 7B7F6AC04D81AD4397425066529A68450280FA50@shsmsx102.ccr.corp.intel.com List-ID: To: spdk@lists.01.org --===============8613309922004789843== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Thanks Wu. I thought it could be hardware problem with NVMe device. I do no= t understand why the nvme probe worked in perf application. I agree with your investigation that it could be a hardware problem, am goi= ng to get a different SSD device and try the test with the latest SPDK code= . How do I know intel version is P3700? Sreeni From: SPDK [mailto:spdk-bounces(a)lists.01.org] On Behalf Of Wu, WenzhongX Sent: Tuesday, November 14, 2017 1: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 --===============8613309922004789843== 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 cml0eTo5OTsKCWNvbG9yOiM5NTRGNzI7Cgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30Kc3Bh bi5FbWFpbFN0eWxlMTcKCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsKCWZvbnQtZmFtaWx5OiJD YWxpYnJpIixzYW5zLXNlcmlmOwoJY29sb3I6d2luZG93dGV4dDt9CnNwYW4uRW1haWxTdHlsZTE4 Cgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7Cglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z ZXJpZjsKCWNvbG9yOiMxRjQ5N0Q7fQpzcGFuLkVtYWlsU3R5bGUxOQoJe21zby1zdHlsZS10eXBl OnBlcnNvbmFsLXJlcGx5OwoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7Cgljb2xv cjojMUY0OTdEO30KLk1zb0NocERlZmF1bHQKCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsK CWZvbnQtc2l6ZToxMC4wcHQ7fQpAcGFnZSBXb3JkU2VjdGlvbjEKCXtzaXplOjguNWluIDExLjBp bjsKCW1hcmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9CmRpdi5Xb3JkU2VjdGlvbjEKCXtw YWdlOldvcmRTZWN0aW9uMTt9Ci0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+Cjxv OnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+CjwveG1sPjwhW2Vu ZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPgo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRp dCI+CjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPgo8L286c2hhcGVsYXlvdXQ+PC94 bWw+PCFbZW5kaWZdLS0+CjwvaGVhZD4KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9IiMwNTYzQzEi IHZsaW5rPSIjOTU0RjcyIj4KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoYW5rcyBXdS4gSSB0aG91Z2h0 IGl0IGNvdWxkIGJlIGhhcmR3YXJlIHByb2JsZW0gd2l0aCBOVk1lIGRldmljZS4gSSBkbyBub3Qg dW5kZXJzdGFuZCB3aHkgdGhlIG52bWUgcHJvYmUgd29ya2VkIGluIHBlcmYgYXBwbGljYXRpb24u CjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 ImNvbG9yOiMxRjQ5N0QiPkkgYWdyZWUgd2l0aCB5b3VyIGludmVzdGlnYXRpb24gdGhhdCBpdCBj b3VsZCBiZSBhIGhhcmR3YXJlIHByb2JsZW0sIGFtIGdvaW5nIHRvIGdldCBhIGRpZmZlcmVudCBT U0QgZGV2aWNlIGFuZCB0cnkgdGhlIHRlc3Qgd2l0aCB0aGUgbGF0ZXN0IFNQREsgY29kZS4gSG93 IGRvIEkga25vdyBpbnRlbCB2ZXJzaW9uIGlzIFAzNzAwPwo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpwPiZu YnNwOzwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJj b2xvcjojMUY0OTdEIj5TcmVlbmk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjxhIG5hbWU9Il9NYWlsRW5kQ29tcG9zZSI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5 N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvYT48L3A+CjxkaXY+CjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBp biAwaW4gMGluIj4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFNQREsgW21haWx0 bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnXSA8Yj5PbiBCZWhhbGYgT2YKPC9iPld1LCBXZW56 aG9uZ1g8YnI+CjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBOb3ZlbWJlciAxNCwgMjAxNyAxOjEzIEFN PGJyPgo8Yj5Ubzo8L2I+IFN0b3JhZ2UgUGVyZm9ybWFuY2UgRGV2ZWxvcG1lbnQgS2l0ICZsdDtz cGRrQGxpc3RzLjAxLm9yZyZndDs8YnI+CjxiPlN1YmplY3Q6PC9iPiBSZTogW1NQREtdIEhlbGxv d29ybGQgcHJvZ3JhbSBmYWlscyBkdXJpbmcgZGV2aWNlIGluaXRpYWxpemF0aW9uLjxvOnA+PC9v OnA+PC9wPgo8L2Rpdj4KPC9kaXY+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ SGkgU3JlZW5pLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlZlcmlmeSB3aXRo IG5ld2VzdCBzcGRrIHNvdXJjZSBjb2RlIHdpdGggaW50ZWwgUDM3MDAgLHJ1biBoZWxsb3dvcmQg ZXZlcnl0aGluZyBpcyBvazo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5yb290QHdhaWtpa2k1LXRhcmdldDp+L3dv cmtzcGFjZS9zcGRrMTEwMi9leGFtcGxlcy9udm1lL2hlbGxvX3dvcmxkIyAuL2hlbGxvX3dvcmxk PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6IzFGNDk3RCI+U3RhcnRpbmcgRFBESyAxNy4wOC4wIGluaXRpYWxpemF0aW9uLi4uPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+WyBEUERLIEVBTCBwYXJhbWV0ZXJzOiBoZWxsb193b3JsZCAtYyAweDEgLS1m aWxlLXByZWZpeD1zcGRrMCAtLWJhc2UtdmlydGFkZHI9MHgxMDAwMDAwMDAwIC0tcHJvYy10eXBl PWF1dG8gXTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDogRGV0ZWN0ZWQgMzYgbGNvcmUocyk8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0 OTdEIj5FQUw6IEF1dG8tZGV0ZWN0ZWQgcHJvY2VzcyB0eXBlOiBQUklNQVJZPG86cD48L286cD48 L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3 RCI+RUFMOiBObyBmcmVlIGh1Z2VwYWdlcyByZXBvcnRlZCBpbiBodWdlcGFnZXMtMTA0ODU3NmtC PG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Y29sb3I6IzFGNDk3RCI+RUFMOiBQcm9iaW5nIFZGSU8gc3VwcG9ydC4uLjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi PkluaXRpYWxpemluZyBOVk1lIENvbnRyb2xsZXJzPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiBQQ0kgZGV2 aWNlIDAwMDA6ODE6MDAuMCBvbiBOVU1BIHNvY2tldCAxPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+RUFMOiZuYnNw OyZuYnNwOyBwcm9iZSBkcml2ZXI6IDgwODY6OTUzIHNwZGtfbnZtZTxvOnA+PC9vOnA+PC9zcGFu PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkF0 dGFjaGluZyB0byAwMDAwOjgxOjAwLjA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6IFBDSSBkZXZpY2UgMDAw MDo4NDowMC4wIG9uIE5VTUEgc29ja2V0IDE8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5FQUw6Jm5ic3A7Jm5ic3A7 IHByb2JlIGRyaXZlcjogODA4Njo5NTMgc3Bka19udm1lPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoaW5n IHRvIDAwMDA6ODQ6MDAuMDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDogUENJIGRldmljZSAwMDAwOjg1OjAw LjAgb24gTlVNQSBzb2NrZXQgMTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPkVBTDombmJzcDsmbmJzcDsgcHJvYmUg ZHJpdmVyOiA4MDg2Ojk1MyBzcGRrX252bWU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5BdHRhY2hpbmcgdG8gMDAw MDo4NTowMC4wPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh biBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoZWQgdG8gMDAwMDo4NTowMC4wPG86cD48L286 cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFG NDk3RCI+VXNpbmcgY29udHJvbGxlciBJTlRFTCBTU0RQRURNRDgwMEc0Jm5ic3A7IChQSEZUNjQw MTAxMUI4MDBDR04mbmJzcDsgKSB3aXRoIDEgbmFtZXNwYWNlcy48bzpwPjwvbzpwPjwvc3Bhbj48 L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj4mbmJz cDsgTmFtZXNwYWNlIElEOiAxIHNpemU6IDgwMEdCPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QXR0YWNoZWQgdG8g MDAwMDo4MTowMC4wPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48 c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+VXNpbmcgY29udHJvbGxlciBJTlRFTCBTU0RQRURN RDgwMEc0Jm5ic3A7IChQSEZUNTM3MzAwMkQ4MDBDR04mbmJzcDsgKSB3aXRoIDEgbmFtZXNwYWNl cy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl PSJjb2xvcjojMUY0OTdEIj4mbmJzcDsgTmFtZXNwYWNlIElEOiAxIHNpemU6IDgwMEdCPG86cD48 L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6 IzFGNDk3RCI+QXR0YWNoZWQgdG8gMDAwMDo4NDowMC4wPG86cD48L286cD48L3NwYW4+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+VXNpbmcgY29u dHJvbGxlciBJTlRFTCBTU0RQRURNRDgwMEc0Jm5ic3A7IChQSEZUNTM2NDAwMDM4MDBDR04mbmJz cDsgKSB3aXRoIDEgbmFtZXNwYWNlcy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj4mbmJzcDsgTmFtZXNwYWNlIElE OiAxIHNpemU6IDgwMEdCPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SW5pdGlhbGl6YXRpb24gY29tcGxldGUuPG86 cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29s b3I6IzFGNDk3RCI+SGVsbG8gd29ybGQhPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+SGVsbG8gd29ybGQhPG86cD48 L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6 IzFGNDk3RCI+SGVsbG8gd29ybGQhPG86cD48L286cD48L3NwYW4+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3Nw YW4+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+ U2VlbSAmbmJzcDtpdCYjODIxNztzIHlvdXIgaGFyZHdhcmUgY2F1c2UgdGhpcyBpc3N1ZXMuCjxv OnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNv bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPlRoYW5rcyA8bzpwPjwvbzpwPjwvc3Bh bj48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5X ZW56aG9uZzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4KPGRpdj4K PGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3Bh ZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj5Gcm9tOjwv Yj4gU1BESyBbPGEgaHJlZj0ibWFpbHRvOnNwZGstYm91bmNlc0BsaXN0cy4wMS5vcmciPm1haWx0 bzpzcGRrLWJvdW5jZXNAbGlzdHMuMDEub3JnPC9hPl0KPGI+T24gQmVoYWxmIE9mIDwvYj5TcmVl bmkgKFNyZWVuaXZhc2EpIEJ1c2FtIChTdGVsbHVzKTxicj4KPGI+U2VudDo8L2I+IFR1ZXNkYXks IE5vdmVtYmVyIDE0LCAyMDE3IDI6MzYgUE08YnI+CjxiPlRvOjwvYj4gPGEgaHJlZj0ibWFpbHRv OnNwZGtAbGlzdHMuMDEub3JnIj5zcGRrQGxpc3RzLjAxLm9yZzwvYT48YnI+CjxiPlN1YmplY3Q6 PC9iPiBbU1BES10gSGVsbG93b3JsZCBwcm9ncmFtIGZhaWxzIGR1cmluZyBkZXZpY2UgaW5pdGlh bGl6YXRpb24uPG86cD48L286cD48L3A+CjwvZGl2Pgo8L2Rpdj4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkkgd2FzIHRlc3Rp bmcgdGhlIGhlbGxvd29ybGQgcHJvZ3JhbSBvbiB1YnVudHUgd2l0aCBOVk1lIFNTRCBhbmQgdGhl IHByb2JlKCkgaXMgZmFpbGluZy4gUGxlYXNlIGxldCBtZSBrbm93IGlmIHRoaXMgaXMgYSBrbm93 biBwcm9ibGVtLgo8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+TGV0IG1lIGtu b3cgaWYgdGhlcmUgaXMgd29ya2Fyb3VuZC48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05v cm1hbCI+VGhlIHBlcmYgcHJvZ3JhbSBkaWQgbm90IGhhdmUgYW55IHByb2JsZW0uIDxvOnA+PC9v OnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5JIGhhdmUgYXR0YWNoZWQgdGhlIG91dHB1dCBm b3IgYm90aCB0ZXN0cy48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+bHNwY2l8 IGdyZXAgTm9uPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPmFkOjAwLjAg Tm9uLVZvbGF0aWxlIG1lbW9yeSBjb250cm9sbGVyOiBTYW1zdW5nIEVsZWN0cm9uaWNzIENvIEx0 ZCBOVk1lIFNTRCBDb250cm9sbGVyPC9iPiAocmV2IDAxKTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj5hZTowMC4wIE5vbi1Wb2xhdGlsZSBtZW1vcnkgY29udHJvbGxlcjogU2Ft c3VuZyBFbGVjdHJvbmljcyBDbyBMdGQgTlZNZSBTU0QgQ29udHJvbGxlciAocmV2IDAxKTxvOnA+ PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj51bmFtZSAtYTxvOnA+PC9vOnA+PC9wPgo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5MaW51eCBzamNhNXJhZGV2Y3QxMyA0LjEwLjAtMzgtZ2VuZXJp YyAjNDJ+MTYuMDQuMS1VYnVudHUgU01QIFR1ZSBPY3QgMTAgMTY6MzI6MjAgVVRDIDIwMTcgeDg2 XzY0IHg4Nl82NCB4ODZfNjQgR05VL0xpbnV4PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjEuIGhlbGxvd29ybGQgb3V0cHV0OjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNv Tm9ybWFsIj4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08bzpwPjwvbzpwPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+QXR0YWNoZWQgdG8gMDAwMDphZDowMC4wPG86cD48L286cD48L3A+Cjxw IGNsYXNzPSJNc29Ob3JtYWwiPlVzaW5nIGNvbnRyb2xsZXIgU0FNU1VORyBNWlFXVjQ4MEhDR00g KFMxVFJOWUFGQTAwMTQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICkgd2l0aCAxIG5h bWVzcGFjZXMuPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPiZuYnNwOyBOYW1l c3BhY2UgSUQ6IDEgc2l6ZTogNDgwR0I8bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1h bCI+bnZtZV9jdHJsci5jOjE0NzU6bnZtZV9jdHJscl9wcm9jZXNzX2luaXQ6ICpFUlJPUio6IElu aXRpYWxpemF0aW9uIHRpbWVkIG91dCBpbiBzdGF0ZSAxPG86cD48L286cD48L3A+CjxwIGNsYXNz PSJNc29Ob3JtYWwiPm52bWVfY3RybHIuYzogNTIzOm52bWVfY3RybHJfc2h1dGRvd246ICpFUlJP Uio6IGRpZCBub3Qgc2h1dGRvd24gd2l0aGluIDUgc2Vjb25kczxvOnA+PC9vOnA+PC9wPgo8cCBj bGFzcz0iTXNvTm9ybWFsIj5zcGRrX252bWVfcHJvYmUoKSBmYWlsZWQ8bzpwPjwvbzpwPjwvcD4K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPjIuIHBlcmYgb3V0cHV0OjxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFs Ij5zdWRvIC4vcGVyZiAtcSAxIC1zIDQwOTYgLXQgMTAgLXcgcmVhZCAtciAmcXVvdDt0cnR5cGU6 UENJZSB0cmFkZHI6MDAwMDphZDowMC4wJnF1b3Q7PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPi0tLS0tLS0tLS0tLS0tLTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9y bWFsIj5TdGFydGluZyBEUERLIDE3LjA4LjAgaW5pdGlhbGl6YXRpb24uLi48bzpwPjwvbzpwPjwv cD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WyBEUERLIEVBTCBwYXJhbWV0ZXJzOiBwZXJmIC1jIDB4 MSAtLWZpbGUtcHJlZml4PXNwZGtfcGlkNzY0NyBdPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJN c29Ob3JtYWwiPkVBTDogRGV0ZWN0ZWQgMzIgbGNvcmUocyk8bzpwPjwvbzpwPjwvcD4KPHAgY2xh c3M9Ik1zb05vcm1hbCI+RUFMOiBObyBmcmVlIGh1Z2VwYWdlcyByZXBvcnRlZCBpbiBodWdlcGFn ZXMtMTA0ODU3NmtCPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkF0dGFjaGVk IHRvIE5WTWUgQ29udHJvbGxlciBhdCAwMDAwOmFkOjAwLjAgWzE0NGQ6YTgwMl08bzpwPjwvbzpw PjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+QXNzb2NpYXRpbmcgU0FNU1VORyBNWlFXVjQ4MEhD R00gKFMxVFJOWUFGQTAwMTQ4Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICkgd2l0aCBs Y29yZSAwPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPkluaXRpYWxpemF0aW9u IGNvbXBsZXRlLiBMYXVuY2hpbmcgd29ya2Vycy48bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1z b05vcm1hbCI+U3RhcnRpbmcgdGhyZWFkIG9uIGNvcmUgMDxvOnA+PC9vOnA+PC9wPgo8cCBjbGFz cz0iTXNvTm9ybWFsIj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PTxvOnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj4mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7TGF0ZW5jeSh1cyk8bzpwPjwvbzpwPjwvcD4KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+RGV2aWNlIEluZm9ybWF0aW9uJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgSU9QUyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBNQi9zJm5ic3A7 Jm5ic3A7Jm5ic3A7IEF2ZXJhZ2UmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgbWluJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG1heDxv OnA+PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5TQU1TVU5HIE1aUVdWNDgwSENHTSAo UzFUUk5ZQUZBMDAxNDgmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKSBmcm9tIGNvcmUg MDombmJzcDsmbmJzcDsgMTM3NzMuNTAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgNTMu ODAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgNzIuNTkmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgNjAuMjAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMjQzLjgyPG86cD48L286 cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29O b3JtYWwiPlRvdGFsJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDombmJzcDsmbmJzcDsgMTM3NzMuNTAmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgNTMuODAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgNzIu NTkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgNjAuMjAmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsgMjQzLjgyPG86cD48L286cD48L3A+CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPgo8cCBjbGFzcz0iTXNvTm9ybWFsIj5UaGFua3MgZm9yIHlvdXIgaGVscCw8 bzpwPjwvbzpwPjwvcD4KPHAgY2xhc3M9Ik1zb05vcm1hbCI+U3JlZW5pPG86cD48L286cD48L3A+ CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============8613309922004789843==--