Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1waScE-001oob-0u for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Jun 2026 06:22:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1waScC-00FBq3-0R for pgsql-hackers@arkaria.postgresql.org; Fri, 19 Jun 2026 06:22:08 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1waScB-00FBpu-2J for pgsql-hackers@lists.postgresql.org; Fri, 19 Jun 2026 06:22:07 +0000 Received: from mail-vk1-xa2c.google.com ([2607:f8b0:4864:20::a2c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1waSc9-00000001E4l-0T9p for pgsql-hackers@postgresql.org; Fri, 19 Jun 2026 06:22:07 +0000 Received: by mail-vk1-xa2c.google.com with SMTP id 71dfb90a1353d-5bbe617d624so933688e0c.0 for ; Thu, 18 Jun 2026 23:22:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1781850123; cv=none; d=google.com; s=arc-20240605; b=ldeScl6M3DxnGnOsqql/22Iu+ufvOy4I7knAfOVriZ9rRLFzTrmDEOXuKpZm7q3TpK F+LDikx5xyVm5KGILjWbNLGdjxTRAm6Wzr/4lYBrJpZgRg6/gOLXCbUWEK9jn7DPG6Tz 9ZjHjZtfgMBsXYh/5YZlCl1T7jBITWMTTULmqL4g/k0W4YVNnJzqGQCdrtbJlAzU+Gt9 E9S52L9DKwgPD36/3eY+7TyX8DgWdiwlnAeRBft1+mbQPXXrvDlwEuFJwxYRZEjVcIgb YGfLWXS5KUskviX/FPpVj4jax+JkPStMdblQSyAywxOpiCARWEcdv/Y6uhYy1UoPfyIE Oyvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=9uwCm0wD8bvut3Y9Cyus2O6YKpQac0+KYjpqxUZJMjw=; fh=/+9j0BbSiP80DTIh9QobxwZgoQGLKO9zp8KM+45g0uA=; b=UVXHrM6SJN62xu4LOBxriygdfEr6zMwr32sX2Ofs05Zh25kZVF7ZicHrSa3XwSPe3r A1asincOqhB+eRvx38yDu20K6yqBQyMQrIWJUa6WFFsZ6mc4oZUi+6iIXhZBz5OhA7V9 PecrMeHH8BthD8JKWJ9zLiT2RgW+i0CoceO6+ijN9j9hyMBv7f+4O44Rowp9K2AoozQP ADhKC5Pc6lEz2dLdEozBsD9ltZdmyQmgeOmkT8QZevnCLh+yFxswXv0/yXSV4qon/2D+ Yy7Bd+XwqC7szlY0pK9G999R2Eqr+6DZOqO2DYHJJ2+VxTWGXe2wMudHuJx6JlHuLhG1 9hzA==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1781850123; x=1782454923; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=9uwCm0wD8bvut3Y9Cyus2O6YKpQac0+KYjpqxUZJMjw=; b=T0EAjP+sD8aHtgl6xynmDteVKDKHR5B0KUnMlVDr+zKZc92QEaGvazZI3Xl4yNNgqW Ohes3AX1pxYtFbKEZqqaQBOvNrBX3aBS8YukdnemN2g//74SrTuIfczydVdHx5p47P+R vNs8Q1DhIkxaupNJnvQOkCJkCvg5wUyqnnaI8/APdCW352TbWNKoOwDtG+3rYFEMh2np mpuB6FcsWkbmtR9sn0HS6ZzeLJXrjH+tWSZv2eGmM9Sp/hYixWd+pV9xIDOng/77yiXP BsvdPEcRDY7RAOnVw5BcZ/fHnGvhSa9PeY1bMzXT5jsi4SvF8JAknm8jvbRtGM2O3iTJ Yw8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781850123; x=1782454923; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9uwCm0wD8bvut3Y9Cyus2O6YKpQac0+KYjpqxUZJMjw=; b=oyI3nKFr1xomoR1eH9GeUVK3WJhaAQGYO4qMcMuUcYfKEVsbs+2wBWuy234JEaftNs DKj784R8EZsPNL7yGUmcX4uwSfql09Yscelxux2Fwxqb70OKQGB/292FLMl3ocWynCRe ijhmr+Q1hecaNFJierd/sWBEzlVzi9sLN67kNVhYRMWFv/TlWBx4+vLCKraiREXKnLJE z0kRh2KEOrL80qLwJqNthVCbqC8F7M2rJcDdpWA74IL95nXBYJeGtW5YzzhH8/ByeQQc V1srnG0LlDWSgRIlqOQL8RaHphL3toDvUTsfKZcH7j4xV0HPZ01Tdv+Mk0XM4sytl7X8 kAXw== X-Forwarded-Encrypted: i=1; AFNElJ+2rU7f/EFPIKoTxaxffuhtXyHe16j7RotTbH4EhvYNGgiItvfWpLTliDMIc6Q7oBiyYQjgGgtaTd08HMdz@postgresql.org X-Gm-Message-State: AOJu0YzwFC1D9LIW+EdKhgTxNtKl1prjbOIdHLi/g3RJX11cPaBTIVmi UGDCbiBZ03NnxGUUN+upHQbOqjdFlUpYhDJWkJEJBuKB0ypRbQkDJNjNk7T48IOWNbvQhhKMR3Y pjEpWmILNs8ld6STNM4gWsFiaRimPU4M= X-Gm-Gg: AfdE7cm0GnekdXVS5Vl9NQfaJrUO2ZKSD8MKj/y1JdzPYNk6BM4uKb1WvywNjahKgIN K47ZXCmeS21BfXL+mJ1pJpG+s5U1cpoCfOrzI8R/Xt6NCWiAF6lPJdAwp+Al2YeDb7ADmF14/r6 6lGilKUoUc4KjPxURiRWVfAw23SQFDxRHVcl+z2gZF2icLepheKqeMxsB0lS8vAbA5EssX1S2Yz uCs+3Miu3AATUDWRTjBgk1oPE4VjbgRjKg3EYbq3iJwgxyIkBHsf8zDEu4jepM1ApkepPIKk8vs uvFct6xc6p3lbnK8iG/Azr3oYTq1jm4ADdt06IpdtaRJewxFILkA/KJsaNDswO75x8EW140kMPV gPkBKDsGSogsrUocGhKLIIglRFfIZ/uZTeBYferTjmoWCu+5yHm6zyp/OGRoETxsDv6DHd7Seux bZGDEeRxTw/euC9Xk= X-Received: by 2002:a05:6122:6088:b0:575:39bc:c6d9 with SMTP id 71dfb90a1353d-5bbeb06811emr875433e0c.3.1781850122623; Thu, 18 Jun 2026 23:22:02 -0700 (PDT) MIME-Version: 1.0 References: <20260618.185007.1430819167281911424.ishii@postgresql.org> In-Reply-To: From: jian he Date: Fri, 19 Jun 2026 14:21:24 +0800 X-Gm-Features: AVVi8CdQbSFBTokyqpGPPRdMXdG5S3bFWH2ECVZ9u4dk2Z5gvlx8jipAykMlBMw Message-ID: Subject: Re: Row pattern recognition To: assam258@gmail.com Cc: Tatsuo Ishii , zsolt.parragi@percona.com, sjjang112233@gmail.com, vik@postgresfriends.org, er@xs4all.nl, jacob.champion@enterprisedb.com, david.g.johnston@gmail.com, peter@eisentraut.org, li.evan.chao@gmail.com, pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="0000000000009a43840654954f89" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000009a43840654954f89 Content-Type: text/plain; charset="UTF-8" Hi. CREATE TABLE stock (company TEXT, tdate DATE, price INTEGER); CREATE TEMP TABLE stock (company TEXT, tdate DATE, price INTEGER); SELECT count(*) over w FROM stock WINDOW w AS ( ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING PATTERN (A) DEFINE A AS pg_temp.stock.price > 0 ); SELECT count(*) over w FROM stock WINDOW w AS ( ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING PATTERN (A) DEFINE A AS public.stock.price > 0 ); SELECT count(*) over w FROM stock WINDOW w AS ( ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING PATTERN (A) DEFINE A AS stock.price > 0 ); The error messages for the above 3 SELECT queries are different. (pg_temp.stock.price, public.stock.price, stock.price) mean the same thing: column reference, Should we try to make the error messages consistent? ERROR: range variable qualified expression "rpr_composite.items" is not allowed in DEFINE clause "Range variable qualified expression" is non-standard that may confuse users. To improve clarity and consistency, let's align this with the established error pattern: ERROR: invalid reference to FROM-clause entry for table "the_table" What do you all think about renaming validateRPRPatternVarCount to preprocessRPRPattern? -------------------------------------------------------------------------------------------------- v48 [1] has a conflict with master, so the attached patches are based on https://github.com/assam258-5892/postgres/commits/RPR The attached v48-0001 mainly replaces PG_INT32_MAX with RPR_QUANTITY_INF, but it also includes other changes. See the commit message for detail. The attached v48-0002 patch is more about miscellaneous refactoring. The commit message is included below, enclosed by "-----": -------------------------------------------------------------------------------------------------- Refactor buildRPRPattern to accept a WindowClause pointer directly. This eliminates the need to pass internal fields like rpPattern, rpSkipTo, and frameOptions as separate arguments. collectDefineVariables is not needed, it's simple, and can integrated its logic directly into buildRPRPattern easily. Also removed tryUnwrapSingleChild since its was simple enough to inline inside optimizeSeqPattern and optimizeAltPattern. Slightly adjust variable limits error message. Restructure multiple INSERT INTO ... VALUES statements into multi-value insert blocks (e.g., INSERT INTO ... VALUES (), ()). This is for brevity and is a good practice even though performance gains is minor. Long PATTERN strings (more than 2000 width!) in the regression tests were broken into formatted multiline queries for readability. -------------------------------------------------------------------------------------------------- [1] https://postgr.es/m/20260613.212530.63949290085162247.ishii%40postgresql.org -- jian https://www.enterprisedb.com/ --0000000000009a43840654954f89 Content-Type: application/octet-stream; name="v48-0002-Refactor-RPR-build-and-variable-logic.nocfbot" Content-Disposition: attachment; filename="v48-0002-Refactor-RPR-build-and-variable-logic.nocfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqkj5ja40 RnJvbSA5NjZhYjc0OGUyNTRhZmQ1NTQ5NTc5OWJiZDkxYTI4NGQ4OWQwMGQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTkgSnVuIDIwMjYgMTM6NDQ6MTUgKzA4MDAKU3ViamVjdDogW1BBVENIIHY0 OCAyLzJdIFJlZmFjdG9yIFJQUiBidWlsZCBhbmQgdmFyaWFibGUgbG9naWMKClJlZmFjdG9yIGJ1 aWxkUlBSUGF0dGVybiB0byBhY2NlcHQgYSBXaW5kb3dDbGF1c2UgcG9pbnRlciBkaXJlY3RseS4g VGhpcwplbGltaW5hdGVzIHRoZSBuZWVkIHRvIHBhc3MgaW50ZXJuYWwgZmllbGRzIGxpa2UgcnBQ YXR0ZXJuLCBycFNraXBUbywgYW5kCmZyYW1lT3B0aW9ucyBhcyBzZXBhcmF0ZSBhcmd1bWVudHMu Cgpjb2xsZWN0RGVmaW5lVmFyaWFibGVzIGlzIG5vdCBuZWVkZWQsIGl0J3Mgc2ltcGxlLCBhbmQg Y2FuIGludGVncmF0ZWQgaXRzIGxvZ2ljCmRpcmVjdGx5IGludG8gYnVpbGRSUFJQYXR0ZXJuIGVh c2lseS4gIEFsc28gcmVtb3ZlZCB0cnlVbndyYXBTaW5nbGVDaGlsZCBzaW5jZQppdHMgd2FzIHNp bXBsZSBlbm91Z2ggdG8gaW5saW5lIGluc2lkZSBvcHRpbWl6ZVNlcVBhdHRlcm4gYW5kCm9wdGlt aXplQWx0UGF0dGVybi4KClNsaWdodGx5IGFkanVzdCB2YXJpYWJsZSBsaW1pdHMgZXJyb3IgbWVz c2FnZS4KClJlc3RydWN0dXJlIG11bHRpcGxlIElOU0VSVCBJTlRPIC4uLiBWQUxVRVMgc3RhdGVt ZW50cyBpbnRvIG11bHRpLXZhbHVlIGluc2VydApibG9ja3MgKGUuZy4sIElOU0VSVCBJTlRPIC4u LiBWQUxVRVMgKCksICgpKS4gVGhpcyBpcyBmb3IgYnJldml0eSBhbmQgaXMgYSBnb29kCnByYWN0 aWNlIGV2ZW4gdGhvdWdoIHBlcmZvcm1hbmNlIGdhaW5zIGlzIG1pbm9yLgoKTG9uZyBQQVRURVJO IHN0cmluZ3MgKG1vcmUgdGhhbiAyMDAwIHdpZHRoISkgaW4gdGhlIHJlZ3Jlc3Npb24gdGVzdHMg d2VyZSBicm9rZW4KaW50byBmb3JtYXR0ZWQgbXVsdGlsaW5lIHF1ZXJpZXMgZm9yIHJlYWRhYmls aXR5LgotLS0KIHNyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBsYW4uYyB8IDE4ICst LS0tCiBzcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxhbi9ycHIuYyAgICAgICAgfCA5NCArKysrKysr KystLS0tLS0tLS0tLS0tLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfcnByLmMgICAgICAg ICAgfCAgNyArLQogc3JjL2luY2x1ZGUvb3B0aW1pemVyL3Jwci5oICAgICAgICAgICAgIHwgIDQg Ky0KIHNyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9ub2RlLmggICAgICAgICB8ICAyICstCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jwci5vdXQgICAgICAgfCAzNyArKysrLS0tLS0tCiBzcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jwcl9iYXNlLm91dCAgfCA3MiArKysrKysrKysrKysrKyst LS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHIuc3FsICAgICAgICAgICAgfCAzOCArKysrLS0t LS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHJfYmFzZS5zcWwgICAgICAgfCA2NSArKysrKysr KysrKysrKy0tLQogOSBmaWxlcyBjaGFuZ2VkLCAxODQgaW5zZXJ0aW9ucygrKSwgMTUzIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBs YW4uYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL2NyZWF0ZXBsYW4uYwppbmRleCBkOTZl NzZiMDIyLi5kODYwZmI5NzExIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9vcHRpbWl6ZXIvcGxh bi9jcmVhdGVwbGFuLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vY3JlYXRlcGxh bi5jCkBAIC0yODIwLDcgKzI4MjAsNiBAQCBjcmVhdGVfd2luZG93YWdnX3BsYW4oUGxhbm5lcklu Zm8gKnJvb3QsIFdpbmRvd0FnZ1BhdGggKmJlc3RfcGF0aCkKIAlPaWQJCSAgICpvcmRPcGVyYXRv cnM7CiAJT2lkCQkgICAqb3JkQ29sbGF0aW9uczsKIAlMaXN0Q2VsbCAgICpsYzsKLQlMaXN0CSAg ICpkZWZpbmVWYXJpYWJsZUxpc3QgPSBOSUw7CiAJUlBSUGF0dGVybiAqY29tcGlsZWRQYXR0ZXJu ID0gTlVMTDsKIAlCaXRtYXBzZXQgICptYXRjaFN0YXJ0RGVwZW5kZW50ID0gTlVMTDsKIAlSUFJO YXZPZmZzZXRLaW5kIG5hdk1heE9mZnNldEtpbmQgPSBSUFJfTkFWX09GRlNFVF9GSVhFRDsKQEAg LTI4NzksMTggKzI4NzgsOSBAQCBjcmVhdGVfd2luZG93YWdnX3BsYW4oUGxhbm5lckluZm8gKnJv b3QsIFdpbmRvd0FnZ1BhdGggKmJlc3RfcGF0aCkKIAkJb3JkTnVtQ29scysrOwogCX0KIAotCS8q IEJ1aWxkIFJQUiBwYXR0ZXJuIGFuZCBkZWZpbmVWYXJpYWJsZUxpc3QgKi8KKwkvKiBCdWlsZCBS UFIgcGF0dGVybiAqLwogCWlmICh3Yy0+cnBQYXR0ZXJuKQogCXsKLQkJLyoKLQkJICogQnVpbGQg ZGVmaW5lVmFyaWFibGVMaXN0IGZyb20gZGVmaW5lQ2xhdXNlLiAgVGhlIHBhcnNlciBhbHJlYWR5 Ci0JCSAqIHJlamVjdHMgREVGSU5FIHZhcmlhYmxlcyBub3QgdXNlZCBpbiBQQVRURVJOLCBzbyBu byBmaWx0ZXJpbmcgaXMKLQkJICogbmVlZGVkLgotCQkgKi8KLQkJZm9yZWFjaF9ub2RlKFRhcmdl dEVudHJ5LCB0ZSwgd2MtPmRlZmluZUNsYXVzZSkKLQkJCWRlZmluZVZhcmlhYmxlTGlzdCA9IGxh cHBlbmQoZGVmaW5lVmFyaWFibGVMaXN0LAotCQkJCQkJCQkJCSBtYWtlU3RyaW5nKHBzdHJkdXAo dGUtPnJlc25hbWUpKSk7Ci0KIAkJLyoKIAkJICogV2FsayBERUZJTkUgb25jZTogY29sbGVjdCBu YXYgb2Zmc2V0cyAoZm9yIHR1cGxlc3RvcmUgdHJpbSkgYW5kIHRoZQogCQkgKiBiaXRtYXBzZXQg b2YgbWF0Y2hfc3RhcnQtZGVwZW5kZW50IHZhcmlhYmxlcyAoZm9yIGFic29ycHRpb24KQEAgLTI5 MDMsMTEgKzI4OTMsNyBAQCBjcmVhdGVfd2luZG93YWdnX3BsYW4oUGxhbm5lckluZm8gKnJvb3Qs IFdpbmRvd0FnZ1BhdGggKmJlc3RfcGF0aCkKIAkJCQkJCQkJJm1hdGNoU3RhcnREZXBlbmRlbnQp OwogCiAJCS8qIENvbXBpbGUgYW5kIG9wdGltaXplIFJQUiBwYXR0ZXJucyAqLwotCQljb21waWxl ZFBhdHRlcm4gPSBidWlsZFJQUlBhdHRlcm4od2MtPnJwUGF0dGVybiwKLQkJCQkJCQkJCQkgIGRl ZmluZVZhcmlhYmxlTGlzdCwKLQkJCQkJCQkJCQkgIHdjLT5ycFNraXBUbywKLQkJCQkJCQkJCQkg IHdjLT5mcmFtZU9wdGlvbnMsCi0JCQkJCQkJCQkJICAhYm1zX2lzX2VtcHR5KG1hdGNoU3RhcnRE ZXBlbmRlbnQpKTsKKwkJY29tcGlsZWRQYXR0ZXJuID0gYnVpbGRSUFJQYXR0ZXJuKHdjLCAhYm1z X2lzX2VtcHR5KG1hdGNoU3RhcnREZXBlbmRlbnQpKTsKIAl9CiAKIAkvKiBBbmQgZmluYWxseSB3 ZSBjYW4gbWFrZSB0aGUgV2luZG93QWdnIG5vZGUgKi8KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L29wdGltaXplci9wbGFuL3Jwci5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcnByLmMK aW5kZXggYzRhOGU1ZDZkMy4uNWZlYTVkNjdjOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0 aW1pemVyL3BsYW4vcnByLmMKKysrIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcnByLmMK QEAgLTQ4LDkgKzQ4LDYgQEAKIC8qIEZvcndhcmQgZGVjbGFyYXRpb25zICovCiBzdGF0aWMgYm9v bCBycHJQYXR0ZXJuRXF1YWwoUlBSUGF0dGVybk5vZGUgKmEsIFJQUlBhdHRlcm5Ob2RlICpiKTsK IHN0YXRpYyBib29sIHJwclBhdHRlcm5DaGlsZHJlbkVxdWFsKExpc3QgKmEsIExpc3QgKmIpOwot Ci1zdGF0aWMgUlBSUGF0dGVybk5vZGUgKnRyeVVud3JhcFNpbmdsZUNoaWxkKFJQUlBhdHRlcm5O b2RlICpwYXR0ZXJuKTsKLQogc3RhdGljIExpc3QgKmZsYXR0ZW5TZXFDaGlsZHJlbihMaXN0ICpj aGlsZHJlbik7CiBzdGF0aWMgTGlzdCAqbWVyZ2VDb25zZWN1dGl2ZVZhcnMoTGlzdCAqY2hpbGRy ZW4pOwogc3RhdGljIExpc3QgKm1lcmdlQ29uc2VjdXRpdmVHcm91cHMoTGlzdCAqY2hpbGRyZW4p OwpAQCAtNjcsOCArNjQsNiBAQCBzdGF0aWMgUlBSUGF0dGVybk5vZGUgKnRyeVVud3JhcEdyb3Vw KFJQUlBhdHRlcm5Ob2RlICpwYXR0ZXJuKTsKIHN0YXRpYyBSUFJQYXR0ZXJuTm9kZSAqb3B0aW1p emVHcm91cFBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKnBhdHRlcm4pOwogCiBzdGF0aWMgUlBSUGF0 dGVybk5vZGUgKm9wdGltaXplUlBSUGF0dGVybihSUFJQYXR0ZXJuTm9kZSAqcGF0dGVybik7Ci0K LXN0YXRpYyBpbnQJY29sbGVjdERlZmluZVZhcmlhYmxlcyhMaXN0ICpkZWZpbmVWYXJpYWJsZUxp c3QsIGNoYXIgKip2YXJOYW1lcyk7CiBzdGF0aWMgdm9pZCBzY2FuUlBSUGF0dGVyblJlY3Vyc2l2 ZShSUFJQYXR0ZXJuTm9kZSAqbm9kZSwgY2hhciAqKnZhck5hbWVzLAogCQkJCQkJCQkJaW50ICpu dW1WYXJzLCBpbnQgKm51bUVsZW1lbnRzLAogCQkJCQkJCQkJUlBSRGVwdGggZGVwdGgsIFJQUkRl cHRoICptYXhEZXB0aCk7CkBAIC0xNTUsMjcgKzE1MCw2IEBAIHJwclBhdHRlcm5DaGlsZHJlbkVx dWFsKExpc3QgKmEsIExpc3QgKmIpCiAJcmV0dXJuIHRydWU7CiB9CiAKLS8qCi0gKiB0cnlVbndy YXBTaW5nbGVDaGlsZAotICoJCVRyeSB0byB1bndyYXAgcGF0dGVybiBub2RlIHdpdGggc2luZ2xl IGNoaWxkLgotICoKLSAqIEV4YW1wbGVzIChpbnRlcm5hbCBub2RlIHJlcHJlc2VudGF0aW9uKToK LSAqICAgU0VRW0FdIC0+IEEgICAgKHNpbmdsZS1lbGVtZW50IHNlcXVlbmNlIGJlY29tZXMgdGhl IGVsZW1lbnQpCi0gKiAgIEFMVFtBXSAtPiBBICAgIChzaW5nbGUtYWx0ZXJuYXRpdmUgYmVjb21l cyB0aGUgYWx0ZXJuYXRpdmUpCi0gKgotICogSWYgcGF0dGVybiBoYXMgZXhhY3RseSBvbmUgY2hp bGQsIHJldHVybiB0aGUgY2hpbGQgZGlyZWN0bHkuCi0gKiBPdGhlcndpc2UgcmV0dXJucyB0aGUg cGF0dGVybiB1bmNoYW5nZWQuCi0gKiBVc2VkIGJ5IGJvdGggU0VRIGFuZCBBTFQgb3B0aW1pemF0 aW9uLgotICovCi1zdGF0aWMgUlBSUGF0dGVybk5vZGUgKgotdHJ5VW53cmFwU2luZ2xlQ2hpbGQo UlBSUGF0dGVybk5vZGUgKnBhdHRlcm4pCi17Ci0JaWYgKGxpc3RfbGVuZ3RoKHBhdHRlcm4tPmNo aWxkcmVuKSA9PSAxKQotCQlyZXR1cm4gKFJQUlBhdHRlcm5Ob2RlICopIGxpbml0aWFsKHBhdHRl cm4tPmNoaWxkcmVuKTsKLQotCXJldHVybiBwYXR0ZXJuOwotfQotCiAvKgogICogZmxhdHRlblNl cUNoaWxkcmVuCiAgKgkJUmVjdXJzaXZlbHkgb3B0aW1pemUgY2hpbGRyZW4gYW5kIGZsYXR0ZW4g bmVzdGVkIFNFUS4KQEAgLTY2OSw4ICs2NDMsMTQgQEAgb3B0aW1pemVTZXFQYXR0ZXJuKFJQUlBh dHRlcm5Ob2RlICpwYXR0ZXJuKQogCS8qIE1lcmdlIHByZWZpeC9zdWZmaXggaW50byBHUk9VUCB3 aXRoIG1hdGNoaW5nIGNoaWxkcmVuICovCiAJcGF0dGVybi0+Y2hpbGRyZW4gPSBtZXJnZUdyb3Vw UHJlZml4U3VmZml4KHBhdHRlcm4tPmNoaWxkcmVuKTsKIAotCS8qIFVud3JhcCBzaW5nbGUtaXRl bSBTRVEgKi8KLQlyZXR1cm4gdHJ5VW53cmFwU2luZ2xlQ2hpbGQocGF0dGVybik7CisJLyoKKwkg KiBVbndyYXAgc2luZ2xlIGl0ZW0gU0VRLCBzaW5nbGUgZWxlbWVudCBzZXF1ZW5jZSBiZWNvbWVz IHRoZSBzZXF1ZW5jZS4KKwkgKiBlLmcuIFNFUVtBXSAtPiBBCisJICovCisJaWYgKGxpc3RfbGVu Z3RoKHBhdHRlcm4tPmNoaWxkcmVuKSA9PSAxKQorCQlyZXR1cm4gKFJQUlBhdHRlcm5Ob2RlICop IGxpbml0aWFsKHBhdHRlcm4tPmNoaWxkcmVuKTsKKwllbHNlCisJCXJldHVybiBwYXR0ZXJuOwog fQogCiAvKgpAQCAtNzU0LDggKzczNCwxNCBAQCBvcHRpbWl6ZUFsdFBhdHRlcm4oUlBSUGF0dGVy bk5vZGUgKnBhdHRlcm4pCiAJLyogUmVtb3ZlIGR1cGxpY2F0ZSBhbHRlcm5hdGl2ZXMgKi8KIAlw YXR0ZXJuLT5jaGlsZHJlbiA9IHJlbW92ZUR1cGxpY2F0ZUFsdGVybmF0aXZlcyhwYXR0ZXJuLT5j aGlsZHJlbik7CiAKLQkvKiBVbndyYXAgc2luZ2xlLWl0ZW0gQUxUICovCi0JcmV0dXJuIHRyeVVu d3JhcFNpbmdsZUNoaWxkKHBhdHRlcm4pOworCS8qCisJICogVW53cmFwIHNpbmdsZS1pdGVtIEFM VC4gc2luZ2xlIGVsZW1lbnQgYWx0ZXJuYXRpdmUgYmVjb21lcyB0aGUKKwkgKiBhbHRlcm5hdGl2 ZS4JIGUuZy4gQUxUIEFMVFtBXSAtPiBBCisJICovCisJaWYgKGxpc3RfbGVuZ3RoKHBhdHRlcm4t PmNoaWxkcmVuKSA9PSAxKQorCQlyZXR1cm4gKFJQUlBhdHRlcm5Ob2RlICopIGxpbml0aWFsKHBh dHRlcm4tPmNoaWxkcmVuKTsKKwllbHNlCisJCXJldHVybiBwYXR0ZXJuOwogfQogCiAvKgpAQCAt OTY5LDMwICs5NTUsNiBAQCBvcHRpbWl6ZVJQUlBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKnBhdHRl cm4pCiAJcmV0dXJuIHBhdHRlcm47CiB9CiAKLS8qCi0gKiBjb2xsZWN0RGVmaW5lVmFyaWFibGVz Ci0gKgkJQ29sbGVjdCB2YXJpYWJsZSBuYW1lcyBmcm9tIERFRklORSBjbGF1c2UuCi0gKgotICog UG9wdWxhdGVzIHZhck5hbWVzIGFycmF5IHdpdGggdmFyaWFibGUgbmFtZXMgaW4gREVGSU5FIG9y ZGVyLgotICogVGhpcyBlbnN1cmVzIHZhcklkID09IGRlZmluZUlkeCwgZWxpbWluYXRpbmcgcnVu dGltZSBtYXBwaW5nLgotICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHZhcmlhYmxlcyBjb2xsZWN0 ZWQuCi0gKi8KLXN0YXRpYyBpbnQKLWNvbGxlY3REZWZpbmVWYXJpYWJsZXMoTGlzdCAqZGVmaW5l VmFyaWFibGVMaXN0LCBjaGFyICoqdmFyTmFtZXMpCi17Ci0JaW50CQkJbnVtVmFycyA9IDA7Ci0K LQlmb3JlYWNoX25vZGUoU3RyaW5nLCB2YXJuYW1lLCBkZWZpbmVWYXJpYWJsZUxpc3QpCi0Jewot CQkvKiBQYXJzZXIgYWxyZWFkeSBjaGVja2VkIHRoaXMgbGltaXQgaW4gdHJhbnNmb3JtRGVmaW5l Q2xhdXNlICovCi0JCUFzc2VydChudW1WYXJzIDw9IFJQUl9WQVJJRF9NQVgpOwotCi0JCXZhck5h bWVzW251bVZhcnMrK10gPSBzdHJWYWwodmFybmFtZSk7Ci0JfQotCi0JcmV0dXJuIG51bVZhcnM7 Ci19Ci0KIC8qCiAgKiBzY2FuUlBSUGF0dGVyblJlY3Vyc2l2ZQogICoJCVJlY3Vyc2l2ZWx5IHNj YW4gcGF0dGVybiBwYXJzZSB0cmVlIChwYXNzIDEgaW50ZXJuYWwpLgpAQCAtMTkwOCw5ICsxODcw LDcgQEAgdmFsaWRhdGVfcnByX2RlZmluZV92b2xhdGlsaXR5KExpc3QgKmRlZmluZUNsYXVzZSkK ICAqIENhbGxlZCBmcm9tIGNyZWF0ZXBsYW4uYyBkdXJpbmcgcGxhbiBjcmVhdGlvbi4KICAqLwog UlBSUGF0dGVybiAqCi1idWlsZFJQUlBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKnBhdHRlcm4sIExp c3QgKmRlZmluZVZhcmlhYmxlTGlzdCwKLQkJCQlSUFNraXBUbyBycFNraXBUbywgaW50IGZyYW1l T3B0aW9ucywKLQkJCQlib29sIGhhc01hdGNoU3RhcnREZXBlbmRlbnQpCitidWlsZFJQUlBhdHRl cm4oV2luZG93Q2xhdXNlICp3YywgYm9vbCBoYXNNYXRjaFN0YXJ0RGVwZW5kZW50KQogewogCVJQ UlBhdHRlcm4gKnJlc3VsdDsKIAlSUFJQYXR0ZXJuTm9kZSAqb3B0aW1pemVkOwpAQCAtMTkxOSw2 ICsxODc5LDkgQEAgYnVpbGRSUFJQYXR0ZXJuKFJQUlBhdHRlcm5Ob2RlICpwYXR0ZXJuLCBMaXN0 ICpkZWZpbmVWYXJpYWJsZUxpc3QsCiAJaW50CQkJbnVtRWxlbWVudHM7CiAJUlBSRGVwdGgJbWF4 RGVwdGg7CiAJaW50CQkJaWR4OworCVJQUlBhdHRlcm5Ob2RlICpwYXR0ZXJuID0gd2MtPnJwUGF0 dGVybjsKKwlSUFNraXBUbwlycFNraXBUbyA9IHdjLT5ycFNraXBUbzsKKwlpbnQJCQlmcmFtZU9w dGlvbnMgPSB3Yy0+ZnJhbWVPcHRpb25zOwogCiAJLyogQ2FsbGVyIG11c3QgY2hlY2sgZm9yIE5V TEwgcGF0dGVybiBiZWZvcmUgY2FsbGluZyAqLwogCUFzc2VydChwYXR0ZXJuICE9IE5VTEwpOwpA QCAtMTkyOCwxMiArMTg5MSwyNSBAQCBidWlsZFJQUlBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKnBh dHRlcm4sIExpc3QgKmRlZmluZVZhcmlhYmxlTGlzdCwKIAkvKiBPcHRpbWl6ZSB0aGUgcGF0dGVy biB0cmVlICovCiAJb3B0aW1pemVkID0gb3B0aW1pemVSUFJQYXR0ZXJuKGNvcHlPYmplY3QocGF0 dGVybikpOwogCi0JLyogQ29sbGVjdCB2YXJpYWJsZSBuYW1lcyBmcm9tIERFRklORSBjbGF1c2Ug Ki8KLQludW1WYXJzID0gY29sbGVjdERlZmluZVZhcmlhYmxlcyhkZWZpbmVWYXJpYWJsZUxpc3Qs IHZhck5hbWVzU3RhY2spOworCW51bVZhcnMgPSAwOworCisJLyoKKwkgKiBQb3B1bGF0ZXMgdmFy TmFtZXNTdGFjayBhcnJheSB3aXRoIHZhcmlhYmxlIG5hbWVzIGluIERFRklORSBvcmRlci4gVGhp cworCSAqIGVuc3VyZXMgdmFySWQgPT0gZGVmaW5lQ2FsdXNlIGluZGV4LCBlbGltaW5hdGluZyBy dW50aW1lIG1hcHBpbmcuCisJICovCisJZm9yZWFjaF9ub2RlKFRhcmdldEVudHJ5LCB0ZSwgd2Mt PmRlZmluZUNsYXVzZSkKKwl7CisJCWlmICh0ZS0+cmVzbmFtZSA9PSBOVUxMKQorCQkJZWxvZyhF UlJPUiwgInJvdyBwYXR0ZXJuIHJlY29nbml0aW9uIERFRklORSBjbGF1c2UgZG9uJ3QgaGF2ZSBu YW1lIik7CisKKwkJdmFyTmFtZXNTdGFja1tudW1WYXJzKytdID0gcHN0cmR1cCh0ZS0+cmVzbmFt ZSk7CisJfQogCiAJLyogU2NhbiBwYXR0ZXJuOiBjb2xsZWN0IHZhcmlhYmxlcywgY291bnQgZWxl bWVudHMsIHZhbGlkYXRlIGxpbWl0cyAqLwogCXNjYW5SUFJQYXR0ZXJuKG9wdGltaXplZCwgdmFy TmFtZXNTdGFjaywgJm51bVZhcnMsICZudW1FbGVtZW50cywgJm1heERlcHRoKTsKIAorCUFzc2Vy dChudW1WYXJzIDw9IFJQUl9WQVJJRF9NQVggKyAxKTsKKwogCS8qIEFsbG9jYXRlIHJlc3VsdCBz dHJ1Y3R1cmUgKi8KIAlyZXN1bHQgPSBtYWtlUlBSUGF0dGVybihudW1WYXJzLCBudW1FbGVtZW50 cywgbWF4RGVwdGgsIHZhck5hbWVzU3RhY2spOwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9w YXJzZXIvcGFyc2VfcnByLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfcnByLmMKaW5kZXgg ZWQxMjE5MGNiMC4uMTAyOTA4NTViNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3Bh cnNlX3Jwci5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV9ycHIuYwpAQCAtMjM4LDEw ICsyMzgsOSBAQCB2YWxpZGF0ZVJQUlBhdHRlcm5WYXJDb3VudChQYXJzZVN0YXRlICpwc3RhdGUs IFJQUlBhdHRlcm5Ob2RlICpub2RlLAogCQkJCQlpZiAobGlzdF9sZW5ndGgoKnZhck5hbWVzKSA+ IFJQUl9WQVJJRF9NQVgpCiAJCQkJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkJCQllcnJjb2RlKEVS UkNPREVfUFJPR1JBTV9MSU1JVF9FWENFRURFRCksCi0JCQkJCQkJCWVycm1zZygidG9vIG1hbnkg cGF0dGVybiB2YXJpYWJsZXMiKSwKLQkJCQkJCQkJZXJyZGV0YWlsKCJNYXhpbXVtIGlzICVkLiIs IFJQUl9WQVJJRF9NQVggKyAxKSwKLQkJCQkJCQkJcGFyc2VyX2VycnBvc2l0aW9uKHBzdGF0ZSwK LQkJCQkJCQkJCQkJCSAgIGV4cHJMb2NhdGlvbigoTm9kZSAqKSBub2RlKSkpOworCQkJCQkJCQll cnJtc2coIm51bWJlciBvZiByb3cgcGF0dGVybiB2YXJpYWJsZXMgZXhjZWVkcyB0aGUgbWF4aW11 bSBhbGxvd2VkICglZCkiLAorCQkJCQkJCQkJICAgUlBSX1ZBUklEX01BWCArIDEpLAorCQkJCQkJ CQlwYXJzZXJfZXJycG9zaXRpb24ocHN0YXRlLCBleHByTG9jYXRpb24oKE5vZGUgKikgbm9kZSkp KTsKIAogCQkJCQkqdmFyTmFtZXMgPSBsYXBwZW5kKCp2YXJOYW1lcywgbWFrZVN0cmluZyhwc3Ry ZHVwKG5vZGUtPnZhck5hbWUpKSk7CiAJCQkJfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvb3B0 aW1pemVyL3Jwci5oIGIvc3JjL2luY2x1ZGUvb3B0aW1pemVyL3Jwci5oCmluZGV4IGY1NDYyYWIy YTcuLjFkZTdmODZmODYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL29wdGltaXplci9ycHIuaAor KysgYi9zcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcnByLmgKQEAgLTc1LDkgKzc1LDcgQEAKICNkZWZp bmUgUlBSRWxlbUNhblNraXAoZSkJCSgoZSktPm1pbiA9PSAwKQogCiBleHRlcm4gdm9pZCB2YWxp ZGF0ZV9ycHJfZGVmaW5lX3ZvbGF0aWxpdHkoTGlzdCAqZGVmaW5lQ2xhdXNlKTsKLWV4dGVybiBS UFJQYXR0ZXJuICpidWlsZFJQUlBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKnBhdHRlcm4sIExpc3Qg KmRlZmluZVZhcmlhYmxlTGlzdCwKLQkJCQkJCQkJICAgUlBTa2lwVG8gcnBTa2lwVG8sIGludCBm cmFtZU9wdGlvbnMsCi0JCQkJCQkJCSAgIGJvb2wgaGFzTWF0Y2hTdGFydERlcGVuZGVudCk7Citl eHRlcm4gUlBSUGF0dGVybiAqYnVpbGRSUFJQYXR0ZXJuKFdpbmRvd0NsYXVzZSAqd2MsIGJvb2wg aGFzTWF0Y2hTdGFydERlcGVuZGVudCk7CiAKIC8qCiAgKiBTaGFyZWQgdHJhdmVyc2FsIHdhbGtl ciBmb3IgREVGSU5FIGNsYXVzZSBSUFJOYXZFeHByIGNvbGxlY3Rpb24uCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oIGIvc3JjL2luY2x1ZGUvcGFyc2VyL3BhcnNl X25vZGUuaAppbmRleCBjYjlkMDJjMDBjLi45ZmU2NWRhZmE4IDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9wYXJzZXIvcGFyc2Vfbm9kZS5oCisrKyBiL3NyYy9pbmNsdWRlL3BhcnNlci9wYXJzZV9u b2RlLmgKQEAgLTIzMSw3ICsyMzEsNyBAQCBzdHJ1Y3QgUGFyc2VTdGF0ZQogCVBhcnNlTmFtZXNw YWNlSXRlbSAqcF9ncm91cGluZ19uc2l0ZW07CS8qIE5TSXRlbSBmb3IgZ3JvdXBpbmcsIG9yIE5V TEwgKi8KIAlMaXN0CSAgICpwX3dpbmRvd2RlZnM7CS8qIHJhdyByZXByZXNlbnRhdGlvbnMgb2Yg d2luZG93IGNsYXVzZXMgKi8KIAlQYXJzZUV4cHJLaW5kIHBfZXhwcl9raW5kOwkvKiB3aGF0IGtp bmQgb2YgZXhwcmVzc2lvbiB3ZSdyZSBwYXJzaW5nICovCi0JTGlzdAkgICAqcF9ycHJfcGF0dGVy bl92YXJzOyAvKiBSUFIgdmFyaWFibGUgbmFtZXMgZm9yIERFRklORSBjbGF1c2UgKi8KKwlMaXN0 CSAgICpwX3Jwcl9wYXR0ZXJuX3ZhcnM7IC8qIExpc3Qgb2YgUlBSIFBBVFRFUk4gdmFyaWFibGUg bmFtZXMgKi8KIAlpbnQJCQlwX25leHRfcmVzbm87CS8qIG5leHQgdGFyZ2V0bGlzdCByZXNubyB0 byBhc3NpZ24gKi8KIAlMaXN0CSAgICpwX211bHRpYXNzaWduX2V4cHJzOwkvKiBqdW5rIHRsaXN0 IGVudHJpZXMgZm9yIG11bHRpYXNzaWduICovCiAJTGlzdAkgICAqcF9sb2NraW5nX2NsYXVzZTsJ LyogcmF3IEZPUiBVUERBVEUvRk9SIFNIQVJFIGluZm8gKi8KZGlmZiAtLWdpdCBhL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByLm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnBy Lm91dAppbmRleCA2YWQ4MzBiOWUzLi5mOTY3YjFkMDdhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL3Jwci5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9y cHIub3V0CkBAIC0yMCwzMSArMjAsMTggQEAgQ1JFQVRFIFRBQkxFIHJwcl9zdG9jayAoCiBcc2V0 IGZpbGVuYW1lIDphYnNfc3JjZGlyICcvZGF0YS9zdG9jay5kYXRhJwogQ09QWSBycHJfc3RvY2sg RlJPTSA6J2ZpbGVuYW1lJzsKIEFOQUxZWkUgcnByX3N0b2NrOwotQ1JFQVRFIFRFTVAgVEFCTEUg c3RvY2sgKAotICAgICAgIGNvbXBhbnkgVEVYVCwKLSAgICAgICB0ZGF0ZSBEQVRFLAotICAgICAg IHByaWNlIElOVEVHRVIKLSk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MScs ICcyMDIzLTA3LTAxJywgMTAwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkx JywgJzIwMjMtMDctMDInLCAyMDApOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVTICgnY29tcGFu eTEnLCAnMjAyMy0wNy0wMycsIDE1MCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21w YW55MScsICcyMDIzLTA3LTA0JywgMTQwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2Nv bXBhbnkxJywgJzIwMjMtMDctMDUnLCAxNTApOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVTICgn Y29tcGFueTEnLCAnMjAyMy0wNy0wNicsIDkwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAo J2NvbXBhbnkxJywgJzIwMjMtMDctMDcnLCAxMTApOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVT ICgnY29tcGFueTEnLCAnMjAyMy0wNy0wOCcsIDEzMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxV RVMgKCdjb21wYW55MScsICcyMDIzLTA3LTA5JywgMTIwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZB TFVFUyAoJ2NvbXBhbnkxJywgJzIwMjMtMDctMTAnLCAxMzApOwotSU5TRVJUIElOVE8gc3RvY2sg VkFMVUVTICgnY29tcGFueTInLCAnMjAyMy0wNy0wMScsIDUwKTsKLUlOU0VSVCBJTlRPIHN0b2Nr IFZBTFVFUyAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDInLCAyMDAwKTsKLUlOU0VSVCBJTlRPIHN0 b2NrIFZBTFVFUyAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDMnLCAxNTAwKTsKLUlOU0VSVCBJTlRP IHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDQnLCAxNDAwKTsKLUlOU0VSVCBJ TlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDUnLCAxNTAwKTsKLUlOU0VS VCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDYnLCA2MCk7Ci1JTlNF UlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA3JywgMTEwMCk7Ci1J TlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA4JywgMTMwMCk7 Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA5JywgMTIw MCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTEwJywg MTMwMCk7CitDUkVBVEUgVEVNUCBUQUJMRSBzdG9jayAoY29tcGFueSBURVhULCB0ZGF0ZSBEQVRF LCBwcmljZSBJTlRFR0VSICk7CitJTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMKKygnY29tcGFueTEn LCAnMjAyMy0wNy0wMScsIDEwMCksICgnY29tcGFueTEnLCAnMjAyMy0wNy0wMicsIDIwMCksCiso J2NvbXBhbnkxJywgJzIwMjMtMDctMDMnLCAxNTApLCAoJ2NvbXBhbnkxJywgJzIwMjMtMDctMDQn LCAxNDApLAorKCdjb21wYW55MScsICcyMDIzLTA3LTA1JywgMTUwKSwgKCdjb21wYW55MScsICcy MDIzLTA3LTA2JywgOTApLAorKCdjb21wYW55MScsICcyMDIzLTA3LTA3JywgMTEwKSwgKCdjb21w YW55MScsICcyMDIzLTA3LTA4JywgMTMwKSwKKygnY29tcGFueTEnLCAnMjAyMy0wNy0wOScsIDEy MCksICgnY29tcGFueTEnLCAnMjAyMy0wNy0xMCcsIDEzMCksCisoJ2NvbXBhbnkyJywgJzIwMjMt MDctMDEnLCA1MCksICAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDInLCAyMDAwKSwKKygnY29tcGFu eTInLCAnMjAyMy0wNy0wMycsIDE1MDApLCgnY29tcGFueTInLCAnMjAyMy0wNy0wNCcsIDE0MDAp LAorKCdjb21wYW55MicsICcyMDIzLTA3LTA1JywgMTUwMCksKCdjb21wYW55MicsICcyMDIzLTA3 LTA2JywgNjApLAorKCdjb21wYW55MicsICcyMDIzLTA3LTA3JywgMTEwMCksKCdjb21wYW55Mics ICcyMDIzLTA3LTA4JywgMTMwMCksCisoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDknLCAxMjAwKSwo J2NvbXBhbnkyJywgJzIwMjMtMDctMTAnLCAxMzAwKTsKIFNFTEVDVCAqIEZST00gc3RvY2s7CiAg Y29tcGFueSAgfCAgIHRkYXRlICAgIHwgcHJpY2UgCiAtLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3Jwcl9iYXNlLm91 dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2Jhc2Uub3V0CmluZGV4IDEyODQxYWYy YjEuLmM1ZDU3YjkxZjYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnBy X2Jhc2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcnByX2Jhc2Uub3V0CkBA IC03MzIzLDEyICs3MzIzLDE5IEBAIEVSUk9SOiAgREVGSU5FIHZhcmlhYmxlICJiIiBpcyBub3Qg dXNlZCBpbiBQQVRURVJOCiBMSU5FIDc6ICAgICAgIEIgQVMgVFJVRQogICAgICAgICAgICAgICBe CiAtLSBFeHBlY3RlZDogRXJyb3IgLSBCIGlzIG5vdCB1c2VkIGluIFBBVFRFUk4KLS0tIFRlc3Q6 IDI0MCB2YXJpYWJsZXMgaW4gUEFUVEVSTiBhbmQgREVGSU5FIChib3VuZGFyeSAtIHNob3VsZCBz dWNjZWVkKQorLS0gVGVzdDogMjQwIChSUFJfVkFSSURfTUFYKSB2YXJpYWJsZXMgaW4gUEFUVEVS TiBhbmQgREVGSU5FIChib3VuZGFyeSAtIHNob3VsZCBzdWNjZWVkKQogU0VMRUNUIENPVU5UKCop IE9WRVIgdyBGUk9NIHJwcl9lcnJvcnMKIFdJTkRPVyB3IEFTICgKICAgICBPUkRFUiBCWSBpZAog ICAgIFJPV1MgQkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQgVU5CT1VOREVEIEZPTExPV0lORwotICAg IFBBVFRFUk4gKFYxIFYyIFYzIFY0IFY1IFY2IFY3IFY4IFY5IFYxMCBWMTEgVjEyIFYxMyBWMTQg VjE1IFYxNiBWMTcgVjE4IFYxOSBWMjAgVjIxIFYyMiBWMjMgVjI0IFYyNSBWMjYgVjI3IFYyOCBW MjkgVjMwIFYzMSBWMzIgVjMzIFYzNCBWMzUgVjM2IFYzNyBWMzggVjM5IFY0MCBWNDEgVjQyIFY0 MyBWNDQgVjQ1IFY0NiBWNDcgVjQ4IFY0OSBWNTAgVjUxIFY1MiBWNTMgVjU0IFY1NSBWNTYgVjU3 IFY1OCBWNTkgVjYwIFY2MSBWNjIgVjYzIFY2NCBWNjUgVjY2IFY2NyBWNjggVjY5IFY3MCBWNzEg VjcyIFY3MyBWNzQgVjc1IFY3NiBWNzcgVjc4IFY3OSBWODAgVjgxIFY4MiBWODMgVjg0IFY4NSBW ODYgVjg3IFY4OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYx MDAgVjEwMSBWMTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMCBWMTEx IFYxMTIgVjExMyBWMTE0IFYxMTUgVjExNiBWMTE3IFYxMTggVjExOSBWMTIwIFYxMjEgVjEyMiBW MTIzIFYxMjQgVjEyNSBWMTI2IFYxMjcgVjEyOCBWMTI5IFYxMzAgVjEzMSBWMTMyIFYxMzMgVjEz NCBWMTM1IFYxMzYgVjEzNyBWMTM4IFYxMzkgVjE0MCBWMTQxIFYxNDIgVjE0MyBWMTQ0IFYxNDUg VjE0NiBWMTQ3IFYxNDggVjE0OSBWMTUwIFYxNTEgVjE1MiBWMTUzIFYxNTQgVjE1NSBWMTU2IFYx NTcgVjE1OCBWMTU5IFYxNjAgVjE2MSBWMTYyIFYxNjMgVjE2NCBWMTY1IFYxNjYgVjE2NyBWMTY4 IFYxNjkgVjE3MCBWMTcxIFYxNzIgVjE3MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBW MTgwIFYxODEgVjE4MiBWMTgzIFYxODQgVjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5 MSBWMTkyIFYxOTMgVjE5NCBWMTk1IFYxOTYgVjE5NyBWMTk4IFYxOTkgVjIwMCBWMjAxIFYyMDIg VjIwMyBWMjA0IFYyMDUgVjIwNiBWMjA3IFYyMDggVjIwOSBWMjEwIFYyMTEgVjIxMiBWMjEzIFYy MTQgVjIxNSBWMjE2IFYyMTcgVjIxOCBWMjE5IFYyMjAgVjIyMSBWMjIyIFYyMjMgVjIyNCBWMjI1 IFYyMjYgVjIyNyBWMjI4IFYyMjkgVjIzMCBWMjMxIFYyMzIgVjIzMyBWMjM0IFYyMzUgVjIzNiBW MjM3IFYyMzggVjIzOSBWMjQwKQorICAgIFBBVFRFUk4gKFYxIFYyIFYzIFY0IFY1IFY2IFY3IFY4 IFY5IFYxMCBWMTEgVjEyIFYxMyBWMTQgVjE1IFYxNiBWMTcgVjE4IFYxOSBWMjAgVjIxIFYyMiBW MjMgVjI0IFYyNSBWMjYgVjI3IFYyOCBWMjkgVjMwIFYzMSBWMzIgVjMzIFYzNCBWMzUgVjM2IFYz NyBWMzggVjM5IFY0MAorICAgICAgICAgICAgIFY0MSBWNDIgVjQzIFY0NCBWNDUgVjQ2IFY0NyBW NDggVjQ5IFY1MCBWNTEgVjUyIFY1MyBWNTQgVjU1IFY1NiBWNTcgVjU4IFY1OSBWNjAgVjYxIFY2 MiBWNjMgVjY0IFY2NSBWNjYgVjY3IFY2OCBWNjkgVjcwIFY3MSBWNzIgVjczIFY3NCBWNzUgVjc2 IFY3NyBWNzggVjc5IFY4MAorICAgICAgICAgICAgVjgxIFY4MiBWODMgVjg0IFY4NSBWODYgVjg3 IFY4OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYxMDAgVjEw MSBWMTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMAorICAgICAgICAg ICAgVjExMSBWMTEyIFYxMTMgVjExNCBWMTE1IFYxMTYgVjExNyBWMTE4IFYxMTkgVjEyMCBWMTIx IFYxMjIgVjEyMyBWMTI0IFYxMjUgVjEyNiBWMTI3IFYxMjggVjEyOSBWMTMwIFYxMzEgVjEzMiBW MTMzIFYxMzQgVjEzNSBWMTM2IFYxMzcgVjEzOCBWMTM5IFYxNDAKKyAgICAgICAgICAgIFYxNDEg VjE0MiBWMTQzIFYxNDQgVjE0NSBWMTQ2IFYxNDcgVjE0OCBWMTQ5IFYxNTAgVjE1MSBWMTUyIFYx NTMgVjE1NCBWMTU1IFYxNTYgVjE1NyBWMTU4IFYxNTkgVjE2MCBWMTYxIFYxNjIgVjE2MyBWMTY0 IFYxNjUgVjE2NiBWMTY3IFYxNjggVjE2OSBWMTcwCisgICAgICAgICAgICBWMTcxIFYxNzIgVjE3 MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBWMTgwIFYxODEgVjE4MiBWMTgzIFYxODQg VjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5MSBWMTkyIFYxOTMgVjE5NCBWMTk1IFYx OTYgVjE5NyBWMTk4IFYxOTkgVjIwMAorICAgICAgICAgICAgVjIwMSBWMjAyIFYyMDMgVjIwNCBW MjA1IFYyMDYgVjIwNyBWMjA4IFYyMDkgVjIxMCBWMjExIFYyMTIgVjIxMyBWMjE0IFYyMTUgVjIx NiBWMjE3IFYyMTggVjIxOSBWMjIwIFYyMjEgVjIyMiBWMjIzIFYyMjQgVjIyNSBWMjI2IFYyMjcg VjIyOCBWMjI5IFYyMzAKKyAgICAgICAgICAgIFYyMzEgVjIzMiBWMjMzIFYyMzQgVjIzNSBWMjM2 IFYyMzcgVjIzOCBWMjM5IFYyNDApCiAgICAgREVGSU5FCiAgICAgVjEgQVMgdmFsID4gMCwgVjIg QVMgdmFsID4gMCwgVjMgQVMgdmFsID4gMCwgVjQgQVMgdmFsID4gMCwgVjUgQVMgdmFsID4gMCwg VjYgQVMgdmFsID4gMCwgVjcgQVMgdmFsID4gMCwgVjggQVMgdmFsID4gMCwgVjkgQVMgdmFsID4g MCwgVjEwIEFTIHZhbCA+IDAsCiAgICAgVjExIEFTIHZhbCA+IDAsIFYxMiBBUyB2YWwgPiAwLCBW MTMgQVMgdmFsID4gMCwgVjE0IEFTIHZhbCA+IDAsIFYxNSBBUyB2YWwgPiAwLCBWMTYgQVMgdmFs ID4gMCwgVjE3IEFTIHZhbCA+IDAsIFYxOCBBUyB2YWwgPiAwLCBWMTkgQVMgdmFsID4gMCwgVjIw IEFTIHZhbCA+IDAsCkBAIC03MzYxLDEzICs3MzY4LDE5IEBAIFdJTkRPVyB3IEFTICgKICAgICAg MAogKDIgcm93cykKIAotLS0gRXhwZWN0ZWQ6IFN1Y2Nlc3MgLSBleGFjdGx5IGF0IFJQUl9WQVJJ RF9NQVggYm91bmRhcnkKLS0tIEVSUk9SOiAyNDEgdmFyaWFibGVzIGluIFBBVFRFUk4sIDI0MCBp biBERUZJTkUgKGV4Y2VlZHMgbGltaXQgd2l0aCBpbXBsaWNpdCBUUlVFKQorLS0gRVJST1I6IDI0 MSB2YXJpYWJsZXMgaW4gUEFUVEVSTiwgMjQwIChSUFJfVkFSSURfTUFYKSBpbiBERUZJTkUgKGV4 Y2VlZHMgbGltaXQgd2l0aCBpbXBsaWNpdCBUUlVFKQogU0VMRUNUIENPVU5UKCopIE9WRVIgdyBG Uk9NIHJwcl9lcnJvcnMKIFdJTkRPVyB3IEFTICgKICAgICBPUkRFUiBCWSBpZAogICAgIFJPV1Mg QkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQgVU5CT1VOREVEIEZPTExPV0lORwotICAgIFBBVFRFUk4g KFYxIFYyIFYzIFY0IFY1IFY2IFY3IFY4IFY5IFYxMCBWMTEgVjEyIFYxMyBWMTQgVjE1IFYxNiBW MTcgVjE4IFYxOSBWMjAgVjIxIFYyMiBWMjMgVjI0IFYyNSBWMjYgVjI3IFYyOCBWMjkgVjMwIFYz MSBWMzIgVjMzIFYzNCBWMzUgVjM2IFYzNyBWMzggVjM5IFY0MCBWNDEgVjQyIFY0MyBWNDQgVjQ1 IFY0NiBWNDcgVjQ4IFY0OSBWNTAgVjUxIFY1MiBWNTMgVjU0IFY1NSBWNTYgVjU3IFY1OCBWNTkg VjYwIFY2MSBWNjIgVjYzIFY2NCBWNjUgVjY2IFY2NyBWNjggVjY5IFY3MCBWNzEgVjcyIFY3MyBW NzQgVjc1IFY3NiBWNzcgVjc4IFY3OSBWODAgVjgxIFY4MiBWODMgVjg0IFY4NSBWODYgVjg3IFY4 OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYxMDAgVjEwMSBW MTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMCBWMTExIFYxMTIgVjEx MyBWMTE0IFYxMTUgVjExNiBWMTE3IFYxMTggVjExOSBWMTIwIFYxMjEgVjEyMiBWMTIzIFYxMjQg VjEyNSBWMTI2IFYxMjcgVjEyOCBWMTI5IFYxMzAgVjEzMSBWMTMyIFYxMzMgVjEzNCBWMTM1IFYx MzYgVjEzNyBWMTM4IFYxMzkgVjE0MCBWMTQxIFYxNDIgVjE0MyBWMTQ0IFYxNDUgVjE0NiBWMTQ3 IFYxNDggVjE0OSBWMTUwIFYxNTEgVjE1MiBWMTUzIFYxNTQgVjE1NSBWMTU2IFYxNTcgVjE1OCBW MTU5IFYxNjAgVjE2MSBWMTYyIFYxNjMgVjE2NCBWMTY1IFYxNjYgVjE2NyBWMTY4IFYxNjkgVjE3 MCBWMTcxIFYxNzIgVjE3MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBWMTgwIFYxODEg VjE4MiBWMTgzIFYxODQgVjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5MSBWMTkyIFYx OTMgVjE5NCBWMTk1IFYxOTYgVjE5NyBWMTk4IFYxOTkgVjIwMCBWMjAxIFYyMDIgVjIwMyBWMjA0 IFYyMDUgVjIwNiBWMjA3IFYyMDggVjIwOSBWMjEwIFYyMTEgVjIxMiBWMjEzIFYyMTQgVjIxNSBW MjE2IFYyMTcgVjIxOCBWMjE5IFYyMjAgVjIyMSBWMjIyIFYyMjMgVjIyNCBWMjI1IFYyMjYgVjIy NyBWMjI4IFYyMjkgVjIzMCBWMjMxIFYyMzIgVjIzMyBWMjM0IFYyMzUgVjIzNiBWMjM3IFYyMzgg VjIzOSBWMjQwIFYyNDEpCisgICAgUEFUVEVSTiAoVjEgVjIgVjMgVjQgVjUgVjYgVjcgVjggVjkg VjEwIFYxMSBWMTIgVjEzIFYxNCBWMTUgVjE2IFYxNyBWMTggVjE5IFYyMCBWMjEgVjIyIFYyMyBW MjQgVjI1IFYyNiBWMjcgVjI4IFYyOSBWMzAgVjMxIFYzMiBWMzMgVjM0IFYzNSBWMzYgVjM3IFYz OCBWMzkgVjQwCisgICAgICAgICAgICAgVjQxIFY0MiBWNDMgVjQ0IFY0NSBWNDYgVjQ3IFY0OCBW NDkgVjUwIFY1MSBWNTIgVjUzIFY1NCBWNTUgVjU2IFY1NyBWNTggVjU5IFY2MCBWNjEgVjYyIFY2 MyBWNjQgVjY1IFY2NiBWNjcgVjY4IFY2OSBWNzAgVjcxIFY3MiBWNzMgVjc0IFY3NSBWNzYgVjc3 IFY3OCBWNzkgVjgwCisgICAgICAgICAgICAgVjgxIFY4MiBWODMgVjg0IFY4NSBWODYgVjg3IFY4 OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYxMDAgVjEwMSBW MTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMAorICAgICAgICAgICAg IFYxMTEgVjExMiBWMTEzIFYxMTQgVjExNSBWMTE2IFYxMTcgVjExOCBWMTE5IFYxMjAgVjEyMSBW MTIyIFYxMjMgVjEyNCBWMTI1IFYxMjYgVjEyNyBWMTI4IFYxMjkgVjEzMCBWMTMxIFYxMzIgVjEz MyBWMTM0IFYxMzUgVjEzNiBWMTM3IFYxMzggVjEzOSBWMTQwCisgICAgICAgICAgICAgVjE0MSBW MTQyIFYxNDMgVjE0NCBWMTQ1IFYxNDYgVjE0NyBWMTQ4IFYxNDkgVjE1MCBWMTUxIFYxNTIgVjE1 MyBWMTU0IFYxNTUgVjE1NiBWMTU3IFYxNTggVjE1OSBWMTYwIFYxNjEgVjE2MiBWMTYzIFYxNjQg VjE2NSBWMTY2IFYxNjcgVjE2OCBWMTY5IFYxNzAKKyAgICAgICAgICAgICBWMTcxIFYxNzIgVjE3 MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBWMTgwIFYxODEgVjE4MiBWMTgzIFYxODQg VjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5MSBWMTkyIFYxOTMgVjE5NCBWMTk1IFYx OTYgVjE5NyBWMTk4IFYxOTkgVjIwMAorICAgICAgICAgICAgIFYyMDEgVjIwMiBWMjAzIFYyMDQg VjIwNSBWMjA2IFYyMDcgVjIwOCBWMjA5IFYyMTAgVjIxMSBWMjEyIFYyMTMgVjIxNCBWMjE1IFYy MTYgVjIxNyBWMjE4IFYyMTkgVjIyMCBWMjIxIFYyMjIgVjIyMyBWMjI0IFYyMjUgVjIyNiBWMjI3 IFYyMjggVjIyOSBWMjMwCisgICAgICAgICAgICAgVjIzMSBWMjMyIFYyMzMgVjIzNCBWMjM1IFYy MzYgVjIzNyBWMjM4IFYyMzkgVjI0MCBWMjQxKQogICAgIERFRklORQogICAgIFYxIEFTIHZhbCA+ IDAsIFYyIEFTIHZhbCA+IDAsIFYzIEFTIHZhbCA+IDAsIFY0IEFTIHZhbCA+IDAsIFY1IEFTIHZh bCA+IDAsIFY2IEFTIHZhbCA+IDAsIFY3IEFTIHZhbCA+IDAsIFY4IEFTIHZhbCA+IDAsIFY5IEFT IHZhbCA+IDAsIFYxMCBBUyB2YWwgPiAwLAogICAgIFYxMSBBUyB2YWwgPiAwLCBWMTIgQVMgdmFs ID4gMCwgVjEzIEFTIHZhbCA+IDAsIFYxNCBBUyB2YWwgPiAwLCBWMTUgQVMgdmFsID4gMCwgVjE2 IEFTIHZhbCA+IDAsIFYxNyBBUyB2YWwgPiAwLCBWMTggQVMgdmFsID4gMCwgVjE5IEFTIHZhbCA+ IDAsIFYyMCBBUyB2YWwgPiAwLApAQCAtNzM5NCwxMCArNzQwNyw5IEBAIFdJTkRPVyB3IEFTICgK ICAgICBWMjIxIEFTIHZhbCA+IDAsIFYyMjIgQVMgdmFsID4gMCwgVjIyMyBBUyB2YWwgPiAwLCBW MjI0IEFTIHZhbCA+IDAsIFYyMjUgQVMgdmFsID4gMCwgVjIyNiBBUyB2YWwgPiAwLCBWMjI3IEFT IHZhbCA+IDAsIFYyMjggQVMgdmFsID4gMCwgVjIyOSBBUyB2YWwgPiAwLCBWMjMwIEFTIHZhbCA+ IDAsCiAgICAgVjIzMSBBUyB2YWwgPiAwLCBWMjMyIEFTIHZhbCA+IDAsIFYyMzMgQVMgdmFsID4g MCwgVjIzNCBBUyB2YWwgPiAwLCBWMjM1IEFTIHZhbCA+IDAsIFYyMzYgQVMgdmFsID4gMCwgVjIz NyBBUyB2YWwgPiAwLCBWMjM4IEFTIHZhbCA+IDAsIFYyMzkgQVMgdmFsID4gMCwgVjI0MCBBUyB2 YWwgPiAwCiApOwotRVJST1I6ICB0b28gbWFueSBwYXR0ZXJuIHZhcmlhYmxlcwotTElORSA1OiAu Li5WMjMwIFYyMzEgVjIzMiBWMjMzIFYyMzQgVjIzNSBWMjM2IFYyMzcgVjIzOCBWMjM5IFYyNDAg VjI0MSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KLURFVEFJTDogIE1heGltdW0gaXMgMjQwLgorRVJST1I6ICBudW1i ZXIgb2Ygcm93IHBhdHRlcm4gdmFyaWFibGVzIGV4Y2VlZHMgdGhlIG1heGltdW0gYWxsb3dlZCAo MjQwKQorTElORSAxMjogLi4uICAgICBWMjMxIFYyMzIgVjIzMyBWMjM0IFYyMzUgVjIzNiBWMjM3 IFYyMzggVjIzOSBWMjQwIFYyNDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgogLS0gVGVzdDogUGF0dGVybiBuZXN0 aW5nIGF0IG1heGltdW0gZGVwdGggKGRlcHRoIDI1MykKIC0tIE5vdGU6IDI1MyBuZXN0ZWQgR1JP VVB7Myw3fT8gcXVhbnRpZmllcnM7IHJlbHVjdGFudCBxdWFudGlmaWVycyBhcmUgbm90CiAtLSBz dWJqZWN0IHRvIHF1YW50aWZpZXIgbXVsdGlwbGljYXRpb24sIHNvIHRoZSBuZXN0aW5nIChhbmQg ZGVwdGggMjUzKSBpcwpAQCAtNzQwNiw3ICs3NDE4LDIzIEBAIFNFTEVDVCBpZCwgdmFsLCBDT1VO VCgqKSBPVkVSIHcgRlJPTSBycHJfZXJyb3JzCiBXSU5ET1cgdyBBUyAoCiAgICAgT1JERVIgQlkg aWQKICAgICBST1dTIEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJTkcK LSAgICBQQVRURVJOICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAg UEFUVEVSTgorICAgICAgICAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoCisgICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgK KyAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoQXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAg ICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAg ICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQogICAgIERFRklORSBBIEFTIHZhbCA+ IDAKICk7CiAgaWQgfCB2YWwgfCBjb3VudCAKQEAgLTc0MTUsNyArNzQ0Myw2IEBAIFdJTkRPVyB3 IEFTICgKICAgMiB8ICAyMCB8ICAgICAwCiAoMiByb3dzKQogCi0tLSBFeHBlY3RlZDogU2hvdWxk IHN1Y2NlZWQKIC0tIFRlc3Q6IFBhdHRlcm4gbmVzdGluZyBkZXB0aCBleGNlZWRzIG1heGltdW0g KGRlcHRoIDI1NCkKIC0tIE5vdGU6IDI1NCBuZXN0ZWQgR1JPVVB7Myw3fT8gcXVhbnRpZmllcnM7 IHJlbHVjdGFudCBxdWFudGlmaWVycyBhcmUgbm90CiAtLSBzdWJqZWN0IHRvIHF1YW50aWZpZXIg bXVsdGlwbGljYXRpb24sIHNvIHRoZSBuZXN0aW5nIHJlYWNoZXMgZGVwdGggMjU0IGFuZApAQCAt NzQyNCw3ICs3NDUxLDI4IEBAIFNFTEVDVCBpZCwgdmFsLCBDT1VOVCgqKSBPVkVSIHcgRlJPTSBy cHJfZXJyb3JzCiBXSU5ET1cgdyBBUyAoCiAgICAgT1JERVIgQlkgaWQKICAgICBST1dTIEJFVFdF RU4gQ1VSUkVOVCBST1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJTkcKLSAgICBQQVRURVJOICgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKEF7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICBQQVRURVJOCisg ICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCisg ICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCisg ICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgKKyAg ICAgICAgKEF7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAg ICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAg ICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KQorICAgICAgICB7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQogICAgIERFRklORSBBIEFTIHZhbCA+IDAKICk7CiBF UlJPUjogIHBhdHRlcm4gbmVzdGluZyB0b28gZGVlcApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVn cmVzcy9zcWwvcnByLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jwci5zcWwKaW5kZXggMzM2 MzY5MWMwNC4uMWMzODkyNDZlZSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcnBy LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9ycHIuc3FsCkBAIC0yNCwzMSArMjQsMTkg QEAgQ1JFQVRFIFRBQkxFIHJwcl9zdG9jayAoCiBDT1BZIHJwcl9zdG9jayBGUk9NIDonZmlsZW5h bWUnOwogQU5BTFlaRSBycHJfc3RvY2s7CiAKLUNSRUFURSBURU1QIFRBQkxFIHN0b2NrICgKLSAg ICAgICBjb21wYW55IFRFWFQsCi0gICAgICAgdGRhdGUgREFURSwKLSAgICAgICBwcmljZSBJTlRF R0VSCi0pOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVTICgnY29tcGFueTEnLCAnMjAyMy0wNy0w MScsIDEwMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MScsICcyMDIzLTA3 LTAyJywgMjAwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkxJywgJzIwMjMt MDctMDMnLCAxNTApOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVTICgnY29tcGFueTEnLCAnMjAy My0wNy0wNCcsIDE0MCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MScsICcy MDIzLTA3LTA1JywgMTUwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkxJywg JzIwMjMtMDctMDYnLCA5MCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21wYW55MScs ICcyMDIzLTA3LTA3JywgMTEwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2NvbXBhbnkx JywgJzIwMjMtMDctMDgnLCAxMzApOwotSU5TRVJUIElOVE8gc3RvY2sgVkFMVUVTICgnY29tcGFu eTEnLCAnMjAyMy0wNy0wOScsIDEyMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdjb21w YW55MScsICcyMDIzLTA3LTEwJywgMTMwKTsKLUlOU0VSVCBJTlRPIHN0b2NrIFZBTFVFUyAoJ2Nv bXBhbnkyJywgJzIwMjMtMDctMDEnLCA1MCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMgKCdj b21wYW55MicsICcyMDIzLTA3LTAyJywgMjAwMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMg KCdjb21wYW55MicsICcyMDIzLTA3LTAzJywgMTUwMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBWQUxV RVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA0JywgMTQwMCk7Ci1JTlNFUlQgSU5UTyBzdG9jayBW QUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA1JywgMTUwMCk7Ci1JTlNFUlQgSU5UTyBzdG9j ayBWQUxVRVMgKCdjb21wYW55MicsICcyMDIzLTA3LTA2JywgNjApOwotSU5TRVJUIElOVE8gc3Rv Y2sgVkFMVUVTICgnY29tcGFueTInLCAnMjAyMy0wNy0wNycsIDExMDApOwotSU5TRVJUIElOVE8g c3RvY2sgVkFMVUVTICgnY29tcGFueTInLCAnMjAyMy0wNy0wOCcsIDEzMDApOwotSU5TRVJUIElO VE8gc3RvY2sgVkFMVUVTICgnY29tcGFueTInLCAnMjAyMy0wNy0wOScsIDEyMDApOwotSU5TRVJU IElOVE8gc3RvY2sgVkFMVUVTICgnY29tcGFueTInLCAnMjAyMy0wNy0xMCcsIDEzMDApOworQ1JF QVRFIFRFTVAgVEFCTEUgc3RvY2sgKGNvbXBhbnkgVEVYVCwgdGRhdGUgREFURSwgcHJpY2UgSU5U RUdFUiApOworCitJTlNFUlQgSU5UTyBzdG9jayBWQUxVRVMKKygnY29tcGFueTEnLCAnMjAyMy0w Ny0wMScsIDEwMCksICgnY29tcGFueTEnLCAnMjAyMy0wNy0wMicsIDIwMCksCisoJ2NvbXBhbnkx JywgJzIwMjMtMDctMDMnLCAxNTApLCAoJ2NvbXBhbnkxJywgJzIwMjMtMDctMDQnLCAxNDApLAor KCdjb21wYW55MScsICcyMDIzLTA3LTA1JywgMTUwKSwgKCdjb21wYW55MScsICcyMDIzLTA3LTA2 JywgOTApLAorKCdjb21wYW55MScsICcyMDIzLTA3LTA3JywgMTEwKSwgKCdjb21wYW55MScsICcy MDIzLTA3LTA4JywgMTMwKSwKKygnY29tcGFueTEnLCAnMjAyMy0wNy0wOScsIDEyMCksICgnY29t cGFueTEnLCAnMjAyMy0wNy0xMCcsIDEzMCksCisoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDEnLCA1 MCksICAoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDInLCAyMDAwKSwKKygnY29tcGFueTInLCAnMjAy My0wNy0wMycsIDE1MDApLCgnY29tcGFueTInLCAnMjAyMy0wNy0wNCcsIDE0MDApLAorKCdjb21w YW55MicsICcyMDIzLTA3LTA1JywgMTUwMCksKCdjb21wYW55MicsICcyMDIzLTA3LTA2JywgNjAp LAorKCdjb21wYW55MicsICcyMDIzLTA3LTA3JywgMTEwMCksKCdjb21wYW55MicsICcyMDIzLTA3 LTA4JywgMTMwMCksCisoJ2NvbXBhbnkyJywgJzIwMjMtMDctMDknLCAxMjAwKSwoJ2NvbXBhbnky JywgJzIwMjMtMDctMTAnLCAxMzAwKTsKIAogU0VMRUNUICogRlJPTSBzdG9jazsKIApkaWZmIC0t Z2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcnByX2Jhc2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvcnByX2Jhc2Uuc3FsCmluZGV4IGFmNDk4ZmZmYjYuLmU5NmQ3ZjAwZWUgMTAwNjQ0Ci0t LSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3Jwcl9iYXNlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9ycHJfYmFzZS5zcWwKQEAgLTQ0MTUsMTIgKzQ0MTUsMTkgQEAgV0lORE9XIHcgQVMg KAogKTsKIC0tIEV4cGVjdGVkOiBFcnJvciAtIEIgaXMgbm90IHVzZWQgaW4gUEFUVEVSTgogCi0t LSBUZXN0OiAyNDAgdmFyaWFibGVzIGluIFBBVFRFUk4gYW5kIERFRklORSAoYm91bmRhcnkgLSBz aG91bGQgc3VjY2VlZCkKKy0tIFRlc3Q6IDI0MCAoUlBSX1ZBUklEX01BWCkgdmFyaWFibGVzIGlu IFBBVFRFUk4gYW5kIERFRklORSAoYm91bmRhcnkgLSBzaG91bGQgc3VjY2VlZCkKIFNFTEVDVCBD T1VOVCgqKSBPVkVSIHcgRlJPTSBycHJfZXJyb3JzCiBXSU5ET1cgdyBBUyAoCiAgICAgT1JERVIg QlkgaWQKICAgICBST1dTIEJFVFdFRU4gQ1VSUkVOVCBST1cgQU5EIFVOQk9VTkRFRCBGT0xMT1dJ TkcKLSAgICBQQVRURVJOIChWMSBWMiBWMyBWNCBWNSBWNiBWNyBWOCBWOSBWMTAgVjExIFYxMiBW MTMgVjE0IFYxNSBWMTYgVjE3IFYxOCBWMTkgVjIwIFYyMSBWMjIgVjIzIFYyNCBWMjUgVjI2IFYy NyBWMjggVjI5IFYzMCBWMzEgVjMyIFYzMyBWMzQgVjM1IFYzNiBWMzcgVjM4IFYzOSBWNDAgVjQx IFY0MiBWNDMgVjQ0IFY0NSBWNDYgVjQ3IFY0OCBWNDkgVjUwIFY1MSBWNTIgVjUzIFY1NCBWNTUg VjU2IFY1NyBWNTggVjU5IFY2MCBWNjEgVjYyIFY2MyBWNjQgVjY1IFY2NiBWNjcgVjY4IFY2OSBW NzAgVjcxIFY3MiBWNzMgVjc0IFY3NSBWNzYgVjc3IFY3OCBWNzkgVjgwIFY4MSBWODIgVjgzIFY4 NCBWODUgVjg2IFY4NyBWODggVjg5IFY5MCBWOTEgVjkyIFY5MyBWOTQgVjk1IFY5NiBWOTcgVjk4 IFY5OSBWMTAwIFYxMDEgVjEwMiBWMTAzIFYxMDQgVjEwNSBWMTA2IFYxMDcgVjEwOCBWMTA5IFYx MTAgVjExMSBWMTEyIFYxMTMgVjExNCBWMTE1IFYxMTYgVjExNyBWMTE4IFYxMTkgVjEyMCBWMTIx IFYxMjIgVjEyMyBWMTI0IFYxMjUgVjEyNiBWMTI3IFYxMjggVjEyOSBWMTMwIFYxMzEgVjEzMiBW MTMzIFYxMzQgVjEzNSBWMTM2IFYxMzcgVjEzOCBWMTM5IFYxNDAgVjE0MSBWMTQyIFYxNDMgVjE0 NCBWMTQ1IFYxNDYgVjE0NyBWMTQ4IFYxNDkgVjE1MCBWMTUxIFYxNTIgVjE1MyBWMTU0IFYxNTUg VjE1NiBWMTU3IFYxNTggVjE1OSBWMTYwIFYxNjEgVjE2MiBWMTYzIFYxNjQgVjE2NSBWMTY2IFYx NjcgVjE2OCBWMTY5IFYxNzAgVjE3MSBWMTcyIFYxNzMgVjE3NCBWMTc1IFYxNzYgVjE3NyBWMTc4 IFYxNzkgVjE4MCBWMTgxIFYxODIgVjE4MyBWMTg0IFYxODUgVjE4NiBWMTg3IFYxODggVjE4OSBW MTkwIFYxOTEgVjE5MiBWMTkzIFYxOTQgVjE5NSBWMTk2IFYxOTcgVjE5OCBWMTk5IFYyMDAgVjIw MSBWMjAyIFYyMDMgVjIwNCBWMjA1IFYyMDYgVjIwNyBWMjA4IFYyMDkgVjIxMCBWMjExIFYyMTIg VjIxMyBWMjE0IFYyMTUgVjIxNiBWMjE3IFYyMTggVjIxOSBWMjIwIFYyMjEgVjIyMiBWMjIzIFYy MjQgVjIyNSBWMjI2IFYyMjcgVjIyOCBWMjI5IFYyMzAgVjIzMSBWMjMyIFYyMzMgVjIzNCBWMjM1 IFYyMzYgVjIzNyBWMjM4IFYyMzkgVjI0MCkKKyAgICBQQVRURVJOIChWMSBWMiBWMyBWNCBWNSBW NiBWNyBWOCBWOSBWMTAgVjExIFYxMiBWMTMgVjE0IFYxNSBWMTYgVjE3IFYxOCBWMTkgVjIwIFYy MSBWMjIgVjIzIFYyNCBWMjUgVjI2IFYyNyBWMjggVjI5IFYzMCBWMzEgVjMyIFYzMyBWMzQgVjM1 IFYzNiBWMzcgVjM4IFYzOSBWNDAKKyAgICAgICAgICAgICBWNDEgVjQyIFY0MyBWNDQgVjQ1IFY0 NiBWNDcgVjQ4IFY0OSBWNTAgVjUxIFY1MiBWNTMgVjU0IFY1NSBWNTYgVjU3IFY1OCBWNTkgVjYw IFY2MSBWNjIgVjYzIFY2NCBWNjUgVjY2IFY2NyBWNjggVjY5IFY3MCBWNzEgVjcyIFY3MyBWNzQg Vjc1IFY3NiBWNzcgVjc4IFY3OSBWODAKKyAgICAgICAgICAgIFY4MSBWODIgVjgzIFY4NCBWODUg Vjg2IFY4NyBWODggVjg5IFY5MCBWOTEgVjkyIFY5MyBWOTQgVjk1IFY5NiBWOTcgVjk4IFY5OSBW MTAwIFYxMDEgVjEwMiBWMTAzIFYxMDQgVjEwNSBWMTA2IFYxMDcgVjEwOCBWMTA5IFYxMTAKKyAg ICAgICAgICAgIFYxMTEgVjExMiBWMTEzIFYxMTQgVjExNSBWMTE2IFYxMTcgVjExOCBWMTE5IFYx MjAgVjEyMSBWMTIyIFYxMjMgVjEyNCBWMTI1IFYxMjYgVjEyNyBWMTI4IFYxMjkgVjEzMCBWMTMx IFYxMzIgVjEzMyBWMTM0IFYxMzUgVjEzNiBWMTM3IFYxMzggVjEzOSBWMTQwCisgICAgICAgICAg ICBWMTQxIFYxNDIgVjE0MyBWMTQ0IFYxNDUgVjE0NiBWMTQ3IFYxNDggVjE0OSBWMTUwIFYxNTEg VjE1MiBWMTUzIFYxNTQgVjE1NSBWMTU2IFYxNTcgVjE1OCBWMTU5IFYxNjAgVjE2MSBWMTYyIFYx NjMgVjE2NCBWMTY1IFYxNjYgVjE2NyBWMTY4IFYxNjkgVjE3MAorICAgICAgICAgICAgVjE3MSBW MTcyIFYxNzMgVjE3NCBWMTc1IFYxNzYgVjE3NyBWMTc4IFYxNzkgVjE4MCBWMTgxIFYxODIgVjE4 MyBWMTg0IFYxODUgVjE4NiBWMTg3IFYxODggVjE4OSBWMTkwIFYxOTEgVjE5MiBWMTkzIFYxOTQg VjE5NSBWMTk2IFYxOTcgVjE5OCBWMTk5IFYyMDAKKyAgICAgICAgICAgIFYyMDEgVjIwMiBWMjAz IFYyMDQgVjIwNSBWMjA2IFYyMDcgVjIwOCBWMjA5IFYyMTAgVjIxMSBWMjEyIFYyMTMgVjIxNCBW MjE1IFYyMTYgVjIxNyBWMjE4IFYyMTkgVjIyMCBWMjIxIFYyMjIgVjIyMyBWMjI0IFYyMjUgVjIy NiBWMjI3IFYyMjggVjIyOSBWMjMwCisgICAgICAgICAgICBWMjMxIFYyMzIgVjIzMyBWMjM0IFYy MzUgVjIzNiBWMjM3IFYyMzggVjIzOSBWMjQwKQogICAgIERFRklORQogICAgIFYxIEFTIHZhbCA+ IDAsIFYyIEFTIHZhbCA+IDAsIFYzIEFTIHZhbCA+IDAsIFY0IEFTIHZhbCA+IDAsIFY1IEFTIHZh bCA+IDAsIFY2IEFTIHZhbCA+IDAsIFY3IEFTIHZhbCA+IDAsIFY4IEFTIHZhbCA+IDAsIFY5IEFT IHZhbCA+IDAsIFYxMCBBUyB2YWwgPiAwLAogICAgIFYxMSBBUyB2YWwgPiAwLCBWMTIgQVMgdmFs ID4gMCwgVjEzIEFTIHZhbCA+IDAsIFYxNCBBUyB2YWwgPiAwLCBWMTUgQVMgdmFsID4gMCwgVjE2 IEFTIHZhbCA+IDAsIFYxNyBBUyB2YWwgPiAwLCBWMTggQVMgdmFsID4gMCwgVjE5IEFTIHZhbCA+ IDAsIFYyMCBBUyB2YWwgPiAwLApAQCAtNDQ0NywxNCArNDQ1NCwyMCBAQCBXSU5ET1cgdyBBUyAo CiAgICAgVjIyMSBBUyB2YWwgPiAwLCBWMjIyIEFTIHZhbCA+IDAsIFYyMjMgQVMgdmFsID4gMCwg VjIyNCBBUyB2YWwgPiAwLCBWMjI1IEFTIHZhbCA+IDAsIFYyMjYgQVMgdmFsID4gMCwgVjIyNyBB UyB2YWwgPiAwLCBWMjI4IEFTIHZhbCA+IDAsIFYyMjkgQVMgdmFsID4gMCwgVjIzMCBBUyB2YWwg PiAwLAogICAgIFYyMzEgQVMgdmFsID4gMCwgVjIzMiBBUyB2YWwgPiAwLCBWMjMzIEFTIHZhbCA+ IDAsIFYyMzQgQVMgdmFsID4gMCwgVjIzNSBBUyB2YWwgPiAwLCBWMjM2IEFTIHZhbCA+IDAsIFYy MzcgQVMgdmFsID4gMCwgVjIzOCBBUyB2YWwgPiAwLCBWMjM5IEFTIHZhbCA+IDAsIFYyNDAgQVMg dmFsID4gMAogKTsKLS0tIEV4cGVjdGVkOiBTdWNjZXNzIC0gZXhhY3RseSBhdCBSUFJfVkFSSURf TUFYIGJvdW5kYXJ5CiAKLS0tIEVSUk9SOiAyNDEgdmFyaWFibGVzIGluIFBBVFRFUk4sIDI0MCBp biBERUZJTkUgKGV4Y2VlZHMgbGltaXQgd2l0aCBpbXBsaWNpdCBUUlVFKQorLS0gRVJST1I6IDI0 MSB2YXJpYWJsZXMgaW4gUEFUVEVSTiwgMjQwIChSUFJfVkFSSURfTUFYKSBpbiBERUZJTkUgKGV4 Y2VlZHMgbGltaXQgd2l0aCBpbXBsaWNpdCBUUlVFKQogU0VMRUNUIENPVU5UKCopIE9WRVIgdyBG Uk9NIHJwcl9lcnJvcnMKIFdJTkRPVyB3IEFTICgKICAgICBPUkRFUiBCWSBpZAogICAgIFJPV1Mg QkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQgVU5CT1VOREVEIEZPTExPV0lORwotICAgIFBBVFRFUk4g KFYxIFYyIFYzIFY0IFY1IFY2IFY3IFY4IFY5IFYxMCBWMTEgVjEyIFYxMyBWMTQgVjE1IFYxNiBW MTcgVjE4IFYxOSBWMjAgVjIxIFYyMiBWMjMgVjI0IFYyNSBWMjYgVjI3IFYyOCBWMjkgVjMwIFYz MSBWMzIgVjMzIFYzNCBWMzUgVjM2IFYzNyBWMzggVjM5IFY0MCBWNDEgVjQyIFY0MyBWNDQgVjQ1 IFY0NiBWNDcgVjQ4IFY0OSBWNTAgVjUxIFY1MiBWNTMgVjU0IFY1NSBWNTYgVjU3IFY1OCBWNTkg VjYwIFY2MSBWNjIgVjYzIFY2NCBWNjUgVjY2IFY2NyBWNjggVjY5IFY3MCBWNzEgVjcyIFY3MyBW NzQgVjc1IFY3NiBWNzcgVjc4IFY3OSBWODAgVjgxIFY4MiBWODMgVjg0IFY4NSBWODYgVjg3IFY4 OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYxMDAgVjEwMSBW MTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMCBWMTExIFYxMTIgVjEx MyBWMTE0IFYxMTUgVjExNiBWMTE3IFYxMTggVjExOSBWMTIwIFYxMjEgVjEyMiBWMTIzIFYxMjQg VjEyNSBWMTI2IFYxMjcgVjEyOCBWMTI5IFYxMzAgVjEzMSBWMTMyIFYxMzMgVjEzNCBWMTM1IFYx MzYgVjEzNyBWMTM4IFYxMzkgVjE0MCBWMTQxIFYxNDIgVjE0MyBWMTQ0IFYxNDUgVjE0NiBWMTQ3 IFYxNDggVjE0OSBWMTUwIFYxNTEgVjE1MiBWMTUzIFYxNTQgVjE1NSBWMTU2IFYxNTcgVjE1OCBW MTU5IFYxNjAgVjE2MSBWMTYyIFYxNjMgVjE2NCBWMTY1IFYxNjYgVjE2NyBWMTY4IFYxNjkgVjE3 MCBWMTcxIFYxNzIgVjE3MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBWMTgwIFYxODEg VjE4MiBWMTgzIFYxODQgVjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5MSBWMTkyIFYx OTMgVjE5NCBWMTk1IFYxOTYgVjE5NyBWMTk4IFYxOTkgVjIwMCBWMjAxIFYyMDIgVjIwMyBWMjA0 IFYyMDUgVjIwNiBWMjA3IFYyMDggVjIwOSBWMjEwIFYyMTEgVjIxMiBWMjEzIFYyMTQgVjIxNSBW MjE2IFYyMTcgVjIxOCBWMjE5IFYyMjAgVjIyMSBWMjIyIFYyMjMgVjIyNCBWMjI1IFYyMjYgVjIy NyBWMjI4IFYyMjkgVjIzMCBWMjMxIFYyMzIgVjIzMyBWMjM0IFYyMzUgVjIzNiBWMjM3IFYyMzgg VjIzOSBWMjQwIFYyNDEpCisgICAgUEFUVEVSTiAoVjEgVjIgVjMgVjQgVjUgVjYgVjcgVjggVjkg VjEwIFYxMSBWMTIgVjEzIFYxNCBWMTUgVjE2IFYxNyBWMTggVjE5IFYyMCBWMjEgVjIyIFYyMyBW MjQgVjI1IFYyNiBWMjcgVjI4IFYyOSBWMzAgVjMxIFYzMiBWMzMgVjM0IFYzNSBWMzYgVjM3IFYz OCBWMzkgVjQwCisgICAgICAgICAgICAgVjQxIFY0MiBWNDMgVjQ0IFY0NSBWNDYgVjQ3IFY0OCBW NDkgVjUwIFY1MSBWNTIgVjUzIFY1NCBWNTUgVjU2IFY1NyBWNTggVjU5IFY2MCBWNjEgVjYyIFY2 MyBWNjQgVjY1IFY2NiBWNjcgVjY4IFY2OSBWNzAgVjcxIFY3MiBWNzMgVjc0IFY3NSBWNzYgVjc3 IFY3OCBWNzkgVjgwCisgICAgICAgICAgICAgVjgxIFY4MiBWODMgVjg0IFY4NSBWODYgVjg3IFY4 OCBWODkgVjkwIFY5MSBWOTIgVjkzIFY5NCBWOTUgVjk2IFY5NyBWOTggVjk5IFYxMDAgVjEwMSBW MTAyIFYxMDMgVjEwNCBWMTA1IFYxMDYgVjEwNyBWMTA4IFYxMDkgVjExMAorICAgICAgICAgICAg IFYxMTEgVjExMiBWMTEzIFYxMTQgVjExNSBWMTE2IFYxMTcgVjExOCBWMTE5IFYxMjAgVjEyMSBW MTIyIFYxMjMgVjEyNCBWMTI1IFYxMjYgVjEyNyBWMTI4IFYxMjkgVjEzMCBWMTMxIFYxMzIgVjEz MyBWMTM0IFYxMzUgVjEzNiBWMTM3IFYxMzggVjEzOSBWMTQwCisgICAgICAgICAgICAgVjE0MSBW MTQyIFYxNDMgVjE0NCBWMTQ1IFYxNDYgVjE0NyBWMTQ4IFYxNDkgVjE1MCBWMTUxIFYxNTIgVjE1 MyBWMTU0IFYxNTUgVjE1NiBWMTU3IFYxNTggVjE1OSBWMTYwIFYxNjEgVjE2MiBWMTYzIFYxNjQg VjE2NSBWMTY2IFYxNjcgVjE2OCBWMTY5IFYxNzAKKyAgICAgICAgICAgICBWMTcxIFYxNzIgVjE3 MyBWMTc0IFYxNzUgVjE3NiBWMTc3IFYxNzggVjE3OSBWMTgwIFYxODEgVjE4MiBWMTgzIFYxODQg VjE4NSBWMTg2IFYxODcgVjE4OCBWMTg5IFYxOTAgVjE5MSBWMTkyIFYxOTMgVjE5NCBWMTk1IFYx OTYgVjE5NyBWMTk4IFYxOTkgVjIwMAorICAgICAgICAgICAgIFYyMDEgVjIwMiBWMjAzIFYyMDQg VjIwNSBWMjA2IFYyMDcgVjIwOCBWMjA5IFYyMTAgVjIxMSBWMjEyIFYyMTMgVjIxNCBWMjE1IFYy MTYgVjIxNyBWMjE4IFYyMTkgVjIyMCBWMjIxIFYyMjIgVjIyMyBWMjI0IFYyMjUgVjIyNiBWMjI3 IFYyMjggVjIyOSBWMjMwCisgICAgICAgICAgICAgVjIzMSBWMjMyIFYyMzMgVjIzNCBWMjM1IFYy MzYgVjIzNyBWMjM4IFYyMzkgVjI0MCBWMjQxKQogICAgIERFRklORQogICAgIFYxIEFTIHZhbCA+ IDAsIFYyIEFTIHZhbCA+IDAsIFYzIEFTIHZhbCA+IDAsIFY0IEFTIHZhbCA+IDAsIFY1IEFTIHZh bCA+IDAsIFY2IEFTIHZhbCA+IDAsIFY3IEFTIHZhbCA+IDAsIFY4IEFTIHZhbCA+IDAsIFY5IEFT IHZhbCA+IDAsIFYxMCBBUyB2YWwgPiAwLAogICAgIFYxMSBBUyB2YWwgPiAwLCBWMTIgQVMgdmFs ID4gMCwgVjEzIEFTIHZhbCA+IDAsIFYxNCBBUyB2YWwgPiAwLCBWMTUgQVMgdmFsID4gMCwgVjE2 IEFTIHZhbCA+IDAsIFYxNyBBUyB2YWwgPiAwLCBWMTggQVMgdmFsID4gMCwgVjE5IEFTIHZhbCA+ IDAsIFYyMCBBUyB2YWwgPiAwLApAQCAtNDQ5MCwxMCArNDUwMywyNSBAQCBTRUxFQ1QgaWQsIHZh bCwgQ09VTlQoKikgT1ZFUiB3IEZST00gcnByX2Vycm9ycwogV0lORE9XIHcgQVMgKAogICAgIE9S REVSIEJZIGlkCiAgICAgUk9XUyBCRVRXRUVOIENVUlJFTlQgUk9XIEFORCBVTkJPVU5ERUQgRk9M TE9XSU5HCi0gICAgUEFUVEVSTiAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKEF7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KQorICAgIFBBVFRFUk4KKyAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKAorICAgICAgICAoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoCisgICAgICAgICgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKEF7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykK KyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAg ICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAg ICAgICAgezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKKyAgICAgICAgezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9PykKICAgICBERUZJTkUgQSBB UyB2YWwgPiAwCiApOwotLS0gRXhwZWN0ZWQ6IFNob3VsZCBzdWNjZWVkCiAKIC0tIFRlc3Q6IFBh dHRlcm4gbmVzdGluZyBkZXB0aCBleGNlZWRzIG1heGltdW0gKGRlcHRoIDI1NCkKIC0tIE5vdGU6 IDI1NCBuZXN0ZWQgR1JPVVB7Myw3fT8gcXVhbnRpZmllcnM7IHJlbHVjdGFudCBxdWFudGlmaWVy cyBhcmUgbm90CkBAIC00NTAzLDcgKzQ1MzEsMjggQEAgU0VMRUNUIGlkLCB2YWwsIENPVU5UKCop IE9WRVIgdyBGUk9NIHJwcl9lcnJvcnMKIFdJTkRPVyB3IEFTICgKICAgICBPUkRFUiBCWSBpZAog ICAgIFJPV1MgQkVUV0VFTiBDVVJSRU5UIFJPVyBBTkQgVU5CT1VOREVEIEZPTExPV0lORwotICAg IFBBVFRFUk4gKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoQXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KQor ICAgIFBBVFRFUk4KKyAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgKKyAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKCgKKyAgICAgICAgKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo KCgoKCgoKCgoKAorICAgICAgICAoQXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p CisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAg ICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisg ICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7 Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAg IHszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8p ezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/ KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9 Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3 fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCisgICAgICAgIHszLDd9Pyl7Myw3fT8pezMsN30/KXsz LDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pezMs N30/KXszLDd9Pyl7Myw3fT8pezMsN30/KXszLDd9Pyl7Myw3fT8pCiAgICAgREVGSU5FIEEgQVMg dmFsID4gMAogKTsKIAotLSAKMi4zNC4xCgo= --0000000000009a43840654954f89 Content-Type: application/octet-stream; name="v48-0001-misc-refactor-mostly-related-to-RPR_QUANTITY_INF.nocfbot" Content-Disposition: attachment; filename="v48-0001-misc-refactor-mostly-related-to-RPR_QUANTITY_INF.nocfbot" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqkj5ja91 RnJvbSBjYzBlODcwYjdmZDU0MTc2Zjc4MDhlOGVkN2YxYWU0ZjljMjQyMzA3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMTkgSnVuIDIwMjYgMTQ6MTA6MDcgKzA4MDAKU3ViamVjdDogW1BBVENIIHY0 OCAxLzJdIG1pc2MgcmVmYWN0b3IgbW9zdGx5IHJlbGF0ZWQgdG8gUlBSX1FVQU5USVRZX0lORgoK UmVwbGFjZSBQR19JTlQzMl9NQVggd2l0aCBSUFJfUVVBTlRJVFlfSU5GIGluIGJvdGggZ3JhbS55 IGFuZCBycHIuYy4gVG8gYXZvaWQKaW5jbHVkZSBzcmMvaW5jbHVkZS9vcHRpbWl6ZXIvcnByLmgg aW4gZ3JhbS55LCB0aGUgUlBSX1FVQU5USVRZX0lORiBtYWNybyBpcwpleHBsaWNpdGx5IGRlZmlu ZWQgd2l0aGluIGdyYW0ueSBpdHNlbGYuCkFic3RyYWN0aW5nIHRoaXMgdmFsdWUgaW50byBhIGRl ZGljYXRlZCBtYWNybyBpcyBmdXR1cmUgcHJvb2Y6IHRoZSBwYXJzaW5nIGxvZ2ljCnJlbWFpbnMg Y29ycmVjdCBldmVuIGlmIHRoZSBxdWFudGlmaWVyIHVwcGVyIGJvdW5kIGNoYW5nZSBmcm9tIFBH X0lOVDMyX01BWCB0bwphbnkgcmFuZG9tIHZhbHVlLgoKUmVuYW1lIHRoZSBib2R5TnVsbGFibGUg YW5kIGFsbE51bGxhYmxlIHZhcmlhYmxlcyB0byBtYXRjaF9lbXB0eSBpbgpmaWxsUlBSUGF0dGVy biBhbmQgaXRzIHJlbGF0ZWQgZnVuY3Rpb25zLiAibnVsbGFibGUiIHR5cGljYWxseSBpbXBsaWVz IHdoZXRoZXIgYQp2YWx1ZSBjYW4gYmUgU1FMIE5VTEwsIHdoZXJlYXMgdGhpcyBpcyBtb3JlIGFi b3V0IGlmIGEgcGF0dGVybiBjYW4gbWF0Y2ggemVybwpyb3dzLiBWYXJpYWJsZSAibWF0Y2hfZW1w dHkiIG1vcmUgYWNjdXJhdGVseSByZWZsZWN0cyB0aGlzIGJlaGF2aW9yLiBBbGwKYXNzb2NpYXRl ZCBjb21tZW50cyBoYXZlIGFsc28gYmVlbiB1cGRhdGVkIGZyb20gIm51bGxhYmxlIiB0byAiY2Fu IG1hdGNoIHplcm8Kcm93cyIgb3IgIm1hdGNoIGVtcHR5IiBmb3IgaW1wcm92ZWQgY2xhcml0eS4K ClJlZmFjdG9ycyBzcGxpdFJQUlRyYWlsaW5nQWx0OiB0byB1dGlsaXplIHRoZSBmb3JlYWNoX25v ZGUgbWFjcm8gYW5kCmZvcmVhY2hfY3VycmVudF9pbmRleCBmdW5jdGlvbiwgcmVtb3ZpbmcgdGhl IG5lZWQgdG8gbWFudWFsbHkgbWFuYWdlIExpc3RDZWxsCml0ZXJhdGlvbiBhbmQgbWFudWFsIGlu ZGV4IGNvdW50ZXJzLgoKQWRkcyBhIGNvbW1lbnQgaW5zaWRlIG1ha2VSUFJRdWFudGlmaWVyIGV4 cGxpY2l0bHkgc3RhdGluZyB0aGF0IG90aGVyIGZpZWxkcyBhcmUKaXJyZWxldmFudCBmb3IgYSBx dWFudGlmaWVyIG5vZGUuCi0tLQogc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vcnByLmMgfCA0 MiArKysrKysrKy0tLS0tLS0tLQogc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0ueSAgICAgICAgfCA3 OCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2NCBp bnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9v cHRpbWl6ZXIvcGxhbi9ycHIuYyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3Jwci5jCmlu ZGV4IDYyMjkyNTA4YWEuLmM0YThlNWQ2ZDMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL29wdGlt aXplci9wbGFuL3Jwci5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3Jwci5jCkBA IC0xMTc2LDcgKzExNzYsNyBAQCBnZXRWYXJJZEZyb21QYXR0ZXJuKFJQUlBhdHRlcm4gKnBhdCwg Y29uc3QgY2hhciAqdmFyTmFtZSkKICAqIGZpbGxSUFJQYXR0ZXJuVmFyCiAgKgkJRmlsbCBhIFZB UiBwYXR0ZXJuIGVsZW1lbnQuCiAgKgotICogUmV0dXJucyB0cnVlIGlmIHRoaXMgVkFSIGlzIG51 bGxhYmxlIChjYW4gbWF0Y2ggemVybyByb3dzKS4KKyAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIFZB UiBjYW4gbWF0Y2ggemVybyByb3dzLgogICovCiBzdGF0aWMgYm9vbAogZmlsbFJQUlBhdHRlcm5W YXIoUlBSUGF0dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRl cHRoIGRlcHRoKQpAQCAtMTE4Nyw3ICsxMTg3LDcgQEAgZmlsbFJQUlBhdHRlcm5WYXIoUlBSUGF0 dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRlcHRoIGRlcHQK IAllbGVtLT52YXJJZCA9IGdldFZhcklkRnJvbVBhdHRlcm4ocGF0LCBub2RlLT52YXJOYW1lKTsK IAllbGVtLT5kZXB0aCA9IGRlcHRoOwogCWVsZW0tPm1pbiA9IG5vZGUtPm1pbjsKLQllbGVtLT5t YXggPSAobm9kZS0+bWF4ID09IFBHX0lOVDMyX01BWCkgPyBSUFJfUVVBTlRJVFlfSU5GIDogbm9k ZS0+bWF4OworCWVsZW0tPm1heCA9IChub2RlLT5tYXggPj0gUlBSX1FVQU5USVRZX0lORikgPyBS UFJfUVVBTlRJVFlfSU5GIDogbm9kZS0+bWF4OwogCUFzc2VydChlbGVtLT5taW4gPj0gMCAmJiBl bGVtLT5taW4gPCBSUFJfUVVBTlRJVFlfSU5GICYmCiAJCSAgIGVsZW0tPm1heCA+PSAxICYmCiAJ CSAgIChlbGVtLT5tYXggPT0gUlBSX1FVQU5USVRZX0lORiB8fCBlbGVtLT5taW4gPD0gZWxlbS0+ bWF4KSk7CkBAIC0xMjE4LDggKzEyMTgsOCBAQCBmaWxsUlBSUGF0dGVyblZhcihSUFJQYXR0ZXJu Tm9kZSAqbm9kZSwgUlBSUGF0dGVybiAqcGF0LCBpbnQgKmlkeCwgUlBSRGVwdGggZGVwdAogICog RU5ELmp1bXAgcG9pbnRzIHRvIHRoZSBmaXJzdCBjaGlsZCAobG9vcC1iYWNrIHBhdGgpLgogICog QkVHSU4ubmV4dCBhbmQgRU5ELm5leHQgYXJlIHNldCBsYXRlciBieSBmaW5hbGl6ZVJQUlBhdHRl cm4oKS4KICAqCi0gKiBSZXR1cm5zIHRydWUgaWYgdGhpcyBncm91cCBpcyBudWxsYWJsZS4gIEEg Z3JvdXAgaXMgbnVsbGFibGUgd2hlbiBpdHMKLSAqIG1pbiBpcyAwIChjYW4gYmUgc2tpcHBlZCBl bnRpcmVseSkgb3IgaXRzIGJvZHkgaXMgbnVsbGFibGUgKGV2ZXJ5IHBhdGgKKyAqIFJldHVybnMg dHJ1ZSBpZiB0aGlzIGdyb3VwIGNhbiBtYXRjaCB6ZXJvIHJvdy4gIEEgZ3JvdXAgY2FuIG1hdGNo IGVtcHR5IHdoZW4KKyAqIGl0cyBtaW4gaXMgMCAoY2FuIGJlIHNraXBwZWQgZW50aXJlbHkpIG9y IGl0cyBib2R5IGlzIG1hdGNoIGVtcHR5IChldmVyeSBwYXRoCiAgKiB0aHJvdWdoIHRoZSBib2R5 IGNhbiBtYXRjaCB6ZXJvIHJvd3MpLgogICovCiBzdGF0aWMgYm9vbApAQCAtMTIyNyw3ICsxMjI3 LDcgQEAgZmlsbFJQUlBhdHRlcm5Hcm91cChSUFJQYXR0ZXJuTm9kZSAqbm9kZSwgUlBSUGF0dGVy biAqcGF0LCBpbnQgKmlkeCwgUlBSRGVwdGggZGUKIHsKIAlpbnQJCQlncm91cFN0YXJ0SWR4ID0g KmlkeDsKIAlpbnQJCQliZWdpbklkeCA9IC0xOwotCWJvb2wJCWJvZHlOdWxsYWJsZSA9IHRydWU7 CisJYm9vbAkJbWF0Y2hfZW1wdHkgPSB0cnVlOwogCiAJLyogQWRkIEJFR0lOIG1hcmtlciBpZiBn cm91cCBoYXMgbm9uLXRyaXZpYWwgcXVhbnRpZmllciAobm90IHsxLDF9KSAqLwogCWlmIChub2Rl LT5taW4gIT0gMSB8fCBub2RlLT5tYXggIT0gMSkKQEAgLTEyMzksNyArMTIzOSw3IEBAIGZpbGxS UFJQYXR0ZXJuR3JvdXAoUlBSUGF0dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50 ICppZHgsIFJQUkRlcHRoIGRlCiAJCWVsZW0tPnZhcklkID0gUlBSX1ZBUklEX0JFR0lOOwogCQll bGVtLT5kZXB0aCA9IGRlcHRoOwogCQllbGVtLT5taW4gPSBub2RlLT5taW47Ci0JCWVsZW0tPm1h eCA9IChub2RlLT5tYXggPT0gUEdfSU5UMzJfTUFYKSA/IFJQUl9RVUFOVElUWV9JTkYgOiBub2Rl LT5tYXg7CisJCWVsZW0tPm1heCA9IChub2RlLT5tYXggPj0gUlBSX1FVQU5USVRZX0lORikgPyBS UFJfUVVBTlRJVFlfSU5GIDogbm9kZS0+bWF4OwogCQlBc3NlcnQoZWxlbS0+bWluID49IDAgJiYg ZWxlbS0+bWluIDwgUlBSX1FVQU5USVRZX0lORiAmJgogCQkJICAgZWxlbS0+bWF4ID49IDEgJiYK IAkJCSAgIChlbGVtLT5tYXggPT0gUlBSX1FVQU5USVRZX0lORiB8fCBlbGVtLT5taW4gPD0gZWxl bS0+bWF4KSk7CkBAIC0xMjU0LDcgKzEyNTQsNyBAQCBmaWxsUlBSUGF0dGVybkdyb3VwKFJQUlBh dHRlcm5Ob2RlICpub2RlLCBSUFJQYXR0ZXJuICpwYXQsIGludCAqaWR4LCBSUFJEZXB0aCBkZQog CWZvcmVhY2hfbm9kZShSUFJQYXR0ZXJuTm9kZSwgY2hpbGQsIG5vZGUtPmNoaWxkcmVuKQogCXsK IAkJaWYgKCFmaWxsUlBSUGF0dGVybihjaGlsZCwgcGF0LCBpZHgsIGRlcHRoICsgMSkpCi0JCQli b2R5TnVsbGFibGUgPSBmYWxzZTsKKwkJCW1hdGNoX2VtcHR5ID0gZmFsc2U7CiAJfQogCiAJLyog QWRkIGdyb3VwIGVuZCBtYXJrZXIgaWYgZ3JvdXAgaGFzIG5vbi10cml2aWFsIHF1YW50aWZpZXIg KG5vdCB7MSwxfSkgKi8KQEAgLTEyNjcsNyArMTI2Nyw3IEBAIGZpbGxSUFJQYXR0ZXJuR3JvdXAo UlBSUGF0dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRlcHRo IGRlCiAJCWVuZEVsZW0tPnZhcklkID0gUlBSX1ZBUklEX0VORDsKIAkJZW5kRWxlbS0+ZGVwdGgg PSBkZXB0aDsKIAkJZW5kRWxlbS0+bWluID0gbm9kZS0+bWluOwotCQllbmRFbGVtLT5tYXggPSAo bm9kZS0+bWF4ID09IFBHX0lOVDMyX01BWCkgPyBSUFJfUVVBTlRJVFlfSU5GIDogbm9kZS0+bWF4 OworCQllbmRFbGVtLT5tYXggPSAobm9kZS0+bWF4ID49IFJQUl9RVUFOVElUWV9JTkYpID8gUlBS X1FVQU5USVRZX0lORiA6IG5vZGUtPm1heDsKIAkJQXNzZXJ0KGVuZEVsZW0tPm1pbiA+PSAwICYm IGVuZEVsZW0tPm1pbiA8IFJQUl9RVUFOVElUWV9JTkYgJiYKIAkJCSAgIGVuZEVsZW0tPm1heCA+ PSAxICYmCiAJCQkgICAoZW5kRWxlbS0+bWF4ID09IFJQUl9RVUFOVElUWV9JTkYgfHwgZW5kRWxl bS0+bWluIDw9IGVuZEVsZW0tPm1heCkpOwpAQCAtMTI3NywxMSArMTI3NywxMSBAQCBmaWxsUlBS UGF0dGVybkdyb3VwKFJQUlBhdHRlcm5Ob2RlICpub2RlLCBSUFJQYXR0ZXJuICpwYXQsIGludCAq aWR4LCBSUFJEZXB0aCBkZQogCQkJZW5kRWxlbS0+ZmxhZ3MgfD0gUlBSX0VMRU1fUkVMVUNUQU5U OwogCiAJCS8qCi0JCSAqIElmIHRoZSBncm91cCBib2R5IGlzIG51bGxhYmxlIChhbGwgcGF0aHMg Y2FuIG1hdGNoIGVtcHR5KSwgbWFyayB0aGUKLQkJICogRU5EIGVsZW1lbnQgc28gdGhhdCBuZmFf YWR2YW5jZV9lbmQgY2FuIGZhc3QtZm9yd2FyZCB0aGUgaXRlcmF0aW9uCi0JCSAqIGNvdW50IHRv IG1pbiB3aGVuIHJlYWNoZWQgdmlhIGVtcHR5LW1hdGNoIHNraXAgcGF0aHMuCisJCSAqIElmIHRo ZSBncm91cCBib2R5IGFsbCBwYXRocyBjYW4gbWF0Y2ggZW1wdHksIG1hcmsgdGhlIEVORCBlbGVt ZW50CisJCSAqIHNvIHRoYXQgbmZhX2FkdmFuY2VfZW5kIGNhbiBmYXN0LWZvcndhcmQgdGhlIGl0 ZXJhdGlvbiBjb3VudCB0byBtaW4KKwkJICogd2hlbiByZWFjaGVkIHZpYSBlbXB0eS1tYXRjaCBz a2lwIHBhdGhzLgogCQkgKi8KLQkJaWYgKGJvZHlOdWxsYWJsZSkKKwkJaWYgKG1hdGNoX2VtcHR5 KQogCQkJZW5kRWxlbS0+ZmxhZ3MgfD0gUlBSX0VMRU1fRU1QVFlfTE9PUDsKIAogCQkoKmlkeCkr KzsKQEAgLTEyOTAsNyArMTI5MCw3IEBAIGZpbGxSUFJQYXR0ZXJuR3JvdXAoUlBSUGF0dGVybk5v ZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRlcHRoIGRlCiAJCWJlZ2lu RWxlbS0+anVtcCA9ICppZHg7IC8qIHNraXA6IGdvIHRvIGFmdGVyIEVORCAqLwogCX0KIAotCXJl dHVybiAobm9kZS0+bWluID09IDAgfHwgYm9keU51bGxhYmxlKTsKKwlyZXR1cm4gKG5vZGUtPm1p biA9PSAwIHx8IG1hdGNoX2VtcHR5KTsKIH0KIAogLyoKQEAgLTEzMDAsOCArMTMwMCw4IEBAIGZp bGxSUFJQYXR0ZXJuR3JvdXAoUlBSUGF0dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwg aW50ICppZHgsIFJQUkRlcHRoIGRlCiAgKiBDcmVhdGVzIHRoZSBBTFQgbWFya2VyLCBmaWxscyBl YWNoIGFsdGVybmF0aXZlIGF0IGluY3JlYXNlZCBkZXB0aCwKICAqIHNldHMganVtcCBwb2ludGVy cyBmb3IgYmFja3RyYWNraW5nLCBhbmQgbmV4dCBwb2ludGVycyBmb3Igc3VjY2Vzc2Z1bCBwYXRo cy4KICAqCi0gKiBSZXR1cm5zIHRydWUgaWYgYW55IGJyYW5jaCBpcyBudWxsYWJsZSAoT1Igc2Vt YW50aWNzOiBvbmUgbnVsbGFibGUKLSAqIGJyYW5jaCBzdWZmaWNlcyBmb3IgdGhlIGFsdGVybmF0 aW9uIHRvIHByb2R1Y2UgYW4gZW1wdHkgbWF0Y2gpLgorICogUmV0dXJucyB0cnVlIGlmIGFueSBi cmFuY2ggY2FuIG1hdGNoIHplcm8gcm93cyAoT1Igc2VtYW50aWNzOiBpdCBzdWZmaWNlcyBmb3IK KyAqIG9uZSBicmFuY2ggdG8gYWNjZXB0IGFuIGVtcHR5IG1hdGNoKS4KICAqLwogc3RhdGljIGJv b2wKIGZpbGxSUFJQYXR0ZXJuQWx0KFJQUlBhdHRlcm5Ob2RlICpub2RlLCBSUFJQYXR0ZXJuICpw YXQsIGludCAqaWR4LCBSUFJEZXB0aCBkZXB0aCkKQEAgLTEzMTIsNyArMTMxMiw3IEBAIGZpbGxS UFJQYXR0ZXJuQWx0KFJQUlBhdHRlcm5Ob2RlICpub2RlLCBSUFJQYXR0ZXJuICpwYXQsIGludCAq aWR4LCBSUFJEZXB0aCBkZXB0CiAJTGlzdAkgICAqYWx0QnJhbmNoU3RhcnRzID0gTklMOwogCUxp c3QJICAgKmFsdEVuZFBvc2l0aW9ucyA9IE5JTDsKIAlpbnQJCQlhZnRlckFsdElkeDsKLQlib29s CQlhbnlOdWxsYWJsZSA9IGZhbHNlOworCWJvb2wJCW1hdGNoX2VtcHR5ID0gZmFsc2U7CiAKIAkv KiBBZGQgYWx0ZXJuYXRpb24gc3RhcnQgbWFya2VyICovCiAJZWxlbSA9ICZwYXQtPmVsZW1lbnRz WyppZHhdOwpAQCAtMTMzMiw3ICsxMzMyLDcgQEAgZmlsbFJQUlBhdHRlcm5BbHQoUlBSUGF0dGVy bk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRlcHRoIGRlcHQKIAog CQlhbHRCcmFuY2hTdGFydHMgPSBsYXBwZW5kX2ludChhbHRCcmFuY2hTdGFydHMsIGJyYW5jaFN0 YXJ0KTsKIAkJaWYgKGZpbGxSUFJQYXR0ZXJuKGFsdCwgcGF0LCBpZHgsIGRlcHRoICsgMSkpCi0J CQlhbnlOdWxsYWJsZSA9IHRydWU7CisJCQltYXRjaF9lbXB0eSA9IHRydWU7CiAJCWFsdEVuZFBv c2l0aW9ucyA9IGxhcHBlbmRfaW50KGFsdEVuZFBvc2l0aW9ucywgKmlkeCAtIDEpOwogCX0KIApA QCAtMTM3OCw3ICsxMzc4LDcgQEAgZmlsbFJQUlBhdHRlcm5BbHQoUlBSUGF0dGVybk5vZGUgKm5v ZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50ICppZHgsIFJQUkRlcHRoIGRlcHQKIAlsaXN0X2ZyZWUo YWx0QnJhbmNoU3RhcnRzKTsKIAlsaXN0X2ZyZWUoYWx0RW5kUG9zaXRpb25zKTsKIAotCXJldHVy biBhbnlOdWxsYWJsZTsKKwlyZXR1cm4gbWF0Y2hfZW1wdHk7CiB9CiAKIC8qCkBAIC0xMzk1LDcg KzEzOTUsNyBAQCBmaWxsUlBSUGF0dGVybkFsdChSUFJQYXR0ZXJuTm9kZSAqbm9kZSwgUlBSUGF0 dGVybiAqcGF0LCBpbnQgKmlkeCwgUlBSRGVwdGggZGVwdAogc3RhdGljIGJvb2wKIGZpbGxSUFJQ YXR0ZXJuKFJQUlBhdHRlcm5Ob2RlICpub2RlLCBSUFJQYXR0ZXJuICpwYXQsIGludCAqaWR4LCBS UFJEZXB0aCBkZXB0aCkKIHsKLQlib29sCQlhbGxOdWxsYWJsZSA9IHRydWU7CisJYm9vbAkJbWF0 Y2hfZW1wdHkgPSB0cnVlOwogCiAJLyogUGF0dGVybiBub2RlcyBmcm9tIHBhcnNlciBhcmUgbmV2 ZXIgTlVMTCAqLwogCUFzc2VydChub2RlICE9IE5VTEwpOwpAQCAtMTQwOCw5ICsxNDA4LDkgQEAg ZmlsbFJQUlBhdHRlcm4oUlBSUGF0dGVybk5vZGUgKm5vZGUsIFJQUlBhdHRlcm4gKnBhdCwgaW50 ICppZHgsIFJQUkRlcHRoIGRlcHRoKQogCQkJZm9yZWFjaF9ub2RlKFJQUlBhdHRlcm5Ob2RlLCBj aGlsZCwgbm9kZS0+Y2hpbGRyZW4pCiAJCQl7CiAJCQkJaWYgKCFmaWxsUlBSUGF0dGVybihjaGls ZCwgcGF0LCBpZHgsIGRlcHRoKSkKLQkJCQkJYWxsTnVsbGFibGUgPSBmYWxzZTsKKwkJCQkJbWF0 Y2hfZW1wdHkgPSBmYWxzZTsKIAkJCX0KLQkJCXJldHVybiBhbGxOdWxsYWJsZTsKKwkJCXJldHVy biBtYXRjaF9lbXB0eTsKIAogCQljYXNlIFJQUl9QQVRURVJOX1ZBUjoKIAkJCXJldHVybiBmaWxs UlBSUGF0dGVyblZhcihub2RlLCBwYXQsIGlkeCwgZGVwdGgpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueSBiL3NyYy9iYWNrZW5kL3BhcnNlci9ncmFtLnkKaW5kZXggNmVi MDFlYTdmMC4uYzc2YTVlYTkyOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL2dyYW0u eQorKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CkBAIC0xNTEsNiArMTUxLDE0IEBAIHR5 cGVkZWYgc3RydWN0IEtleUFjdGlvbnMKICNkZWZpbmUgcGFyc2VyX3l5ZXJyb3IobXNnKSAgc2Nh bm5lcl95eWVycm9yKG1zZywgeXlzY2FubmVyKQogI2RlZmluZSBwYXJzZXJfZXJycG9zaXRpb24o cG9zKSAgc2Nhbm5lcl9lcnJwb3NpdGlvbihwb3MsIHl5c2Nhbm5lcikKIAorLyoKKyAqIHVuYm91 bmRlZCBxdWFudGlmaWVyIGZvciByb3cgcGF0dGVybiByZWNvZ25hdGlvbi4KKyAqCisgKiBJZiB5 b3UgY2hhbmdlIHRoaXMgY29kZSwgc2VlIGFsc28gUlBSX1FVQU5USVRZX0lORiByZWZlcmVuY2Ug aW4KKyAqIHNyYy9pbmNsdWRlL29wdGltaXplci9ycHIuaAorICovCisjZGVmaW5lIFJQUl9RVUFO VElUWV9JTkYJUEdfSU5UMzJfTUFYCisKIHN0YXRpYyB2b2lkIGJhc2VfeXllcnJvcihZWUxUWVBF ICp5eWxsb2MsIGNvcmVfeXlzY2FuX3QgeXlzY2FubmVyLAogCQkJCQkJIGNvbnN0IGNoYXIgKm1z Zyk7CiBzdGF0aWMgUmF3U3RtdCAqbWFrZVJhd1N0bXQoTm9kZSAqc3RtdCwgaW50IHN0bXRfbG9j YXRpb24pOwpAQCAtMTc3NDQsMTEgKzE3NzUyLDExIEBAIHJvd19wYXR0ZXJuX3F1YW50aWZpZXJf b3B0OgogCQkJCX0KIAkJCXwgJyonCiAJCQkJewotCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJR dWFudGlmaWVyKDAsIFBHX0lOVDMyX01BWCwgZmFsc2UsIEAxKTsKKwkJCQkJJCQgPSAoTm9kZSAq KSBtYWtlUlBSUXVhbnRpZmllcigwLCBSUFJfUVVBTlRJVFlfSU5GLCBmYWxzZSwgQDEpOwogCQkJ CX0KIAkJCXwgJysnCiAJCQkJewotCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVy KDEsIFBHX0lOVDMyX01BWCwgZmFsc2UsIEAxKTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBS UXVhbnRpZmllcigxLCBSUFJfUVVBTlRJVFlfSU5GLCBmYWxzZSwgQDEpOwogCQkJCX0KIAkJCXwg T3AKIAkJCQl7CkBAIC0xNzc1NiwxOSArMTc3NjQsMTkgQEAgcm93X3BhdHRlcm5fcXVhbnRpZmll cl9vcHQ6CiAJCQkJCWlmIChzdHJjbXAoJDEsICI/IikgPT0gMCkKIAkJCQkJCSQkID0gKE5vZGUg KikgbWFrZVJQUlF1YW50aWZpZXIoMCwgMSwgZmFsc2UsIEAxKTsKIAkJCQkJZWxzZSBpZiAoc3Ry Y21wKCQxLCAiKj8iKSA9PSAwKQotCQkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmll cigwLCBQR19JTlQzMl9NQVgsIHRydWUsIEAxKTsKKwkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQ UlF1YW50aWZpZXIoMCwgUlBSX1FVQU5USVRZX0lORiwgdHJ1ZSwgQDEpOwogCQkJCQllbHNlIGlm IChzdHJjbXAoJDEsICIrPyIpID09IDApCi0JCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFu dGlmaWVyKDEsIFBHX0lOVDMyX01BWCwgdHJ1ZSwgQDEpOworCQkJCQkJJCQgPSAoTm9kZSAqKSBt YWtlUlBSUXVhbnRpZmllcigxLCBSUFJfUVVBTlRJVFlfSU5GLCB0cnVlLCBAMSk7CiAJCQkJCWVs c2UgaWYgKHN0cmNtcCgkMSwgIj8/IikgPT0gMCkKIAkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQ UlF1YW50aWZpZXIoMCwgMSwgdHJ1ZSwgQDEpOwogCQkJCQllbHNlIGlmIChzdHJjbXAoJDEsICIq fCIpID09IDApCiAJCQkJCXsKLQkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIo MCwgUEdfSU5UMzJfTUFYLCBmYWxzZSwgQDEpOworCQkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBS UXVhbnRpZmllcigwLCBSUFJfUVVBTlRJVFlfSU5GLCBmYWxzZSwgQDEpOwogCQkJCQkJKChSUFJQ YXR0ZXJuTm9kZSAqKSAkJCktPnRyYWlsaW5nX2FsdCA9IHRydWU7CiAJCQkJCX0KIAkJCQkJZWxz ZSBpZiAoc3RyY21wKCQxLCAiK3wiKSA9PSAwKQogCQkJCQl7Ci0JCQkJCQkkJCA9IChOb2RlICop IG1ha2VSUFJRdWFudGlmaWVyKDEsIFBHX0lOVDMyX01BWCwgZmFsc2UsIEAxKTsKKwkJCQkJCSQk ID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIoMSwgUlBSX1FVQU5USVRZX0lORiwgZmFsc2Us IEAxKTsKIAkJCQkJCSgoUlBSUGF0dGVybk5vZGUgKikgJCQpLT50cmFpbGluZ19hbHQgPSB0cnVl OwogCQkJCQl9CiAJCQkJCWVsc2UgaWYgKHN0cmNtcCgkMSwgIj98IikgPT0gMCkKQEAgLTE3Nzc4 LDEyICsxNzc4NiwxMiBAQCByb3dfcGF0dGVybl9xdWFudGlmaWVyX29wdDoKIAkJCQkJfQogCQkJ CQllbHNlIGlmIChzdHJjbXAoJDEsICIqP3wiKSA9PSAwKQogCQkJCQl7Ci0JCQkJCQkkJCA9IChO b2RlICopIG1ha2VSUFJRdWFudGlmaWVyKDAsIFBHX0lOVDMyX01BWCwgdHJ1ZSwgQDEpOworCQkJ CQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmllcigwLCBSUFJfUVVBTlRJVFlfSU5GLCB0 cnVlLCBAMSk7CiAJCQkJCQkoKFJQUlBhdHRlcm5Ob2RlICopICQkKS0+dHJhaWxpbmdfYWx0ID0g dHJ1ZTsKIAkJCQkJfQogCQkJCQllbHNlIGlmIChzdHJjbXAoJDEsICIrP3wiKSA9PSAwKQogCQkJ CQl7Ci0JCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKDEsIFBHX0lOVDMyX01B WCwgdHJ1ZSwgQDEpOworCQkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmllcigxLCBS UFJfUVVBTlRJVFlfSU5GLCB0cnVlLCBAMSk7CiAJCQkJCQkoKFJQUlBhdHRlcm5Ob2RlICopICQk KS0+dHJhaWxpbmdfYWx0ID0gdHJ1ZTsKIAkJCQkJfQogCQkJCQllbHNlIGlmIChzdHJjbXAoJDEs ICI/P3wiKSA9PSAwKQpAQCAtMTc4MDIsMTEgKzE3ODEwLDExIEBAIHJvd19wYXR0ZXJuX3F1YW50 aWZpZXJfb3B0OgogCQkJfCAnKicgT3AKIAkJCQl7CiAJCQkJCWlmIChzdHJjbXAoJDIsICI/Iikg PT0gMCkKLQkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIoMCwgUEdfSU5UMzJf TUFYLCB0cnVlLCBAMSk7CisJCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKDAs IFJQUl9RVUFOVElUWV9JTkYsIHRydWUsIEAxKTsKIAkJCQkJZWxzZSBpZiAoc3RyY21wKCQyLCAi P3wiKSA9PSAwKQogCQkJCQl7CiAJCQkJCQkvKiAiQSogP3xCIiA9IHJlbHVjdGFudCAiQSo/IiBw bHVzIGFsdGVybmF0aW9uICovCi0JCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVy KDAsIFBHX0lOVDMyX01BWCwgdHJ1ZSwgQDEpOworCQkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBS UXVhbnRpZmllcigwLCBSUFJfUVVBTlRJVFlfSU5GLCB0cnVlLCBAMSk7CiAJCQkJCQkoKFJQUlBh dHRlcm5Ob2RlICopICQkKS0+dHJhaWxpbmdfYWx0ID0gdHJ1ZTsKIAkJCQkJfQogCQkJCQllbHNl CkBAIC0xNzgxOSwxMSArMTc4MjcsMTEgQEAgcm93X3BhdHRlcm5fcXVhbnRpZmllcl9vcHQ6CiAJ CQl8ICcrJyBPcAogCQkJCXsKIAkJCQkJaWYgKHN0cmNtcCgkMiwgIj8iKSA9PSAwKQotCQkJCQkJ JCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmllcigxLCBQR19JTlQzMl9NQVgsIHRydWUsIEAx KTsKKwkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIoMSwgUlBSX1FVQU5USVRZ X0lORiwgdHJ1ZSwgQDEpOwogCQkJCQllbHNlIGlmIChzdHJjbXAoJDIsICI/fCIpID09IDApCiAJ CQkJCXsKIAkJCQkJCS8qICJBKyA/fEIiID0gcmVsdWN0YW50ICJBKz8iIHBsdXMgYWx0ZXJuYXRp b24gKi8KLQkJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIoMSwgUEdfSU5UMzJf TUFYLCB0cnVlLCBAMSk7CisJCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKDEs IFJQUl9RVUFOVElUWV9JTkYsIHRydWUsIEAxKTsKIAkJCQkJCSgoUlBSUGF0dGVybk5vZGUgKikg JCQpLT50cmFpbGluZ19hbHQgPSB0cnVlOwogCQkJCQl9CiAJCQkJCWVsc2UKQEAgLTE3ODU5LDM3 ICsxNzg2NywzNyBAQCByb3dfcGF0dGVybl9xdWFudGlmaWVyX29wdDoKIAkJCS8qIHtufSwge24s fSwgeyxtfSwge24sbX0gcXVhbnRpZmllcnMgKi8KIAkJCXwgJ3snIEljb25zdCAnfScKIAkJCQl7 Ci0JCQkJCWlmICgkMiA8PSAwIHx8ICQyID49IFBHX0lOVDMyX01BWCkKKwkJCQkJaWYgKCQyIDw9 IDAgfHwgJDIgPj0gUlBSX1FVQU5USVRZX0lORikKIAkJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJ CQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAotCQkJCQkJCQllcnJtc2coInF1YW50 aWZpZXIgYm91bmQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kICVkIiwgUEdfSU5UMzJfTUFYIC0gMSks CisJCQkJCQkJCWVycm1zZygicXVhbnRpZmllciBib3VuZCBtdXN0IGJlIGJldHdlZW4gMSBhbmQg JWQiLCBSUFJfUVVBTlRJVFlfSU5GIC0gMSksCiAJCQkJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihA MikpOwogCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKCQyLCAkMiwgZmFsc2Us IEAxKTsKIAkJCQl9CiAJCQl8ICd7JyBJY29uc3QgJywnICd9JwogCQkJCXsKLQkJCQkJaWYgKCQy IDwgMCB8fCAkMiA+PSBQR19JTlQzMl9NQVgpCisJCQkJCWlmICgkMiA8IDAgfHwgJDIgPj0gUlBS X1FVQU5USVRZX0lORikKIAkJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJCWVycmNvZGUoRVJS Q09ERV9TWU5UQVhfRVJST1IpLAotCQkJCQkJCQllcnJtc2coInF1YW50aWZpZXIgYm91bmQgbXVz dCBiZSBiZXR3ZWVuIDAgYW5kICVkIiwgUEdfSU5UMzJfTUFYIC0gMSksCisJCQkJCQkJCWVycm1z ZygicXVhbnRpZmllciBib3VuZCBtdXN0IGJlIGJldHdlZW4gMCBhbmQgJWQiLCBSUFJfUVVBTlRJ VFlfSU5GIC0gMSksCiAJCQkJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihAMikpOwotCQkJCQkkJCA9 IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKCQyLCBQR19JTlQzMl9NQVgsIGZhbHNlLCBAMSk7 CisJCQkJCSQkID0gKE5vZGUgKikgbWFrZVJQUlF1YW50aWZpZXIoJDIsIFJQUl9RVUFOVElUWV9J TkYsIGZhbHNlLCBAMSk7CiAJCQkJfQogCQkJfCAneycgJywnIEljb25zdCAnfScKIAkJCQl7Ci0J CQkJCWlmICgkMyA8PSAwIHx8ICQzID49IFBHX0lOVDMyX01BWCkKKwkJCQkJaWYgKCQzIDw9IDAg fHwgJDMgPj0gUlBSX1FVQU5USVRZX0lORikKIAkJCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkJ CWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAotCQkJCQkJCQllcnJtc2coInF1YW50aWZp ZXIgYm91bmQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kICVkIiwgUEdfSU5UMzJfTUFYIC0gMSksCisJ CQkJCQkJCWVycm1zZygicXVhbnRpZmllciBib3VuZCBtdXN0IGJlIGJldHdlZW4gMSBhbmQgJWQi LCBSUFJfUVVBTlRJVFlfSU5GIC0gMSksCiAJCQkJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihAMykp OwogCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVyKDAsICQzLCBmYWxzZSwgQDEp OwogCQkJCX0KIAkJCXwgJ3snIEljb25zdCAnLCcgSWNvbnN0ICd9JwogCQkJCXsKLQkJCQkJaWYg KCQyIDwgMCB8fCAkNCA8PSAwIHx8ICQyID49IFBHX0lOVDMyX01BWCB8fCAkNCA+PSBQR19JTlQz Ml9NQVgpCisJCQkJCWlmICgkMiA8IDAgfHwgJDQgPD0gMCB8fCAkMiA+PSBSUFJfUVVBTlRJVFlf SU5GIHx8ICQ0ID49IFJQUl9RVUFOVElUWV9JTkYpCiAJCQkJCQllcmVwb3J0KEVSUk9SLAogCQkJ CQkJCQllcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKLQkJCQkJCQkJZXJybXNnKCJxdWFu dGlmaWVyIGJvdW5kcyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgJWQgd2l0aCBtYXggPj0gMSIsIFBH X0lOVDMyX01BWCAtIDEpLAorCQkJCQkJCQllcnJtc2coInF1YW50aWZpZXIgYm91bmRzIG11c3Qg YmUgYmV0d2VlbiAwIGFuZCAlZCB3aXRoIG1heCA+PSAxIiwgUlBSX1FVQU5USVRZX0lORiAtIDEp LAogCQkJCQkJCQlwYXJzZXJfZXJycG9zaXRpb24oQDIpKTsKIAkJCQkJaWYgKCQyID4gJDQpCiAJ CQkJCQllcmVwb3J0KEVSUk9SLApAQCAtMTc5MDcsMTAgKzE3OTE1LDEwIEBAIHJvd19wYXR0ZXJu X3F1YW50aWZpZXJfb3B0OgogCQkJCQkJCQllcnJtc2coImludmFsaWQgdG9rZW4gXCIlc1wiIGFm dGVyIHJhbmdlIHF1YW50aWZpZXIiLCBycHJfaW52YWxpZF9xdWFudGlmaWVyX3Rva2VuKCQ0KSks CiAJCQkJCQkJCWVycmhpbnQoIk9ubHkgXCI/XCIgaXMgYWxsb3dlZCBhZnRlciB7bn0gdG8gbWFr ZSBpdCByZWx1Y3RhbnQuIiksCiAJCQkJCQkJCXBhcnNlcl9lcnJwb3NpdGlvbihANCkpOwotCQkJ CQlpZiAoJDIgPD0gMCB8fCAkMiA+PSBQR19JTlQzMl9NQVgpCisJCQkJCWlmICgkMiA8PSAwIHx8 ICQyID49IFJQUl9RVUFOVElUWV9JTkYpCiAJCQkJCQllcmVwb3J0KEVSUk9SLAogCQkJCQkJCQll cnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKLQkJCQkJCQkJZXJybXNnKCJxdWFudGlmaWVy IGJvdW5kIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAlZCIsIFBHX0lOVDMyX01BWCAtIDEpLAorCQkJ CQkJCQllcnJtc2coInF1YW50aWZpZXIgYm91bmQgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kICVkIiwg UlBSX1FVQU5USVRZX0lORiAtIDEpLAogCQkJCQkJCQlwYXJzZXJfZXJycG9zaXRpb24oQDIpKTsK IAkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmllcigkMiwgJDIsIHRydWUsIEAxKTsK IAkJCQkJaWYgKHN0cmNtcCgkNCwgIj98IikgPT0gMCkKQEAgLTE3OTI0LDEyICsxNzkzMiwxMiBA QCByb3dfcGF0dGVybl9xdWFudGlmaWVyX29wdDoKIAkJCQkJCQkJZXJybXNnKCJpbnZhbGlkIHRv a2VuIFwiJXNcIiBhZnRlciByYW5nZSBxdWFudGlmaWVyIiwgcnByX2ludmFsaWRfcXVhbnRpZmll cl90b2tlbigkNSkpLAogCQkJCQkJCQllcnJoaW50KCJPbmx5IFwiP1wiIGlzIGFsbG93ZWQgYWZ0 ZXIge24sfSBvciB7LG19IHRvIG1ha2UgaXQgcmVsdWN0YW50LiIpLAogCQkJCQkJCQlwYXJzZXJf ZXJycG9zaXRpb24oQDUpKTsKLQkJCQkJaWYgKCQyIDwgMCB8fCAkMiA+PSBQR19JTlQzMl9NQVgp CisJCQkJCWlmICgkMiA8IDAgfHwgJDIgPj0gUlBSX1FVQU5USVRZX0lORikKIAkJCQkJCWVyZXBv cnQoRVJST1IsCiAJCQkJCQkJCWVycmNvZGUoRVJSQ09ERV9TWU5UQVhfRVJST1IpLAotCQkJCQkJ CQllcnJtc2coInF1YW50aWZpZXIgYm91bmQgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kICVkIiwgUEdf SU5UMzJfTUFYIC0gMSksCisJCQkJCQkJCWVycm1zZygicXVhbnRpZmllciBib3VuZCBtdXN0IGJl IGJldHdlZW4gMCBhbmQgJWQiLCBSUFJfUVVBTlRJVFlfSU5GIC0gMSksCiAJCQkJCQkJCXBhcnNl cl9lcnJwb3NpdGlvbihAMikpOwotCQkJCQkkJCA9IChOb2RlICopIG1ha2VSUFJRdWFudGlmaWVy KCQyLCBQR19JTlQzMl9NQVgsIHRydWUsIEAxKTsKKwkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBS UXVhbnRpZmllcigkMiwgUlBSX1FVQU5USVRZX0lORiwgdHJ1ZSwgQDEpOwogCQkJCQlpZiAoc3Ry Y21wKCQ1LCAiP3wiKSA9PSAwKQogCQkJCQkJKChSUFJQYXR0ZXJuTm9kZSAqKSAkJCktPnRyYWls aW5nX2FsdCA9IHRydWU7CiAJCQkJfQpAQCAtMTc5NDEsMTAgKzE3OTQ5LDEwIEBAIHJvd19wYXR0 ZXJuX3F1YW50aWZpZXJfb3B0OgogCQkJCQkJCQllcnJtc2coImludmFsaWQgdG9rZW4gXCIlc1wi IGFmdGVyIHJhbmdlIHF1YW50aWZpZXIiLCBycHJfaW52YWxpZF9xdWFudGlmaWVyX3Rva2VuKCQ1 KSksCiAJCQkJCQkJCWVycmhpbnQoIk9ubHkgXCI/XCIgaXMgYWxsb3dlZCBhZnRlciB7bix9IG9y IHssbX0gdG8gbWFrZSBpdCByZWx1Y3RhbnQuIiksCiAJCQkJCQkJCXBhcnNlcl9lcnJwb3NpdGlv bihANSkpOwotCQkJCQlpZiAoJDMgPD0gMCB8fCAkMyA+PSBQR19JTlQzMl9NQVgpCisJCQkJCWlm ICgkMyA8PSAwIHx8ICQzID49IFJQUl9RVUFOVElUWV9JTkYpCiAJCQkJCQllcmVwb3J0KEVSUk9S LAogCQkJCQkJCQllcnJjb2RlKEVSUkNPREVfU1lOVEFYX0VSUk9SKSwKLQkJCQkJCQkJZXJybXNn KCJxdWFudGlmaWVyIGJvdW5kIG11c3QgYmUgYmV0d2VlbiAxIGFuZCAlZCIsIFBHX0lOVDMyX01B WCAtIDEpLAorCQkJCQkJCQllcnJtc2coInF1YW50aWZpZXIgYm91bmQgbXVzdCBiZSBiZXR3ZWVu IDEgYW5kICVkIiwgUlBSX1FVQU5USVRZX0lORiAtIDEpLAogCQkJCQkJCQlwYXJzZXJfZXJycG9z aXRpb24oQDMpKTsKIAkJCQkJJCQgPSAoTm9kZSAqKSBtYWtlUlBSUXVhbnRpZmllcigwLCAkMywg dHJ1ZSwgQDEpOwogCQkJCQlpZiAoc3RyY21wKCQ1LCAiP3wiKSA9PSAwKQpAQCAtMTc5NTgsMTAg KzE3OTY2LDEwIEBAIHJvd19wYXR0ZXJuX3F1YW50aWZpZXJfb3B0OgogCQkJCQkJCQllcnJtc2co ImludmFsaWQgdG9rZW4gXCIlc1wiIGFmdGVyIHJhbmdlIHF1YW50aWZpZXIiLCBycHJfaW52YWxp ZF9xdWFudGlmaWVyX3Rva2VuKCQ2KSksCiAJCQkJCQkJCWVycmhpbnQoIk9ubHkgXCI/XCIgaXMg YWxsb3dlZCBhZnRlciB7bixtfSB0byBtYWtlIGl0IHJlbHVjdGFudC4iKSwKIAkJCQkJCQkJcGFy c2VyX2VycnBvc2l0aW9uKEA2KSk7Ci0JCQkJCWlmICgkMiA8IDAgfHwgJDQgPD0gMCB8fCAkMiA+ PSBQR19JTlQzMl9NQVggfHwgJDQgPj0gUEdfSU5UMzJfTUFYKQorCQkJCQlpZiAoJDIgPCAwIHx8 ICQ0IDw9IDAgfHwgJDIgPj0gUlBSX1FVQU5USVRZX0lORiB8fCAkNCA+PSBSUFJfUVVBTlRJVFlf SU5GKQogCQkJCQkJZXJlcG9ydChFUlJPUiwKIAkJCQkJCQkJZXJyY29kZShFUlJDT0RFX1NZTlRB WF9FUlJPUiksCi0JCQkJCQkJCWVycm1zZygicXVhbnRpZmllciBib3VuZHMgbXVzdCBiZSBiZXR3 ZWVuIDAgYW5kICVkIHdpdGggbWF4ID49IDEiLCBQR19JTlQzMl9NQVggLSAxKSwKKwkJCQkJCQkJ ZXJybXNnKCJxdWFudGlmaWVyIGJvdW5kcyBtdXN0IGJlIGJldHdlZW4gMCBhbmQgJWQgd2l0aCBt YXggPj0gMSIsIFJQUl9RVUFOVElUWV9JTkYgLSAxKSwKIAkJCQkJCQkJcGFyc2VyX2VycnBvc2l0 aW9uKEAyKSk7CiAJCQkJCWlmICgkMiA+ICQ0KQogCQkJCQkJZXJlcG9ydChFUlJPUiwKQEAgLTIx NDA3LDYgKzIxNDE1LDggQEAgbWFrZVJQUlF1YW50aWZpZXIoaW50MzIgbWluLCBpbnQzMiBtYXgs IGJvb2wgcmVsdWN0YW50LCBpbnQgbG9jYXRpb24pCiAJbi0+bWF4ID0gbWF4OwogCW4tPnJlbHVj dGFudCA9IHJlbHVjdGFudDsKIAluLT5sb2NhdGlvbiA9IGxvY2F0aW9uOworCisJLyogT3RoZXIg ZmllbGRzIGFyZSBpcnJlbGV2YW50IGZvciBxdWFudGlmaWVyIG5vZGUgKi8KIAlyZXR1cm4gbjsK IH0KIApAQCAtMjE0NDIsOCArMjE0NTIsNyBAQCBtYWtlUlBSU2VxT3JTaW5nbGUoTGlzdCAqY2hp bGRyZW4sIGludCBsb2NhdGlvbikKIHN0YXRpYyBSUFJQYXR0ZXJuTm9kZSAqCiBzcGxpdFJQUlRy YWlsaW5nQWx0KFJQUlBhdHRlcm5Ob2RlICpub2RlLCBjb3JlX3l5c2Nhbl90IHl5c2Nhbm5lcikK IHsKLQlMaXN0Q2VsbCAgICpsYzsKLQlpbnQJCQlpID0gMDsKKwlpbnQJCQlpOwogCiAJaWYgKG5v ZGUtPm5vZGVUeXBlICE9IFJQUl9QQVRURVJOX1NFUSkKIAl7CkBAIC0yMTQ1OCw5ICsyMTQ2Nyw5 IEBAIHNwbGl0UlBSVHJhaWxpbmdBbHQoUlBSUGF0dGVybk5vZGUgKm5vZGUsIGNvcmVfeXlzY2Fu X3QgeXlzY2FubmVyKQogCQlyZXR1cm4gbm9kZTsKIAl9CiAKLQlmb3JlYWNoKGxjLCBub2RlLT5j aGlsZHJlbikKKwlmb3JlYWNoX25vZGUoUlBSUGF0dGVybk5vZGUsIGNoaWxkLCBub2RlLT5jaGls ZHJlbikKIAl7Ci0JCVJQUlBhdHRlcm5Ob2RlICpjaGlsZCA9IChSUFJQYXR0ZXJuTm9kZSAqKSBs Zmlyc3QobGMpOworCQlpID0gZm9yZWFjaF9jdXJyZW50X2luZGV4KGNoaWxkKTsKIAogCQlpZiAo Y2hpbGQtPnRyYWlsaW5nX2FsdCkKIAkJewpAQCAtMjE0OTAsNyArMjE0OTksNiBAQCBzcGxpdFJQ UlRyYWlsaW5nQWx0KFJQUlBhdHRlcm5Ob2RlICpub2RlLCBjb3JlX3l5c2Nhbl90IHl5c2Nhbm5l cikKIAkJCWFsdG4tPmxvY2F0aW9uID0gbm9kZS0+bG9jYXRpb247CiAJCQlyZXR1cm4gYWx0bjsK IAkJfQotCQlpKys7CiAJfQogCXJldHVybiBub2RlOwogfQotLSAKMi4zNC4xCgo= --0000000000009a43840654954f89--