From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============1337083075781525282==" MIME-Version: 1.0 From: Kiran Dikshit Subject: Re: [SPDK] Need help for iSCSI configuration for NVMe disc Date: Fri, 26 May 2017 07:37:27 +0530 Message-ID: In-Reply-To: 222C004E-8DF3-48AC-9E0A-7F2D082C10DC@intel.com List-ID: To: spdk@lists.01.org --===============1337083075781525282== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Harris, = After the previous mail, i did check out the masters and DPDK version 17.05= and found the same issue. = SPDK git commit ID : 5597e835c8981d6500d00c0f88fd10edae173621 Thank you Kiran > On 26-May-2017, at 12:38 AM, Harris, James R = wrote: > = > Hi Kiran, > = > Can you confirm which SPDK git commit ID you are working from? Since the= re have been changes in this transport ID format, I want to make sure I pro= vide you the correct details based on the SPDK version you are using. > = > Thanks, > = > -Jim > = > = > From: Kiran Dikshit > Date: Wednesday, May 24, 2017 at 10:50 PM > To: James Harris > Cc: Storage Performance Development Kit > Subject: Re: [SPDK] Need help for iSCSI configuration for NVMe disc > = > Hi Harris, = > = > I did try with the TransportID =E2=80=9Ctrtype:PCIe traddr:0000.0a:00.0= =E2=80=9D Nvme3 option i am still seeing the same issue. = > = > Thank you > Kiran > = >> On 24-May-2017, at 9:50 PM, Harris, James R > wrote: >> = >>> = >>> On May 24, 2017, at 4:10 AM, Kiran Dikshit > wrote: >>> = >>> Hi All, >>> = >>> I am trying to configure iSCSI for a NVMe drive and getting the below e= rror=E2=80=99s. I have unbound the NVMe drive from kernel using the setup.s= h. >>> = >>> tgt_node.c: 718:spdk_iscsi_tgt_node_construct: ***ERROR*** Could not co= nstruct SCSI device >>> tgt_node.c: 984:spdk_cf_add_iscsi_tgt_node: ***ERROR*** tgt_node1: add_= iscsi_target_node error >>> tgt_node.c:1010:spdk_iscsi_init_tgt_nodes: ***ERROR*** spdk_cf_add_iscs= i_tgt_node() failed >>> iscsi_subsystem.c: 965:spdk_iscsi_subsystem_init: ***ERROR*** spdk_iscs= i_init_tgt_nodes() failed >>> app.c: 404:spdk_app_init: ***ERROR*** spdk_subsystem_init() failed >>> = >>> = >>> = >>> Below is the section of my iscsi.conf.in file f= or reference. >>> = >>> # NVMe configuration options >>> [Nvme] >>> # NVMe Device Whitelist >>> # Users may specify which NVMe devices to claim by their PCI >>> # domain, bus, device, and function. The format is dddd:bb:dd.f, which = is >>> # the same format displayed by lspci or in /sys/bus/pci/devices. The se= cond >>> # argument is a "name" for the device that can be anything. The name >>> # is referenced later in the Subsystem section. >>> # >>> # Alternatively, the user can specify ClaimAllDevices. All >>> # NVMe devices will be claimed and named Nvme0, Nvme1, etc. >>> # BDF 0000:00:00.0 Nvme0 >>> BDF 0000:0a:00.0 Nvme3 >> = >> Hi Kiran, >> = >> The format of the NVMe section changed in the last SPDK release, so that= we could add support for remote NVMe-oF devices as well. >> = >> Can you try the following instead? >> = >> [Nvme] >> TransportID =E2=80=9Ctrtype:PCIe traddr:0000.0a:00.0=E2=80=9D Nvme3 >> = >> The comment for spdk_nvme_transport_id_parse() in include/spdk/nvme.h de= scribes the format in more detail, including how to specify NVMe-oF targets. >> = >> Thanks, >> = >> -Jim >> = >> = >>> = >>> [TargetNode1] >>> TargetName disk2 >>> TargetAlias "Data Disk2" >>> Mapping PortalGroup1 InitiatorGroup1 >>> AuthMethod Auto >>> AuthGroup AuthGroup1 >>> UseDigest Auto >>> LUN0 Nvme3 >>> QueueDepth 64 >>> = >>> = >>> Thank you >>> Kiran >>> _______________________________________________ >>> SPDK mailing list >>> SPDK(a)lists.01.org >>> https://lists.01.org/mailman/listinfo/spdk >> _______________________________________________ >> SPDK mailing list >> SPDK(a)lists.01.org >> https://lists.01.org/mailman/listinfo/spdk > = --===============1337083075781525282== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0 L2h0bWwgY2hhcnNldD11dGYtOCI+PC9oZWFkPjxib2R5IHN0eWxlPSJ3b3JkLXdyYXA6IGJyZWFr LXdvcmQ7IC13ZWJraXQtbmJzcC1tb2RlOiBzcGFjZTsgLXdlYmtpdC1saW5lLWJyZWFrOiBhZnRl ci13aGl0ZS1zcGFjZTsiIGNsYXNzPSIiPkhpIEhhcnJpcywmbmJzcDs8ZGl2IGNsYXNzPSIiPjxi ciBjbGFzcz0iIj48L2Rpdj48ZGl2IGNsYXNzPSIiPkFmdGVyIHRoZSBwcmV2aW91cyBtYWlsLCBp IGRpZCBjaGVjayBvdXQgdGhlIG1hc3RlcnMgYW5kIERQREsgdmVyc2lvbiAxNy4wNSBhbmQgZm91 bmQgdGhlIHNhbWUgaXNzdWUuJm5ic3A7PC9kaXY+PGRpdiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+ PC9kaXY+PGRpdiBjbGFzcz0iIj48ZGl2IHN0eWxlPSJtYXJnaW46IDBweDsgbGluZS1oZWlnaHQ6 IG5vcm1hbDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogaW5pdGlhbDsgLXdlYmtpdC10ZXh0 LXN0cm9rZS1jb2xvcjogcmdiKDAsIDAsIDApOyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZTogMTJweDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgLXdlYmtpdC1mb250LWtlcm5pbmc6IG5v bmU7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsiIGNsYXNzPSIiPlNQREsg Z2l0IGNvbW1pdCBJRCA6IDwvc3Bhbj48c3BhbiBzdHlsZT0iLXdlYmtpdC1mb250LWtlcm5pbmc6 IG5vbmU7IiBjbGFzcz0iIj41NTk3ZTgzNWM4OTgxZDY1MDBkMDBjMGY4OGZkMTBlZGFlMTczNjIx PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPjwvZGl2PjxkaXYg Y2xhc3M9IiI+VGhhbmsgeW91PC9kaXY+PGRpdiBjbGFzcz0iIj5LaXJhbjwvZGl2PjxkaXYgY2xh c3M9IiI+PGJyIGNsYXNzPSIiPjxkaXYgY2xhc3M9IiI+PGRpdj48YmxvY2txdW90ZSB0eXBlPSJj aXRlIiBjbGFzcz0iIj48ZGl2IGNsYXNzPSIiPk9uIDI2LU1heS0yMDE3LCBhdCAxMjozOCBBTSwg SGFycmlzLCBKYW1lcyBSICZsdDs8YSBocmVmPSJtYWlsdG86amFtZXMuci5oYXJyaXNAaW50ZWwu Y29tIiBjbGFzcz0iIj5qYW1lcy5yLmhhcnJpc0BpbnRlbC5jb208L2E+Jmd0OyB3cm90ZTo8L2Rp dj48YnIgY2xhc3M9IkFwcGxlLWludGVyY2hhbmdlLW5ld2xpbmUiPjxkaXYgY2xhc3M9IiI+PGRp diBjbGFzcz0iV29yZFNlY3Rpb24xIiBzdHlsZT0icGFnZTogV29yZFNlY3Rpb24xOyBmb250LWZh bWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHg7IGZvbnQtc3R5bGU6IG5vcm1hbDsgZm9u dC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IG5vcm1hbDsgbGV0dGVyLXNwYWNp bmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQtdHJh bnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsgLXdl YmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LCAy NTUsIDI1NSk7Ij48ZGl2IHN0eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6 ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmk7IiBjbGFzcz0iIj5I aSBLaXJhbiw8bzpwIGNsYXNzPSIiPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJn aW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1l cyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9u dC1mYW1pbHk6IENhbGlicmk7IiBjbGFzcz0iIj48bzpwIGNsYXNzPSIiPiZuYnNwOzwvbzpwPjwv c3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6 ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmk7IiBjbGFzcz0iIj5D YW4geW91IGNvbmZpcm0gd2hpY2ggU1BESyBnaXQgY29tbWl0IElEIHlvdSBhcmUgd29ya2luZyBm cm9tPyZuYnNwOyBTaW5jZSB0aGVyZSBoYXZlIGJlZW4gY2hhbmdlcyBpbiB0aGlzIHRyYW5zcG9y dCBJRCBmb3JtYXQsIEkgd2FudCB0byBtYWtlIHN1cmUgSSBwcm92aWRlIHlvdSB0aGUgY29ycmVj dCBkZXRhaWxzIGJhc2VkIG9uIHRoZSBTUERLIHZlcnNpb24geW91IGFyZSB1c2luZy48bzpwIGNs YXNzPSIiPjwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4w MDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIg Y2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGli cmk7IiBjbGFzcz0iIj48bzpwIGNsYXNzPSIiPiZuYnNwOzwvbzpwPjwvc3Bhbj48L2Rpdj48ZGl2 IHN0eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1m YW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTogMTFwdDsgZm9udC1mYW1pbHk6IENhbGlicmk7IiBjbGFzcz0iIj5UaGFua3MsPG86cCBjbGFz cz0iIj48L286cD48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAw MXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNs YXNzPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJp OyIgY2xhc3M9IiI+PG86cCBjbGFzcz0iIj4mbmJzcDs8L286cD48L3NwYW4+PC9kaXY+PGRpdiBz dHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFt aWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 IDExcHQ7IGZvbnQtZmFtaWx5OiBDYWxpYnJpOyIgY2xhc3M9IiI+LUppbTxvOnAgY2xhc3M9IiI+ PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMGluIDBpbiAwLjAwMDFwdDsg Zm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IiBjbGFzcz0i Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0OyBmb250LWZhbWlseTogQ2FsaWJyaTsiIGNs YXNzPSIiPjxvOnAgY2xhc3M9IiI+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9 Im1hcmdpbjogMGluIDBpbiAwLjAwMDFwdDsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTog J1RpbWVzIE5ldyBSb21hbic7IiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMXB0 OyBmb250LWZhbWlseTogQ2FsaWJyaTsiIGNsYXNzPSIiPjxvOnAgY2xhc3M9IiI+Jm5ic3A7PC9v OnA+PC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9ImJvcmRlci1zdHlsZTogc29saWQgbm9uZSBub25l OyBib3JkZXItdG9wLXdpZHRoOiAxcHQ7IGJvcmRlci10b3AtY29sb3I6IHJnYigxODEsIDE5Niwg MjIzKTsgcGFkZGluZzogM3B0IDBpbiAwaW47IiBjbGFzcz0iIj48ZGl2IHN0eWxlPSJtYXJnaW46 IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBO ZXcgUm9tYW4nOyIgY2xhc3M9IiI+PGIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OiBDYWxpYnJpOyIgY2xhc3M9IiI+RnJvbTo8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNw YWNlIj4mbmJzcDs8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IENh bGlicmk7IiBjbGFzcz0iIj5LaXJhbiBEaWtzaGl0ICZsdDs8YSBocmVmPSJtYWlsdG86a2Rpa3No aXRAY2xvdWRzaW1wbGUuY29tIiBjbGFzcz0iIj5rZGlrc2hpdEBjbG91ZHNpbXBsZS5jb208L2E+ Jmd0OzxiciBjbGFzcz0iIj48YiBjbGFzcz0iIj5EYXRlOjxzcGFuIGNsYXNzPSJBcHBsZS1jb252 ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2I+V2VkbmVzZGF5LCBNYXkgMjQsIDIwMTcgYXQg MTA6NTAgUE08YnIgY2xhc3M9IiI+PGIgY2xhc3M9IiI+VG86PHNwYW4gY2xhc3M9IkFwcGxlLWNv bnZlcnRlZC1zcGFjZSI+Jm5ic3A7PC9zcGFuPjwvYj5KYW1lcyBIYXJyaXMgJmx0OzxhIGhyZWY9 Im1haWx0bzpqYW1lcy5yLmhhcnJpc0BpbnRlbC5jb20iIGNsYXNzPSIiPmphbWVzLnIuaGFycmlz QGludGVsLmNvbTwvYT4mZ3Q7PGJyIGNsYXNzPSIiPjxiIGNsYXNzPSIiPkNjOjxzcGFuIGNsYXNz PSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48L2I+U3RvcmFnZSBQZXJmb3Jt YW5jZSBEZXZlbG9wbWVudCBLaXQgJmx0OzxhIGhyZWY9Im1haWx0bzpzcGRrQGxpc3RzLjAxLm9y ZyIgY2xhc3M9IiI+c3Bka0BsaXN0cy4wMS5vcmc8L2E+Jmd0OzxiciBjbGFzcz0iIj48YiBjbGFz cz0iIj5TdWJqZWN0OjxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0ZWQtc3BhY2UiPiZuYnNwOzwv c3Bhbj48L2I+UmU6IFtTUERLXSBOZWVkIGhlbHAgZm9yIGlTQ1NJIGNvbmZpZ3VyYXRpb24gZm9y IE5WTWUgZGlzYzxvOnAgY2xhc3M9IiI+PC9vOnA+PC9zcGFuPjwvZGl2PjwvZGl2PjxkaXYgY2xh c3M9IiI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250LXNpemU6IDEy cHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPjxvOnAgY2xhc3M9 IiI+Jm5ic3A7PC9vOnA+PC9kaXY+PC9kaXY+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAu MDAwMXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsi IGNsYXNzPSIiPkhpIEhhcnJpcyw8c3BhbiBjbGFzcz0iQXBwbGUtY29udmVydGVkLXNwYWNlIj4m bmJzcDs8L3NwYW4+PG86cCBjbGFzcz0iIj48L286cD48L2Rpdj48ZGl2IGNsYXNzPSIiPjxkaXYg c3R5bGU9Im1hcmdpbjogMGluIDBpbiAwLjAwMDFwdDsgZm9udC1zaXplOiAxMnB0OyBmb250LWZh bWlseTogJ1RpbWVzIE5ldyBSb21hbic7IiBjbGFzcz0iIj48bzpwIGNsYXNzPSIiPiZuYnNwOzwv bzpwPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9IiI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGlu IDAuMDAwMXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFu JzsiIGNsYXNzPSIiPkkgZGlkIHRyeSB3aXRoIHRoZSBUcmFuc3BvcnRJRCDigJx0cnR5cGU6UENJ ZSB0cmFkZHI6MDAwMC4wYTowMC4w4oCdIE52bWUzICZuYnNwO29wdGlvbiBpIGFtIHN0aWxsIHNl ZWluZyB0aGUgc2FtZSBpc3N1ZS4mbmJzcDs8bzpwIGNsYXNzPSIiPjwvbzpwPjwvZGl2PjwvZGl2 PjxkaXYgY2xhc3M9IiI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250 LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPjxv OnAgY2xhc3M9IiI+Jm5ic3A7PC9vOnA+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iIj48ZGl2IHN0 eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1p bHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+VGhhbmsgeW91PG86cCBjbGFzcz0iIj48 L286cD48L2Rpdj48L2Rpdj48ZGl2IGNsYXNzPSIiPjxkaXYgc3R5bGU9Im1hcmdpbjogMGluIDBp biAwLjAwMDFwdDsgZm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21h bic7IiBjbGFzcz0iIj5LaXJhbjxvOnAgY2xhc3M9IiI+PC9vOnA+PC9kaXY+PC9kaXY+PGRpdiBj bGFzcz0iIj48ZGl2IHN0eWxlPSJtYXJnaW46IDBpbiAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTog MTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcgUm9tYW4nOyIgY2xhc3M9IiI+PG86cCBjbGFz cz0iIj4mbmJzcDs8L286cD48L2Rpdj48ZGl2IGNsYXNzPSIiPjxibG9ja3F1b3RlIHN0eWxlPSJt YXJnaW4tdG9wOiA1cHQ7IG1hcmdpbi1ib3R0b206IDVwdDsiIGNsYXNzPSIiIHR5cGU9ImNpdGUi PjxkaXYgY2xhc3M9IiI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250 LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPk9u IDI0LU1heS0yMDE3LCBhdCA5OjUwIFBNLCBIYXJyaXMsIEphbWVzIFIgJmx0OzxhIGhyZWY9Im1h aWx0bzpqYW1lcy5yLmhhcnJpc0BpbnRlbC5jb20iIHN0eWxlPSJjb2xvcjogcHVycGxlOyB0ZXh0 LWRlY29yYXRpb246IHVuZGVybGluZTsiIGNsYXNzPSIiPmphbWVzLnIuaGFycmlzQGludGVsLmNv bTwvYT4mZ3Q7IHdyb3RlOjxvOnAgY2xhc3M9IiI+PC9vOnA+PC9kaXY+PC9kaXY+PGRpdiBzdHls ZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5 OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPjxvOnAgY2xhc3M9IiI+Jm5ic3A7PC9vOnA+ PC9kaXY+PGRpdiBjbGFzcz0iIj48YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDogNXB0OyBt YXJnaW4tYm90dG9tOiA1cHQ7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IHRleHQtYWxpZ246 IHN0YXJ0OyAtd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOiAwcHg7IHdvcmQtc3BhY2luZzogMHB4 OyIgY2xhc3M9IiIgdHlwZT0iY2l0ZSI+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAw MXB0OyBmb250LXNpemU6IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNs YXNzPSIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6IEhlbHZldGlj YTsiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj5PbiBNYXkgMjQsIDIwMTcsIGF0IDQ6MTAgQU0sIEtp cmFuIERpa3NoaXQgJmx0OzxhIGhyZWY9Im1haWx0bzprZGlrc2hpdEBjbG91ZHNpbXBsZS5jb20i IHN0eWxlPSJjb2xvcjogcHVycGxlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiIGNsYXNz PSIiPmtkaWtzaGl0QGNsb3Vkc2ltcGxlLmNvbTwvYT4mZ3Q7IHdyb3RlOjxiciBjbGFzcz0iIj48 YnIgY2xhc3M9IiI+SGkgQWxsLDxiciBjbGFzcz0iIj48YnIgY2xhc3M9IiI+SSBhbSB0cnlpbmcg dG8gY29uZmlndXJlIGlTQ1NJIGZvciBhIE5WTWUgZHJpdmUgYW5kIGdldHRpbmcgdGhlIGJlbG93 IGVycm9y4oCZcy4gSSBoYXZlIHVuYm91bmQgdGhlIE5WTWUgZHJpdmUgZnJvbSBrZXJuZWwgdXNp bmcgdGhlIHNldHVwLnNoLjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQt ZmFtaWx5OiBQTWluZ0xpVTsiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj48YnIgY2xhc3M9IiI+PC9z cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsi IGNsYXNzPSIiPnRndF9ub2RlLmM6IDcxODpzcGRrX2lzY3NpX3RndF9ub2RlX2NvbnN0cnVjdDog KioqRVJST1IqKiogQ291bGQgbm90IGNvbnN0cnVjdCBTQ1NJIGRldmljZTwvc3Bhbj48c3BhbiBz dHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQtZmFtaWx5OiBQTWluZ0xpVTsiIGNsYXNzPSIiPjxi ciBjbGFzcz0iIj48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOXB0OyBmb250LWZhbWls eTogSGVsdmV0aWNhOyIgY2xhc3M9IiI+dGd0X25vZGUuYzogOTg0OnNwZGtfY2ZfYWRkX2lzY3Np X3RndF9ub2RlOiAqKipFUlJPUioqKiB0Z3Rfbm9kZTE6IGFkZF9pc2NzaV90YXJnZXRfbm9kZSBl cnJvcjxiciBjbGFzcz0iIj50Z3Rfbm9kZS5jOjEwMTA6c3Bka19pc2NzaV9pbml0X3RndF9ub2Rl czogKioqRVJST1IqKiogc3Bka19jZl9hZGRfaXNjc2lfdGd0X25vZGUoKSBmYWlsZWQ8YnIgY2xh c3M9IiI+aXNjc2lfc3Vic3lzdGVtLmM6IDk2NTpzcGRrX2lzY3NpX3N1YnN5c3RlbV9pbml0OiAq KipFUlJPUioqKiBzcGRrX2lzY3NpX2luaXRfdGd0X25vZGVzKCkgZmFpbGVkPGJyIGNsYXNzPSIi PmFwcC5jOiA0MDQ6c3Bka19hcHBfaW5pdDogKioqRVJST1IqKiogc3Bka19zdWJzeXN0ZW1faW5p dCgpIGZhaWxlZDxiciBjbGFzcz0iIj48YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPjxiciBjbGFz cz0iIj5CZWxvdyBpcyB0aGUgc2VjdGlvbiBvZiBteTxzcGFuIGNsYXNzPSJBcHBsZS1jb252ZXJ0 ZWQtc3BhY2UiPiZuYnNwOzwvc3Bhbj48YSBocmVmPSJodHRwOi8vaXNjc2kuY29uZi5pbi8iIHN0 eWxlPSJjb2xvcjogcHVycGxlOyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsiIGNsYXNzPSIi PmlzY3NpLmNvbmYuaW48L2E+PHNwYW4gY2xhc3M9IkFwcGxlLWNvbnZlcnRlZC1zcGFjZSI+Jm5i c3A7PC9zcGFuPmZpbGUgZm9yIHJlZmVyZW5jZS48YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPiMg TlZNZSBjb25maWd1cmF0aW9uIG9wdGlvbnM8YnIgY2xhc3M9IiI+W052bWVdPGJyIGNsYXNzPSIi PiMgTlZNZSBEZXZpY2UgV2hpdGVsaXN0PGJyIGNsYXNzPSIiPiMgVXNlcnMgbWF5IHNwZWNpZnkg d2hpY2ggTlZNZSBkZXZpY2VzIHRvIGNsYWltIGJ5IHRoZWlyIFBDSTxiciBjbGFzcz0iIj4jIGRv bWFpbiwgYnVzLCBkZXZpY2UsIGFuZCBmdW5jdGlvbi4gVGhlIGZvcm1hdCBpcyBkZGRkOmJiOmRk LmYsIHdoaWNoIGlzPGJyIGNsYXNzPSIiPiMgdGhlIHNhbWUgZm9ybWF0IGRpc3BsYXllZCBieSBs c3BjaSBvciBpbiAvc3lzL2J1cy9wY2kvZGV2aWNlcy4gVGhlIHNlY29uZDxiciBjbGFzcz0iIj4j IGFyZ3VtZW50IGlzIGEgIm5hbWUiIGZvciB0aGUgZGV2aWNlIHRoYXQgY2FuIGJlIGFueXRoaW5n LiBUaGUgbmFtZTxiciBjbGFzcz0iIj4jIGlzIHJlZmVyZW5jZWQgbGF0ZXIgaW4gdGhlIFN1YnN5 c3RlbSBzZWN0aW9uLjxiciBjbGFzcz0iIj4jPGJyIGNsYXNzPSIiPiMgQWx0ZXJuYXRpdmVseSwg dGhlIHVzZXIgY2FuIHNwZWNpZnkgQ2xhaW1BbGxEZXZpY2VzLiBBbGw8YnIgY2xhc3M9IiI+IyBO Vk1lIGRldmljZXMgd2lsbCBiZSBjbGFpbWVkIGFuZCBuYW1lZCBOdm1lMCwgTnZtZTEsIGV0Yy48 YnIgY2xhc3M9IiI+IyBCREYgMDAwMDowMDowMC4wIE52bWUwPGJyIGNsYXNzPSIiPiZuYnNwO0JE RiAwMDAwOjBhOjAwLjAgTnZtZTM8bzpwIGNsYXNzPSIiPjwvbzpwPjwvc3Bhbj48L2Rpdj48L2Js b2NrcXVvdGU+PGRpdiBzdHlsZT0ibWFyZ2luOiAwaW4gMGluIDAuMDAwMXB0OyBmb250LXNpemU6 IDEycHQ7IGZvbnQtZmFtaWx5OiAnVGltZXMgTmV3IFJvbWFuJzsiIGNsYXNzPSIiPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsiIGNsYXNzPSIiPjxi ciBjbGFzcz0iIj5IaSBLaXJhbiw8YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPlRoZSBmb3JtYXQg b2YgdGhlIE5WTWUgc2VjdGlvbiBjaGFuZ2VkIGluIHRoZSBsYXN0IFNQREsgcmVsZWFzZSwgc28g dGhhdCB3ZSBjb3VsZCBhZGQgc3VwcG9ydCBmb3IgcmVtb3RlIE5WTWUtb0YgZGV2aWNlcyBhcyB3 ZWxsLjxiciBjbGFzcz0iIj48YnIgY2xhc3M9IiI+Q2FuIHlvdSB0cnkgdGhlIGZvbGxvd2luZyBp bnN0ZWFkPzxiciBjbGFzcz0iIj48YnIgY2xhc3M9IiI+W052bWVdPGJyIGNsYXNzPSIiPiZuYnNw O1RyYW5zcG9ydElEIOKAnHRydHlwZTpQQ0llIHRyYWRkcjowMDAwLjBhOjAwLjDigJ0gTnZtZTM8 YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPlRoZSBjb21tZW50IGZvciBzcGRrX252bWVfdHJhbnNw b3J0X2lkX3BhcnNlKCkgaW4gaW5jbHVkZS9zcGRrL252bWUuaCBkZXNjcmliZXMgdGhlIGZvcm1h dCBpbiBtb3JlIGRldGFpbCwgaW5jbHVkaW5nIGhvdyB0byBzcGVjaWZ5IE5WTWUtb0YgdGFyZ2V0 cy48YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPlRoYW5rcyw8YnIgY2xhc3M9IiI+PGJyIGNsYXNz PSIiPi1KaW08YnIgY2xhc3M9IiI+PGJyIHN0eWxlPSJmb250LXZhcmlhbnQtY2Fwczogbm9ybWFs OyB0ZXh0LWFsaWduOiBzdGFydDsgLXdlYmtpdC10ZXh0LXN0cm9rZS13aWR0aDogMHB4OyB3b3Jk LXNwYWNpbmc6IDBweDsiIGNsYXNzPSIiPjxiciBjbGFzcz0iIj48L3NwYW4+PG86cCBjbGFzcz0i Ij48L286cD48L2Rpdj48YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luLXRvcDogNXB0OyBtYXJnaW4t Ym90dG9tOiA1cHQ7IiBjbGFzcz0iIiB0eXBlPSJjaXRlIj48ZGl2IHN0eWxlPSJtYXJnaW46IDBp biAwaW4gMC4wMDAxcHQ7IGZvbnQtc2l6ZTogMTJwdDsgZm9udC1mYW1pbHk6ICdUaW1lcyBOZXcg Um9tYW4nOyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOXB0OyBmb250LWZhbWls eTogSGVsdmV0aWNhOyIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPltUYXJnZXROb2RlMV08YnIgY2xh c3M9IiI+Jm5ic3A7VGFyZ2V0TmFtZSBkaXNrMjxiciBjbGFzcz0iIj4mbmJzcDtUYXJnZXRBbGlh cyAiRGF0YSBEaXNrMiI8YnIgY2xhc3M9IiI+Jm5ic3A7TWFwcGluZyBQb3J0YWxHcm91cDEgSW5p dGlhdG9yR3JvdXAxPGJyIGNsYXNzPSIiPiZuYnNwO0F1dGhNZXRob2QgQXV0bzxiciBjbGFzcz0i Ij4mbmJzcDtBdXRoR3JvdXAgQXV0aEdyb3VwMTxiciBjbGFzcz0iIj4mbmJzcDtVc2VEaWdlc3Qg QXV0bzxiciBjbGFzcz0iIj4mbmJzcDtMVU4wIE52bWUzPGJyIGNsYXNzPSIiPiZuYnNwO1F1ZXVl RGVwdGggNjQ8YnIgY2xhc3M9IiI+PGJyIGNsYXNzPSIiPjxiciBjbGFzcz0iIj5UaGFuayB5b3U8 YnIgY2xhc3M9IiI+S2lyYW48YnIgY2xhc3M9IiI+X19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX188YnIgY2xhc3M9IiI+U1BESyBtYWlsaW5nIGxpc3Q8YnIgY2xh c3M9IiI+PGEgaHJlZj0ibWFpbHRvOlNQREtAbGlzdHMuMDEub3JnIiBzdHlsZT0iY29sb3I6IHB1 cnBsZTsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IiBjbGFzcz0iIj5TUERLQGxpc3RzLjAx Lm9yZzwvYT48YnIgY2xhc3M9IiI+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1h bi9saXN0aW5mby9zcGRrIiBzdHlsZT0iY29sb3I6IHB1cnBsZTsgdGV4dC1kZWNvcmF0aW9uOiB1 bmRlcmxpbmU7IiBjbGFzcz0iIj5odHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZv L3NwZGs8L2E+PG86cCBjbGFzcz0iIj48L286cD48L3NwYW4+PC9kaXY+PC9ibG9ja3F1b3RlPjxk aXYgc3R5bGU9Im1hcmdpbjogMGluIDBpbiAwLjAwMDFwdDsgZm9udC1zaXplOiAxMnB0OyBmb250 LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iZm9udC1z aXplOiA5cHQ7IGZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IiBjbGFzcz0iIj48YnIgY2xhc3M9IiI+ X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnIgY2xhc3M9 IiI+U1BESyBtYWlsaW5nIGxpc3Q8YnIgY2xhc3M9IiI+PC9zcGFuPjxhIGhyZWY9Im1haWx0bzpT UERLQGxpc3RzLjAxLm9yZyIgc3R5bGU9ImNvbG9yOiBwdXJwbGU7IHRleHQtZGVjb3JhdGlvbjog dW5kZXJsaW5lOyIgY2xhc3M9IiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogOXB0OyBmb250LWZh bWlseTogSGVsdmV0aWNhOyIgY2xhc3M9IiI+U1BES0BsaXN0cy4wMS5vcmc8L3NwYW4+PC9hPjxz cGFuIHN0eWxlPSJmb250LXNpemU6IDlwdDsgZm9udC1mYW1pbHk6IEhlbHZldGljYTsiIGNsYXNz PSIiPjxiciBjbGFzcz0iIj48L3NwYW4+PGEgaHJlZj0iaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFp bG1hbi9saXN0aW5mby9zcGRrIiBzdHlsZT0iY29sb3I6IHB1cnBsZTsgdGV4dC1kZWNvcmF0aW9u OiB1bmRlcmxpbmU7IiBjbGFzcz0iIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiA5cHQ7IGZvbnQt ZmFtaWx5OiBIZWx2ZXRpY2E7IiBjbGFzcz0iIj5odHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFu L2xpc3RpbmZvL3NwZGs8L3NwYW4+PC9hPjxvOnAgY2xhc3M9IiI+PC9vOnA+PC9kaXY+PC9kaXY+ PC9ibG9ja3F1b3RlPjwvZGl2PjxkaXYgc3R5bGU9Im1hcmdpbjogMGluIDBpbiAwLjAwMDFwdDsg Zm9udC1zaXplOiAxMnB0OyBmb250LWZhbWlseTogJ1RpbWVzIE5ldyBSb21hbic7IiBjbGFzcz0i Ij48bzpwIGNsYXNzPSIiPiZuYnNwOzwvbzpwPjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2PjwvYmxv Y2txdW90ZT48L2Rpdj48YnIgY2xhc3M9IiI+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4= --===============1337083075781525282==--