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 9B5EB42C6A for ; Fri, 9 Jun 2023 09:58:04 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 27E1D40EDB; Fri, 9 Jun 2023 09:58:04 +0200 (CEST) Received: from mail-pg1-f178.google.com (mail-pg1-f178.google.com [209.85.215.178]) by mails.dpdk.org (Postfix) with ESMTP id EED1340A84 for ; Fri, 9 Jun 2023 09:58:01 +0200 (CEST) Received: by mail-pg1-f178.google.com with SMTP id 41be03b00d2f7-5144a9c11c7so551602a12.2 for ; Fri, 09 Jun 2023 00:58:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686297481; x=1688889481; h=content-transfer-encoding:to:message-id:thread-topic:subject:from :date:mime-version:from:to:cc:subject:date:message-id:reply-to; bh=NcyLa+JkRELA8hiHjx96bmjwM6XrFMLB9SF2xN4pD8c=; b=FglQsTeDWi+MtMTV20W4c7sUyaPfgSPNwGfbEfAUImMH0+/N2REJ3f21D0iMw6FIM/ qeJSun53my7JPD8P7G7hId1z62psxAnB/y8dKZwfV+3Q1dLSZ5jVmdgI+2RPQzW0B+4o BMscdwHAjiJv1T6LmAUXLqlyNJ3NHsWSCzF+6vyx9+cZNkwe5uLnHF5V9fxLkhH1hLHn Em/CGHFLGnJGRbhrtu7Yo5hEbLZbK/r5R+k/gqFDnvfXBK/loSIMFndh4ftezcqeeu21 OHied9WpBgOAesPsTu9uUy1WOdZT9VE2921m/xGK2RHM8GApqu2QVVsihCpnCs4KAWbA pjtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686297481; x=1688889481; h=content-transfer-encoding:to:message-id:thread-topic:subject:from :date:mime-version:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NcyLa+JkRELA8hiHjx96bmjwM6XrFMLB9SF2xN4pD8c=; b=h9oBFtHhBBEAv/45YkFFi+1mFF87bSw4iXVA2oPOj+aOogVfeCRGi5npR7krBssQG7 c4Ob+1krITak1RNAp3FDgagZha2HNAl020hjv6kZE46619HdBOcEV26fgMXc2JEs/JmK sPsX3A+71ZZXq0tu+SkfhFClOMB7vw0mA7IAbPdKLOO6LLYp123SMMZ2FtXp2UnxXEne hsc+U8nEJPD81u69StgPYgdKr3vRK2PquES7t0sh7Q1KUeeU+uYtVNqVH8HmgaJKjH// 4AZ2JfFwsEaS/2g+ait7RVxOD3ylZ8UbolsdmAHL5cofMdju6CfsD2lD6QDIlpUDyiaS YHCQ== X-Gm-Message-State: AC+VfDyPWlPLwu1TSx+G93N34bQmc4qDxHTGKmlWP7kZdlMLKatpv7SY FuoUOUhjI9iGZ83QyFj4GN9xHGm6+k0ROA== X-Google-Smtp-Source: ACHHUZ724/Kx82phqrhHtgybtigoUGoh17Y6+emYm1x2nqqY04eAahd37TKGiyuK/yAzU1nXkfjXiA== X-Received: by 2002:a17:90b:3b51:b0:259:82e:c1d1 with SMTP id ot17-20020a17090b3b5100b00259082ec1d1mr638305pjb.34.1686297480592; Fri, 09 Jun 2023 00:58:00 -0700 (PDT) Received: from junghan-NDSL (sky3.kaist.ac.kr. [143.248.129.202]) by smtp.gmail.com with ESMTPSA id c37-20020a634e25000000b0051eff0a70d7sm2336640pgb.94.2023.06.09.00.57.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Jun 2023 00:58:00 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 9 Jun 2023 16:57:13 +0900 From: Junghan Yoon Subject: About rte_flow asynchronous API Thread-Topic: About rte_flow asynchronous API Message-ID: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> To: "users@dpdk.org" Content-Transfer-Encoding: quoted-printable 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

Hi.

I=E2=80=99m trying to use testpmd to test rte_flow with asynchronous API in = DPDK 22.11.

&n= bsp;

I turned = on dv_esw_en=3D1 by echoing switchdev to /sys/class/net/=E2=80=A6., and set dv_flow_en to 2 to use connectX-6 HWS (hardware = steering).

sudo build/app/dpdk-testpmd -a 0= 000:8a:00.0,dv_flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 -= -txq=3D1

 

In the prompt, I typed below

= flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_cou= nters_number 0 meters_number 0 flags 0=

 =

but it said =E2=80=9CDevice with port_id=3D0 already started.=E2=80=9D.

 

I k= now rte_flow_configure() call should be in the middle of rte_eth_dev_config= ure() and rte_eth_dev_start().

So, I run testpmd by below to postpone device start,<= /o:p>

sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_f= low_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1 --disab= le-device-start

 

However, now not only rte_eth_dev_start() but also rte= _eth_dev_configure() does not start, so it said =E2=80=9CDevice with port_id=3D0 is not configured.=E2=80=9D.

&= nbsp;

How can = I run rte_flow_configure() between rte_eth_dev_configure() and rte_eth_dev_= start() in testpmd?

Is there any parameter to postpone only rte_eth_dev_start()?

 

Sincerely,<= /p>

Junghan Yoon.<= /p>

 

