From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3B1FDA04FD for ; Mon, 26 Dec 2022 20:25:02 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B8ADB4114B; Mon, 26 Dec 2022 20:25:01 +0100 (CET) Received: from forward502b.mail.yandex.net (forward502b.mail.yandex.net [178.154.239.146]) by mails.dpdk.org (Postfix) with ESMTP id 52C3840E2D for ; Mon, 26 Dec 2022 20:25:00 +0100 (CET) Received: from iva1-6891ef6bb416.qloud-c.yandex.net (iva1-6891ef6bb416.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:929a:0:640:6891:ef6b]) by forward502b.mail.yandex.net (Yandex) with ESMTP id 899C55EAC7; Mon, 26 Dec 2022 22:24:59 +0300 (MSK) Received: from mail.yandex.ru (mail.yandex.ru [213.108.211.135]) by iva1-6891ef6bb416.qloud-c.yandex.net (mxback/Yandex) with HTTP id qOUxOt2XOa61-Byt2VLdh; Mon, 26 Dec 2022 22:24:59 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1672082699; bh=qmDztMa6na7qk+D6PQ+mU+OeiSP+flq4u3SSWFhFLMI=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=F4eVp7YjXDr3HEHAGehCsmOrdE0O5DuHLR58VwV+NSuiUNQ8847kRuMCZ7J8TmqPJ OUEKSXb78qDnenpW4odmy79RXeueO+HolcAjEOX86HRID6fUI+csYlR64WtL+vkeWT fv9NaKrDteqMgzWFUZ9s6+nCGCQ1qIySr26L8RTQ= Authentication-Results: iva1-6891ef6bb416.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru Received: by vfzoddowhklcbzgs.iva.yp-c.yandex.net with HTTP; Mon, 26 Dec 2022 22:24:59 +0300 From: Ruslan R. Laishev To: Dmitry Kozlyuk Cc: "users@dpdk.org" In-Reply-To: <270941672081661@mail.yandex.ru> References: <207831672055161@mail.yandex.ru> <20221226160753.11db04bb@sovereign> <52451672060184@mail.yandex.ru> <270941672081661@mail.yandex.ru> Subject: Re: Performance "problem" or how to get power of the DPDK MIME-Version: 1.0 X-Mailer: Yamail [ http://yandex.ru ] 5.0 Date: Mon, 26 Dec 2022 22:24:59 +0300 Message-Id: <279421672082645@mail.yandex.ru> Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org PGRpdj5Tb3JyeSwgcmlnaHQgaW50ZXJmYWNlOjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPk5ldHdv cmsgZGV2aWNlcyB1c2luZyBEUERLLWNvbXBhdGlibGUgZHJpdmVyPC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PC9zcGFuPjwvZGl2PjxkaXY+ PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPjAwMDA6 MDk6MDAuMCAnRXRoZXJuZXQgQ29ubmVjdGlvbiBYNTUzIDEwIEdiRSBTRlArIDE1YzQnIGRydj1p Z2JfdWlvIHVudXNlZD1peGdiZSx2ZmlvLXBjaTwvc3Bhbj48L2Rpdj48ZGl2PsKgPC9kaXY+PC9k aXY+PGRpdj7CoDwvZGl2PjxkaXY+MjYuMTIuMjAyMiwgMjI6MjEsICJSdXNsYW4gUi4gTGFpc2hl diIgJmx0O3phdG9yQHlhbmRleC5ydSZndDs6PC9kaXY+PGJsb2NrcXVvdGU+PGRpdj48ZGl2Pjxz cGFuIHN0eWxlPSJmb250LWZhbWlseTonZ2VvcmdpYScgLCBzZXJpZiI+VGhlcmUgaXMgd2hhdCBp IGRvIGF0IHhtaXRlciBzaWRlLCBtYXkgYmUgdSB3aWxsIGdldCBhIHF1YW50dW0gdG8gc2VlIGEg Y29kZSBvZiBwdXBpbDogwqA8YSBocmVmPSJodHRwczovL3Bhc3RlYmluLmNvbS8xV015WHRyNSIg cmVsPSJub29wZW5lciBub3JlZmVycmVyIj5odHRwczovL3Bhc3RlYmluLmNvbS8xV015WHRyNTwv YT48L3NwYW4+PC9kaXY+PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQt ZmFtaWx5OidnZW9yZ2lhJyAsIHNlcmlmIj5JIHNwZW50IHNvbWUgdGltZSB3aXRoIHRoZSB0ZXN0 cG1kLCBzb3JyeSBidXQgdGhlcmUgaXMgbm90IGFuIGFiaWxpdHkgdG8gZ2V0IHJhdGUgaW5mb3Jt YXRpb24gb24gc2VuZGluZywgbWF5IGJlIGknbGwgYWRkIGl0IGludG8gdGhlIGNvZGUgLi4uPC9z cGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidnZW9yZ2lhJyAsIHNlcmlm Ij5Tb21lIHN0YXRpc3RpY3MgKDwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6I2ZmODA4MDt3aGl0 ZS1zcGFjZTpwcmUtbGluZSI+cnRlX2V0aF9zdGF0cynCoMKgPC9zcGFuPjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTonZ2VvcmdpYScgLCBzZXJpZiI+Ojwvc3Bhbj48L2Rpdj48ZGl2PsKgPC9kaXY+ PGRpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonY291cmllciBuZXcnICwgbW9ub3Nw YWNlIj5EYXRlO1RpbWU7RGV2aWNlO1BvcnQ7TmFtZTtBcmVhO0luIHBrdHM7T3V0IHBrdHM7SW4g Ynl0ZXM7T3V0IGJ5dGVzO0luIG1pc3NlZDtJbiBlcnJvcnM7T3V0IGVycm9ycztObyBtYnVmczs8 L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J2dlb3JnaWEnICwgc2Vy aWYiPihwYXlsb2FkIGlzIDAgb2N0ZXRzKTwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJm b250LWZhbWlseTonY291cmllciBuZXcnICwgbW9ub3NwYWNlIj4yNi0xMi0yMDIyOyAyMjoxNDox MDsgMDAwMDowOTowMC4wOyBfUEVBMDA6OyBXQU4wOyBXQU47IDA7IDIxMTIyNzUzOyAwOyAxNTYz MDg1NzUwOyAwOyAwOyAwOyAwPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPjI2LTEyLTIwMjI7IDIyOjE0OjIwOyAwMDAw OjA5OjAwLjA7IF9QRUEwMDo7IFdBTjA7IFdBTjsgMDsgMjExMjIzOTI7IDA7IDE1NjMwNTcwMDg7 IDA7IDA7IDA7IDA8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J2Nv dXJpZXIgbmV3JyAsIG1vbm9zcGFjZSI+MjYtMTItMjAyMjsgMjI6MTQ6MzA7IDAwMDA6MDk6MDAu MDsgX1BFQTAwOjsgV0FOMDsgV0FOOyAwOyAyMTEyMTk3ODsgMDsgMTU2MzAyNDUwMDsgMDsgMDsg MDsgMDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonY291cmllciBu ZXcnICwgbW9ub3NwYWNlIj4yNi0xMi0yMDIyOyAyMjoxNDo0MDsgMDAwMDowOTowMC4wOyBfUEVB MDA6OyBXQU4wOyBXQU47IDA7IDIxMTIyMDEyOyAwOyAxNTYzMDI4ODg4OyAwOyAwOyAwOyAwPC9z cGFuPjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5 OidnZW9yZ2lhJyAsIHNlcmlmIj4ocGF5bG9hZCBpcyAxMDI0IG9jdGV0cyk8L3NwYW4+PC9kaXY+ PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J2NvdXJpZXIgbmV3JyAsIG1vbm9z cGFjZSI+MjYtMTItMjAyMjsgMjI6MTU6MjA7IDAwMDA6MDk6MDAuMDsgX1BFQTAwOjsgV0FOMDsg V0FOOyAwOyA1MjQ2Nzk5OyAwOyA0NjQ4NjU5NDY0OyAwOyAwOyAwOyAwPC9zcGFuPjwvZGl2Pjxk aXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPjI2 LTEyLTIwMjI7IDIyOjE1OjMwOyAwMDAwOjA5OjAwLjA7IF9QRUEwMDo7IFdBTjA7IFdBTjsgMDsg NTI0NjQ1NjsgMDsgNDY0ODM2MDAxNjsgMDsgMDsgMDsgMDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTonY291cmllciBuZXcnICwgbW9ub3NwYWNlIj4yNi0xMi0yMDIy OyAyMjoxNTo0MDsgMDAwMDowOTowMC4wOyBfUEVBMDA6OyBXQU4wOyBXQU47IDA7IDUyNDYxNjg7 IDA7IDQ2NDgxMDg0MDg7IDA7IDA7IDA7IDA8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0i Zm9udC1mYW1pbHk6J2NvdXJpZXIgbmV3JyAsIG1vbm9zcGFjZSI+MjYtMTItMjAyMjsgMjI6MTU6 NTA7IDAwMDA6MDk6MDAuMDsgX1BFQTAwOjsgV0FOMDsgV0FOOyAwOyA1MjQ2MTQzOyAwOyA0NjQ4 MDg0NDc4OyAwOyAwOyAwOyAwPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPjI2LTEyLTIwMjI7IDIyOjE2OjAwOyAwMDAw OjA5OjAwLjA7IF9QRUEwMDo7IFdBTjA7IFdBTjsgMDsgNTI0NjEyOTsgMDsgNDY0ODA3MDI5NDsg MDsgMDsgMDsgMDwvc3Bhbj48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5BIHBpZWNlIG9mIHRoZSBE UERLLURFVkJJTkQuU0g8L2Rpdj48L2Rpdj48ZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5Oidjb3VyaWVyIG5ldycgLCBtb25vc3BhY2UiPjAwMDA6MDI6MDAuMCAnSTIxMSBHaWdhYml0 IE5ldHdvcmsgQ29ubmVjdGlvbiAxNTM5JyBpZj1lbnAyczAgZHJ2PWlnYiB1bnVzZWQ9aWdiX3Vp byx2ZmlvLXBjaSAqQWN0aXZlKjwvc3Bhbj48L2Rpdj48ZGl2PsKgPC9kaXY+PC9kaXY+PGRpdj4y Ni4xMi4yMDIyLCAxNjoyMiwgIlJ1c2xhbiBSLiBMYWlzaGV2IiAmbHQ7PGEgaHJlZj0ibWFpbHRv OnphdG9yQHlhbmRleC5ydSIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj56YXRvckB5YW5kZXgu cnU8L2E+Jmd0Ozo8L2Rpdj48YmxvY2txdW90ZT48ZGl2PlRoYW5rcyBmb3IgdGhlIGFuc3dlci48 L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5Pb3BzLCBzb3JyeSwgc29tZSBkZXRhaWxzOjwvZGl2Pjxk aXY+LSBvbmUgY29yZSBydW4gZ2VuZXJhdG9yIHJvdXRpbmU8L2Rpdj48ZGl2Pi0gb25lIGNvcmUg cnVuIHJvdXRpbmUgdG8gc2F2ZS9kaXNwbGF5IHN0YXRpc3RpYzwvZGl2PjxkaXY+wqA8L2Rpdj48 ZGl2PmNvcmUgcnVuIGEgZ2VuZXJhdG9yIHJvdXRpbmUgbGlrZTo8L2Rpdj48ZGl2PsKgPC9kaXY+ PGRpdj53aGlsZSAoMSkgezwhLS0gLS0+PC9kaXY+PGRpdj5nZXQgYnVmZmVyIGZyb20gcG9vbDwv ZGl2PjxkaXY+PGRpdj5tYWtlIGV0aCtpcCt1ZHAgaGVhZGVyIChpdCdzIHN0YXRpYyBjb250ZW50 KTwvZGl2PjxkaXY+Z2VuZXJhdGUgcGF5bG9hZCBsaWtlIG1lbXNldChwYWNrZXQucGF5bG9hZCAs ICdBJyArIHNvbWV0aGluZywgcGF5bG9hZF9zaXplKTs8L2Rpdj48ZGl2PmdlbmVyYXRlIHBhY2tl dCBzZXF1ZW5jZSBhbmQgQ1JDMzJDIMKgLSBhbmQgYWRkIGl0IHRvIHRoZSBwYXlsb2FkIHBhcnQ8 L2Rpdj48ZGl2PiJzZW5kIiBwYWNrZXQgdG8gdHhfYnVmZmVyPC9kaXY+PGRpdj7CoDwvZGl2Pjxk aXY+aWYgKHR4X2J1ZmZlci5zaXplID09IHR4X2J1ZmZlci5sZW5ndGgpPC9kaXY+PGRpdj5kbyBm bHVzaCgpPC9kaXY+PC9kaXY+PGRpdj59PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ImhlYWRlcjsg cGFydCBvZiB0aGUgcGFja2V0IDogc2l6ZW9mKGV0aCtpcCt1ZHApIC08L2Rpdj48ZGl2PiJwYXls b2FkIiBwYXJ0IC0gMjAtMTAyNCBvY3RldHM8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5SU1MgLSBp dCdzIG9uIHJlY2VpdmVkIHNpZGUsIHllcyA/PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+dGVzdHBt ZCAtIGhhdmUgbm90IHRyaWVkLCBJJ2xsLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+ PGRpdj4yNi4xMi4yMDIyLCAxNjowNywgIkRtaXRyeSBLb3pseXVrIiAmbHQ7PGEgaHJlZj0ibWFp bHRvOmRtaXRyeS5rb3psaXVrQGdtYWlsLmNvbSIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5k bWl0cnkua296bGl1a0BnbWFpbC5jb208L2E+Jmd0Ozo8L2Rpdj48YmxvY2txdW90ZT48cD5IaSw8 YnIgLz48YnIgLz4yMDIyLTEyLTI2IDE1OjIwIChVVEMrMDMwMCksIFJ1c2xhbiBSLiBMYWlzaGV2 OjwvcD48YmxvY2txdW90ZT7CoEkgc3R1ZHlpbmcgcHJvZ3JhbW1pbmcgd2l0aCBEUERLIFNESyAu IFNvIEkgd3JpdGUgYSBzbWFsbCBhcHAgdG8gc2VuZC9yZWNlaXZlIHBhY2tldHMgLCBub3cgSSB0 ZXN0aW5nIGl0IGFuZCBzZWUgbmV4dCBzaXR1YXRpb246PGJyIC8+wqBpcGVyZjMgc2hvdyDCoDks NCAtIDksNyBHYnBzIG9uIFRDUDxiciAvPsKgwqA8YnIgLz7CoG15IGFwcCBjYW4gKnNlbmQqIG9u bHkgYXQgNCtHYnBzIChJIHNlZSBjb3VudGVycyBpbiB0aGUgcnRlX2V0aF9zdGF0cynCoC4gwqBJ IGhhdmUgdHJpZWQgdG8gc3BlZWQtdXAgbXkgYXBwIGJ5OjxiciAvPsKgLSDCoHVzaW5nIDErIG51 bWJlciBvZiBUWCBxdWV1ZXMgKGRldmljZSBjbGFpbSBzdXBwb3J0IDY0KTxiciAvPsKgLSDCoGlu Y3JlYXNlIHNpemUgb2YgYnVyc3QgZnJvbSAzMiB1cCB0byAxMjggwqA8YnIgLz7CoC0gdHVybiBv ZmYgYW55IG9mZmxvYWRzIHJlbGF0ZWQgdG8gY2hlY2tzdW1taW5nPGJyIC8+wqDCoDxiciAvPsKg Tm8gZWZmZWN0LjwvYmxvY2txdW90ZT48cD48YnIgLz5QbGVhc2UgdGVsbCBtb3JlIGFib3V0IHdo YXQgeW91ciBhcHAgZG9lcyBhbmQgaG93ICh3LnIudC4gRFBESyB1c2FnZSkuPGJyIC8+QXJlIHlv dSBzdXJlIHRoYXQgYWxsIGNvcmVzIGFyZSBsb2FkZWQ/IEUuZy4gaWYgeW91IHNlbmQgaWRlbnRp Y2FsIHBhY2tldHMsPGJyIC8+UlNTIGNhbiBzdGVlciB0aGVtIGFsbCB0byBhIHNpbmdsZSBxdWV1 ZSBhbmQgdGh1cyBhIHNpbmdsZSBjb3JlLjxiciAvPjxiciAvPldoYXQgcGVyZm9ybWFuY2UgZG8g eW91IHNlZSB1c2luZyB0ZXN0cG1kIHdpdGggdHhvbmx5L3J4b25seSBmb3J3YXJkIG1vZGUsPGJy IC8+aWYgYXBwbGljYWJsZT88YnIgLz48YnIgLz5XaGF0IGlzIHRoZSBwYWNrZXQgcGVyZm9ybWFu Y2UsIGkuZS4gTXBwcywgbm90IEdicHMsIGFuZCBwYWNrZXQgc2l6ZT88YnIgLz5Vbmxlc3MgeW91 IGRvIFRDUCBwYXlsb2FkIHByb2Nlc3NpbmcgKG9yIGNvbXB1dGUgbGFyZ2UgcGF5bG9hZCBjaGVj a3N1bXMpLDxiciAvPnBhY2tldHMgcGVyIHNlY29uZCB1c3VhbGx5IG1hdHRlciByYXRoZXIgdGhh biBiaXRzIHBlciBzZWNvbmQuPC9wPjwvYmxvY2txdW90ZT48ZGl2PsKgPC9kaXY+PGRpdj7CoDwv ZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidnZW9yZ2lhJyAsICdwYWxhdGlubyci Pi0tLcKgPC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidnZW9yZ2lh JyAsICdwYWxhdGlubyciPtChINGD0LLQsNC20LXQvdC40LXQvCw8YnIgLz5SdXNsYW4gUi4gTGFp c2hldjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTonZ2VvcmdpYScg LCAncGFsYXRpbm8nIj5PcGVuVk1TIGJpZ290LCBuYXR1cmFsIGJvcm4gc3lzdGVtL25ldHdvcmsg cHJvZ2dlcizCoEMgY29udHJhY3Rvci48L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9u dC1mYW1pbHk6J2dlb3JnaWEnICwgJ3BhbGF0aW5vJyI+Kzc5MDEzMTYzMjIyPC9zcGFuPjwvZGl2 PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidnZW9yZ2lhJyAsICdwYWxhdGlubyciPis3 OTkxMDAwOTkyMjwvc3Bhbj48L2Rpdj48ZGl2PsKgPC9kaXY+PC9ibG9ja3F1b3RlPjxkaXY+wqA8 L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J2dlb3JnaWEn ICwgJ3BhbGF0aW5vJyI+LS0twqA8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1m YW1pbHk6J2dlb3JnaWEnICwgJ3BhbGF0aW5vJyI+0KEg0YPQstCw0LbQtdC90LjQtdC8LDxiciAv PlJ1c2xhbiBSLiBMYWlzaGV2PC9zcGFuPjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFt aWx5OidnZW9yZ2lhJyAsICdwYWxhdGlubyciPk9wZW5WTVMgYmlnb3QsIG5hdHVyYWwgYm9ybiBz eXN0ZW0vbmV0d29yayBwcm9nZ2VyLMKgQyBjb250cmFjdG9yLjwvc3Bhbj48L2Rpdj48ZGl2Pjxz cGFuIHN0eWxlPSJmb250LWZhbWlseTonZ2VvcmdpYScgLCAncGFsYXRpbm8nIj4rNzkwMTMxNjMy MjI8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6J2dlb3JnaWEnICwg J3BhbGF0aW5vJyI+Kzc5OTEwMDA5OTIyPC9zcGFuPjwvZGl2PjxkaXY+wqA8L2Rpdj48L2Jsb2Nr cXVvdGU+PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZh bWlseTonZ2VvcmdpYScgLCAncGFsYXRpbm8nIj4tLS3CoDwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFu IHN0eWxlPSJmb250LWZhbWlseTonZ2VvcmdpYScgLCAncGFsYXRpbm8nIj7QoSDRg9Cy0LDQttC1 0L3QuNC10LwsPGJyIC8+UnVzbGFuIFIuIExhaXNoZXY8L3NwYW4+PC9kaXY+PGRpdj48c3BhbiBz dHlsZT0iZm9udC1mYW1pbHk6J2dlb3JnaWEnICwgJ3BhbGF0aW5vJyI+T3BlblZNUyBiaWdvdCwg bmF0dXJhbCBib3JuIHN5c3RlbS9uZXR3b3JrIHByb2dnZXIswqBDIGNvbnRyYWN0b3IuPC9zcGFu PjwvZGl2PjxkaXY+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OidnZW9yZ2lhJyAsICdwYWxhdGlu byciPis3OTAxMzE2MzIyMjwvc3Bhbj48L2Rpdj48ZGl2PjxzcGFuIHN0eWxlPSJmb250LWZhbWls eTonZ2VvcmdpYScgLCAncGFsYXRpbm8nIj4rNzk5MTAwMDk5MjI8L3NwYW4+PC9kaXY+PGRpdj7C oDwvZGl2Pg==