From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============2007827171758348455==" MIME-Version: 1.0 From: Shahar Salzman Subject: Re: [SPDK] Running initiator and target on same host Date: Thu, 24 May 2018 08:20:23 +0000 Message-ID: In-Reply-To: CABnqofxugJGGvjKnbcO_C4eei4G7OCqa=7WqOUoyUUV+L=sYzg@mail.gmail.com List-ID: To: spdk@lists.01.org --===============2007827171758348455== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Hi Sudheendra, We are running this setup for our nightly NVMeF regression. The nightly is running an old version of spdk, but I have also run this wit= h the master branch. When connecting I usually see this log: kernel: [1535128.958782] detected loopback device We are using ConnectX-4, and running a single subsystem with our bdev_user = (currently under discussion in this mailing list and in gerrithub) devices = attached. We are using a single reactor + application pollers each bound to= its own CPU. Did you try with a single reactor? Can you elaborate a little more about your setup? Shahar ________________________________ From: SPDK on behalf of Sudheendra Sampath Sent: Wednesday, May 23, 2018 7:44:59 PM To: spdk(a)lists.01.org Subject: [SPDK] Running initiator and target on same host I tried this in my setup and below is my configuration : I have 4 cpus with 1 core per socket. 1 numa node. CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 NUMA node(s): 1 Hugepage information: HugePages_Total: 3824 HugePages_Free: 3312 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB I start nvmf_tgt using the following options : -r /var/run/spdk.sock -m 0xc -s 1024 Since I am using -m 0xc, the reactors starts on core 2 and core 3. Here is= the output : [ DPDK EAL parameters: nvmf -c 0xc -m 1024 --file-prefix=3Dspdk_pid14924 ] EAL: Detected 4 lcore(s) EAL: No free hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... app.c: 377:spdk_app_start: *NOTICE*: Total cores available: 2 reactor.c: 654:spdk_reactors_init: *NOTICE*: Occupied cpu socket mask is 0x1 reactor.c: 426:_spdk_reactor_run: *NOTICE*: Reactor started on core 3 on so= cket 0 reactor.c: 426:_spdk_reactor_run: *NOTICE*: Reactor started on core 2 on so= cket 0 I run the initiator and force it to run on core 0x1. The host that I am doing 'ssh' to gets disconnected. Here is the output wh= en the host gets disconnected : rdma.c:1458:spdk_nvmf_rdma_accept: *INFO*: Acceptor Event: RDMA_CM_EVENT_CO= NNECT_REQUEST rdma.c: 654:nvmf_rdma_connect: *INFO*: Connect Recv on fabric intf name rxe= 0, dev_name uverbs0 rdma.c: 658:nvmf_rdma_connect: *INFO*: Listen Id was 0x22a4b10 with verbs 0= x22a3630. ListenAddr: 0x22a48d0 rdma.c: 664:nvmf_rdma_connect: *INFO*: Calculating Queue Depth rdma.c: 669:nvmf_rdma_connect: *INFO*: Target Max Queue Depth: 128 rdma.c: 674:nvmf_rdma_connect: *INFO*: Local NIC Max Send/Recv Queue Depth:= 16384 Max Read/Write Queue Depth: 128 rdma.c: 681:nvmf_rdma_connect: *INFO*: Host (Initiator) NIC Max Incoming RD= MA R/W operations: 32 Max Outgoing RDMA R/W operations: 0 rdma.c: 690:nvmf_rdma_connect: *INFO*: Host Receive Queue Size: 32 rdma.c: 691:nvmf_rdma_connect: *INFO*: Host Send Queue Size: 31 rdma.c: 697:nvmf_rdma_connect: *INFO*: Final Negotiated Queue Depth: 32 R/W= Depth: 32 rdma.c: 371:spdk_nvmf_rdma_qpair_initialize: *INFO*: New RDMA Connection: 0= x26b0720 rdma.c: 405:spdk_nvmf_rdma_qpair_initialize: *INFO*: Command Array: 0x7f847= 7a07000 Length: 800 LKey: 8bc0 rdma.c: 407:spdk_nvmf_rdma_qpair_initialize: *INFO*: Completion Array: 0x7f= 8477a06000 Length: 200 LKey: 8c80 rdma.c: 409:spdk_nvmf_rdma_qpair_initialize: *INFO*: In Capsule Data Array:= 0x7f84777fe000 Length: 20000 LKey: 8d01 rdma.c: 604:spdk_nvmf_rdma_event_accept: *INFO*: Sent back the accept rdma.c:1458:spdk_nvmf_rdma_accept: *INFO*: Acceptor Event: RDMA_CM_EVENT_ES= TABLISHED Connection to 172.22.4.152 closed by remote host. Connection to 172.22.4.152 closed. Has anyone tried this in your setup and if so, any help is highly appreciat= ed. -- Regards Sudheendra Sampath Note: I don't see any kernel panic, but just the logon session to the machine where I am trying this gets disconnected. --===============2007827171758348455== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl eHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPjwhLS0gUCB7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MDt9IC0t Pjwvc3R5bGU+CjwvaGVhZD4KPGJvZHkgZGlyPSJsdHIiPgo8ZGl2IGlkPSJkaXZ0YWdkZWZhdWx0 d3JhcHBlciIgc3R5bGU9ImZvbnQtc2l6ZToxMnB0O2NvbG9yOiMwMDAwMDA7Zm9udC1mYW1pbHk6 Q2FsaWJyaSxIZWx2ZXRpY2Esc2Fucy1zZXJpZjsiIGRpcj0ibHRyIj4KPHAgc3R5bGU9Im1hcmdp bi10b3A6MDttYXJnaW4tYm90dG9tOjAiPkhpJm5ic3A7PHNwYW4+U3VkaGVlbmRyYSw8L3NwYW4+ PC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PHNwYW4+PGJyPgo8 L3NwYW4+PC9wPgo8cCBzdHlsZT0ibWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PHNwYW4+ V2UgYXJlIHJ1bm5pbmcgdGhpcyBzZXR1cCBmb3Igb3VyJm5ic3A7bmlnaHRseSBOVk1lRiByZWdy ZXNzaW9uLjwvc3Bhbj48L3A+CjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTow Ij48c3Bhbj5UaGUgbmlnaHRseSBpcyBydW5uaW5nIGFuIG9sZCB2ZXJzaW9uIG9mIHNwZGssIGJ1 dCBJIGhhdmUgYWxzbyBydW4gdGhpcyB3aXRoIHRoZSBtYXN0ZXIgYnJhbmNoLjwvc3Bhbj48L3A+ CjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj48c3Bhbj48YnI+Cjwvc3Bh bj48L3A+CjxwIHN0eWxlPSJtYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowIj48c3Bhbj5XaGVu IGNvbm5lY3RpbmcgSSB1c3VhbGx5IHNlZSB0aGlzIGxvZzo8L3NwYW4+PC9wPgo8cCBzdHlsZT0i bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MCI+PHNwYW4+PC9wPgo8ZGl2Pmtlcm5lbDogWzE1 MzUxMjguOTU4NzgyXSBkZXRlY3RlZCBsb29wYmFjayBkZXZpY2U8L2Rpdj4KPGRpdj48YnI+Cjwv ZGl2Pgo8ZGl2PldlIGFyZSB1c2luZyBDb25uZWN0WC00LCBhbmQgcnVubmluZyBhIHNpbmdsZSBz dWJzeXN0ZW0gd2l0aCBvdXIgYmRldl91c2VyIChjdXJyZW50bHkgdW5kZXIgZGlzY3Vzc2lvbiBp biB0aGlzIG1haWxpbmcgbGlzdCBhbmQgaW4gZ2Vycml0aHViKSZuYnNwO2RldmljZXMgYXR0YWNo ZWQuIFdlIGFyZSB1c2luZyBhIHNpbmdsZSByZWFjdG9yICYjNDM7IGFwcGxpY2F0aW9uIHBvbGxl cnMgZWFjaCBib3VuZCB0byBpdHMgb3duIENQVS48L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2 PkRpZCB5b3UgdHJ5IHdpdGggYSBzaW5nbGUgcmVhY3Rvcj88L2Rpdj4KPGRpdj5DYW4geW91IGVs YWJvcmF0ZSBhIGxpdHRsZSBtb3JlIGFib3V0IHlvdXIgc2V0dXA/PC9kaXY+CjxkaXY+PGJyPgo8 L2Rpdj4KPGRpdj5TaGFoYXI8L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2Pjxicj4KPC9kaXY+ CjxkaXY+PGJyPgo8L2Rpdj4KPGJyPgo8L3NwYW4+CjxwPjwvcD4KPC9kaXY+CjxociBzdHlsZT0i ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6OTglIiB0YWJpbmRleD0iLTEiPgo8ZGl2IGlkPSJk aXZScGx5RndkTXNnIiBkaXI9Imx0ciI+PGZvbnQgZmFjZT0iQ2FsaWJyaSwgc2Fucy1zZXJpZiIg c3R5bGU9ImZvbnQtc2l6ZToxMXB0IiBjb2xvcj0iIzAwMDAwMCI+PGI+RnJvbTo8L2I+IFNQREsg Jmx0O3NwZGstYm91bmNlc0BsaXN0cy4wMS5vcmcmZ3Q7IG9uIGJlaGFsZiBvZiBTdWRoZWVuZHJh IFNhbXBhdGggJmx0O3N1ZGhlZW5kcmEuc2FtcGF0aEBnbWFpbC5jb20mZ3Q7PGJyPgo8Yj5TZW50 OjwvYj4gV2VkbmVzZGF5LCBNYXkgMjMsIDIwMTggNzo0NDo1OSBQTTxicj4KPGI+VG86PC9iPiBz cGRrQGxpc3RzLjAxLm9yZzxicj4KPGI+U3ViamVjdDo8L2I+IFtTUERLXSBSdW5uaW5nIGluaXRp YXRvciBhbmQgdGFyZ2V0IG9uIHNhbWUgaG9zdDwvZm9udD4KPGRpdj4mbmJzcDs8L2Rpdj4KPC9k aXY+CjxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+CjxkaXY+CjxkaXYg ZGlyPSJsdHIiPgo8ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoMzQsMzQsMzQpOyBmb250LWZhbWlseTph cmlhbCxzYW5zLXNlcmlmOyBmb250LXNpemU6MTIuOHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9u dC13ZWlnaHQ6NDAwOyBsZXR0ZXItc3BhY2luZzpub3JtYWw7IHRleHQtYWxpZ246c3RhcnQ7IHRl eHQtaW5kZW50OjBweDsgdGV4dC10cmFuc2Zvcm06bm9uZTsgd2hpdGUtc3BhY2U6bm9ybWFsOyB3 b3JkLXNwYWNpbmc6MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgpJIHRy aWVkIHRoaXMgaW4gbXkgc2V0dXAgYW5kIGJlbG93IGlzIG15IGNvbmZpZ3VyYXRpb24gOjwvZGl2 Pgo8ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoMzQsMzQsMzQpOyBmb250LWZhbWlseTphcmlhbCxzYW5z LXNlcmlmOyBmb250LXNpemU6MTIuOHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6 NDAwOyBsZXR0ZXItc3BhY2luZzpub3JtYWw7IHRleHQtYWxpZ246c3RhcnQ7IHRleHQtaW5kZW50 OjBweDsgdGV4dC10cmFuc2Zvcm06bm9uZTsgd2hpdGUtc3BhY2U6bm9ybWFsOyB3b3JkLXNwYWNp bmc6MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgo8YnI+CjwvZGl2Pgo8 ZGl2IHN0eWxlPSJjb2xvcjpyZ2IoMzQsMzQsMzQpOyBmb250LWZhbWlseTphcmlhbCxzYW5zLXNl cmlmOyBmb250LXNpemU6MTIuOHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6NDAw OyBsZXR0ZXItc3BhY2luZzpub3JtYWw7IHRleHQtYWxpZ246c3RhcnQ7IHRleHQtaW5kZW50OjBw eDsgdGV4dC10cmFuc2Zvcm06bm9uZTsgd2hpdGUtc3BhY2U6bm9ybWFsOyB3b3JkLXNwYWNpbmc6 MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgpJIGhhdmUgNCBjcHVzIHdp dGggMSBjb3JlIHBlciBzb2NrZXQuJm5ic3A7IDEgbnVtYSBub2RlLjwvZGl2Pgo8ZGl2IHN0eWxl PSJjb2xvcjpyZ2IoMzQsMzQsMzQpOyBmb250LWZhbWlseTphcmlhbCxzYW5zLXNlcmlmOyBmb250 LXNpemU6MTIuOHB4OyBmb250LXN0eWxlOm5vcm1hbDsgZm9udC13ZWlnaHQ6NDAwOyBsZXR0ZXIt c3BhY2luZzpub3JtYWw7IHRleHQtYWxpZ246c3RhcnQ7IHRleHQtaW5kZW50OjBweDsgdGV4dC10 cmFuc2Zvcm06bm9uZTsgd2hpdGUtc3BhY2U6bm9ybWFsOyB3b3JkLXNwYWNpbmc6MHB4OyBiYWNr Z3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSkiPgo8YnIgY2xlYXI9ImFsbCI+CjxkaXY+Cjxk aXY+PGI+Q1BVKHMpOiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgNDwvYj48L2Rpdj4KPGRpdj48Yj5Pbi1saW5lIENQVShzKSBsaXN0OiZuYnNw OyAmbmJzcDswLTM8L2I+PC9kaXY+CjxkaXY+PGI+VGhyZWFkKHMpIHBlciBjb3JlOiZuYnNwOyAm bmJzcDsgMTwvYj48L2Rpdj4KPGRpdj48Yj5Db3JlKHMpIHBlciBzb2NrZXQ6Jm5ic3A7ICZuYnNw OyAxPC9iPjwvZGl2Pgo8ZGl2PjxiPlNvY2tldChzKTombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDs0PC9iPjwvZGl2Pgo8ZGl2PjxiPk5VTUEgbm9kZShzKTom bmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IDE8L2I+PC9kaXY+CjwvZGl2Pgo8ZGl2 Pjxicj4KPC9kaXY+CjxkaXY+PGI+PHU+SHVnZXBhZ2UgaW5mb3JtYXRpb246PC91PjwvYj48L2Rp dj4KPGRpdj48YnI+CjwvZGl2Pgo8ZGl2Pgo8ZGl2Pkh1Z2VQYWdlc19Ub3RhbDombmJzcDsgJm5i c3A7IDM4MjQ8L2Rpdj4KPGRpdj5IdWdlUGFnZXNfRnJlZTombmJzcDsgJm5ic3A7ICZuYnNwOzMz MTI8L2Rpdj4KPGRpdj5IdWdlUGFnZXNfUnN2ZDombmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg MDwvZGl2Pgo8ZGl2Pkh1Z2VQYWdlc19TdXJwOiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAw PC9kaXY+CjxkaXY+SHVnZXBhZ2VzaXplOiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOzIwNDgg a0I8L2Rpdj4KPC9kaXY+CjxkaXY+PGJyPgo8L2Rpdj4KPGRpdj5JIHN0YXJ0IG52bWZfdGd0IHVz aW5nIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyA6PC9kaXY+CjxkaXY+PGJyPgo8L2Rpdj4KPGRpdj48 Yj4tciAvdmFyL3J1bi9zcGRrLnNvY2s8c3Bhbj4mbmJzcDs8L3NwYW4+PGZvbnQgY29sb3I9IiNm ZjAwMDAiPi1tIDB4YzwvZm9udD48c3Bhbj4mbmJzcDs8L3NwYW4+LXMgMTAyNDwvYj48YnI+Cjwv ZGl2Pgo8ZGl2PjxiPjxicj4KPC9iPjwvZGl2Pgo8ZGl2PjxiPlNpbmNlIEkgYW0gdXNpbmcgLW0g MHhjLCB0aGUgcmVhY3RvcnMgc3RhcnRzIG9uIGNvcmUgMiBhbmQgY29yZSAzLiZuYnNwOyBIZXJl IGlzIHRoZSBvdXRwdXQgOjwvYj48L2Rpdj4KPGRpdj48Yj48YnI+CjwvYj48L2Rpdj4KPGRpdj4K PGRpdj48Yj5bIERQREsgRUFMIHBhcmFtZXRlcnM6IG52bWYgLWMgMHhjIC1tIDEwMjQgLS1maWxl LXByZWZpeD1zcGRrX3BpZDE0OTI0IF08L2I+PC9kaXY+CjxkaXY+PGI+RUFMOiBEZXRlY3RlZCA0 IGxjb3JlKHMpPC9iPjwvZGl2Pgo8ZGl2PjxiPkVBTDogTm8gZnJlZSBodWdlcGFnZXMgcmVwb3J0 ZWQgaW4gaHVnZXBhZ2VzLTEwNDg1NzZrQjwvYj48L2Rpdj4KPGRpdj48Yj5FQUw6IFByb2Jpbmcg VkZJTyBzdXBwb3J0Li4uPC9iPjwvZGl2Pgo8ZGl2PjxiPmFwcC5jOiAzNzc6c3Bka19hcHBfc3Rh cnQ6ICpOT1RJQ0UqOiBUb3RhbCBjb3JlcyBhdmFpbGFibGU6IDI8L2I+PC9kaXY+CjxkaXY+PGI+ cmVhY3Rvci5jOiA2NTQ6c3Bka19yZWFjdG9yc19pbml0OiAqTk9USUNFKjogT2NjdXBpZWQgY3B1 IHNvY2tldCBtYXNrIGlzIDB4MTwvYj48L2Rpdj4KPGRpdj48Yj5yZWFjdG9yLmM6IDQyNjpfc3Bk a19yZWFjdG9yX3J1bjogKk5PVElDRSo6IFJlYWN0b3Igc3RhcnRlZCBvbiBjb3JlIDMgb24gc29j a2V0IDA8L2I+PC9kaXY+CjxkaXY+PGI+cmVhY3Rvci5jOiA0MjY6X3NwZGtfcmVhY3Rvcl9ydW46 ICpOT1RJQ0UqOiBSZWFjdG9yIHN0YXJ0ZWQgb24gY29yZSAyIG9uIHNvY2tldCAwPC9iPjwvZGl2 Pgo8ZGl2IHN0eWxlPSJmb250LXdlaWdodDpib2xkIj48YnI+CjwvZGl2Pgo8L2Rpdj4KPGRpdj5J IHJ1biB0aGUgaW5pdGlhdG9yIGFuZCBmb3JjZSBpdCB0byBydW4gb24gY29yZSAweDEuJm5ic3A7 Jm5ic3A7PC9kaXY+CjxkaXY+PGJyPgo8L2Rpdj4KPGRpdj5UaGUgaG9zdCB0aGF0IEkgYW0gZG9p bmcgJ3NzaCcgdG8gZ2V0cyBkaXNjb25uZWN0ZWQuJm5ic3A7IEhlcmUgaXMgdGhlIG91dHB1dCB3 aGVuIHRoZSBob3N0IGdldHMgZGlzY29ubmVjdGVkIDo8L2Rpdj4KPGRpdj48YnI+CjwvZGl2Pgo8 ZGl2Pgo8ZGl2PnJkbWEuYzoxNDU4OnNwZGtfbnZtZl9yZG1hXzx3YnI+YWNjZXB0OiAqSU5GTyo6 IEFjY2VwdG9yIEV2ZW50OiBSRE1BX0NNX0VWRU5UX0NPTk5FQ1RfUkVRVUVTVDwvZGl2Pgo8ZGl2 PnJkbWEuYzogNjU0Om52bWZfcmRtYV9jb25uZWN0OiAqSU5GTyo6IENvbm5lY3QgUmVjdiBvbiBm YWJyaWMgaW50ZiBuYW1lIHJ4ZTAsIGRldl9uYW1lIHV2ZXJiczA8L2Rpdj4KPGRpdj5yZG1hLmM6 IDY1ODpudm1mX3JkbWFfY29ubmVjdDogKklORk8qOiBMaXN0ZW4gSWQgd2FzIDB4MjJhNGIxMCB3 aXRoIHZlcmJzIDB4MjJhMzYzMC4gTGlzdGVuQWRkcjogMHgyMmE0OGQwPC9kaXY+CjxkaXY+cmRt YS5jOiA2NjQ6bnZtZl9yZG1hX2Nvbm5lY3Q6ICpJTkZPKjogQ2FsY3VsYXRpbmcgUXVldWUgRGVw dGg8L2Rpdj4KPGRpdj5yZG1hLmM6IDY2OTpudm1mX3JkbWFfY29ubmVjdDogKklORk8qOiBUYXJn ZXQgTWF4IFF1ZXVlIERlcHRoOiAxMjg8L2Rpdj4KPGRpdj5yZG1hLmM6IDY3NDpudm1mX3JkbWFf Y29ubmVjdDogKklORk8qOiBMb2NhbCBOSUMgTWF4IFNlbmQvUmVjdiBRdWV1ZSBEZXB0aDogMTYz ODQgTWF4IFJlYWQvV3JpdGUgUXVldWUgRGVwdGg6IDEyODwvZGl2Pgo8ZGl2PnJkbWEuYzogNjgx Om52bWZfcmRtYV9jb25uZWN0OiAqSU5GTyo6IEhvc3QgKEluaXRpYXRvcikgTklDIE1heCBJbmNv bWluZyBSRE1BIFIvVyBvcGVyYXRpb25zOiAzMiBNYXggT3V0Z29pbmcgUkRNQSBSL1cgb3BlcmF0 aW9uczogMDwvZGl2Pgo8ZGl2PnJkbWEuYzogNjkwOm52bWZfcmRtYV9jb25uZWN0OiAqSU5GTyo6 IEhvc3QgUmVjZWl2ZSBRdWV1ZSBTaXplOiAzMjwvZGl2Pgo8ZGl2PnJkbWEuYzogNjkxOm52bWZf cmRtYV9jb25uZWN0OiAqSU5GTyo6IEhvc3QgU2VuZCBRdWV1ZSBTaXplOiAzMTwvZGl2Pgo8ZGl2 PnJkbWEuYzogNjk3Om52bWZfcmRtYV9jb25uZWN0OiAqSU5GTyo6IEZpbmFsIE5lZ290aWF0ZWQg UXVldWUgRGVwdGg6IDMyIFIvVyBEZXB0aDogMzI8L2Rpdj4KPGRpdj5yZG1hLmM6IDM3MTpzcGRr X252bWZfcmRtYV9xcGFpcl88d2JyPmluaXRpYWxpemU6ICpJTkZPKjogTmV3IFJETUEgQ29ubmVj dGlvbjogMHgyNmIwNzIwPC9kaXY+CjxkaXY+cmRtYS5jOiA0MDU6c3Bka19udm1mX3JkbWFfcXBh aXJfPHdicj5pbml0aWFsaXplOiAqSU5GTyo6IENvbW1hbmQgQXJyYXk6IDB4N2Y4NDc3YTA3MDAw IExlbmd0aDogODAwIExLZXk6IDhiYzA8L2Rpdj4KPGRpdj5yZG1hLmM6IDQwNzpzcGRrX252bWZf cmRtYV9xcGFpcl88d2JyPmluaXRpYWxpemU6ICpJTkZPKjogQ29tcGxldGlvbiBBcnJheTogMHg3 Zjg0NzdhMDYwMDAgTGVuZ3RoOiAyMDAgTEtleTogOGM4MDwvZGl2Pgo8ZGl2PnJkbWEuYzogNDA5 OnNwZGtfbnZtZl9yZG1hX3FwYWlyXzx3YnI+aW5pdGlhbGl6ZTogKklORk8qOiBJbiBDYXBzdWxl IERhdGEgQXJyYXk6IDB4N2Y4NDc3N2ZlMDAwIExlbmd0aDogMjAwMDAgTEtleTogOGQwMTwvZGl2 Pgo8ZGl2PjxiPjxmb250IGNvbG9yPSIjZmYwMDAwIj5yZG1hLmM6IDYwNDpzcGRrX252bWZfcmRt YV9ldmVudF88d2JyPmFjY2VwdDogKklORk8qOiBTZW50IGJhY2sgdGhlIGFjY2VwdDwvZm9udD48 L2I+PC9kaXY+CjxkaXY+PGI+PGZvbnQgY29sb3I9IiNmZjAwMDAiPnJkbWEuYzoxNDU4OnNwZGtf bnZtZl9yZG1hXzx3YnI+YWNjZXB0OiAqSU5GTyo6IEFjY2VwdG9yIEV2ZW50OiBSRE1BX0NNX0VW RU5UX0VTVEFCTElTSEVEPC9mb250PjwvYj48L2Rpdj4KPGRpdj48Yj48Zm9udCBjb2xvcj0iI2Zm MDAwMCI+Q29ubmVjdGlvbiB0byAxNzIuMjIuNC4xNTIgY2xvc2VkIGJ5IHJlbW90ZSBob3N0Ljwv Zm9udD48L2I+PC9kaXY+CjxkaXY+PGI+PGZvbnQgY29sb3I9IiNmZjAwMDAiPkNvbm5lY3Rpb24g dG8gMTcyLjIyLjQuMTUyIGNsb3NlZC48L2ZvbnQ+PC9iPjwvZGl2Pgo8L2Rpdj4KPGRpdj48YnI+ CjwvZGl2Pgo8ZGl2PkhhcyBhbnlvbmUgdHJpZWQgdGhpcyBpbiB5b3VyIHNldHVwIGFuZCBpZiBz bywgYW55IGhlbHAgaXMgaGlnaGx5IGFwcHJlY2lhdGVkLiZuYnNwOyZuYnNwOzwvZGl2Pgo8L2Rp dj4KPGRpdj48YnI+CjwvZGl2PgotLSA8YnI+CjxkaXYgY2xhc3M9InhfZ21haWxfc2lnbmF0dXJl Ij5SZWdhcmRzPGJyPgo8YnI+ClN1ZGhlZW5kcmEgU2FtcGF0aDwvZGl2Pgo8ZGl2IGNsYXNzPSJ4 X2dtYWlsX3NpZ25hdHVyZSI+PGJyPgo8L2Rpdj4KPGRpdiBjbGFzcz0ieF9nbWFpbF9zaWduYXR1 cmUiPjxiPk5vdGU6Jm5ic3A7IEkgZG9uJ3Qgc2VlIGFueSBrZXJuZWwgcGFuaWMsIGJ1dCBqdXN0 IHRoZSBsb2dvbiBzZXNzaW9uIHRvIHRoZSZuYnNwOzwvYj48L2Rpdj4KPGRpdiBjbGFzcz0ieF9n bWFpbF9zaWduYXR1cmUiPjxiPiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i c3A7bWFjaGluZSZuYnNwOzwvYj48Yj53aGVyZSBJIGFtIHRyeWluZyB0aGlzIGdldHMgZGlzY29u bmVjdGVkLjwvYj48L2Rpdj4KPC9kaXY+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============2007827171758348455==--