= 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 EDF8842C6E for ; Fri, 9 Jun 2023 15:00:03 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B21AA40EDB; Fri, 9 Jun 2023 15:00:03 +0200 (CEST) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2089.outbound.protection.outlook.com [40.107.93.89]) by mails.dpdk.org (Postfix) with ESMTP id C240C40A84 for ; Fri, 9 Jun 2023 15:00:01 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cSfb6cW/Txlb6D43s1dWkI1IX7+iZdNykqOk7JFB/iIs+Oys18jdJoJvlPaFyeuKlYiR0lgPCmu1uGDJnVn3KgtMFSVBkzmp0nwMVBa2stZzKfgnpeZRvWsYL5oKp29EOQW2KS1Sc4bBzA5h9eWBDvcGyXuNFwC+PpKWuY+UrV6dXYcuIcz/YeIY5ZfjwBvjBh02e4n5kym8+OfqqItCDQhGjPX4M8jUzXQor6zJX6cRwL0FI1C+Au/mfuVu4ukcpHrwfeq4SLp1k1e42VNfCLStuTVe6cWVOfKy5bq2jJu/WKNDREHR8LDgqnxFp7+SuI8O890BRlUDI2tuLWZSMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=nrEhLwU/SMfHv49j+d3IPQ5cIBtRaJBEb2nT3fCHNkM=; b=i0pyLGYyragw7ECNFqYLH9+aDqCWqWAX8EE8HxM6C8EtawLZSh0hlfc9e5/QxGvGX0C0CYksN5GU079SlTpIjgZt80QTM3J2rULjhaL49zgIbIx/c/gHtIHt7x9C1vQr9/ZCpJ/pnDn6dYC6D0lgy8YWTBwzFhgVt8L2pvCO2CXAuMPsXWY+4FuB0PPZWp5oMtM40UxcIb+eNH4CL5qj/JrRP5jq8sTcraoC9Kz+WB1qcnTsRzvf65dcxYzFaP3FBPdTOqP7tn7rav/oL5uWh7NuVFEumOsN0qVg2DWfnzjr8/MY/W1riY9Iq8Ayt6+b88VaP0iLI99S+hXFPVB2cg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nrEhLwU/SMfHv49j+d3IPQ5cIBtRaJBEb2nT3fCHNkM=; b=WAbe4xnQmkhijySOkn1WnRBOyOF7O3LaSKjTW3VTOEEKCfbQGJXoYEDhIKB/KdT/YvkEsz1jTq0MxBMOab/DlBlb5fTSqYAzHLeYyentPZqQvtW29XLgce+M7MjZLaTE3CWZN3ejabWAZgyjPRIV3q1fdl8wfj7okjF5zi8kOZgk8mWxfC16R/H4EOyPRPBAnRKrCB/mQ5AAzGs9tMrsUiNP2cpHlO9XvPMTbJuQoFqqWKBJF6K52V3ck2Yj7a62FMVPL33tlgVW7mmZEgHAtn+bhJeyPHK+2q5q769+UuG3swAducLICI53MSlVO6XfHDKqfOq0VKt41YPUHskHNA== Received: from DM4PR12MB5184.namprd12.prod.outlook.com (2603:10b6:5:397::18) by DM4PR12MB8497.namprd12.prod.outlook.com (2603:10b6:8:180::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Fri, 9 Jun 2023 13:00:00 +0000 Received: from DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06]) by DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06%4]) with mapi id 15.20.6455.030; Fri, 9 Jun 2023 13:00:00 +0000 From: Bing Zhao To: "users@dpdk.org" , "cerotyki@gmail.com" Subject: RE: About rte_flow asynchronous API Thread-Topic: About rte_flow asynchronous API Thread-Index: AQHZmqghQHUJsI7LwUqQx4JdnvoV4K+CX3yWgAAOf2A= Date: Fri, 9 Jun 2023 12:59:59 +0000 Message-ID: References: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5184:EE_|DM4PR12MB8497:EE_ x-ms-office365-filtering-correlation-id: 80391235-1cb4-426b-2b9a-08db68e96ee4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NI7MeRCnKGhPtTiKVMddPiZ0mPplve2eZhTZTDARJWcBeOFIvxtZ1Ur8dSCbVlKwvM1qr20gD/lQSwK5aJC3XGrDT9JumXuOHkL/4b8WTdb5Dk0Od3IRR0j72uZJyoEp4sU7yjaDlOMPnBQogXb2s7lG4WTbLurzUozXJOQl1NVT/fSDWaTpgmZLq08O3+oPkyBHRhB9YNSgGw+cN2jH/Ktu7m02YoEydfcHOtKqMIkkVDvrV6UIUBeVGIor5oIjFn1owOcFIR+ccDOlUdRn1NHThLnTrYmWBGLMIG6ovYG5dmkdwQqxxgSzae7W0SabsXDfkZ/XLT27bSUxYa21xi+2aKU422UF1oS9K5HiskknX/y9B3gP/vOpJfkNHFeXK0zMnVBS8DoLb2gEaXAEPIp/Ax3qS5YdF6Tg7xC5MpfVfNgyT5FP1MbkVjYQ+ox7+YjjGmc+pbnFGE6Rd9ypf7yOsOiRNPWdLojZLdhIy8U5myl1iT8mBRyzoDyX3/7ptbHyUWTyQs7JszjaZ9vPRUj0fHLC7sG8zrmjR2xGA3PNTuhiC8Ysy+m6KFAYPS+OI3r6V6lJkgNPPDzhzJCuUno3i7Ke4RLTaB5NxcPdxKKRrSEl8+FsiEDehkX7+oMN x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5184.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(376002)(366004)(346002)(39860400002)(136003)(451199021)(71200400001)(7696005)(55016003)(33656002)(86362001)(122000001)(26005)(38070700005)(9686003)(6506007)(38100700002)(53546011)(186003)(8936002)(5660300002)(9326002)(41300700001)(316002)(8676002)(52536014)(2906002)(110136005)(478600001)(66946007)(76116006)(66476007)(64756008)(66446008)(66556008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?kNVlGRA+lXeEgNiorFH35xAHJpBaakFLVpwyeM+t1cNYq57FC2FCcsgHlRJw?= =?us-ascii?Q?aU+oNmWeXTsg+UI/jqgcg8YKxvddlM6w6EvxDGs9xSS5+JNu9bYouY/NLngS?= =?us-ascii?Q?8W40fw9WFUEjFhPaqOPMc4riZHFLZm2irb2D//QKIDfg6JyoBdLXpStuOYhS?= =?us-ascii?Q?VUkqWnPsKtNEjcFHgedMUjap0gAVNdgp/4HOriqiUXz0UuH2+bSySQ9f3Juk?= =?us-ascii?Q?jDnAa0pYoOSrrb8NQGk4eMqUNX2HVwXcNZwyLKcXlrkQvLXJEpKHNO/sWABB?= =?us-ascii?Q?Y4HL0eH7bu3GUXCzji12y4TbFVesbWWdWNILyZ4GhEjnm+/Ymuu1gLXRq9eQ?= =?us-ascii?Q?xHH7mmj1T/BJuXUcIkJJK4zwL3TCvGqQiD0JW33twb1s9b476YLhcxtDBf/J?= =?us-ascii?Q?Z6xl6bmOMA3K1O9mbYww++VfDQ3sQEsuWhogXS6xSYlH4hwMZOGV3S5I5SuI?= =?us-ascii?Q?gITY5O81TP/IFU/wKu7xkso8PWQaVeJ+n9zS0YibdYvHSs6vnjz/GhX1oOWv?= =?us-ascii?Q?KQ/zQyVFf/RQpKC2kz1ecfEalEMhB3rXwH4h+QsGy/S2nNH1LXj8CtcyJ0iD?= =?us-ascii?Q?aay/EAbfaRhvaUdK6xNuncuW98f9r8QLcj7iUpVbS/SuxYoBuORRPuIDHxzp?= =?us-ascii?Q?uvBftho8M4vfAVPK8viw5WTB3GB7DsUM1g7QK3Kak6D+jYBYfkFhmgSIpFkc?= =?us-ascii?Q?OWk4yWs5Ux7Ea9QvKkVqw1q5UQt7Lm9Cki98meenhM4XxG28FfOEinIC7ODT?= =?us-ascii?Q?6Wn7Ig0CA8vqXDME+eZpkjOVloDIdr5ZAQ3iG+L/gKstjJD5Kk1GHgQy2VPh?= =?us-ascii?Q?P+/d8IRyye/ERW1GOJb1FejRenhgBx5iTmzWiW3+YtvD2U6yZQJn+mYwck53?= =?us-ascii?Q?EyMLrMUSDaWyudx7O+U+xOHYIf6zUgji7Xu2vAzjo4uxMOUlZexsbu3d8yP5?= =?us-ascii?Q?2ml2bolz/GVflZ5uTGpbf8f7UWc1nEpRcBUtEfg1/cE2POBCdKr7LqRW2tI4?= =?us-ascii?Q?duA4+w9VeT6iLeY5a3m+PxoCO4zUevXzUWReYI4VsFuzUPRRfXGDezaKzEvF?= =?us-ascii?Q?egWNBDMCNRC6oYxhVt2Swss+CHbe6i0arBcKj8r2WeP2ZuevXgDhCzg7IG0S?= =?us-ascii?Q?PmOMmalzFGoLYgJTshUVaV/zoVLHp2LIOl96OG6TO+w6lPgHuLHZhIXa0SFn?= =?us-ascii?Q?sCY9PPFpaZ2730DePM06FEtaFfyNDvhH8O7mIc42Le6DbsCo2AIXLOGGU1+w?= =?us-ascii?Q?Lii7hkQ6TpYyDAcH6cqlI62d6EeZK2cKPhvwnc5LzUXRjo1jQypgpWT+HMPT?= =?us-ascii?Q?uSx/e2w/Vs+I1Awtyhs0XpQxTYwFD0a8v1bhRsZ/PiagQOxMucx5SKL4Lqzz?= =?us-ascii?Q?3MMQYMj2mABRCajF0jUolTBavXMBdWYgSKCq61I7qdd2CAA75NG32L5ir0eW?= =?us-ascii?Q?NuxVdMvZm3AtN1ezq7BlqPp7j5aWCc/ClxyQipK5x2bT15eqICk2Gxd2Pxaw?= =?us-ascii?Q?p30kwd6CpBKNfEr6K93AuoSKWBlstdFJkHuqFwht+zMLOX8rOQ/KfJ+XNvFD?= =?us-ascii?Q?yDHnqQkddVOg9xRNnEc=3D?= Content-Type: multipart/alternative; boundary="_000_DM4PR12MB5184362483BA64FCA1687070D051ADM4PR12MB5184namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5184.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 80391235-1cb4-426b-2b9a-08db68e96ee4 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2023 13:00:00.0142 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: pPwlK2aiBxnF5mwlJJypfqh9Reo9bdJyndpepEyWGaLRCupFEmbh8ITJpod2AKWwMCqHGoWyeXgd4cJ9MpVvxQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8497 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 --_000_DM4PR12MB5184362483BA64FCA1687070D051ADM4PR12MB5184namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Junghan, In testpmd, you can easily do it by: port stop all # or port stop 0 flow configure 0 ...... # if there are other port(s) # flow configure Y ...... port start all # or port start 0 With the source code implementation, you can configure it before starting a= device. BR. Bing From: Junghan Yoon > Sent: Friday, June 9, 2023 10:57:13 AM To: users@dpdk.org > Subject: About rte_flow asynchronous API Hi. I'm trying to use testpmd to test rte_flow with asynchronous API in DPDK 22= .11. I turned on dv_esw_en=3D1 by echoing switchdev to /sys/class/net/...., and = set dv_flow_en to 2 to use connectX-6 HWS (hardware steering). sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=3D2 -a 0000:8a:00.1,= dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1 In the prompt, I typed below flow configure 0 queues_number 1 queues_size 10 counters_number 0 aging_cou= nters_number 0 meters_number 0 flags 0 but it said "Device with port_id=3D0 already started.". I know rte_flow_configure() call should be in the middle of rte_eth_dev_con= figure() and rte_eth_dev_start(). So, I run testpmd by below to postpone device start, sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_flow_en=3D2 -a 0000:8a:00.1,= dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1 --disable-device-start However, now not only rte_eth_dev_start() but also rte_eth_dev_configure() = does not start, so it said "Device with port_id=3D0 is not configured.". How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_= eth_dev_start() in testpmd? Is there any parameter to postpone only rte_eth_dev_start()? Sincerely, Junghan Yoon. --_000_DM4PR12MB5184362483BA64FCA1687070D051ADM4PR12MB5184namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi Junghan,

 =

In testpmd, you can easi= ly do it by:

 =

port stop all

# or port stop 0

 

flow configure 0 ……

# if there are other port(s)

# flow configure Y ……

 

 

port start all

# or port start 0

 =

With the source code imp= lementation, you can configure it before starting a device.

 =

BR. Bing

 =

 

From: Jungha= n Yoon <cerotyki@gmail.com>=
Sent: Friday, June 9, 2023 10:57:13 AM
To: users@dpdk.org <users@dpdk.org>
Subject: About rte_flow asynchronous API

 

Hi.

Im trying to use te= stpmd to test rte_flow with asynchronous API in DPDK 22.11.

 

I turned on dv_esw_en=3D1 by echoing switchdev to /= sys/class/net/., and set dv_flow_en to 2 to= use connectX-6 HWS (hardware steering).

sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_= flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1=

 

In the prompt, I typed below

flow configure 0 queues_number 1 queues_size 10= counters_number 0 aging_counters_number 0 meters_number 0 flags 0

 

but it said Device = with port_id=3D0 already started..

 

I know rte_flow_configure() call should be in the m= iddle of rte_eth_dev_configure() and rte_eth_dev_start().

So, I run testpmd by below to postpone device start= ,

sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_= flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1 --disa= ble-device-start

 

However, now not only rte_eth_dev_start() but also = rte_eth_dev_configure() does not start, so it said Device with port_id=3D0 is not configured.<= span lang=3D"KO">”.

 

How can I run rte_flow_configure() between rte_eth_= dev_configure() and rte_eth_dev_start() in testpmd?

Is there any parameter to postpone only rte_eth_dev= _start()?

 

Sincerely,

Junghan Yoon.

 

--_000_DM4PR12MB5184362483BA64FCA1687070D051ADM4PR12MB5184namp_-- 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 C75C742C6E for ; Fri, 9 Jun 2023 15:50:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8962542DB8; Fri, 9 Jun 2023 15:50:31 +0200 (CEST) Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by mails.dpdk.org (Postfix) with ESMTP id 6C14A40A84 for ; Fri, 9 Jun 2023 15:50:29 +0200 (CEST) Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-652a6cf1918so1514828b3a.1 for ; Fri, 09 Jun 2023 06:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686318628; x=1688910628; h=content-transfer-encoding:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=cneTQJDXoYoH8enlQOLGgzp+PRZO62YxWTdB5nD9dbI=; b=jdiMTaoYvJJQFpjTe1yxJ1qKzWuKFGque6GyZP42BjkNppald4Vqc7Gy5zRBpnw2Oi dh2GqMasr+M5di7BCoHcO+WiMIH1rAu+Tc0u6xUuRL8AYg2n7pDI6dtQX7ea7Hi5Fat6 sGc8eJnfagRpg66fehud93H9V3z5g/FA+EUWdDUVoGRUrUe1IXYgwhcmAUnQnbPw76nU pMiiIVweffK++YWPVPBfpSGsL11WTuPyZwXPqUil78+NwT5x9MQ702Zt0Ae7jitECehF rzhmbYmW6MLd956pLTfZNCQD2+uDJbOP0BHyTVKLdZU2evSkN58e9JwaLUx0iV+0z26v 61qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686318628; x=1688910628; h=content-transfer-encoding:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=cneTQJDXoYoH8enlQOLGgzp+PRZO62YxWTdB5nD9dbI=; b=CycRLjiWnG2PqA9nFVpjO1RDmHKk6Zs+6dp4jVDJAdkgdLg51kLiU6ZriLty1R6vz2 5vD/7PZTjT7fBEZDgjSAt/A1uEbBv80S69deCej909sn4F0HuSnNybE/QPckqqw16Dua uwdhNvJJ+9ebcVz64ThSJDNf3jFuMswXvihA8X0kyAgOnsvlFNCjXrI0YHMeSIofTdRv GRYcDi255LIhUsRHVRcALXCxxh7VQ+mtyzKvyRoP5rkS9Oe+j+k1iXbVIiTscenuTwhm TTPsIfxFuSO7844wdIbu54PsJ5rSaaTHqyh36UGDPcM7L/pX31DoyTeCbadSecNJ+J4W IWfw== X-Gm-Message-State: AC+VfDwZra2/6GCC4AQl1SLHTO2/bZIBuedkLGwtRC6pUjr3/6QExBpY YGlZ05U/DOf+RjVLCQ3GJpo= X-Google-Smtp-Source: ACHHUZ6rtiNC1v2hXLJA1xxE+2V8EADATsTCQzk/mVS4BJCDB2uivHpIlrsKluXlHa4T37HkwqkIzg== X-Received: by 2002:a05:6a00:2396:b0:653:a56:10d8 with SMTP id f22-20020a056a00239600b006530a5610d8mr1170767pfc.33.1686318628217; Fri, 09 Jun 2023 06:50:28 -0700 (PDT) Received: from junghan-NDSL (sky3.kaist.ac.kr. [143.248.129.202]) by smtp.gmail.com with ESMTPSA id v3-20020aa78503000000b006414289ab69sm2738019pfn.52.2023.06.09.06.50.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Jun 2023 06:50:27 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 9 Jun 2023 22:49:39 +0900 From: Junghan Yoon Subject: RE: RE: About rte_flow asynchronous API Thread-Topic: About rte_flow asynchronous API In-Reply-To: Message-ID: <979D83AF-4B3F-4D0E-8FDB-A583150751E9@hxcore.ol> References: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> , To: Bing Zhao , "users@dpdk.org" Content-Transfer-Encoding: quoted-printable 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

Thank you Zhao.

 

I tri= ed it, but now mlx5 driver returned error.

mlx5_net: [mlx5dr_action_create_generic]: Cannot create HWS act= ion since HWS is not supported

It is what I saw in my original code before tryin= g on testpmd.

It seems to= be an issue from connectX-6 configuration.

=  

Is there anyone ever tried to use asynchronous API with connect= X-6?

Setting dv_flow_en= =3D2 and dv_esw_en=3D1 seems not enough.

I explored the mlx5 code, and found that rte_flow_configure= () queries HCA capability by mlx5dr_cmd_query_caps().

In my case, rte_flow_configure() returned erro= r since caps->wqe_based_update is set by 0.

 

Is there anyone know how to set this value to non-zero?

I already wrote the same ques= tion on nvidia forum.

 

Sincerely,=

Junghan Yoon

<= p class=3DMsoNormal> 

=EB=B3=B4=EB=82=B8 =EC=82=AC=EB=9E=8C: Bing Zhao<= br>=EB=B3=B4=EB=82=B8 =EB=82=A0=EC=A7=9C: 2023=EB=85=84 6= =EC=9B=94 9=EC=9D=BC =EA=B8=88=EC=9A=94=EC=9D=BC = =EC=98=A4=ED=9B=84 10:00
=EB=B0=9B=EB=8A=94= =EC=82=AC=EB=9E=8C: users@dpdk.org; cerotyki@gmail.com
=EC=A0=9C=EB=AA=A9: RE: About rte_flow asynchronous A= PI

 

Hi Junghan,

 

In test= pmd, you can easily do it by:

 

p= ort stop all

# or port stop 0

 

flow configure 0 =E2=80=A6=E2=80= =A6

# if there are other port(s)

# flow configure Y =E2=80=A6=E2=80=A6

=  

 

<= span lang=3DEN-US style=3D'font-size:10.0pt;font-family:Consolas'>port star= t all

# or port start 0

 = ;

With the source code= implementation, you can configure it before starting a device.

 =

BR. Bing=

 

 

From: J= unghan Yoon <cerotyki@gmail.com>
Sent: Friday, June 9, = 2023 10:57:13 AM
To: users@dpdk.org <users@dpdk.org>
= Subject: About rte_flow asynchronous API

 

Hi.

I=E2=80=99m trying to use testpmd to tes= t rte_flow with asynchronous API in DPDK 22.11.

 

I turned on dv_esw_en=3D1 by echoing switchdev to /sys/class/net/<= /span>=E2=80=A6., and set dv_flow_en to 2 to use connect= X-6 HWS (hardware steering).

sudo build/app/dpdk-test= pmd -a 0000:8a:00.0,dv_flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --r= xq=3D1 --txq=3D1

 <= /span>

In the prompt, I typed b= elow

flow configure 0 queues_number 1 queues_size 10 = counters_number 0 aging_counters_number 0 meters_number 0 flags 0

 

but it said =E2=80=9CDev= ice with port_id=3D0 already started.=E2=80=9D.

 

I know rte_flow_configure() call should be= in the middle of rte_eth_dev_configure() and rte_eth_dev_start().

So, I run testpmd by below to po= stpone device start,

sudo build/app/dpdk-testpmd -a 0= 000:8a:00.0,dv_flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 -= -txq=3D1 --disable-device-start

 

However,= now not only rte_eth_dev_start() but also rte_eth_dev_configure() does not= start, so it said =E2=80=9CDevice with port_id= =3D0 is not configured.=E2=80=9D.

 

= How can I run rte_flow_configure() between rte_eth_dev_c= onfigure() and rte_eth_dev_start() in testpmd?

Is there any parameter to postpone only rte_eth_dev_= start()?

 

Sincerely,

Junghan Yoon.

 

 

= 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 4720F42C6E for ; Fri, 9 Jun 2023 15:56:18 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 40E4C42FA4; Fri, 9 Jun 2023 15:56:18 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2076.outbound.protection.outlook.com [40.107.212.76]) by mails.dpdk.org (Postfix) with ESMTP id 3266942DBC for ; Fri, 9 Jun 2023 15:56:12 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CXIe4xdcxcDnw3W4a8g5lCtQPV1qJCVhDuOqz2GfnaI1+PqKc6INFCJMJTXW/xcE2wHEiKHtXXaBrfgxMhNR1RfJSQ22GAaafch2XOS1caYV0jrDK8pb1S3NzwupMipfHZ8TyIYfizQyqr77VTG38ajwKGa+3PVTFaUsQTsT2nh7sVAjbmiATyr3vKYLePYuB8OAzsqzcIrcPZqqChmBsKScac/0DXiW3E47msfjHTtEUH/expdtORme7Cg9645FZl8nZP/i9MS+l1ytwER4JhdkipjkeOwJxuAwvq/8YGl0Ujj6oyojBB44+cxcRGsDGDjp42zCrDJ77MNVFyJSHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8eygxSmaVXLlW4u/fuJL+ZWxnPebs1upDLRpl17NZ/4=; b=cb+NirWPayco4jfFYwKMqiRJM5Q/Yc2bQ8wsOB0HD4zE+XbOgKrXPFuFS4NsL2HJFvVxiMsV4uZA/lwKRHAOOzMxudsKG3RtryU5Pl2gld2M2Y5vT9ZTGiHPTrpQB8uO8SLVPkfElXmIJGKM+hk9yNegaTQKUTMK62e/wXR5L9EkVCbojF34GH1+sRUPfw/tsMc2O7HCmV5uvTfUUH3uz9Cc5nYqgMuKXyQNn67XSWlhXot+jDqsfx1AoXP0d16D83oZJS4KIGv7iNDPnIeBjz7p/B2z4nPnBjzlSBtOoPdwLEh4g0eFVblngLRyxL1kRA6Pahf5lYxNwekd4Y/rwA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8eygxSmaVXLlW4u/fuJL+ZWxnPebs1upDLRpl17NZ/4=; b=G1wGNSTvAoviz/WfJVfmE+g4Pj8bKuzKifQnVGZOBIRJKLbPn07U3iyKInkI85xwv3Ac9N9IPXHulJMt5WkZ+SLC6FdX6l4yafVKHg54T/2onhos9pNrq9dai3bGCF+Gk/4GJufZOvSjs02t6GMDRdULoKGdUp1vDM6VmyQZuTJHdbrY3TUyk31g4r+oNLvyr4S8MRqCpeR2i/rouvLazIOEVpb9Eg7tSB1V698bAHYZo02ZvBqM/1FR9wqNVjt9YMwosK7wnhY3O0sMDdbhNnOGY/ycxm8R05pefYuKyV1A8mjbMpgRF+e7bF7r7qJZ2rssQqS0JaXYIzm+PRuVoA== Received: from DM4PR12MB5184.namprd12.prod.outlook.com (2603:10b6:5:397::18) by BY5PR12MB4853.namprd12.prod.outlook.com (2603:10b6:a03:1da::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.44; Fri, 9 Jun 2023 13:56:10 +0000 Received: from DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06]) by DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06%4]) with mapi id 15.20.6455.030; Fri, 9 Jun 2023 13:56:10 +0000 From: Bing Zhao To: Junghan Yoon , "users@dpdk.org" Subject: RE: RE: About rte_flow asynchronous API Thread-Topic: RE: About rte_flow asynchronous API Thread-Index: AQHZmqghQHUJsI7LwUqQx4JdnvoV4K+CX3yWgAAOf2CAAA8sgIAAAKTA Date: Fri, 9 Jun 2023 13:56:09 +0000 Message-ID: References: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> , <979D83AF-4B3F-4D0E-8FDB-A583150751E9@hxcore.ol> In-Reply-To: <979D83AF-4B3F-4D0E-8FDB-A583150751E9@hxcore.ol> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5184:EE_|BY5PR12MB4853:EE_ x-ms-office365-filtering-correlation-id: 01c58ed8-3c50-40b5-5bb1-08db68f1478a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GFXmx8ZfZVr9XBPQuFt9JTMnYy3/po/2LicrM1XTukSWR9SeRFYQ0udVG9sTYO32HpLUJJg2QboRPT/LZ9o2yFTgJhdo6l5Kp+fFhoOstFD9x5AopHSwr7Nm91Z3wEBV2uQrKkGn2CxhFZWcy/3/U2Sz5U6pWXXtt4QTzAc7dy2eCPxIOllcKZjmpq/E82R3/giJCWNHFjh2Zz/jiEfVcCbGYyDF17OUsUzYYY6IFP0izp2ZuaNSaKegWVmzkwzDrrWgOmmMwzbXz0X233epI48W3p3YG0rukb3EjQ1v3ue6yKo/RXuO2W4qXsIwM6eyFDY3zw0vhlQe9dKUFMPJ1E0nNrbioVZAK4R6/1hw1hKCaTofm2GQmRdqwLNHpFhc+1zD0m5DZFLjdHuiWj895KWOmUe44mJkKC0diy9xn1mksVMjyJ4Dhd0YpYP2B78YrahTMT298CIUbGoSJzKPfQoO13DhlPoNNGFmki7z0xV895IHppNLaU10Ma477MQSUE+iKHLaG6HUuW8lrI60+wBvdHENTm1wg1oL2AkCtTGhZKIPtRwOBBJZWgt8wHEECzHCvfYo18/Ss1czt6Gbr/ll5LIvgAt/zSRtOHvj/Z7oE7HUwchi1KIF1ddnonwj x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5184.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(136003)(366004)(39860400002)(396003)(376002)(346002)(451199021)(26005)(53546011)(38100700002)(41300700001)(6506007)(7696005)(83380400001)(186003)(9686003)(71200400001)(478600001)(110136005)(76116006)(55016003)(122000001)(64756008)(66446008)(66476007)(66556008)(66946007)(316002)(8676002)(8936002)(5660300002)(52536014)(2906002)(86362001)(33656002)(38070700005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WFN5NGV6M0tEN2FOMEZGL3MzVkFQV2Q0VDd4ZzlyMC9yUnhETyt2d3pFT2NO?= =?utf-8?B?Y016Z04xbFF4WW1iMFAxVnBZZndYTnYzTkZhQ3ZxSGRQME9rTFZRY0FhT3JD?= =?utf-8?B?akVmSnE3emN0eFpCNCsxa3NqTlpqblNxWGZScURONW9GR0N2dlpyaUtZTGVB?= =?utf-8?B?OGlFQVpOYzc1a1hVeVpxODZjTWpJVFViRnhDZ2FEcEpMRGhweGdtd2swYmtF?= =?utf-8?B?YmRkcHZ1a1ptT2lvYURmaVVzc2l6NVJsYWlLSmd1dW5UZ0MxRWFPVjdmd1N3?= =?utf-8?B?Z21MSFdENWhJcmlnOVdSc0VYUnIvV3BGS2QrdHNWUFBlaDN1Qk9wdnBHQXo0?= =?utf-8?B?ckM4bDVmVXhzb25yK2UxY3hsRVdXb3BDOVFpVTl6WlM5MUk3UU9oWlNlZkty?= =?utf-8?B?bHBFL1lVUC85V0RlVFp4SzNPcVQxdDdwZzhoa1UxeGMvOWEvMThiL2tkVDhs?= =?utf-8?B?SjkxV2lDakRvN3dTaEVlaHI1ZVMxazlQOE9XRTE0UERQeWxrdWRGNGcvVHh5?= =?utf-8?B?NW5STldoOVMvSnZqZzUrSGdpYmY1OS96L1pZWktuY2FlSlh3UFkwMDV6OEZC?= =?utf-8?B?SlFKd2ZTdVRDdTNDTW1RYjlmNlI2Q0xhSnc2d0x5aThpU29qNzQrcE51Tmcv?= =?utf-8?B?SG9icjdZb0RPdTkwcUZVdTc5dUp1MXIrVnJLKy9TWXRDODNKU09EaHNpUTl5?= =?utf-8?B?cTU4UGRWZUFNMjBoV2JDQnVIUVo0OFBNNlVSZkRiQUFGNi9UY1lxZXRuQkVU?= =?utf-8?B?Vlh0RGVpOTA2Z2E5eFZkbUZJMnArR3JiYmhrcWhGOVcycDJVNXJMOUNuOUN4?= =?utf-8?B?ekJ5RXBTTHpnc2hHZmRoZk5lVys2ZVQ1UWtJZUo4MW1KS1hJRVB2Nll4MWNz?= =?utf-8?B?YUhTRzVtWlFVVFNyMTREVHVwWCtTdUJyT1hLZ2Zwd1NHNUxrQUFWQXZ3c0ow?= =?utf-8?B?bGdMaWw4MUJBTTdBM3FsMUFuK0VOb2Njb3Ezc3VYUldmQkduQVdCZzhiYkU2?= =?utf-8?B?UUlqeHN3WHJjQVZtNW56OGIyRHJnUE5zQXpRUjZBYXFLTTY1OUFZYWt4VWc5?= =?utf-8?B?UTlhYTQrendwR0VLK0ZUZytxOHNiUGJJSTMxaktPZzJUelZMMVF0Umd2aUhG?= =?utf-8?B?WGwvSjJ0ckY5RXRqL2pGRjFobDdOV3R5SURKRDhDWktIUUhuNTRMTXY3Ukwz?= =?utf-8?B?SVJ1MkdYZHM2QjJrbkpWTUpRbDFqN20rQklPMnZhZkJLVjBYb3BXME42WVdr?= =?utf-8?B?NEx0c29ZK1BKWkRTd1JLUHlwTjB6MzJ5ZGhvRUwyTEN4WXYxR1ZmTkhkc2Rr?= =?utf-8?B?a0xuYkJ5NlVuejdqTXlZN0dGL1VaQThObW0ybHZBSTFWd3pQcGp2c1hudEg2?= =?utf-8?B?T1JoMURMdmh4dTNQd0VGVk1mUVkyc0pKSm9mZGhycWdkMGJOazVlSDlBK3Ar?= =?utf-8?B?RWRRK3NoQ0dlVE9GU0NtWnIveU5MNXBIdnBnaXRmSzhoSStXOEdhTzVTT29r?= =?utf-8?B?aDA0eFFmdXZ1dEtTSnVORTZ0S1JINEFxbFhwSndGc045L2xxSHAyMzRQYnVw?= =?utf-8?B?b1A2Q0Z0aFBtcWc2ZVVteU1SQmJ4YXhWdEhKeU80cE9YbXFBYXhVNVV6ZE9O?= =?utf-8?B?elI4U2pRb2RycmwvaFVHTEZYR1BCK2JEQmZvcVJRQStNT05rK284WGpzcTJT?= =?utf-8?B?dzVDYnlEWG9pTjRjNHFFMldNVTNicnNnSGNDR2wvR2lZVjV0Vk9RbDVlWTVr?= =?utf-8?B?cWlyc3U5aWw5S2Nna0hjc0xhS1lkQUtGZTRGWXhmaFVPY3lTV1IyRFV6WlJV?= =?utf-8?B?Zms2UHVtc1BsRDRzS1RyOE9pOXROUEcxQXRBYS8wQTY3WVNHaU91bitWTW9S?= =?utf-8?B?UTIwMGx2YWNqTXZBY1pXSG1BN1duT1A4VmlkRDZYVUpFZ3VTSWFlWDZ3MXpt?= =?utf-8?B?cGxyWURKeXlnbUpJWFBUM3NFMFRFYWo1WncweFdGL3hsbEJ2UTJwNkl6cUNN?= =?utf-8?B?ZGZVUmljRHY5MmVDOFVzRFF3WDR4SUxkRitLeHpzV2xqWkxSVno2N3J1akwy?= =?utf-8?B?S1F5akE0QkRDR0dzNTM5aGs5TXBlQTlnZ2EzMEJySlR6V3F2elE0ZXMzNFNV?= =?utf-8?Q?CjbU=3D?= Content-Type: multipart/alternative; boundary="_000_DM4PR12MB5184D723B3E036967DB83E94D051ADM4PR12MB5184namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5184.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01c58ed8-3c50-40b5-5bb1-08db68f1478a X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2023 13:56:09.9186 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nXLReRVOmaLsup2dtosZMqIqxFtJkvBQXIGmh7Fm14WsUy0ZH0MOroP92bwa8Kc03GGvsWApmgKoq5WWS5mbsw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4853 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 --_000_DM4PR12MB5184D723B3E036967DB83E94D051ADM4PR12MB5184namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 V2hhdOKAmXMgdGhlIEZXIHZlcnNpb24gYXJlIHlvdSB1c2luZz8NCklmIHlvdSBhcmUgdXNpbmcg T0ZFRCBkcml2ZXIsIGl0IGlzIHN1Z2dlc3RlZCB0aGF0IHlvdSB0cnkgdGhlIE9GRUQgPj01Ljgg d2l0aCB0aGUgRlcgaW5zaWRlLg0KDQpCUi4gQmluZw0KDQpGcm9tOiBKdW5naGFuIFlvb24gPGNl cm90eWtpQGdtYWlsLmNvbT4NClNlbnQ6IEZyaWRheSwgSnVuZSA5LCAyMDIzIDk6NTAgUE0NClRv OiBCaW5nIFpoYW8gPGJpbmd6QG52aWRpYS5jb20+OyB1c2Vyc0BkcGRrLm9yZw0KU3ViamVjdDog UkU6IFJFOiBBYm91dCBydGVfZmxvdyBhc3luY2hyb25vdXMgQVBJDQoNCkV4dGVybmFsIGVtYWls OiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRzDQoNClRoYW5rIHlvdSBa aGFvLg0KDQpJIHRyaWVkIGl0LCBidXQgbm93IG1seDUgZHJpdmVyIHJldHVybmVkIGVycm9yLg0K bWx4NV9uZXQ6IFttbHg1ZHJfYWN0aW9uX2NyZWF0ZV9nZW5lcmljXTogQ2Fubm90IGNyZWF0ZSBI V1MgYWN0aW9uIHNpbmNlIEhXUyBpcyBub3Qgc3VwcG9ydGVkDQpJdCBpcyB3aGF0IEkgc2F3IGlu IG15IG9yaWdpbmFsIGNvZGUgYmVmb3JlIHRyeWluZyBvbiB0ZXN0cG1kLg0KSXQgc2VlbXMgdG8g YmUgYW4gaXNzdWUgZnJvbSBjb25uZWN0WC02IGNvbmZpZ3VyYXRpb24uDQoNCklzIHRoZXJlIGFu eW9uZSBldmVyIHRyaWVkIHRvIHVzZSBhc3luY2hyb25vdXMgQVBJIHdpdGggY29ubmVjdFgtNj8N ClNldHRpbmcgZHZfZmxvd19lbj0yIGFuZCBkdl9lc3dfZW49MSBzZWVtcyBub3QgZW5vdWdoLg0K SSBleHBsb3JlZCB0aGUgbWx4NSBjb2RlLCBhbmQgZm91bmQgdGhhdCBydGVfZmxvd19jb25maWd1 cmUoKSBxdWVyaWVzIEhDQSBjYXBhYmlsaXR5IGJ5IG1seDVkcl9jbWRfcXVlcnlfY2FwcygpLg0K SW4gbXkgY2FzZSwgcnRlX2Zsb3dfY29uZmlndXJlKCkgcmV0dXJuZWQgZXJyb3Igc2luY2UgY2Fw cy0+d3FlX2Jhc2VkX3VwZGF0ZSBpcyBzZXQgYnkgMC4NCg0KSXMgdGhlcmUgYW55b25lIGtub3cg aG93IHRvIHNldCB0aGlzIHZhbHVlIHRvIG5vbi16ZXJvPw0KSSBhbHJlYWR5IHdyb3RlIHRoZSBz YW1lIHF1ZXN0aW9uIG9uIG52aWRpYSBmb3J1bS4NCg0KU2luY2VyZWx5LA0KSnVuZ2hhbiBZb29u DQoNCuuztOuCuCDsgqzrnow6IEJpbmcgWmhhbzxtYWlsdG86YmluZ3pAbnZpZGlhLmNvbT4NCuuz tOuCuCDrgqDsp5w6IDIwMjPrhYQgNuyblCA57J28IOq4iOyalOydvCDsmKTtm4QgMTA6MDANCuuw m+uKlCDsgqzrnow6IHVzZXJzQGRwZGsub3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9yZz47IGNlcm90 eWtpQGdtYWlsLmNvbTxtYWlsdG86Y2Vyb3R5a2lAZ21haWwuY29tPg0K7KCc66qpOiBSRTogQWJv dXQgcnRlX2Zsb3cgYXN5bmNocm9ub3VzIEFQSQ0KDQpIaSBKdW5naGFuLA0KDQpJbiB0ZXN0cG1k LCB5b3UgY2FuIGVhc2lseSBkbyBpdCBieToNCg0KDQpwb3J0IHN0b3AgYWxsDQoNCiMgb3IgcG9y dCBzdG9wIDANCg0KDQoNCmZsb3cgY29uZmlndXJlIDAg4oCm4oCmDQoNCiMgaWYgdGhlcmUgYXJl IG90aGVyIHBvcnQocykNCg0KIyBmbG93IGNvbmZpZ3VyZSBZIOKApuKApg0KDQoNCg0KDQoNCnBv cnQgc3RhcnQgYWxsDQoNCiMgb3IgcG9ydCBzdGFydCAwDQoNCldpdGggdGhlIHNvdXJjZSBjb2Rl IGltcGxlbWVudGF0aW9uLCB5b3UgY2FuIGNvbmZpZ3VyZSBpdCBiZWZvcmUgc3RhcnRpbmcgYSBk ZXZpY2UuDQoNCkJSLiBCaW5nDQoNCg0KRnJvbTogSnVuZ2hhbiBZb29uIDxjZXJvdHlraUBnbWFp bC5jb208bWFpbHRvOmNlcm90eWtpQGdtYWlsLmNvbT4+DQpTZW50OiBGcmlkYXksIEp1bmUgOSwg MjAyMyAxMDo1NzoxMyBBTQ0KVG86IHVzZXJzQGRwZGsub3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9y Zz4gPHVzZXJzQGRwZGsub3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9yZz4+DQpTdWJqZWN0OiBBYm91 dCBydGVfZmxvdyBhc3luY2hyb25vdXMgQVBJDQoNCg0KSGkuDQoNCknigJltIHRyeWluZyB0byB1 c2UgdGVzdHBtZCB0byB0ZXN0IHJ0ZV9mbG93IHdpdGggYXN5bmNocm9ub3VzIEFQSSBpbiBEUERL IDIyLjExLg0KDQoNCg0KSSB0dXJuZWQgb24gZHZfZXN3X2VuPTEgYnkgZWNob2luZyBzd2l0Y2hk ZXYgdG8gL3N5cy9jbGFzcy9uZXQv4oCmLiwgYW5kIHNldCBkdl9mbG93X2VuIHRvIDIgdG8gdXNl IGNvbm5lY3RYLTYgSFdTIChoYXJkd2FyZSBzdGVlcmluZykuDQoNCnN1ZG8gYnVpbGQvYXBwL2Rw ZGstdGVzdHBtZCAtYSAwMDAwOjhhOjAwLjAsZHZfZmxvd19lbj0yIC1hIDAwMDA6OGE6MDAuMSxk dl9mbG93X2VuPTIgLS0gLWkgLS1yeHE9MSAtLXR4cT0xDQoNCg0KDQpJbiB0aGUgcHJvbXB0LCBJ IHR5cGVkIGJlbG93DQoNCmZsb3cgY29uZmlndXJlIDAgcXVldWVzX251bWJlciAxIHF1ZXVlc19z aXplIDEwIGNvdW50ZXJzX251bWJlciAwIGFnaW5nX2NvdW50ZXJzX251bWJlciAwIG1ldGVyc19u dW1iZXIgMCBmbGFncyAwDQoNCg0KDQpidXQgaXQgc2FpZCDigJxEZXZpY2Ugd2l0aCBwb3J0X2lk PTAgYWxyZWFkeSBzdGFydGVkLuKAnS4NCg0KDQoNCkkga25vdyBydGVfZmxvd19jb25maWd1cmUo KSBjYWxsIHNob3VsZCBiZSBpbiB0aGUgbWlkZGxlIG9mIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgp IGFuZCBydGVfZXRoX2Rldl9zdGFydCgpLg0KDQpTbywgSSBydW4gdGVzdHBtZCBieSBiZWxvdyB0 byBwb3N0cG9uZSBkZXZpY2Ugc3RhcnQsDQoNCnN1ZG8gYnVpbGQvYXBwL2RwZGstdGVzdHBtZCAt YSAwMDAwOjhhOjAwLjAsZHZfZmxvd19lbj0yIC1hIDAwMDA6OGE6MDAuMSxkdl9mbG93X2VuPTIg LS0gLWkgLS1yeHE9MSAtLXR4cT0xIC0tZGlzYWJsZS1kZXZpY2Utc3RhcnQNCg0KDQoNCkhvd2V2 ZXIsIG5vdyBub3Qgb25seSBydGVfZXRoX2Rldl9zdGFydCgpIGJ1dCBhbHNvIHJ0ZV9ldGhfZGV2 X2NvbmZpZ3VyZSgpIGRvZXMgbm90IHN0YXJ0LCBzbyBpdCBzYWlkIOKAnERldmljZSB3aXRoIHBv cnRfaWQ9MCBpcyBub3QgY29uZmlndXJlZC7igJ0uDQoNCg0KDQpIb3cgY2FuIEkgcnVuIHJ0ZV9m bG93X2NvbmZpZ3VyZSgpIGJldHdlZW4gcnRlX2V0aF9kZXZfY29uZmlndXJlKCkgYW5kIHJ0ZV9l dGhfZGV2X3N0YXJ0KCkgaW4gdGVzdHBtZD8NCg0KSXMgdGhlcmUgYW55IHBhcmFtZXRlciB0byBw b3N0cG9uZSBvbmx5IHJ0ZV9ldGhfZGV2X3N0YXJ0KCk/DQoNCg0KDQpTaW5jZXJlbHksDQoNCkp1 bmdoYW4gWW9vbi4NCg0KDQoNCg== --_000_DM4PR12MB5184D723B3E036967DB83E94D051ADM4PR12MB5184namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVC My0xMWQxLUEyOUYtMDBBQTAwQzE0ODgyIiB4bWxuczptPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv ZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9S RUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250 ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT0iR2VuZXJhdG9yIiBj b250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQgbWVkaXVtKSI+DQo8c3R5bGU+PCEt LQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpHdWxp bTsNCglwYW5vc2UtMToyIDExIDYgMCAwIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpEZW5nWGlhbjsNCglwYW5vc2UtMToyIDEgNiAwIDMg MSAxIDEgMSAxO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2Ut MToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlZlcmRh bmE7DQoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250 LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAzIDIgNDt9DQpAZm9u dC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQERlbmdYaWFuIjsNCglwYW5vc2UtMToyIDEgNiAwIDMg MSAxIDEgMSAxO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1hbGd1biBHb3RoaWMiOw0K CXBhbm9zZS0xOjIgMTEgNSAzIDIgMCAwIDIgMCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1p bHk6IlxATWFsZ3VuIEdvdGhpYyI7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEBHdWxp bSI7DQoJcGFub3NlLTE6MiAxMSA2IDAgMCAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlv bnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2lu OjBpbjsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1hdXRvc3BhY2U6bm9uZTsNCgl3b3Jk LWJyZWFrOmJyZWFrLWFsbDsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJNYWxn dW4gR290aGljIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNv LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy bGluZTt9DQpwLnhtc29ub3JtYWwsIGxpLnhtc29ub3JtYWwsIGRpdi54bXNvbm9ybWFsDQoJe21z by1zdHlsZS1uYW1lOnhfbXNvbm9ybWFsOw0KCW1hcmdpbjowaW47DQoJdGV4dC1hbGlnbjpqdXN0 aWZ5Ow0KCXRleHQtYXV0b3NwYWNlOm5vbmU7DQoJd29yZC1icmVhazpicmVhay1hbGw7DQoJZm9u dC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiTWFsZ3VuIEdvdGhpYyIsc2Fucy1zZXJpZjt9 DQpzcGFuLkVtYWlsU3R5bGUyMA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglm b250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5N c29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZTox MC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdp bjo4NS4wNXB0IDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNo YXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRp Zl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0 Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0Pjwv eG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUi IHZsaW5rPSIjOTU0RjcyIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFz cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ3b3JkLWJyZWFr Om5vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5XaGF04oCZcyB0aGUgRlcgdmVyc2lvbiBhcmUgeW91 IHVzaW5nPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl PSJ3b3JkLWJyZWFrOm5vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5JZiB5b3UgYXJlIHVzaW5nIE9G RUQgZHJpdmVyLCBpdCBpcyBzdWdnZXN0ZWQgdGhhdCB5b3UgdHJ5IHRoZSBPRkVEICZndDs9NS44 IHdpdGggdGhlIEZXIGluc2lkZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBzdHlsZT0id29yZC1icmVhazpub3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+PG86cD4m bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IndvcmQt YnJlYWs6bm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkJSLiBCaW5nPG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IndvcmQtYnJlYWs6bm9ybWFsIj48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7 LHNhbnMtc2VyaWYiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowaW4gMGluIDBp biA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xp ZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3Bh Y2U6aWRlb2dyYXBoLW51bWVyaWMgaWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4N CjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZiI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IEp1 bmdoYW4gWW9vbiAmbHQ7Y2Vyb3R5a2lAZ21haWwuY29tJmd0Ow0KPGJyPg0KPGI+U2VudDo8L2I+ IEZyaWRheSwgSnVuZSA5LCAyMDIzIDk6NTAgUE08YnI+DQo8Yj5Ubzo8L2I+IEJpbmcgWmhhbyAm bHQ7YmluZ3pAbnZpZGlhLmNvbSZndDs7IHVzZXJzQGRwZGsub3JnPGJyPg0KPGI+U3ViamVjdDo8 L2I+IFJFOiBSRTogQWJvdXQgcnRlX2Zsb3cgYXN5bmNocm9ub3VzIEFQSTxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVm dCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8dGFibGUg Y2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIwIiBzdHlsZT0i YmFja2dyb3VuZDojRkZFQjlDIj4NCjx0Ym9keT4NCjx0cj4NCjx0ZCBzdHlsZT0icGFkZGluZzou NzVwdCAuNzVwdCAuNzVwdCAuNzVwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVm dCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtbnVtZXJp YyBpZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPGI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7 Y29sb3I6YmxhY2siPkV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9y IGF0dGFjaG1lbnRzPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQt ZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+DQo8L3Nw YW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy aSZxdW90OyxzYW5zLXNlcmlmIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L3RkPg0KPC90cj4N CjwvdGJvZHk+DQo8L3RhYmxlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0 eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW51bWVyaWMgaWRl b2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFy ZWFzdC1sYW5ndWFnZTpLTyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+ VGhhbmsgeW91IFpoYW8uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h bCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVh c3QtbGFuZ3VhZ2U6S08iPkkgdHJpZWQgaXQsIGJ1dCBub3cgbWx4NSBkcml2ZXIgcmV0dXJuZWQg ZXJyb3IuPG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6IzIzMjMyMzt0 ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4g c3R5bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90 Oztjb2xvcjpsaWdodGdyZXk7YmFja2dyb3VuZDojMjMyMzIzO21zby1mYXJlYXN0LWxhbmd1YWdl OktPIj5tbHg1X25ldDogW21seDVkcl9hY3Rpb25fY3JlYXRlX2dlbmVyaWNdOiBDYW5ub3QgY3Jl YXRlIEhXUyBhY3Rpb24gc2luY2UgSFdTIGlzIG5vdCBzdXBwb3J0ZWQ8L3NwYW4+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztt c28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08i Pkl0IGlzIHdoYXQgSSBzYXcgaW4gbXkgb3JpZ2luYWwgY29kZSBiZWZvcmUgdHJ5aW5nIG9uIHRl c3RwbWQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JdCBzZWVtcyB0byBiZSBhbiBpc3N1ZSBm cm9tIGNvbm5lY3RYLTYgY29uZmlndXJhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxv OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SXMgdGhlcmUgYW55b25lIGV2ZXIgdHJpZWQg dG8gdXNlIGFzeW5jaHJvbm91cyBBUEkgd2l0aCBjb25uZWN0WC02PzxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n dWFnZTpLTyI+U2V0dGluZyBkdl9mbG93X2VuPTIgYW5kIGR2X2Vzd19lbj0xIHNlZW1zIG5vdCBl bm91Z2guPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JIGV4cGxvcmVkIHRoZSBtbHg1IGNvZGUs IGFuZCBmb3VuZCB0aGF0IHJ0ZV9mbG93X2NvbmZpZ3VyZSgpIHF1ZXJpZXMgSENBIGNhcGFiaWxp dHkgYnkgbWx4NWRyX2NtZF9xdWVyeV9jYXBzKCkuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5J biBteSBjYXNlLCBydGVfZmxvd19jb25maWd1cmUoKSByZXR1cm5lZCBlcnJvciBzaW5jZSBjYXBz LSZndDt3cWVfYmFzZWRfdXBkYXRlIGlzIHNldCBieSAwLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpL TyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw YW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JcyB0aGVyZSBhbnlvbmUga25vdyBo b3cgdG8gc2V0IHRoaXMgdmFsdWUgdG8gbm9uLXplcm8/PG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktP Ij5JIGFscmVhZHkgd3JvdGUgdGhlIHNhbWUgcXVlc3Rpb24gb24gbnZpZGlhIGZvcnVtLjxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5TaW5j ZXJlbHksPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5KdW5naGFuIFlvb248bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6S08iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJv cmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBp biAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIGxhbmc9IktPIiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPuuztOuCuCDsgqzrnow8L3NwYW4+PC9iPjxiPjxz cGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Og0KPC9zcGFuPjwvYj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxhIGhyZWY9Im1haWx0bzpiaW5nekBudmlk aWEuY29tIj5CaW5nIFpoYW88L2E+PGJyPg0KPGI+PHNwYW4gbGFuZz0iS08iPuuztOuCuCDrgqDs p5w8L3NwYW4+OiA8L2I+MjAyMzxzcGFuIGxhbmc9IktPIj7rhYQ8L3NwYW4+IDY8c3BhbiBsYW5n PSJLTyI+7JuUPC9zcGFuPiA5PHNwYW4gbGFuZz0iS08iPuydvCDquIjsmpTsnbwg7Jik7ZuEPC9z cGFuPiAxMDowMDxicj4NCjxiPjxzcGFuIGxhbmc9IktPIj7rsJvripQg7IKs656MPC9zcGFuPjog PC9iPjxhIGhyZWY9Im1haWx0bzp1c2Vyc0BkcGRrLm9yZyI+dXNlcnNAZHBkay5vcmc8L2E+Ow0K PGEgaHJlZj0ibWFpbHRvOmNlcm90eWtpQGdtYWlsLmNvbSI+Y2Vyb3R5a2lAZ21haWwuY29tPC9h Pjxicj4NCjxiPjxzcGFuIGxhbmc9IktPIj7soJzrqqk8L3NwYW4+OiA8L2I+UkU6IEFib3V0IHJ0 ZV9mbG93IGFzeW5jaHJvbm91cyBBUEk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFt aWx5OiZxdW90O0d1bGltJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08i PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWdu PSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlkZW9ncmFwaC1v dGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkhpIEp1bmdoYW4sPC9z cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0d1bGlt JnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1h bGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1h bCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp YnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtHdWxpbSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJl YXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTpp ZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5JbiB0 ZXN0cG1kLCB5b3UgY2FuIGVhc2lseSBkbyBpdCBieTo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7R3VsaW0mcXVvdDssc2Fucy1zZXJpZjttc28t ZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3Bh Y2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+ Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZx dW90O0d1bGltJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1sYW5ndWFnZTpL TyI+cG9ydCBzdG9wIGFsbDwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBz dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1s YW5ndWFnZTpLTyI+IyBvciBwb3J0IHN0b3AgMDwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVh c3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW46 MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhcztt c28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFy ZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1hcmdp bjowaW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFz O21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5mbG93IGNvbmZpZ3VyZSAwIOKApuKApjwvc3Bhbj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+IyBpZiB0aGVyZSBh cmUgb3RoZXIgcG9ydChzKTwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBz dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1s YW5ndWFnZTpLTyI+IyBmbG93IGNvbmZpZ3VyZSBZIOKApuKApg0KPC9zcGFuPjxzcGFuIHN0eWxl PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgc3R5 bGU9Im1hcmdpbjowaW4iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5 OkNvbnNvbGFzO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5 bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBz dHlsZT0ibWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p bHk6Q29uc29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzwvc3Bhbj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh bWlseTpDb25zb2xhczttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+cG9ydCBzdGFydCBhbGw8L3Nw YW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4w cHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiMgb3IgcG9y dCBzdGFydCAwPC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0 eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQt YnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5 OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0d1bGltJnF1b3Q7LHNhbnMtc2Vy aWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQt YXV0b3NwYWNlOmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt c2VyaWYiPldpdGggdGhlIHNvdXJjZSBjb2RlIGltcGxlbWVudGF0aW9uLCB5b3UgY2FuIGNvbmZp Z3VyZSBpdCBiZWZvcmUgc3RhcnRpbmcgYSBkZXZpY2UuPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0d1bGltJnF1b3Q7LHNhbnMtc2VyaWY7bXNv LWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3Nw YWNlOmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYi PiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTom cXVvdDtHdWxpbSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpw PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5 bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1i cmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5CUi4gQmluZzwvc3Bhbj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtHdWxpbSZxdW90OyxzYW5zLXNl cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0 LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z LXNlcmlmIj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7R3VsaW0mcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpL TyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy LWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBpbiAwaW4gMGluIDQuMHB0Ij4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQt YXV0b3NwYWNlOmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHls ZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtHdWxpbSZxdW90OyxzYW5zLXNl cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8ZGl2IGlkPSJkaXZScGx5RndkTXNnIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJs ZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlkZW9ncmFwaC1vdGhl cjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2s7bXNv LWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1z aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s b3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiBKdW5naGFuIFlvb24gJmx0OzxhIGhy ZWY9Im1haWx0bzpjZXJvdHlraUBnbWFpbC5jb20iPjxzcGFuIHN0eWxlPSJjb2xvcjojMDU2M0Mx Ij5jZXJvdHlraUBnbWFpbC5jb208L3NwYW4+PC9hPiZndDs8YnI+DQo8Yj5TZW50OjwvYj4gRnJp ZGF5LCBKdW5lIDksIDIwMjMgMTA6NTc6MTMgQU08YnI+DQo8Yj5Ubzo8L2I+IDxhIGhyZWY9Im1h aWx0bzp1c2Vyc0BkcGRrLm9yZyI+PHNwYW4gc3R5bGU9ImNvbG9yOiMwNTYzQzEiPnVzZXJzQGRw ZGsub3JnPC9zcGFuPjwvYT4gJmx0OzxhIGhyZWY9Im1haWx0bzp1c2Vyc0BkcGRrLm9yZyI+PHNw YW4gc3R5bGU9ImNvbG9yOiMwNTYzQzEiPnVzZXJzQGRwZGsub3JnPC9zcGFuPjwvYT4mZ3Q7PGJy Pg0KPGI+U3ViamVjdDo8L2I+IEFib3V0IHJ0ZV9mbG93IGFzeW5jaHJvbm91cyBBUEk8L3NwYW4+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7R3VsaW0mcXVv dDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+DQo8bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0 ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6 bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0d1bGltJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzxv OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkhp LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkk8c3BhbiBsYW5nPSJLTyI+4oCZPC9zcGFuPm0g dHJ5aW5nIHRvIHVzZSB0ZXN0cG1kIHRvIHRlc3QgcnRlX2Zsb3cgd2l0aCBhc3luY2hyb25vdXMg QVBJIGluIERQREsgMjIuMTEuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29u b3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PG86cD48 L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpLTyI+SSB0dXJuZWQgb24gZHZfZXN3X2VuPTEgYnkgZWNob2luZyBz d2l0Y2hkZXYgdG8gL3N5cy9jbGFzcy9uZXQvPHNwYW4gbGFuZz0iS08iPuKApjwvc3Bhbj4uLCBh bmQgc2V0IGR2X2Zsb3dfZW4gdG8gMiB0byB1c2UgY29ubmVjdFgtNiBIV1MgKGhhcmR3YXJlIHN0 ZWVyaW5nKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCIgYWxp Z249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDojMjMyMzIzO3RleHQt YXV0b3NwYWNlOmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHls ZT0iZm9udC1zaXplOjkuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2Nv bG9yOmxpZ2h0Z3JleTtiYWNrZ3JvdW5kOiMyMzIzMjM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08i PnN1ZG8gYnVpbGQvYXBwL2RwZGstdGVzdHBtZCAtYSAwMDAwOjhhOjAwLjAsZHZfZmxvd19lbj0y IC1hIDAwMDA6OGE6MDAuMSxkdl9mbG93X2VuPTIgLS0gLWkgLS1yeHE9MSAtLXR4cT0xPC9zcGFu PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n dWFnZTpLTyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SW4gdGhlIHByb21wdCwg SSB0eXBlZCBiZWxvdzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFs IiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOiMyMzIzMjM7 dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFu IHN0eWxlPSJmb250LXNpemU6OS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVv dDs7Y29sb3I6bGlnaHRncmV5O2JhY2tncm91bmQ6IzIzMjMyMzttc28tZmFyZWFzdC1sYW5ndWFn ZTpLTyI+ZmxvdyBjb25maWd1cmUgMCBxdWV1ZXNfbnVtYmVyIDEgcXVldWVzX3NpemUgMTAgY291 bnRlcnNfbnVtYmVyIDAgYWdpbmdfY291bnRlcnNfbnVtYmVyIDAgbWV0ZXJzX251bWJlciAwIGZs YWdzIDA8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1m YXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5idXQg aXQgc2FpZCA8c3BhbiBsYW5nPSJLTyI+DQrigJw8L3NwYW4+RGV2aWNlIHdpdGggcG9ydF9pZD0w IGFscmVhZHkgc3RhcnRlZC48c3BhbiBsYW5nPSJLTyI+4oCdPC9zcGFuPi48bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0 LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1z b25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JIGtub3cgcnRl X2Zsb3dfY29uZmlndXJlKCkgY2FsbCBzaG91bGQgYmUgaW4gdGhlIG1pZGRsZSBvZiBydGVfZXRo X2Rldl9jb25maWd1cmUoKSBhbmQgcnRlX2V0aF9kZXZfc3RhcnQoKS48bzpwPjwvbzpwPjwvc3Bh bj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxh bmd1YWdlOktPIj5TbywgSSBydW4gdGVzdHBtZCBieSBiZWxvdyB0byBwb3N0cG9uZSBkZXZpY2Ug c3RhcnQsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiIGFsaWdu PSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6IzIzMjMyMzt0ZXh0LWF1 dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv cjpsaWdodGdyZXk7YmFja2dyb3VuZDojMjMyMzIzO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5z dWRvIGJ1aWxkL2FwcC9kcGRrLXRlc3RwbWQgLWEgMDAwMDo4YTowMC4wLGR2X2Zsb3dfZW49MiAt YSAwMDAwOjhhOjAwLjEsZHZfZmxvd19lbj0yIC0tIC1pIC0tcnhxPTEgLS10eHE9MSAtLWRpc2Fi bGUtZGV2aWNlLXN0YXJ0PC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpL TyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn ZTpLTyI+SG93ZXZlciwgbm93IG5vdCBvbmx5IHJ0ZV9ldGhfZGV2X3N0YXJ0KCkgYnV0IGFsc28g cnRlX2V0aF9kZXZfY29uZmlndXJlKCkgZG9lcyBub3Qgc3RhcnQsIHNvIGl0IHNhaWQNCjxzcGFu IGxhbmc9IktPIj7igJw8L3NwYW4+RGV2aWNlIHdpdGggcG9ydF9pZD0wIGlzIG5vdCBjb25maWd1 cmVkLjxzcGFuIGxhbmc9IktPIj7igJ08L3NwYW4+LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08i PiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3Bh biBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkhvdyBjYW4gSSBydW4gcnRlX2Zsb3df Y29uZmlndXJlKCkgYmV0d2VlbiBydGVfZXRoX2Rldl9jb25maWd1cmUoKSBhbmQgcnRlX2V0aF9k ZXZfc3RhcnQoKSBpbiB0ZXN0cG1kPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4 bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPklzIHRoZXJl IGFueSBwYXJhbWV0ZXIgdG8gcG9zdHBvbmUgb25seSBydGVfZXRoX2Rldl9zdGFydCgpPzxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNv LWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPlNp bmNlcmVseSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNw YW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5KdW5naGFuIFlvb24uPG86cD48L286 cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Inhtc29ub3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJl YXN0LWxhbmd1YWdlOktPIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwv ZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo= --_000_DM4PR12MB5184D723B3E036967DB83E94D051ADM4PR12MB5184namp_-- 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 C2CAB42C6F for ; Fri, 9 Jun 2023 16:06:22 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 812E142DBA; Fri, 9 Jun 2023 16:06:22 +0200 (CEST) Received: from mail-pl1-f174.google.com (mail-pl1-f174.google.com [209.85.214.174]) by mails.dpdk.org (Postfix) with ESMTP id 64A1740EDB for ; Fri, 9 Jun 2023 16:06:21 +0200 (CEST) Received: by mail-pl1-f174.google.com with SMTP id d9443c01a7336-1b02fcde49aso6331545ad.0 for ; Fri, 09 Jun 2023 07:06:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1686319580; x=1688911580; h=content-transfer-encoding:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=FT2Obe3YB0TF8T7vhhy+LHAqum9O1BtlE2NYtqJYB0g=; b=K9EXd3VSycQaIqQI2CtssZftZDEdLl5h2ZdUpm1s5Ys3bBWZ8MWvDA3UWbGLOCvMrR F3zaTC0O4W4Rurxr2CZCNTUNgMZentrjLSOyc0+zRkQxRxvOcEPbpFko5Wj2a7ExbsHy nU7EmJWRcC+Zp8CijRkOKxgd6rga1gUVPFAm4U1wcCsD2lZHDGdJJaImrwDzVUNIYrTn 1uLRdslrTXRCiXRRFp3g4y6+12k16cLi6x2DcV6iebRsDY+DF8vEDm6k4+kRXHxJ3HuI hhHqAciy0dUhQSlYk88Q7s13oJVyh2tNtdkOfPe8hyXZtD39jAcX0w1oCBUvZO05g5wN yd/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1686319580; x=1688911580; h=content-transfer-encoding:to:references:message-id:in-reply-to :thread-topic:subject:from:date:mime-version:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=FT2Obe3YB0TF8T7vhhy+LHAqum9O1BtlE2NYtqJYB0g=; b=SfzbQk8KIS9/DCjOKPpGR+C0Pk6zGYJ1WoR0Men0zp+sWf09cEf5zc6+ipW5L5qMM8 dg2oaBeVlEptGPN2PB8WODlalWbqVMX1OgGaPJjOL+vS+kk92VTOgxZ9er1cTesZlHhO vBUtRZ/9nLEcSCoz1eVfBBpfUj+SkBBUkvWQAjTnjWEJM7xmSMbFiTqyCTD79tlBqRnR HgmC5vN1sVlX/5mrV6dOx176tT3MHAvDjZ6OLrzQd8pC1bUrJdV24iMOyhXTE6BGA/qD 3CdweHbrte5ylWmabSCMuliqggPiRHjcUo24g/fDzYw7VGCAcwkMYLs4FSqiHSx980/I 495A== X-Gm-Message-State: AC+VfDxHXaldBDczV4fZtZ4Tl5iDf/YXgjr/aka5Z4WkTGuJZ4Q6Oq9O 7T+5nQrX0fguYo8ROw/YG0Fww3ZS7arnGQ== X-Google-Smtp-Source: ACHHUZ615vsZqag0Nrr9aCdE+g6UYmjDJN5+frdvJ9EIQThmxuEPIp1C68lMvWLSJHS6DmdpHnS0Sw== X-Received: by 2002:a17:902:6b81:b0:1b1:86ad:3347 with SMTP id p1-20020a1709026b8100b001b186ad3347mr897570plk.3.1686319580287; Fri, 09 Jun 2023 07:06:20 -0700 (PDT) Received: from junghan-NDSL (sky3.kaist.ac.kr. [143.248.129.202]) by smtp.gmail.com with ESMTPSA id n18-20020a170902d2d200b001aad4be4503sm3331917plc.2.2023.06.09.07.06.19 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 09 Jun 2023 07:06:19 -0700 (PDT) MIME-Version: 1.0 Date: Fri, 9 Jun 2023 23:05:33 +0900 From: Junghan Yoon Subject: RE: RE: About rte_flow asynchronous API Thread-Topic: RE: RE: About rte_flow asynchronous API In-Reply-To: Message-ID: <31123A7D-207A-4E65-A3BC-708C80591660@hxcore.ol> References: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> , <979D83AF-4B3F-4D0E-8FDB-A583150751E9@hxcore.ol>, To: Bing Zhao , "users@dpdk.org" Content-Transfer-Encoding: quoted-printable 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

Thank you for your quick response.

Firmware version is 22.30.1004, and OFED version is OF= ED-5.8-1.1.2.

 =

Sincerely,

Junghan Yoon

=EB=B3=B4=EB=82=B8 =EC=82=AC=EB=9E=8C: Bing Zhao
=EB=B3=B4=EB=82=B8 =EB=82=A0=EC=A7=9C: 2023=EB=85=84 6=EC=9B=94 9=EC=9D=BC =EA=B8= =88=EC=9A=94=EC=9D=BC =EC=98=A4=ED=9B=84 10:56
=EB=B0=9B=EB=8A=94 =EC=82=AC=EB=9E=8C: Junghan Yoon; users@dpdk.org
=EC=A0=9C= =EB=AA=A9: RE: RE: About r= te_flow asynchronous API

 

What=E2=80=99s the FW version are you using?

If you are using OFED driver, it is suggested that you try the OFED = >=3D5.8 with the FW inside.<= /p>

 

BR. Bing

 

From: Junghan Yoon <cerotyki@gmail= .com>
Sent: Friday, June 9, 2023 9:50 PM
To: Bing Z= hao <bingz@nvidia.com>; users@dpdk.org
Subject: RE: RE: Abo= ut rte_flow asynchronous API

 

External email: Use caution opening links or attachments

 

Th= ank you Zhao.

=  

I tried= it, but now mlx5 driver returned error.

mlx5_net: [mlx5dr_action_create_generic]: Cannot create HWS action since= HWS is not supported

=

It is what I saw in my original cod= e before trying on testpmd.

It seems to be an issue from connectX-6 configuration.

 

Is there anyone ever tried = to use asynchronous API with connectX-6?

Setting dv_flow_en=3D2 and dv_esw_en=3D1 seems n= ot enough.

I e= xplored the mlx5 code, and found that rte_flow_configure() queries HCA capa= bility by mlx5dr_cmd_query_caps().

In my case, rte_flow_configure() returned error since = caps->wqe_based_update is set by 0.

 

<= span lang=3DEN-US>Is there anyone know how to set this value to non-zero?

I already wrote= the same question on nvidia forum.

 

Sincerely,

Junghan Yoon

 

=EB= =B3=B4=EB=82=B8 =EC=82=AC=EB=9E=8C: Bing Zhao
= =EB=B3=B4=EB=82=B8 =EB=82=A0=EC=A7=9C: 2023=EB=85=84 6=EC=9B=94 9=EC=9D=BC =EA=B8=88=EC=9A=94=EC=9D=BC =EC=98=A4=ED= =9B=84 10:00
=EB=B0=9B=EB=8A=94 =EC=82=AC= =EB=9E=8C: users@dpdk.org; cerotyki@gmail.com
=EC=A0=9C=EB=AA=A9= : RE: About rte_flow asynchronous API

 

Hi Junghan,

 =

In testpmd, you can easily do i= t by:

 

port stop all

# or port stop 0

 

flow configure 0 =E2= =80=A6=E2=80=A6

# if there are other port(s)

# flow configure Y =E2=80=A6=E2=80=A6

 

 

port start all

# or port start 0

 =

With the source co= de implementation, you can configure it before starting a device.

<= span lang=3DEN-US style=3D'font-size:11.0pt;font-family:"Calibri",sans-seri= f'> 

BR. Bing<= /p>

 =

 

From:= Junghan Yoon <cerotyki@gmail.com>
Sent= : Friday, June 9, 2023 10:57:13 AM
To: users@dpdk.org <users@dpdk.org= >
Subject: About rte_flow asynchronous API

 =

Hi.

I= =E2=80=99m trying to use testpmd to test rte_flow with a= synchronous API in DPDK 22.11.

 

I turned= on dv_esw_en=3D1 by echoing switchdev to /sys/class/net/=E2=80=A6., and set dv_flow_en to 2 to use connectX-6 HWS (hardware= steering).

sudo build/app/dpdk-testpmd -a 0000:8a:00= .0,dv_flow_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1<= /span>

 

In the prompt, I typed below

flow configure 0 queues_number 1 queues_size 10 counters_number 0= aging_counters_number 0 meters_number 0 flags 0

 

but it said =E2=80=9CDevice with port_id= =3D0 already started.=E2=80=9D.

 

I know rte_flow_configure() call should be in the middle o= f rte_eth_dev_configure() and rte_eth_dev_start().

So, I run testpmd by below to postpone device st= art,

sudo build/app/dpdk-testpmd -a 0000:8a:00.0,dv_f= low_en=3D2 -a 0000:8a:00.1,dv_flow_en=3D2 -- -i --rxq=3D1 --txq=3D1 --disab= le-device-start

 

However, now not only rte= _eth_dev_start() but also rte_eth_dev_configure() does not start, so it sai= d =E2=80=9CDevice with port_id=3D0 is not configu= red.=E2=80=9D.

 

= How can I run rte_flow_configure() between rte_eth_dev_configure() and rte_= eth_dev_start() in testpmd?

Is there any parameter to postpone only rte_eth_dev_start()?

=

 

Sincerely,

Junghan Yoon.

=  

 

 

= 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 F01DA42C6F for ; Fri, 9 Jun 2023 16:10:49 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD28F42D8F; Fri, 9 Jun 2023 16:10:49 +0200 (CEST) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2049.outbound.protection.outlook.com [40.107.220.49]) by mails.dpdk.org (Postfix) with ESMTP id 8FEA540EDB for ; Fri, 9 Jun 2023 16:10:48 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aKg/mRr7J+42mDvOUbF2k30jYJBOz7ehiCt5HZsbaqYsxrHLgxjsbo8gUXn7phrbmz8r63ICsIALj+IQDs7fejBnGQdQL7uF8HM3zDYc0to4/rp/evHd+qUyjZb6tzgQkXOQqt82gqXWd/uK0Kedd7YRVT41E7UiMcBvCC8bgDJ8qFH/PeLHy4rzJgTKy8O6+QBB82S7N1WrdHRxT+Xg7YrrfXetM5KMLy8vCUxRtOmme8/MUyuJMPoy50MpnrSwoT2I3uA2Z9GouunV1i9yxcx8XRbp0cd9I0ftIAkirIu1NgqXSAPxedaWUEIyiFC0MLdo9mJX5W0wOi/bTR3q1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kyRfDDc4V1sNl5MEWuvZJrlppLipTnmZjiOD2LxRqE4=; b=dJUzn0WpP7NzoSltq3jgwfxWxwbkbl+hK65R7WImGCELtWMLHdYEnW9ELR7fzV3SXIb37LYm7S7ed0vpRvKlqizz9U7c9smE4DWIRLRBpfpPJFYfdUYcChw0wLKkU5VKAPRqjJ4X2qGCef2Zuw4dt1pIjgMe2DNByESQWFiGgWU0Hmg+XPYcKDrI5/PiqnuyUTIvxmgpuPek3f3rlyiRvPS/UWZ+aXdcK5A+4sQy6ejjJpMjneGxkTvRGWEpbY4IdqozIBqPbEBvt8nSO7OQXLdXvoMgAsXM9pY7kX2a1vmFMvDkME/7xWfmFWVxdYSU3hFzkEHAoyCZKtQUo6x9yQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=kyRfDDc4V1sNl5MEWuvZJrlppLipTnmZjiOD2LxRqE4=; b=MJ3dYd6UffbCnrTYeZfadtCWVydND7k7Wsp/k7YabvvCkB/hT2gghXMYYm/C057dx55/UOClBAUMZCVNoouK3wZlYsK+QIrGn8CBFz0AelhUHTGWHc0i7+qF0XMivRmjBQgouQzn5NHpuaClg71kFBPOiDjLRn2bAAlnKNTGOgAj/joJhTPL2YIlZVHo/eulMMFx7Mt1YM6pJrp1FpYJQWXL0UnM8epG3jTEK9lizNqDzG6mkvrTKhyTjAqmLOIo2MVysBQmKGMQ/r7W6uCiaEXEgemsjoifde11FmfJhtU4pmrWkjyqJn6wfzlq7UkMEa2T7N6DK4ghvjGnVnycww== Received: from DM4PR12MB5184.namprd12.prod.outlook.com (2603:10b6:5:397::18) by MW3PR12MB4363.namprd12.prod.outlook.com (2603:10b6:303:56::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.33; Fri, 9 Jun 2023 14:10:46 +0000 Received: from DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06]) by DM4PR12MB5184.namprd12.prod.outlook.com ([fe80::8ea1:de89:aab1:1d06%4]) with mapi id 15.20.6455.030; Fri, 9 Jun 2023 14:10:46 +0000 From: Bing Zhao To: Junghan Yoon , "users@dpdk.org" Subject: RE: RE: About rte_flow asynchronous API Thread-Topic: RE: About rte_flow asynchronous API Thread-Index: AQHZmqghQHUJsI7LwUqQx4JdnvoV4K+CX3yWgAAOf2CAAA8sgIAAAKTAgAADzoCAAAD1YA== Date: Fri, 9 Jun 2023 14:10:46 +0000 Message-ID: References: <2AFAAB86-DA31-4C33-BC6A-39B3781E75BD@hxcore.ol> , <979D83AF-4B3F-4D0E-8FDB-A583150751E9@hxcore.ol>, <31123A7D-207A-4E65-A3BC-708C80591660@hxcore.ol> In-Reply-To: <31123A7D-207A-4E65-A3BC-708C80591660@hxcore.ol> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5184:EE_|MW3PR12MB4363:EE_ x-ms-office365-filtering-correlation-id: e0c5bcff-26c6-4170-0f27-08db68f351c9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hSGdQy1ge1g3fASN/bZyn1BalkU0wxe536H+1AkcFIA6dN8C1mc/5IKDBOcZQX9sMPPFaV4fzvhVjCjOcCAOIcHAETZAblYklnDFlmo39lRQgPrnDC3OKrfeynU4JxIVwdxooUbVCSuKVNTeQ3teR0pg1OONaHlSU7cCTerEOYbqw2CsPnLqNeg5vF9osCA000j9fdYoh+Uf6fNNgJa2ExzruFMe/gvzHpxUp1x2T4VtIuXQamCS3ygN18R27DWwxDK3j79ifwPmcDr7AINyw2OSzvqmSaB3tY+BxZrWgl7Xr28xmllJXCLOKmXE5EysFyCh4BtqdRflbFzX7EPdnyVVDmdMDYssNEH9R/JLRbQwzhtpjsujYDvFut3Dkb2cZvqRPsAWkgwCxmkc1aA9yZMMnwJa8A69nhOvMv2Eev2nF0/SVoSAmLu/zRZm3FODKN0RbMraELPXh1ckp4DpL5nK4rEA1fDiBeKikEk4GaAtnGuZHh/6nlMozQ4cRFGlm5Ep71ticfZ3LzToz5eC78BDSsEtN/Qr4Pk5BkoErkbUOOKLvN8LBpba36/SKGlgMXvOBlxJVSSjWh16fv+s6KPRPVEIiIPxZ5atHADJdXbbNA28hWgo7yiYEG5X6ueJ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5184.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199021)(71200400001)(110136005)(66476007)(478600001)(52536014)(8676002)(5660300002)(86362001)(38070700005)(33656002)(2906002)(8936002)(316002)(64756008)(122000001)(66446008)(66556008)(66946007)(76116006)(55016003)(38100700002)(9686003)(83380400001)(41300700001)(6506007)(26005)(53546011)(186003)(7696005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YVl6UC9ZTlM4ejc5MnlTWi83Q3RNUmd4MG1PNWlIS0luNG03M3dlSDRvcVg4?= =?utf-8?B?N3M2RWtVekJXZTFlNGllNHdNN2NYS1pVaXl4NURvWkplcDNmNmkxdWNPc21E?= =?utf-8?B?L0ZxNnFiVnlvQTRrQk5LemhtNTA3aEd6TDdwQWozK2ZJc0ZxZEFOUHVZdDVm?= =?utf-8?B?T2V6N3EwVmg0SmhwWWx0ZE9LM29rajhsMTRWaE1FSUhzbGRhYXpkMmJVandH?= =?utf-8?B?cnJERU0zQ1ZjWGRyUzhnN3BDQy9RMEtRbS81UUlBNk5HR3lCbk91akNDeU9C?= =?utf-8?B?S0tTQUNuOWJCRVdsdWQwem9FaGJMOG03dzJDd0RMelJ1Qm00amdwUnRKeEpj?= =?utf-8?B?Q09HNmFNVEQ2SVZzUFZUdkdoZjEvT0V2OURBSi93U3FrL3YvOUxyWStBOGRk?= =?utf-8?B?aTJXTFVSNmYxcU1tVThoWklWcGQwS3gyWXBUWEFuTzZSR3UrYmExTU8xbzVV?= =?utf-8?B?MUxreVBPODAxdjdBcWdSMUQyQUllVXZ0R3FUVFV2TE00dTQ2eExZMXRrU2pK?= =?utf-8?B?cGJrS2xueXovUCtCYjcvRW5XMVNmbm9FN3pjcktuOTJkdkFUVUZJVHF2Z1NO?= =?utf-8?B?c3Qvb2VqTjZpQ1lvcWFWdVVxbUl0QmFPK1R3dEgwWU1CWk1MaHQxSWhuT3FM?= =?utf-8?B?dTdqb1dvakpVeDU0VGJVQjdJK0Q4Z3Y3eGJ0bGlLZ01ISmxndlpYV0F4Umto?= =?utf-8?B?ZGcvbVQ4U2ZXc1hHMnFBcU9Oci9OWG9YWU9PanloNW0xWDVQa1VmM3hGQVNW?= =?utf-8?B?Vk9ITnM2aHArbTlwUUorMzFzaUN3Vjh5dlFJU2hkeEJTTFBrWlF2dlZJaGhW?= =?utf-8?B?cU82aDFxa3VXVkhTNEVYUFlMU1RhT1VkTHo2YVUzVnpjam11bzVMbUJ3WXVl?= =?utf-8?B?aG9GSlc2cHcvZ1ovdWdtK0dFTFUweHVRQzZ3clBUWlBvdi80Y293RWMrZDZ3?= =?utf-8?B?YVNZVG9tTWR1UUxCbjJXcEY3d1BqYm1aeVIyUzZ1Vm5yUVNBZEdSeEFuR1E5?= =?utf-8?B?aXk3VDJhbXhmSmhveVBXK2JzaFVvSWZRdHNyU21WZEhucW1xKzhnZFgwcHBB?= =?utf-8?B?WkpiTlR1ZDhVcjhoNmorc0dRNS85dmR0ZmJvOWtnRVdwcmJGNDRQVTRHM01o?= =?utf-8?B?TVNKUCtpZHlvbnVLL1QvcDdQR0lYdHNISmZRL3Z5RTBhR2J6bm9NaEE0VVMx?= =?utf-8?B?NFdkVVdvMzg2UXZ1OUhYUURsdUo5S1o4TUNPMFJobms5TnpUSy9qS1Mvb1pn?= =?utf-8?B?emEwNUoxU250TFQ2TjU4Z3JOY2pGT2owU0I4R0hheGovSjBoV2pQZHNPUTBB?= =?utf-8?B?QkhHMUFaT29WbmNLalVFdXBBQ2JjMFRmSHVwNmluRER0c0h2ajJJVW5CUFhZ?= =?utf-8?B?SjhKaG1PSTBhc3VzYzhvczhQdVJCU3hZZkZESU43TFE0SFRkZW5sZzRLc3po?= =?utf-8?B?SVFEUUwxTk5pTXoyanlZcCtYaHdCemRLYXhOVmc1blRHaCtHYVZJZ0p4RTNt?= =?utf-8?B?S0o3WnJjdEZ4VEg5ZWY3R3A2WDhlaEthNEFoQTJOZmltTkpvZ1BFTTdqNis2?= =?utf-8?B?bW1WbzNhK2tBeTNQZHlYRldBaCtCVmJsci93KzBuendsTXU1VnpQa3lpczJj?= =?utf-8?B?UStsa2RPVzhOdTFQZ1JmRlhuRjNYSjkzZjNLWGVwK29XOElZVE9RSWE3YUo3?= =?utf-8?B?eThyRHlYakdjYWlGSHhtRlE5YXI2L1hCb0lTYzJ4bDN2LzZXZHJTdDBkOXMy?= =?utf-8?B?UmVUVXNNYVhiUC92cDVmdjNzdlZHMVBDekd1VmpBd000N1F3dXJTcjRic05i?= =?utf-8?B?WW8yZmFxUk92RzRPaHJDQ3NFN1B5NEE5RCtmaUJ3cS9qMWR6NVhCTy9meHBZ?= =?utf-8?B?UHJsTHoyQXBBckJTK2tTYW9ySFp1d0srM2J1MlNPblhrbmd2MEx5TUpCc2t2?= =?utf-8?B?b2ZweWVzNTdoZHJDV0x5V2Y4VWJwVVcxdjl2a1pFRjZhM3VWSkJpUDlML0lR?= =?utf-8?B?RGtSWDVwb0xxU2dwL3dSRUoxZlJoUlZDMmQ1ZUpZeTVTbzU2dnlkUkQ2V0Zo?= =?utf-8?B?SGxtNTRsaG9LbWFObTBlRUl2REVva1hOZFFjVUk2R0poRjlRbkRITmV2WGJT?= =?utf-8?Q?ormc=3D?= Content-Type: multipart/alternative; boundary="_000_DM4PR12MB518425082035A6372E6B38A3D051ADM4PR12MB5184namp_" MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5184.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e0c5bcff-26c6-4170-0f27-08db68f351c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Jun 2023 14:10:46.1221 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uD/THiwrm4CAv1qYKb+4kmnLEgIqo2firRtP2FkTOdzto4KD0/4T2SftDdk+F/WOQarZxL/GUmdt32rfwe/0Ow== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4363 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 --_000_DM4PR12MB518425082035A6372E6B38A3D051ADM4PR12MB5184namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Rlcgc2VlbXMgdG8gYmUgYSBiaXQgb2xkLiBQbGVhc2UgdXBkYXRlIHRvIDIyLjM0LjF4eHggdG8g aGF2ZSBhIHRyeS4NCg0KRnJvbTogSnVuZ2hhbiBZb29uIDxjZXJvdHlraUBnbWFpbC5jb20+DQpT ZW50OiBGcmlkYXksIEp1bmUgOSwgMjAyMyAxMDowNiBQTQ0KVG86IEJpbmcgWmhhbyA8YmluZ3pA bnZpZGlhLmNvbT47IHVzZXJzQGRwZGsub3JnDQpTdWJqZWN0OiBSRTogUkU6IEFib3V0IHJ0ZV9m bG93IGFzeW5jaHJvbm91cyBBUEkNCg0KRXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5p bmcgbGlua3Mgb3IgYXR0YWNobWVudHMNCg0KVGhhbmsgeW91IGZvciB5b3VyIHF1aWNrIHJlc3Bv bnNlLg0KRmlybXdhcmUgdmVyc2lvbiBpcyAyMi4zMC4xMDA0LCBhbmQgT0ZFRCB2ZXJzaW9uIGlz IE9GRUQtNS44LTEuMS4yLg0KDQpTaW5jZXJlbHksDQpKdW5naGFuIFlvb24NCuuztOuCuCDsgqzr now6IEJpbmcgWmhhbzxtYWlsdG86YmluZ3pAbnZpZGlhLmNvbT4NCuuztOuCuCDrgqDsp5w6IDIw MjPrhYQgNuyblCA57J28IOq4iOyalOydvCDsmKTtm4QgMTA6NTYNCuuwm+uKlCDsgqzrnow6IEp1 bmdoYW4gWW9vbjxtYWlsdG86Y2Vyb3R5a2lAZ21haWwuY29tPjsgdXNlcnNAZHBkay5vcmc8bWFp bHRvOnVzZXJzQGRwZGsub3JnPg0K7KCc66qpOiBSRTogUkU6IEFib3V0IHJ0ZV9mbG93IGFzeW5j aHJvbm91cyBBUEkNCg0KV2hhdOKAmXMgdGhlIEZXIHZlcnNpb24gYXJlIHlvdSB1c2luZz8NCklm IHlvdSBhcmUgdXNpbmcgT0ZFRCBkcml2ZXIsIGl0IGlzIHN1Z2dlc3RlZCB0aGF0IHlvdSB0cnkg dGhlIE9GRUQgPj01Ljggd2l0aCB0aGUgRlcgaW5zaWRlLg0KDQpCUi4gQmluZw0KDQpGcm9tOiBK dW5naGFuIFlvb24gPGNlcm90eWtpQGdtYWlsLmNvbTxtYWlsdG86Y2Vyb3R5a2lAZ21haWwuY29t Pj4NClNlbnQ6IEZyaWRheSwgSnVuZSA5LCAyMDIzIDk6NTAgUE0NClRvOiBCaW5nIFpoYW8gPGJp bmd6QG52aWRpYS5jb208bWFpbHRvOmJpbmd6QG52aWRpYS5jb20+PjsgdXNlcnNAZHBkay5vcmc8 bWFpbHRvOnVzZXJzQGRwZGsub3JnPg0KU3ViamVjdDogUkU6IFJFOiBBYm91dCBydGVfZmxvdyBh c3luY2hyb25vdXMgQVBJDQoNCkV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxp bmtzIG9yIGF0dGFjaG1lbnRzDQoNClRoYW5rIHlvdSBaaGFvLg0KDQpJIHRyaWVkIGl0LCBidXQg bm93IG1seDUgZHJpdmVyIHJldHVybmVkIGVycm9yLg0KbWx4NV9uZXQ6IFttbHg1ZHJfYWN0aW9u X2NyZWF0ZV9nZW5lcmljXTogQ2Fubm90IGNyZWF0ZSBIV1MgYWN0aW9uIHNpbmNlIEhXUyBpcyBu b3Qgc3VwcG9ydGVkDQpJdCBpcyB3aGF0IEkgc2F3IGluIG15IG9yaWdpbmFsIGNvZGUgYmVmb3Jl IHRyeWluZyBvbiB0ZXN0cG1kLg0KSXQgc2VlbXMgdG8gYmUgYW4gaXNzdWUgZnJvbSBjb25uZWN0 WC02IGNvbmZpZ3VyYXRpb24uDQoNCklzIHRoZXJlIGFueW9uZSBldmVyIHRyaWVkIHRvIHVzZSBh c3luY2hyb25vdXMgQVBJIHdpdGggY29ubmVjdFgtNj8NClNldHRpbmcgZHZfZmxvd19lbj0yIGFu ZCBkdl9lc3dfZW49MSBzZWVtcyBub3QgZW5vdWdoLg0KSSBleHBsb3JlZCB0aGUgbWx4NSBjb2Rl LCBhbmQgZm91bmQgdGhhdCBydGVfZmxvd19jb25maWd1cmUoKSBxdWVyaWVzIEhDQSBjYXBhYmls aXR5IGJ5IG1seDVkcl9jbWRfcXVlcnlfY2FwcygpLg0KSW4gbXkgY2FzZSwgcnRlX2Zsb3dfY29u ZmlndXJlKCkgcmV0dXJuZWQgZXJyb3Igc2luY2UgY2Fwcy0+d3FlX2Jhc2VkX3VwZGF0ZSBpcyBz ZXQgYnkgMC4NCg0KSXMgdGhlcmUgYW55b25lIGtub3cgaG93IHRvIHNldCB0aGlzIHZhbHVlIHRv IG5vbi16ZXJvPw0KSSBhbHJlYWR5IHdyb3RlIHRoZSBzYW1lIHF1ZXN0aW9uIG9uIG52aWRpYSBm b3J1bS4NCg0KU2luY2VyZWx5LA0KSnVuZ2hhbiBZb29uDQoNCuuztOuCuCDsgqzrnow6IEJpbmcg WmhhbzxtYWlsdG86YmluZ3pAbnZpZGlhLmNvbT4NCuuztOuCuCDrgqDsp5w6IDIwMjPrhYQgNuyb lCA57J28IOq4iOyalOydvCDsmKTtm4QgMTA6MDANCuuwm+uKlCDsgqzrnow6IHVzZXJzQGRwZGsu b3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9yZz47IGNlcm90eWtpQGdtYWlsLmNvbTxtYWlsdG86Y2Vy b3R5a2lAZ21haWwuY29tPg0K7KCc66qpOiBSRTogQWJvdXQgcnRlX2Zsb3cgYXN5bmNocm9ub3Vz IEFQSQ0KDQpIaSBKdW5naGFuLA0KDQpJbiB0ZXN0cG1kLCB5b3UgY2FuIGVhc2lseSBkbyBpdCBi eToNCg0KDQpwb3J0IHN0b3AgYWxsDQoNCiMgb3IgcG9ydCBzdG9wIDANCg0KDQoNCmZsb3cgY29u ZmlndXJlIDAg4oCm4oCmDQoNCiMgaWYgdGhlcmUgYXJlIG90aGVyIHBvcnQocykNCg0KIyBmbG93 IGNvbmZpZ3VyZSBZIOKApuKApg0KDQoNCg0KDQoNCnBvcnQgc3RhcnQgYWxsDQoNCiMgb3IgcG9y dCBzdGFydCAwDQoNCldpdGggdGhlIHNvdXJjZSBjb2RlIGltcGxlbWVudGF0aW9uLCB5b3UgY2Fu IGNvbmZpZ3VyZSBpdCBiZWZvcmUgc3RhcnRpbmcgYSBkZXZpY2UuDQoNCkJSLiBCaW5nDQoNCg0K RnJvbTogSnVuZ2hhbiBZb29uIDxjZXJvdHlraUBnbWFpbC5jb208bWFpbHRvOmNlcm90eWtpQGdt YWlsLmNvbT4+DQpTZW50OiBGcmlkYXksIEp1bmUgOSwgMjAyMyAxMDo1NzoxMyBBTQ0KVG86IHVz ZXJzQGRwZGsub3JnPG1haWx0bzp1c2Vyc0BkcGRrLm9yZz4gPHVzZXJzQGRwZGsub3JnPG1haWx0 bzp1c2Vyc0BkcGRrLm9yZz4+DQpTdWJqZWN0OiBBYm91dCBydGVfZmxvdyBhc3luY2hyb25vdXMg QVBJDQoNCg0KSGkuDQoNCknigJltIHRyeWluZyB0byB1c2UgdGVzdHBtZCB0byB0ZXN0IHJ0ZV9m bG93IHdpdGggYXN5bmNocm9ub3VzIEFQSSBpbiBEUERLIDIyLjExLg0KDQoNCg0KSSB0dXJuZWQg b24gZHZfZXN3X2VuPTEgYnkgZWNob2luZyBzd2l0Y2hkZXYgdG8gL3N5cy9jbGFzcy9uZXQv4oCm LiwgYW5kIHNldCBkdl9mbG93X2VuIHRvIDIgdG8gdXNlIGNvbm5lY3RYLTYgSFdTIChoYXJkd2Fy ZSBzdGVlcmluZykuDQoNCnN1ZG8gYnVpbGQvYXBwL2RwZGstdGVzdHBtZCAtYSAwMDAwOjhhOjAw LjAsZHZfZmxvd19lbj0yIC1hIDAwMDA6OGE6MDAuMSxkdl9mbG93X2VuPTIgLS0gLWkgLS1yeHE9 MSAtLXR4cT0xDQoNCg0KDQpJbiB0aGUgcHJvbXB0LCBJIHR5cGVkIGJlbG93DQoNCmZsb3cgY29u ZmlndXJlIDAgcXVldWVzX251bWJlciAxIHF1ZXVlc19zaXplIDEwIGNvdW50ZXJzX251bWJlciAw IGFnaW5nX2NvdW50ZXJzX251bWJlciAwIG1ldGVyc19udW1iZXIgMCBmbGFncyAwDQoNCg0KDQpi dXQgaXQgc2FpZCDigJxEZXZpY2Ugd2l0aCBwb3J0X2lkPTAgYWxyZWFkeSBzdGFydGVkLuKAnS4N Cg0KDQoNCkkga25vdyBydGVfZmxvd19jb25maWd1cmUoKSBjYWxsIHNob3VsZCBiZSBpbiB0aGUg bWlkZGxlIG9mIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpIGFuZCBydGVfZXRoX2Rldl9zdGFydCgp Lg0KDQpTbywgSSBydW4gdGVzdHBtZCBieSBiZWxvdyB0byBwb3N0cG9uZSBkZXZpY2Ugc3RhcnQs DQoNCnN1ZG8gYnVpbGQvYXBwL2RwZGstdGVzdHBtZCAtYSAwMDAwOjhhOjAwLjAsZHZfZmxvd19l bj0yIC1hIDAwMDA6OGE6MDAuMSxkdl9mbG93X2VuPTIgLS0gLWkgLS1yeHE9MSAtLXR4cT0xIC0t ZGlzYWJsZS1kZXZpY2Utc3RhcnQNCg0KDQoNCkhvd2V2ZXIsIG5vdyBub3Qgb25seSBydGVfZXRo X2Rldl9zdGFydCgpIGJ1dCBhbHNvIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpIGRvZXMgbm90IHN0 YXJ0LCBzbyBpdCBzYWlkIOKAnERldmljZSB3aXRoIHBvcnRfaWQ9MCBpcyBub3QgY29uZmlndXJl ZC7igJ0uDQoNCg0KDQpIb3cgY2FuIEkgcnVuIHJ0ZV9mbG93X2NvbmZpZ3VyZSgpIGJldHdlZW4g cnRlX2V0aF9kZXZfY29uZmlndXJlKCkgYW5kIHJ0ZV9ldGhfZGV2X3N0YXJ0KCkgaW4gdGVzdHBt ZD8NCg0KSXMgdGhlcmUgYW55IHBhcmFtZXRlciB0byBwb3N0cG9uZSBvbmx5IHJ0ZV9ldGhfZGV2 X3N0YXJ0KCk/DQoNCg0KDQpTaW5jZXJlbHksDQoNCkp1bmdoYW4gWW9vbi4NCg0KDQoNCg0K --_000_DM4PR12MB518425082035A6372E6B38A3D051ADM4PR12MB5184namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVC My0xMWQxLUEyOUYtMDBBQTAwQzE0ODgyIiB4bWxuczptPSJodHRwOi8vc2NoZW1hcy5taWNyb3Nv ZnQuY29tL29mZmljZS8yMDA0LzEyL29tbWwiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy9UUi9S RUMtaHRtbDQwIj4NCjxoZWFkPg0KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250 ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPg0KPG1ldGEgbmFtZT0iR2VuZXJhdG9yIiBj b250ZW50PSJNaWNyb3NvZnQgV29yZCAxNSAoZmlsdGVyZWQgbWVkaXVtKSI+DQo8c3R5bGU+PCEt LQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpHdWxp bTsNCglwYW5vc2UtMToyIDExIDYgMCAwIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQt ZmFtaWx5OiJDYW1icmlhIE1hdGgiOw0KCXBhbm9zZS0xOjIgNCA1IDMgNSA0IDYgMyAyIDQ7fQ0K QGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpEZW5nWGlhbjsNCglwYW5vc2UtMToyIDEgNiAwIDMg MSAxIDEgMSAxO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2Ut MToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlZlcmRh bmE7DQoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250 LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2UtMToyIDExIDYgOSAyIDIgNCAzIDIgNDt9DQpAZm9u dC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQERlbmdYaWFuIjsNCglwYW5vc2UtMToyIDEgNiAwIDMg MSAxIDEgMSAxO30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1hbGd1biBHb3RoaWMiOw0K CXBhbm9zZS0xOjIgMTEgNSAzIDIgMCAwIDIgMCA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1p bHk6IlxATWFsZ3VuIEdvdGhpYyI7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEBHdWxp bSI7DQoJcGFub3NlLTE6MiAxMSA2IDAgMCAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlv bnMgKi8NCnAuTXNvTm9ybWFsLCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2lu OjBpbjsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1hdXRvc3BhY2U6bm9uZTsNCgl3b3Jk LWJyZWFrOmJyZWFrLWFsbDsNCglmb250LXNpemU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJNYWxn dW4gR290aGljIixzYW5zLXNlcmlmO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNv LXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVy bGluZTt9DQpwLnhtc29ub3JtYWwsIGxpLnhtc29ub3JtYWwsIGRpdi54bXNvbm9ybWFsDQoJe21z by1zdHlsZS1uYW1lOnhfbXNvbm9ybWFsOw0KCW1hcmdpbjowaW47DQoJdGV4dC1hbGlnbjpqdXN0 aWZ5Ow0KCXRleHQtYXV0b3NwYWNlOm5vbmU7DQoJd29yZC1icmVhazpicmVhay1hbGw7DQoJZm9u dC1zaXplOjEwLjBwdDsNCglmb250LWZhbWlseToiTWFsZ3VuIEdvdGhpYyIsc2Fucy1zZXJpZjt9 DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglm b250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0O30NCi5N c29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtc2l6ZTox MC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1hcmdp bjo4NS4wNXB0IDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNo YXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRp Zl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0 Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0Pjwv eG1sPjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iRU4tVVMiIGxpbms9ImJsdWUi IHZsaW5rPSIjOTU0RjcyIiBzdHlsZT0id29yZC13cmFwOmJyZWFrLXdvcmQiPg0KPGRpdiBjbGFz cz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ3b3JkLWJyZWFr Om5vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5GVyBzZWVtcyB0byBiZSBhIGJpdCBvbGQuIFBsZWFz ZSB1cGRhdGUgdG8gMjIuMzQuMXh4eCB0byBoYXZlIGEgdHJ5LjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ3b3JkLWJyZWFrOm5vcm1hbCI+PHNwYW4g c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz YW5zLXNlcmlmIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3Jk ZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4g NC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQg I0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNl OmlkZW9ncmFwaC1udW1lcmljIGlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8 Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBKdW5n aGFuIFlvb24gJmx0O2Nlcm90eWtpQGdtYWlsLmNvbSZndDsNCjxicj4NCjxiPlNlbnQ6PC9iPiBG cmlkYXksIEp1bmUgOSwgMjAyMyAxMDowNiBQTTxicj4NCjxiPlRvOjwvYj4gQmluZyBaaGFvICZs dDtiaW5nekBudmlkaWEuY29tJmd0OzsgdXNlcnNAZHBkay5vcmc8YnI+DQo8Yj5TdWJqZWN0Ojwv Yj4gUkU6IFJFOiBBYm91dCBydGVfZmxvdyBhc3luY2hyb25vdXMgQVBJPG86cD48L286cD48L3Nw YW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0 IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjx0YWJsZSBj bGFzcz0iTXNvTm9ybWFsVGFibGUiIGJvcmRlcj0iMSIgY2VsbHBhZGRpbmc9IjAiIHN0eWxlPSJi YWNrZ3JvdW5kOiNGRkVCOUMiPg0KPHRib2R5Pg0KPHRyPg0KPHRkIHN0eWxlPSJwYWRkaW5nOi43 NXB0IC43NXB0IC43NXB0IC43NXB0Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0 IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlkZW9ncmFwaC1udW1lcmlj IGlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8Yj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtj b2xvcjpibGFjayI+RXh0ZXJuYWwgZW1haWw6IFVzZSBjYXV0aW9uIG9wZW5pbmcgbGlua3Mgb3Ig YXR0YWNobWVudHM8L3NwYW4+PC9iPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1m YW1pbHk6JnF1b3Q7VmVyZGFuYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsYWNrIj4NCjwvc3Bh bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp JnF1b3Q7LHNhbnMtc2VyaWYiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvdGQ+DQo8L3RyPg0K PC90Ym9keT4NCjwvdGFibGU+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5 bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtbnVtZXJpYyBpZGVv Z3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJl YXN0LWxhbmd1YWdlOktPIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5U aGFuayB5b3UgZm9yIHlvdXIgcXVpY2sgcmVzcG9uc2UuPG86cD48L286cD48L3NwYW4+PC9wPg0K PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktP Ij5GaXJtd2FyZSB2ZXJzaW9uIGlzIDIyLjMwLjEwMDQsIGFuZCBPRkVEIHZlcnNpb24gaXMgT0ZF RC01LjgtMS4xLjIuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+ PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPiZuYnNwOzwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6S08iPlNpbmNlcmVseSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkp1bmdoYW4g WW9vbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl ci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIGxhbmc9IktPIiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6S08iPuuztOuCuCDsgqzrnow8L3NwYW4+PC9iPjxiPjxzcGFuIHN0eWxlPSJtc28t ZmFyZWFzdC1sYW5ndWFnZTpLTyI+Og0KPC9zcGFuPjwvYj48c3BhbiBzdHlsZT0ibXNvLWZhcmVh c3QtbGFuZ3VhZ2U6S08iPjxhIGhyZWY9Im1haWx0bzpiaW5nekBudmlkaWEuY29tIj5CaW5nIFpo YW88L2E+PGJyPg0KPGI+PHNwYW4gbGFuZz0iS08iPuuztOuCuCDrgqDsp5w8L3NwYW4+OiA8L2I+ MjAyMzxzcGFuIGxhbmc9IktPIj7rhYQ8L3NwYW4+IDY8c3BhbiBsYW5nPSJLTyI+7JuUPC9zcGFu PiA5PHNwYW4gbGFuZz0iS08iPuydvCDquIjsmpTsnbwg7Jik7ZuEPC9zcGFuPiAxMDo1Njxicj4N CjxiPjxzcGFuIGxhbmc9IktPIj7rsJvripQg7IKs656MPC9zcGFuPjogPC9iPjxhIGhyZWY9Im1h aWx0bzpjZXJvdHlraUBnbWFpbC5jb20iPkp1bmdoYW4gWW9vbjwvYT47DQo8YSBocmVmPSJtYWls dG86dXNlcnNAZHBkay5vcmciPnVzZXJzQGRwZGsub3JnPC9hPjxicj4NCjxiPjxzcGFuIGxhbmc9 IktPIj7soJzrqqk8L3NwYW4+OiA8L2I+UkU6IFJFOiBBYm91dCBydGVfZmxvdyBhc3luY2hyb25v dXMgQVBJPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtHdWxpbSZx dW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPiZuYnNwOzwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0id29yZC1icmVhazpub3Jt YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli cmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+V2hhdOKAmXMgdGhl IEZXIHZlcnNpb24gYXJlIHlvdSB1c2luZz88L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0 LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs IiBzdHlsZT0id29yZC1icmVhazpub3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1s YW5ndWFnZTpLTyI+SWYgeW91IGFyZSB1c2luZyBPRkVEIGRyaXZlciwgaXQgaXMgc3VnZ2VzdGVk IHRoYXQgeW91IHRyeSB0aGUgT0ZFRCAmZ3Q7PTUuOCB3aXRoIHRoZSBGVyBpbnNpZGUuPC9zcGFu PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9IndvcmQtYnJlYWs6bm9ybWFsIj48c3Bh biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7 LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzwvc3Bhbj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ3b3JkLWJyZWFrOm5vcm1hbCI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5CUi4gQmluZzwvc3Bhbj48c3BhbiBzdHlsZT0i bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJ3b3JkLWJyZWFrOm5vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21z by1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJl YXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3Jk ZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBpbiAwaW4g NC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQg I0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBpbiAwaW4gMGluIj4NCjxwIGNsYXNzPSJNc29O b3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNl OmlkZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8Yj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7 bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7 bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiBKdW5naGFuIFlvb24gJmx0OzxhIGhyZWY9Im1haWx0 bzpjZXJvdHlraUBnbWFpbC5jb20iPmNlcm90eWtpQGdtYWlsLmNvbTwvYT4mZ3Q7DQo8YnI+DQo8 Yj5TZW50OjwvYj4gRnJpZGF5LCBKdW5lIDksIDIwMjMgOTo1MCBQTTxicj4NCjxiPlRvOjwvYj4g QmluZyBaaGFvICZsdDs8YSBocmVmPSJtYWlsdG86YmluZ3pAbnZpZGlhLmNvbSI+YmluZ3pAbnZp ZGlhLmNvbTwvYT4mZ3Q7OyA8YSBocmVmPSJtYWlsdG86dXNlcnNAZHBkay5vcmciPg0KdXNlcnNA ZHBkay5vcmc8L2E+PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJFOiBSRTogQWJvdXQgcnRlX2Zsb3cg YXN5bmNocm9ub3VzIEFQSTwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 dGFibGUgY2xhc3M9Ik1zb05vcm1hbFRhYmxlIiBib3JkZXI9IjEiIGNlbGxwYWRkaW5nPSIwIiBz dHlsZT0iYmFja2dyb3VuZDojRkZFQjlDIj4NCjx0Ym9keT4NCjx0cj4NCjx0ZCBzdHlsZT0icGFk ZGluZzouNzVwdCAuNzVwdCAuNzVwdCAuNzVwdCI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGln bj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgt b3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVw dDtmb250LWZhbWlseTomcXVvdDtWZXJkYW5hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6YmxhY2si PkV4dGVybmFsIGVtYWlsOiBVc2UgY2F1dGlvbiBvcGVuaW5nIGxpbmtzIG9yIGF0dGFjaG1lbnRz PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90 O1ZlcmRhbmEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibGFjayI+DQo8L3NwYW4+PG86cD48L286 cD48L3A+DQo8L3RkPg0KPC90cj4NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6 aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28t ZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFz dC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+VGhhbmsgeW91 IFpoYW8uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48 L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6S08iPkkgdHJpZWQgaXQsIGJ1dCBub3cgbWx4NSBkcml2ZXIgcmV0dXJuZWQgZXJyb3IuPG86 cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJs ZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6IzIzMjMyMzt0ZXh0LWF1dG9z cGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZv bnQtc2l6ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjps aWdodGdyZXk7YmFja2dyb3VuZDojMjMyMzIzO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5tbHg1 X25ldDogW21seDVkcl9hY3Rpb25fY3JlYXRlX2dlbmVyaWNdOiBDYW5ub3QgY3JlYXRlIEhXUyBh Y3Rpb24gc2luY2UgSFdTIGlzIG5vdCBzdXBwb3J0ZWQ8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1m YXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SXQg aXMgd2hhdCBJIHNhdyBpbiBteSBvcmlnaW5hbCBjb2RlIGJlZm9yZSB0cnlpbmcgb24gdGVzdHBt ZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkl0IHNlZW1zIHRvIGJlIGFuIGlzc3VlIGZyb20g Y29ubmVjdFgtNiBjb25maWd1cmF0aW9uLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7 PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JcyB0aGVyZSBhbnlvbmUgZXZlciB0cmllZCB0byB1 c2UgYXN5bmNocm9ub3VzIEFQSSB3aXRoIGNvbm5lY3RYLTY/PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl OktPIj5TZXR0aW5nIGR2X2Zsb3dfZW49MiBhbmQgZHZfZXN3X2VuPTEgc2VlbXMgbm90IGVub3Vn aC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkkgZXhwbG9yZWQgdGhlIG1seDUgY29kZSwgYW5k IGZvdW5kIHRoYXQgcnRlX2Zsb3dfY29uZmlndXJlKCkgcXVlcmllcyBIQ0EgY2FwYWJpbGl0eSBi eSBtbHg1ZHJfY21kX3F1ZXJ5X2NhcHMoKS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkluIG15 IGNhc2UsIHJ0ZV9mbG93X2NvbmZpZ3VyZSgpIHJldHVybmVkIGVycm9yIHNpbmNlIGNhcHMtJmd0 O3dxZV9iYXNlZF91cGRhdGUgaXMgc2V0IGJ5IDAuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4m bmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPklzIHRoZXJlIGFueW9uZSBrbm93IGhvdyB0 byBzZXQgdGhpcyB2YWx1ZSB0byBub24temVybz88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkkg YWxyZWFkeSB3cm90ZSB0aGUgc2FtZSBxdWVzdGlvbiBvbiBudmlkaWEgZm9ydW0uPG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJl YXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPlNpbmNlcmVs eSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHls ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkp1bmdoYW4gWW9vbjxvOnA+PC9vOnA+PC9zcGFu PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n dWFnZTpLTyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVy Om5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBp biAwaW4iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gbGFuZz0iS08iIHN0eWxlPSJt c28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+67O064K4IOyCrOuejDwvc3Bhbj48L2I+PGI+PHNwYW4g c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj46DQo8L3NwYW4+PC9iPjxzcGFuIHN0eWxl PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PGEgaHJlZj0ibWFpbHRvOmJpbmd6QG52aWRpYS5j b20iPkJpbmcgWmhhbzwvYT48YnI+DQo8Yj48c3BhbiBsYW5nPSJLTyI+67O064K4IOuCoOynnDwv c3Bhbj46IDwvYj4yMDIzPHNwYW4gbGFuZz0iS08iPuuFhDwvc3Bhbj4gNjxzcGFuIGxhbmc9IktP Ij7sm5Q8L3NwYW4+IDk8c3BhbiBsYW5nPSJLTyI+7J28IOq4iOyalOydvCDsmKTtm4Q8L3NwYW4+ IDEwOjAwPGJyPg0KPGI+PHNwYW4gbGFuZz0iS08iPuuwm+uKlCDsgqzrnow8L3NwYW4+OiA8L2I+ PGEgaHJlZj0ibWFpbHRvOnVzZXJzQGRwZGsub3JnIj51c2Vyc0BkcGRrLm9yZzwvYT47DQo8YSBo cmVmPSJtYWlsdG86Y2Vyb3R5a2lAZ21haWwuY29tIj5jZXJvdHlraUBnbWFpbC5jb208L2E+PGJy Pg0KPGI+PHNwYW4gbGFuZz0iS08iPuygnOuqqTwvc3Bhbj46IDwvYj5SRTogQWJvdXQgcnRlX2Zs b3cgYXN5bmNocm9ub3VzIEFQSTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6 JnF1b3Q7R3VsaW0mcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5i c3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0 ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6 bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SGkgSnVu Z2hhbiw8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9 InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVh azpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJz cDs8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRl eHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpu b3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JbiB0ZXN0 cG1kLCB5b3UgY2FuIGVhc2lseSBkbyBpdCBieTo8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJl YXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTpp ZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1m YXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0 LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luOjBp biI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7bXNv LWZhcmVhc3QtbGFuZ3VhZ2U6S08iPnBvcnQgc3RvcCBhbGw8L3NwYW4+PHNwYW4gc3R5bGU9Im1z by1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0i bWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29u c29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiMgb3IgcG9ydCBzdG9wIDA8L3NwYW4+PHNw YW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBzdHlsZT0ibWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6Q29uc29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzwvc3Bhbj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm b250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+ZmxvdyBjb25maWd1 cmUgMCDigKbigKY8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7bXNvLWZhcmVhc3QtbGFuZ3Vh Z2U6S08iPiMgaWYgdGhlcmUgYXJlIG90aGVyIHBvcnQocyk8L3NwYW4+PHNwYW4gc3R5bGU9Im1z by1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0i bWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29u c29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiMgZmxvdyBjb25maWd1cmUgWSDigKbigKYN Cjwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+ PC9zcGFuPjwvcD4NCjxwIHN0eWxlPSJtYXJnaW46MGluIj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEwLjBwdDtmb250LWZhbWlseTpDb25zb2xhczttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5i c3A7PC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1hcmdpbjowaW4iPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4m bmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBzdHlsZT0ibWFyZ2luOjBpbiI+PHNwYW4gc3R5bGU9ImZvbnQt c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6Q29uc29sYXM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08i PnBvcnQgc3RhcnQgYWxsPC9zcGFuPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpL TyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgc3R5bGU9Im1hcmdpbjowaW4iPjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OkNvbnNvbGFzO21zby1mYXJlYXN0LWxh bmd1YWdlOktPIj4jIG9yIHBvcnQgc3RhcnQgMDwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVh c3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlk ZW9ncmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZh cmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzwvc3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3Qt bGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi IGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0O3RleHQtYXV0b3NwYWNlOmlkZW9n cmFwaC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx LjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVh c3QtbGFuZ3VhZ2U6S08iPldpdGggdGhlIHNvdXJjZSBjb2RlIGltcGxlbWVudGF0aW9uLCB5b3Ug Y2FuIGNvbmZpZ3VyZSBpdCBiZWZvcmUgc3RhcnRpbmcgYSBkZXZpY2UuPC9zcGFuPjxzcGFuIHN0 eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4 dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0 eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu cy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PC9zcGFuPjxzcGFuIHN0eWxl PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1h dXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z ZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+QlIuIEJpbmc8L3NwYW4+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdDt0ZXh0LWF1 dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9Im1z by1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxl PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6MGluIDBp biAwaW4gNC4wcHQiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0 ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dyYXBoLW90aGVyO3dvcmQtYnJlYWs6 bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OiZxdW90 O0d1bGltJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZuYnNwOzwv c3Bhbj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9z cGFuPjwvcD4NCjxkaXYgaWQ9ImRpdlJwbHlGd2RNc2ciPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg YWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQ7dGV4dC1hdXRvc3BhY2U6aWRlb2dy YXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpi bGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+RnJvbTo8L3NwYW4+PC9iPjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z ZXJpZjtjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+IEp1bmdoYW4gWW9vbiAm bHQ7PGEgaHJlZj0ibWFpbHRvOmNlcm90eWtpQGdtYWlsLmNvbSI+PHNwYW4gc3R5bGU9ImNvbG9y OiMwNTYzQzEiPmNlcm90eWtpQGdtYWlsLmNvbTwvc3Bhbj48L2E+Jmd0Ozxicj4NCjxiPlNlbnQ6 PC9iPiBGcmlkYXksIEp1bmUgOSwgMjAyMyAxMDo1NzoxMyBBTTxicj4NCjxiPlRvOjwvYj4gPGEg aHJlZj0ibWFpbHRvOnVzZXJzQGRwZGsub3JnIj48c3BhbiBzdHlsZT0iY29sb3I6IzA1NjNDMSI+ dXNlcnNAZHBkay5vcmc8L3NwYW4+PC9hPiAmbHQ7PGEgaHJlZj0ibWFpbHRvOnVzZXJzQGRwZGsu b3JnIj48c3BhbiBzdHlsZT0iY29sb3I6IzA1NjNDMSI+dXNlcnNAZHBkay5vcmc8L3NwYW4+PC9h PiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gQWJvdXQgcnRlX2Zsb3cgYXN5bmNocm9ub3VzIEFQ STwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTomcXVvdDtH dWxpbSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4NCjwvc3Bhbj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwv cD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQt YWxpZ246bGVmdDt0ZXh0LWF1dG9zcGFjZTppZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3Jt YWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7R3Vs aW0mcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PC9zcGFu PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+PG86cD48L286cD48L3NwYW4+ PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Inhtc29ub3JtYWwi PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SGkuPG86cD48L286cD48L3Nw YW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1s YW5ndWFnZTpLTyI+STxzcGFuIGxhbmc9IktPIj7igJk8L3NwYW4+bSB0cnlpbmcgdG8gdXNlIHRl c3RwbWQgdG8gdGVzdCBydGVfZmxvdyB3aXRoIGFzeW5jaHJvbm91cyBBUEkgaW4gRFBESyAyMi4x MS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5 bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl OktPIj5JIHR1cm5lZCBvbiBkdl9lc3dfZW49MSBieSBlY2hvaW5nIHN3aXRjaGRldiB0byAvc3lz L2NsYXNzL25ldC88c3BhbiBsYW5nPSJLTyI+4oCmPC9zcGFuPi4sIGFuZCBzZXQgZHZfZmxvd19l biB0byAyIHRvIHVzZSBjb25uZWN0WC02IEhXUyAoaGFyZHdhcmUgc3RlZXJpbmcpLjxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9 InRleHQtYWxpZ246bGVmdDtiYWNrZ3JvdW5kOiMyMzIzMjM7dGV4dC1hdXRvc3BhY2U6aWRlb2dy YXBoLW90aGVyO3dvcmQtYnJlYWs6bm9ybWFsIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6bGlnaHRncmV5O2Jh Y2tncm91bmQ6IzIzMjMyMzttc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+c3VkbyBidWlsZC9hcHAv ZHBkay10ZXN0cG1kIC1hIDAwMDA6OGE6MDAuMCxkdl9mbG93X2VuPTIgLWEgMDAwMDo4YTowMC4x LGR2X2Zsb3dfZW49MiAtLSAtaSAtLXJ4cT0xIC0tdHhxPTE8L3NwYW4+PHNwYW4gc3R5bGU9Im1z by1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i eG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5JbiB0aGUgcHJvbXB0LCBJIHR5cGVkIGJlbG93PG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiIGFsaWduPSJsZWZ0IiBz dHlsZT0idGV4dC1hbGlnbjpsZWZ0O2JhY2tncm91bmQ6IzIzMjMyMzt0ZXh0LWF1dG9zcGFjZTpp ZGVvZ3JhcGgtb3RoZXI7d29yZC1icmVhazpub3JtYWwiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZTo5LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpsaWdodGdy ZXk7YmFja2dyb3VuZDojMjMyMzIzO21zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5mbG93IGNvbmZp Z3VyZSAwIHF1ZXVlc19udW1iZXIgMSBxdWV1ZXNfc2l6ZSAxMCBjb3VudGVyc19udW1iZXIgMCBh Z2luZ19jb3VudGVyc19udW1iZXIgMCBtZXRlcnNfbnVtYmVyIDAgZmxhZ3MgMDwvc3Bhbj48c3Bh biBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N CjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6 S08iPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48 c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPmJ1dCBpdCBzYWlkIDxzcGFuIGxh bmc9IktPIj4NCuKAnDwvc3Bhbj5EZXZpY2Ugd2l0aCBwb3J0X2lkPTAgYWxyZWFkeSBzdGFydGVk LjxzcGFuIGxhbmc9IktPIj7igJ08L3NwYW4+LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs YXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPiZu YnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBz dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPkkga25vdyBydGVfZmxvd19jb25maWd1cmUo KSBjYWxsIHNob3VsZCBiZSBpbiB0aGUgbWlkZGxlIG9mIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgp IGFuZCBydGVfZXRoX2Rldl9zdGFydCgpLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz PSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPlNvLCBJ IHJ1biB0ZXN0cG1kIGJ5IGJlbG93IHRvIHBvc3Rwb25lIGRldmljZSBzdGFydCw8bzpwPjwvbzpw Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0 ZXh0LWFsaWduOmxlZnQ7YmFja2dyb3VuZDojMjMyMzIzO3RleHQtYXV0b3NwYWNlOmlkZW9ncmFw aC1vdGhlcjt3b3JkLWJyZWFrOm5vcm1hbCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuMHB0 O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmxpZ2h0Z3JleTtiYWNr Z3JvdW5kOiMyMzIzMjM7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPnN1ZG8gYnVpbGQvYXBwL2Rw ZGstdGVzdHBtZCAtYSAwMDAwOjhhOjAwLjAsZHZfZmxvd19lbj0yIC1hIDAwMDA6OGE6MDAuMSxk dl9mbG93X2VuPTIgLS0gLWkgLS1yeHE9MSAtLXR4cT0xIC0tZGlzYWJsZS1kZXZpY2Utc3RhcnQ8 L3NwYW4+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj48bzpwPjwvbzpwPjwv c3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0 LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0ieG1z b25vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj5Ib3dldmVyLCBu b3cgbm90IG9ubHkgcnRlX2V0aF9kZXZfc3RhcnQoKSBidXQgYWxzbyBydGVfZXRoX2Rldl9jb25m aWd1cmUoKSBkb2VzIG5vdCBzdGFydCwgc28gaXQgc2FpZA0KPHNwYW4gbGFuZz0iS08iPuKAnDwv c3Bhbj5EZXZpY2Ugd2l0aCBwb3J0X2lkPTAgaXMgbm90IGNvbmZpZ3VyZWQuPHNwYW4gbGFuZz0i S08iPuKAnTwvc3Bhbj4uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3Jt YWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+Jm5ic3A7PG86cD48L286 cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFy ZWFzdC1sYW5ndWFnZTpLTyI+SG93IGNhbiBJIHJ1biBydGVfZmxvd19jb25maWd1cmUoKSBiZXR3 ZWVuIHJ0ZV9ldGhfZGV2X2NvbmZpZ3VyZSgpIGFuZCBydGVfZXRoX2Rldl9zdGFydCgpIGluIHRl c3RwbWQ/PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFu IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+SXMgdGhlcmUgYW55IHBhcmFtZXRlciB0 byBwb3N0cG9uZSBvbmx5IHJ0ZV9ldGhfZGV2X3N0YXJ0KCk/PG86cD48L286cD48L3NwYW4+PC9w Pg0KPHAgY2xhc3M9Inhtc29ub3JtYWwiPjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn ZTpLTyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Inhtc29ub3JtYWwi PjxzcGFuIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpLTyI+U2luY2VyZWx5LDxvOnA+PC9v OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJ4bXNvbm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZh cmVhc3QtbGFuZ3VhZ2U6S08iPkp1bmdoYW4gWW9vbi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0ieG1zb25vcm1hbCI+PHNwYW4gc3R5bGU9 Im1zby1mYXJlYXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9Im1zby1mYXJl YXN0LWxhbmd1YWdlOktPIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6S08iPjxvOnA+Jm5i c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwv aHRtbD4NCg== --_000_DM4PR12MB518425082035A6372E6B38A3D051ADM4PR12MB5184namp_--