From debbugs-submit-bounces@debbugs.gnu.org Tue Feb 10 17:14:26 2015 Received: (at submit) by debbugs.gnu.org; 10 Feb 2015 22:14:26 +0000 Received: from localhost ([127.0.0.1]:39656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YLJ4Y-0001Hi-CZ for submit@debbugs.gnu.org; Tue, 10 Feb 2015 17:14:26 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48611) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YLIqn-0000ws-M0 for submit@debbugs.gnu.org; Tue, 10 Feb 2015 17:00:13 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLIqc-0003Rb-Uz for submit@debbugs.gnu.org; Tue, 10 Feb 2015 17:00:04 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=BAYES_40,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:38753) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLIqc-0003RX-S8 for submit@debbugs.gnu.org; Tue, 10 Feb 2015 16:59:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50306) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLIqX-00010j-Of for bug-grep@gnu.org; Tue, 10 Feb 2015 16:59:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLIqS-0003M9-6j for bug-grep@gnu.org; Tue, 10 Feb 2015 16:59:53 -0500 Received: from mail-we0-x232.google.com ([2a00:1450:400c:c03::232]:45578) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLIqR-0003LE-HP for bug-grep@gnu.org; Tue, 10 Feb 2015 16:59:48 -0500 Received: by mail-we0-f178.google.com with SMTP id w62so19048218wes.9 for ; Tue, 10 Feb 2015 13:59:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=message-id:disposition-notification-to:date:from:user-agent :mime-version:to:subject:content-type; bh=dbNQXVBKsBbMjHdsqGthk10DllKtTerjCT341roRoDU=; b=Dlk28Vrziq4bzVWvgZK1f11HNpo1M7eqHAw81SJLDrh2QgQrK+/n/QmsJ0yaCJf8IS h4nPFh3s5dSJ++PTf7e55XKChqPveWvltDbPMihHoRcDTk7zoh5JfQ+1lZjRskmvN7bq W3khiI0x/vdOszxNogVTbIvuHjqY2AfhGWr45m5xAvGaJRcc8E87dyOXmuOtt5P0Sdpq nZeZ3mDfFWIHdUTcXP5yEY4FuNT4j7gat+H1WB1T3iMxD/YQFWgtSPID/UwJJsQTvwFf w/g9+8zWX2tBzqYVQRzjBKMN1QQ7qlG0/8qyAEe9w09H5D9HMlmxS87RekZPSyyB+FHu qeHw== X-Received: by 10.194.175.39 with SMTP id bx7mr57649173wjc.22.1423605586052; Tue, 10 Feb 2015 13:59:46 -0800 (PST) Received: from ?IPv6:2a01:5c0:12:97b1:c41e:6d33:7df3:fa03? ([2a01:5c0:12:97b1:c41e:6d33:7df3:fa03]) by mx.google.com with ESMTPSA id qg4sm14956295wic.13.2015.02.10.13.59.44 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 10 Feb 2015 13:59:45 -0800 (PST) Message-ID: <54DA7F4A.5070207@googlemail.com> Date: Tue, 10 Feb 2015 22:59:38 +0100 From: Oliver Freyermuth User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: bug-grep@gnu.org Subject: grep: internal PCRE error: -27 since updating from 2.16 to 2.21 Content-Type: multipart/mixed; boundary="------------060900060209040301080508" X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 10 Feb 2015 17:14:20 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) This is a multi-part message in MIME format. --------------060900060209040301080508 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Dear grep'pers, since I updated from 2.16 to 2.21, several of my "check list of files for bad filenames"-style grep expressions fail like this: grep: internal PCRE error: -27 (one of the failing examples follows at the end of the mail, example filename-list attached) Researching this, I found that -27 is PCRE_ERROR_JIT_STACKLIMIT. Apparently I exceed the 512 K JIT-stack-limit which is hardcoded in grep with several of my regexps. As using the JIT can not be turned off at runtime, nor can the stacksize be controlled without patching + recompiling, this breaks previously working expressions for me, so I consider this a new regression, introduced with b06f7a29a58bbdd5866afc1e92dba3fdc9e2ed59 . I tested that increasing the stack-size to 1 M fixes the problem for me. A better fix could maybe consist of a better error message, allowing stack-size control at runtime and / or making JIT optional at runtime. Reproducer, using the attached file (which is generated by a find command, of course - only 637 files with absolute paths in plain ASCII): $ LANG=C grep -P -n '^([/](?!/)|[^/])*~/.*' pcrejit.txt grep: internal PCRE error: -27 Cheers, Oliver --------------060900060209040301080508 Content-Type: text/plain; charset=UTF-8; name="pcrejit.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pcrejit.txt" L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZWcvQ0JUVmlydHVhbE1DUGFy dGljbGVDb250YWluZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0 L2VnL0NCVE1vbnRlQ2FybG9TdGVwLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9saWdodC9lZy9DQlRNb250ZUNhcmxvRW5lcmd5RGVwb3NpdC5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZWcvQ0JUTW9udGVDYXJsb0luZm8uY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2VnL0NCVFJlYWN0aW9uLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9lZy9DQlRSb3V0ZS5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZWcvQ0JUVHJhY2suY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2VnL0NCVE1vbnRlQ2FybG9UcmFjay5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZWcvQ0JUUGFydGljbGUuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2UvQ0JUSGlz dG9ncmFtTW9kaWZpZXJQbG90TGluZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2xpZ2h0L2d1aWRvL2Jhc2UvQ0JUR1VJRWxlbWVudC5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvZ3VpZG8vYmFzZS9DQlRHVUlIaXN0b2dyYW1Db250cm9s QWN0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9ndWlkby9i YXNlL0NCVEdVSUhpc3RvZ3JhbUNvbnRyb2xQYWdlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC9ndWlkby9iYXNlL0NCVEdVSVNsb3RDb25uZWN0LmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9ndWlkby9iYXNlL0NCVEdVSVRyZWVW aWV3TG9hZEV4cGxvcmFOZXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L2d1aWRvL2Jhc2UvQ0JUR1VJVHJlZVZpZXdMb2FkUm9vdEZpbGUuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2UvQ0JUSGlzdG9ncmFtQ2hl Y2suY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2Uv Q0JUSGlzdG9ncmFtQ2hlY2tDaGVieXNoZXZHYXVzcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3Jl cG9zL2V4cGxvcmFfbGlnaHQvZ3VpZG8vYmFzZS9DQlRIaXN0b2dyYW1DaGVja1Bvc2l0aW9u T2ZNYXhpbXVtLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9ndWlk by9iYXNlL0NCVFRMaW5lLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdo dC9ndWlkby9iYXNlL0NCVEdVSU9iakNvbWJvQm94LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC9ndWlkby9iYXNlL0NCVEdVSVByb2plY3Rpb24uY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2UvQ0JUR1VJVHJlZVZp ZXcuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2Uv Q0JUSGlzdG9ncmFtQ2hlY2tEaXZJblJhbmdlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9ndWlkby9iYXNlL0NCVEhpc3RvZ3JhbUNoZWNrR2VuZXJpYy5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZ3VpZG8vYmFzZS9DQlRIaXN0 b2dyYW1DaGVja1BlZGVzdGFsLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9s aWdodC9ndWlkby9iYXNlL0NCVEhpc3RvZ3JhbUZpbmRNYXhpbXVtLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9ndWlkby9iYXNlL0NCVEhpc3RvZ3JhbUxpbkdh dXNGaXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jh c2UvQ0JUR1VJVHJlZVZpZXdIaURFLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9saWdodC9ndWlkby9iYXNlL0NCVEdVSUhpREVTdGF0dXMuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2xpZ2h0L2d1aWRvL2Jhc2UvQ0JUR1VJSGlzdG9ncmFtQ29udHJv bFBhZ2VFbnRyeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZ3Vp ZG8vYmFzZS9DQlRHVUkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0 L2d1aWRvL2Jhc2UvQ0JUR1VJSGlzdG9ncmFtQ29udHJvbC5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRBbGlnbm1lbnRPYmouY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JUQ2ZnVmFsdWUuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JURGF0YUlu Zm9PYmouY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmov Q0JURGF0YVBhdHRlcm4uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0 L2RhdGFvYmovQ0JURXhjZXB0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9saWdodC9kYXRhb2JqL0NCVEV4cGxvcmFJbmZvLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVEZsb2F0LmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVEludGVnZXIuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JUT2JqQXR0cmlidXRlcy5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRVSW50QXJy YXkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JU Q2ZnQm9vbC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9i ai9DQlRDZmdGbG9hdC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv ZGF0YW9iai9DQlRDZmdJbnRlZ2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9saWdodC9kYXRhb2JqL0NCVENmZ1N0cmluZy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9z L2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRQbHVnaW5BbmRDb250YWluZXJHcmFwaC5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRGbGFncy5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRGbGFn c1VzYWdlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2Jq L0NCVENhbGlicmF0aW9uRW50cnkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2xpZ2h0L2RhdGFvYmovQ0JUQ2FsaWJyYXRpb25SYW5nZS5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRDYWxpYnJhdGlvblRhYmxlLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVEluZGV4TWFw LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVEV4 dGVyblVuaXF1ZUlkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9k YXRhb2JqL0NCVFJ1bkluZm8uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L2RhdGFvYmovQ0JUQnl0ZUFycmF5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9saWdodC9kYXRhb2JqL0NCVEV4cGxvcmFGaWxlSW5mby5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlREYXRhQ2FsaWJyYXRpb25PYmou Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JUUmVm QXJyYXkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFvYmov Q0JUWE1MQXR0cmlidXRlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdo dC9kYXRhb2JqL0NCVFhNTE5vZGUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2xpZ2h0L2RhdGFvYmovQ0JUT2JqQXJyYXkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JURXZlbnRJbmZvLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVEZBRENEYXRhT2JqLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVE5hbWVkLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVFJ1bkZpbHRlck9i ai5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRT Y2FsZXJPYmouY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2RhdGFv YmovQ0JUU2Vuc2l0aXZlRGV0ZWN0b3IuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2xpZ2h0L2RhdGFvYmovQ0JUVmFsdWUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2xpZ2h0L2RhdGFvYmovQ0JURGF0YU9iai5jcHAgL2hvbWUvb2xpZnJlL0IxL3Jl cG9zL2V4cGxvcmFfbGlnaHQvZGF0YW9iai9DQlRPYmpQb2ludGVyLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9kYXRhb2JqL0NCVFJlZi5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvbWFpbi9zcGxhc2hzY3JlZW4uY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L21haW4vZXhwbG9yYS5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DRGVm YXVsdEZpZWxkR2VuZXJhdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9s aWdodC92bWMvYmFzZS9DQlRWaXJ0dWFsTUNFdmVudFByb2Nlc3Nvci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DRmllbGRQ cm94eS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2Uv Q0JUVmlydHVhbE1DUHJveHkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L3ZtYy9iYXNlL0NCVFZpcnR1YWxNQ1N0YWNrLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC92bWMvYmFzZS9DQlRHZWFudDNNQy5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DUHJpbWFyeU1h bmFnZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3ZtYy9iYXNl L0NCVFZpcnR1YWxNQ1VuaWZvcm1NYWduZXRpY0ZpZWxkLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC92bWMvYmFzZS9DQlRWaXJ0dWFsTUNDb3NtaWNHZW5lcmF0 b3IuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3ZtYy9iYXNlL0NC VFZpcnR1YWxNQ0ZpZWxkTWFuYWdlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DTWFuYWdlci5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUR2VhbnQ0TUMuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3ZtYy9iYXNlL0NCVFZpcnR1YWxNQ0dl b21ldHJ5TWFuYWdlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv dm1jL2Jhc2UvQ0JUVmlydHVhbE1DTWFnbmV0aWNGaWVsZE1hcC5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DTWF0ZXJpYWxN YW5hZ2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC92bWMvYmFz ZS9DQlRWaXJ0dWFsTUNQYXJ0aWNsZU1hbmFnZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2xpZ2h0L3ZtYy9iYXNlL0NCVFZpcnR1YWxNQ1BoeXNpY3NNYW5hZ2VyLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC92bWMvYmFzZS9DQlRWaXJ0 dWFsTUNQcmltYXJ5R2VuZXJhdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9saWdodC92bWMvYmFzZS9DQlRWaXJ0dWFsTUNQaGFzZVNwYWNlR2VuZXJhdG9yLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC92bWMvYmFzZS9DQlRWaXJ0dWFs TUNEZWZhdWx0UHJpbWFyeUdlbmVyYXRvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvdm1jL2Jhc2UvQ0JUVmlydHVhbE1DLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVENvbmZpZ0F0dHJpYnV0ZS5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9DQlRMb2FkSGlzdG9Gb2xkZXIu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JURXh0ZXJu U2hhcmVkTGlicmFyeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv YmFzZS9DQlRDb25maWdDbGFzcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf bGlnaHQvYmFzZS9DQlRDb25maWdEZXByZWNhdGVkQXR0cmlidXRlLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVENvbmZpZ0lubmVyT2JqZWN0LmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVENpbnQuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQlRJbml0LmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0JUSEF4aXMuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUQ29uZmlnUGFydGlj bGVDb2RlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NC VENvbmZpZ1Byb3BlcnR5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdo dC9iYXNlL0NCVENvbmZpZ1N0cmluZy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvYmFzZS9DQlRDb25maWdWZWN0b3IyQ29sbGVjdGlvbi5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9DQlREb2N1bWVudGF0aW9uR2VuZXJh dG9yRmFjdG9yeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFz ZS9DQlRUaHJlYWQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jh c2UvQ0JURGVmYXVsdExvZ2dlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf bGlnaHQvYmFzZS9DQlRDb25maWdCb29sLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9saWdodC9iYXNlL0NCVFRleHREb2N1bWVudGF0aW9uR2VuZXJhdG9yLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVFhNTE1hbmFnZXIuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JURmlsZUlPLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVFBsdWdpbi5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9DQlRDb25maWdF bnVtLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVFBs dWdpbkNvbnZlbmllbmNlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdo dC9iYXNlL0NCVENvbmZpZ1ZlY3RvcjMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2xpZ2h0L2Jhc2UvQ0JUU2FuZEJveC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvYmFzZS9DQlRPYmplY3RNYW5hZ2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVFhTRERvY3VtZW50YXRpb25HZW5lcmF0b3Iu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUQ29uZmln RmxvYXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JU Q29uZmlnSW50ZWdlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv YmFzZS9DQlRDb25zdGFudHMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L2Jhc2UvQ0JURmxhZy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGln aHQvYmFzZS9DQlRPYmplY3QuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L2Jhc2UvQ0JURXZlbnRQcm9jZXNzb3IuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUUGx1Z2luUHJvZmlsZXIuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUUGx1Z2luUHJvZmlsZXJBU00uY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUUGh5c2ljc0Z1bmN0 aW9ucy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9DQlRS dW5NYW5hZ2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNl L0NCVENvbmZpZ1BhcnRpY2xlQXJyYXkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2xpZ2h0L2Jhc2UvQ0JUT2JqZWN0Q29udmVuaWVuY2UuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2xpZ2h0L2Jhc2UvQ0JUWE1MQ29uZmlnSGFuZGxlci5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9DQlREYXRhTWFuYWdlci5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvYmFzZS9CVFBhcnRpY2xl UERHLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9iYXNlL0NCVFBs dWdpbkNoZWNrZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3Bs dWdpbnMvaW8vQ0JURHVtbXlJbnB1dC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvcGx1Z2lucy9pby9DQlRQcm9jZXNzQ2FsaWJyYXRvci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRSYXdiYW5rRGVjb2Rl ci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9D QlRSb290RmlsZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1 Z2lucy9pby9DQlRTY2FsZXJJbmRleE1hcHBpbmcuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvaW8vQ0JURmlsZS5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRHWklQRmlsZS5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRDYWxpYnJhdGlv blRhYmxlSW5mby5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1 Z2lucy9pby9DQlREYXRhRXh0cmFjdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9saWdodC9wbHVnaW5zL2lvL0NCVERhdGFSZWxvYWRPYmouY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvaW8vQ0JUUnVuRmlsZS5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRSdW5MaXN0 LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL2lvL0NC VEJpbmFyeURlY29kZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0 L3BsdWdpbnMvaW8vQ0JUWmVicmFEZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9wbHVnaW5zL2lvL0NCVENTVkRlY29kZXIuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvaW8vQ0JURGVmYXVsdERldGVjdG9y LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL2lvL0NC VEluZGV4TFVULmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVn aW5zL2lvL0NCVEZpbGVHZXR0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2xpZ2h0L3BsdWdpbnMvaW8vQ0JUSGlERUNvbm5lY3Rpb24uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvaW8vQ0JUUmF3ZGF0YU1hcHBlci5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRCYXNl Q2FsaWJyYXRvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1 Z2lucy9pby9DQlRDU1ZMb29rdXBGaWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9saWdodC9wbHVnaW5zL2lvL0NCVERlZmF1bHRTZW5zaXRpdmVEZXRlY3Rvci5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9pby9DQlRCWjJG aWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL2lv L0NCVFJvb3RUcmVlT3V0cHV0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9s aWdodC9wbHVnaW5zL2lvL0NCVEV4cGxvcmFGaWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL2lvL0NCVFJvb3RUcmVlSW5wdXQuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRCcm93c2Vy LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwv Q0JUUERGUGFkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVn aW5zL3V0aWwvQ0JUUnVuU3VtbWFyeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFNraXBFdmVudC5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFNraXBSdW4uY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRDcmVhdGVB cnRpZmljaWFsRGF0YU9iai5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGln aHQvcGx1Z2lucy91dGlsL0NCVEdlbmVyaWNEYXRhQ2FsaWJyYXRvci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVEhpc3RvZ3JhbVJv dW5kUm9iaW4uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdp bnMvdXRpbC9DQlRLb2xtb2dvcm92VGVzdC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFBERkRvY3VtZW50LmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUUkNQLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUU2Vuc2Rl dFN3aXRjaFRvSGlnaHJhbmdlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9s aWdodC9wbHVnaW5zL3V0aWwvQ0JUU29ydFVJbnRBcnJheS5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFRhcmdldFBvbGFyaXNhdGlv bkNvbmRpdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1 Z2lucy91dGlsL0NCVFRpbWVvdXRDb25kaXRpb24uY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRGQURDRGF0YUNhbGlicmF0b3IuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRD b25kaXRpb25hbFByb2Nlc3MuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L3BsdWdpbnMvdXRpbC9DQlRPdXRwdXRLaWxsZXIuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlREYXRhT2JqQ29pbmNpZGVuY2Uu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9D QlRBbmFseXNlRGF0YWJhc2VDYWxpYnJhdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUTVREQ0RvdWJsZUhpdFJlbW92YWwuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRS ZWZsZWN0aW9uRmluZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdo dC9wbHVnaW5zL3V0aWwvQ0JUUnVuTnVtYmVySGlzdG8uY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvdXRpbC9DQlRQYXVzZU9uQ29uZGl0aW9uLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JU TWFrZUhpc3RvZ3JhbVJvdW5kUm9iaW5zLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUUERGUGFnZS5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFBlcmZDb3VudGVyLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUQmVh bVBvbGFyaXNhdGlvbkNvbmRpdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVEhleER1bXBSYXdkYXRhLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JUU2NhbGVyRXZlbnRD b25kaXRpb24uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdp bnMvdXRpbC9DQlRTcGlsbEluTGlzdENvbmRpdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3Jl cG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVENTVkZpbGVDYWxpYnJhdG9yLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JU RGF0YUNhbGlicmF0aW9uT2JqRmFjdG9yeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvcGx1Z2lucy91dGlsL0NCVFN0YXRpY0RhdGFDYWxpYnJhdG9yLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL3V0aWwvQ0JURGF0 YUNvbnRhaW5lci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1 Z2lucy91dGlsL0NCVER1bXBEYXRhT2JqQ29udGFpbmVyLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL2RlY29kZXIvQ0JUTFJTMjU1MUNvdW50ZXJE ZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5z L2RlY29kZXIvQ0JURkFEQ0RhdGFEZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9wbHVnaW5zL2RlY29kZXIvQ0JURGF0YXN0cnVjdHVyZS5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9kZWNvZGVyL0NCVENh ZW5RRENEZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9w bHVnaW5zL2RlY29kZXIvQ0JUQ2FlblREQ0RlY29kZXIuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvZGVjb2Rlci9DQlRDcm9zM0RlY29kZXIuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvZGVjb2Rlci9D QlRTY2FsZXJzdHJ1Y3R1cmUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L3BsdWdpbnMvZGVjb2Rlci9DQlREZWZhdWx0RGVjb2Rlci5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9tb25pdG9yL0NCVEdldFNlbnNpdGl2 ZURldGVjdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVn aW5zL21vbml0b3IvQ0JUU2hvd0NhbnZhcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvcGx1Z2lucy9tb25pdG9yL0NCVEhGbGFzaEFEQy5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvcGx1Z2lucy9tb25pdG9yL0NCVEhNVERDUmF0 ZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L3BsdWdpbnMvbW9u aXRvci9DQlRIU2NhbGVyUmF0ZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2xpZ2h0L3BsdWdpbnMvbW9uaXRvci9DQlRIU2Vuc0RldENvaW5jaWRlbmNlLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL21vbml0b3IvQ0JUSFNl bnNEZXRDb2luY2lkZW5jZVRpbWUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2xpZ2h0L3BsdWdpbnMvbW9uaXRvci9DQlRIU3RkU2NhbGVyLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9saWdodC9wbHVnaW5zL21vbml0b3IvQ0JUSFN0ZFNlbnNpdGl2 ZURldGVjdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRl cmZhY2VzL0NCSUNhbGlicmF0aW9uRXhwb3J0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSUNvbmRpdGlvbi5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklDcmVhdGVTZW5zaXRpdmVE ZXRlY3Rvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJm YWNlcy9DQklDdXRzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9p bnRlcmZhY2VzL0NCSURhdGFFbnRyeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvaW50ZXJmYWNlcy9DQklEYXRhSW5wdXQuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJRGF0YU91dHB1dC5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklEZWNheVNlbGVj dG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2Vz L0NCSUV2ZW50UHJvY2Vzc29yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9s aWdodC9pbnRlcmZhY2VzL0NCSUZpbGVJTy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklGaWx0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJSGlzdG9ncmFtTW9kaWZpZXIuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJSW5k ZXhMb29rdXBWYWx1ZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv aW50ZXJmYWNlcy9DQklJbmRleE1hcC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfbGlnaHQvaW50ZXJmYWNlcy9DQklJbnB1dEZpbHRlci5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklMb2dnZXIuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJT25lUGFydGljbGVN YWtlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNl cy9DQklPdXRwdXRGaWx0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xp Z2h0L2ludGVyZmFjZXMvQ0JJT3V0cHV0U3RyZWFtLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSVBhcnRpY2xlQW5hbHlzZS5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklQYXJ0aWNs ZUZhY3RvcnkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVy ZmFjZXMvQ0JJUGFydGljbGVTZWxlY3Rvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklQaG90b25CZWFtUG9sYXJpc2F0aW9uLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSVBsdWdp blByb2ZpbGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRl cmZhY2VzL0NCSVByaW9yaXR5UHJvY2Vzcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklQcm9jZXNzLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSVByb2Nlc3NMaXN0ZW5lci5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklSdW5G aWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2Vz L0NCSVJ1bkluZm8uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2lu dGVyZmFjZXMvQ0JJUnVuSW5mb0xpc3RlbmVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSVJ1bk1hbmFnZXIuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJU2VsZWN0b3IuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJU2xpbmtB ZGMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMv Q0JJU3ViUHJvY2Vzcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQv aW50ZXJmYWNlcy9DQklEZWNvZGVyTW9kdWwuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJQ2ZnVmFsdWVzLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSUlucHV0U3RyZWFtLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZhY2VzL0NCSVBsdWdp blByb2Nlc3Nvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50 ZXJmYWNlcy9DQklEYXRhYmFzZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf bGlnaHQvaW50ZXJmYWNlcy9DQklHZXR0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJRW5lcmd5RGF0YS5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklUaW1lRGF0YS5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklUYWJsZUxp c3RlbmVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9saWdodC9pbnRlcmZh Y2VzL0JJQXhpcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50 ZXJmYWNlcy9CSUNvcHlDb25zdHJ1Y3QuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2xpZ2h0L2ludGVyZmFjZXMvQ0JJQ2xlYXJIaXN0b3NMaXN0ZW5lci5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfbGlnaHQvaW50ZXJmYWNlcy9DQklQYXJ0aWNsZVZN Qy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qv dGltaW5nL0JUVGltZVJlZjRqVERDLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC90aW1pbmcvQ0JUVGRjU2F2ZXIuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3RpbWluZy9DQlRUaW1lUmVm LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC90 aW1pbmcvQ0JUVHJpZ2dlclRpbWUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2Jnb19hZGRvbnMvYmdvX29kL3RpbWluZy9CVEV2ZW50VGltZUNvcnJlY3Rpb24uY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3RpbWluZy9C VFNlbnNEZXRDb3JyZWxhdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2QvdGltaW5nL0JUalRhZ2dlclRpbWluZy5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvdGltaW5nL0NCVEhDaGFu bmVsRGVwZW5kZW50VGltZURpZmZzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC90aW1pbmcvQ0JUSFRyaXBsZUNvaW5jaWRlbmNlLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC90aW1pbmcv Q0JUVGltZURpZmZzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC90aW1pbmcvQ0JUVGltZURpZmZzVHJpZ2dlclRpbWluZy5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGVjb2Rlci9CVEpU RENEZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9kZWNvZGVyL0JUQ2FlblYxNzQyRGVjb2Rlci5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGVjb2Rlci9CVENhZW5WNzkyRGVj b2Rlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29f b2QvZGVjb2Rlci9CVEZQR0FTY2FsZXJEZWNvZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZWNvZGVyL0JUU2lsaWNvbkRlY29kZXIu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2Rl Y29kZXIvQlRGUEdBVGVzdERlY29kZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2Jnb19hZGRvbnMvYmdvX29kL2RlY29kZXIvQlRpVERDRGVjb2Rlci5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGVjb2Rlci9CVGlU RENEZWNvZGVyNFRPRi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvZGVjb2Rlci9CVEFWTTE2RGVjb2Rlci5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGMvQ0JURGNTcGFjZVRvRHJpZnRU aW1lUmVsYXRpb25zaGlwR2VuZXJhdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYy9DQlREY1RpbWVUb0Rpc3RhbmNlQ29udmVydGVy LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9k Yy9CVERjU3BhY2VUb0RyaWZ0VGltZVJlbGF0aW9uc2hpcEZvcm11bGEuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RjL0NCVERjU3BhY2VU b0RyaWZ0VGltZVJlbGF0aW9uc2hpcC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZGMvQlREY1NwYWNlVG9EcmlmdFRpbWVSZWxhdGlvbnNo aXBTZHJBbmdsZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvZGMvQlREY1NwYWNlVG9EcmlmdFRpbWVSZWxhdGlvbnNoaXBDb25zdC5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGMvQlRE Y1NwYWNlVG9EcmlmdFRpbWVSZWxhdGlvbnNoaXBTaW11bGF0ZWQuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3JlYWRvdXQvQlRFeGl0T25D b25maWdDaGFuZ2UuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3JlYWRvdXQvQlRTaHJpbmtDb250YWluZXJzLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9yZWFkb3V0L0JUU2ltdWxhdGlv bklucHV0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9yZWFkb3V0L0JUQkdPT0RSb290RmlsZUlucHV0LmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVEFyZWFEZXRlY3Rv ckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRCR09EZXRlY3Rvckdlb21ldHJ5QnVpbGRlci5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2Vv bWV0cnkvQlRCYXJyZWxEZXRlY3Rvckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlREZXRlY3Rv ckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlREZXRlY3Rvckdlb21ldHJ5RHJpZnQuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5 L0JURGV0ZWN0b3JHZW9tZXRyeUdJTS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlREZXRlY3Rvckdlb21ldHJ5UmVsYXRp dmVUb1RhZ2dlck1hZ25ldC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlREZXRlY3Rvckdlb21ldHJ5U2NpRmkyLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRy eS9CVERldGVjdG9yR2VvbWV0cnlTaWxpY29uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVEVsZWN0cm9uQmVhbUR1bXBE ZXRlY3Rvckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRHSU1EZXRlY3Rvckdlb21ldHJ5QnVp bGRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29f b2QvZ2VvbWV0cnkvQlRNT01PRGV0ZWN0b3JHZW9tZXRyeUJ1aWxkZXIuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JUTVJQ Q0RldGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVE1hZ25ldERldGVjdG9yR2VvbWV0 cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9nZW9tZXRyeS9CVFNjaUZpMkRldGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRy eS9CVFRPRkRldGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVFRPRk5ldXRyb25QaG90 b25Db252ZXJ0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL2dlb21ldHJ5L0JUVGFnZ2VyRGV0ZWN0b3JHZW9tZXRyeUJ1aWxkZXIuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21l dHJ5L0JUVGFnZ2VyUHJvdG9EZXRlY3Rvckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRUYXJn ZXREZXRlY3Rvckdlb21ldHJ5QnVpbGRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRUdWJlR2VvbWV0cnlCdWlsZGVy LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9n ZW9tZXRyeS9CVEdlbmVyaWNIb2Rvc2NvcGVHZW9tZXRyeUJ1aWxkZXIuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JUVGFn Z2VyTWFnbmV0RGV0ZWN0b3JHZW9tZXRyeUJ1aWxkZXIuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JURGV0ZWN0b3JHZW9t ZXRyeU1SUEMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL2dlb21ldHJ5L0JURGV0ZWN0b3JHZW9tZXRyeUJHTy5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRNb2VsbGVy RGV0ZWN0b3JHZW9tZXRyeUJ1aWxkZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JURGV0ZWN0b3JHZW9tZXRyeUN5bC5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2Vv bWV0cnkvQlRTaWxpY29uRGV0ZWN0b3JHZW9tZXRyeUJ1aWxkZXIuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JUTVdQQ0Rl dGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVERldGVjdG9yR2VvbWV0cnlNT01PLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9t ZXRyeS9CVERldGVjdG9yR2VvbWV0cnkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2Jnb19hZGRvbnMvYmdvX29kL2dlb21ldHJ5L0JURGV0ZWN0b3JHZW9tZXRyeVRhZ2dl ci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qv Z2VvbWV0cnkvQlREcmlmdERldGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9nZW9tZXRyeS9CVERldGVj dG9yR2VvbWV0cnlUYWdnZXJQcm90by5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZ2VvbWV0cnkvQlRQbGFuYXJNV1BDR2VvbWV0cnlCdWls ZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9kYXRhb2JqL0JUQVZNMTZSYXdEYXRhLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUQ2FlblYxNzQyUmF3RGF0YS5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9i ai9CVENhbGlicmF0aW9uVGFibGVJbmZvLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUQ2FsaWJyYXRpb25UYWJsZUluZm9C Z29PZFN0eWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9kYXRhb2JqL0JUQ2FsaWJyYXRpb25UYWJsZUluZm9DQlN0eWxlLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JU RGF0YUNhbGlicmF0aW9uT2JqNFNjYWxlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVERhdGFDYWxpYnJhdGlvbk9ialdp dGhFeHRyYVRhYmxlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9kYXRhb2JqL0JUVVNob3J0QXJyYXkuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmovQlRTbG93Y29udHJvbFZh bHVlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9kYXRhb2JqL0JURGF0YUNhbGlicmF0aW9uT2JqV2l0aEV4dHJhVGFibGU0alREQy5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9i ai9CVFJ1blBhcmFtZXRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVFBob3RvcHJvZHVjdGlvblByb2Nlc3MuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmov QlRDbHVzdGVyREMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL2RhdGFvYmovQlRGaXR0ZWRUcmFja0dlbmVyaWMuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmovQlRQcm9jZXNz SGlzdG8uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL2RhdGFvYmovQlREZXRlY3RvcklkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JURml0dGVkVHJhY2tHZW5GaXQuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFv YmovQlRDbHVzdGVyQmdvLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29f YWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUQXNzb2NpYXRpb24uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmovQlRDbHVzdGVyVGFn Z2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9kYXRhb2JqL0JUQ2x1c3RlclRvZi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVEhpdERDLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUUmVhY3Rpb25F dmVudEdlbmVyYXRvci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvZGF0YW9iai9CVFJ1bkluZm8uY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmovQlRUcmFjay5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVFRy YWNrQ2VudHJhbC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvZGF0YW9iai9CVFRyYWNrRm9yd2FyZC5jcHAgL2hvbWUvb2xpZnJlL0IxL3Jl cG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVEFzc29jaWF0aW9uVHJh Y2suY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L2RhdGFvYmovQklBc3NvY2lhdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVENvbmRpdGlvblN0YXRzTm9kZS5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9i ai9DQlRIaXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL2RhdGFvYmovQlRFbHNhRW5lcmd5SGFuZGxlci5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVENsdXN0ZXIuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFv YmovQlRGaXR0ZWRUcmFjay5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CSUZpdHRlZFRyYWNrUHJvdmlkZXIuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RhdGFvYmovQlRQ YXJ0aWNsZUZyb21UcmFjay5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZGF0YW9iai9CVFJlYWN0aW9uQ2FuZGlkYXRlLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUUGFy dGljbGUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL2RhdGFvYmovQlRQYXJ0aWNsZUNvbXBvc2VkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUUGFydGljbGVDb21wb3Nl ZFZNQy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29f b2QvZGF0YW9iai9CVFBhcnRpY2xlVk1DLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kYXRhb2JqL0JUUmVhY3Rpb24uY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9EQVEv QlRDcm93bk9yVHJpZ2dlclNpZ25hbEZyb21IaXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9EQVEvQlRTaW1wbGVUcmln Z2VyU2lnbmFsRnJvbUhpdC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZGV0ZWN0b3JzL0RBUS9CVFByb2Nlc3NUcmlnZ2Vycy5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGV0ZWN0b3Jz L0RBUS9DQlRCMVRyaWdnZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jn b19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9EQVEvQ0JURGFxSGlzdG9zLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvREFR L0NCVERhcVBlcmZvcm1hbmNlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9i Z29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvR0lNL0JURmx1TW9FZmZpY2llbmN5SGlzdG9n cmFtcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29f b2QvZGV0ZWN0b3JzL0dJTS9CVEdpbUNvcnJlY3Rpb25EYUdlLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvR0lNL0JUR2lt RWZmaWNpZW5jeUhpc3RvZ3JhbXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2Jnb19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9HSU0vQlRHaW1IaXN0b2dyYW1zLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3Rv cnMvR0lNL0JUUGhvdG9uRGVmaW5pdGlvblByb2JhYmlsaXR5LmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvR0lNL0JUUGhv dG9uRGVmaW5pdGlvblByb2JhYmlsaXR5RGFHZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9z L2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGV0ZWN0b3JzL0JHTy9CVEhSYXdEYXRhLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRl Y3RvcnMvQkdPL0NCVEhCZ29IaXN0b2dyYW1zLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvRHJpZnRDaGFtYmVycy9DQlRE cmlmdFRocmVzaG9sZHMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19h ZGRvbnMvYmdvX29kL2RldGVjdG9ycy9Nb2VsbGVyL0JUUmVjb01DTW9lbGxlclRoZXRhLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRl Y3RvcnMvVG9GL0JUSENhZW5WMTc0MlJhd0RhdGEuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9Ub0YvQlRDbHVzdGVyVnNU cmFja18xXzIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL2RldGVjdG9ycy9Ub0YvQlRlbXB0eVBsdWdpbi5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvZGV0ZWN0b3JzL1RvRi9CVEZlYXR1 cmVFeHRyYWN0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9kZXRlY3RvcnMvVG9GL0JUQW5hbHlzZVNhZGMuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2RldGVjdG9ycy9Ub0YvQlRDYWVu VjE3NDJSYXdEYXRhVHJlZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvZGV0ZWN0b3JzL1RvRi9CVEhDYWVuVjE3NDJSYXdPZmZzZXRzLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRl Y3RvcnMvVG9GL0JUSENsdXN0ZXJWc1RyYWNrLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9kZXRlY3RvcnMvVG9GL0JUSE5ldXRyb25EZXRl Y3Rpb25FZmZpY2llbmN5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29f YWRkb25zL2Jnb19vZC92bWMvQlRWaXJ0dWFsTUNEaWdpdGl6ZXJDYWxsZXIuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ZtYy9CVFZpcnR1 YWxNQ01hdGVyaWFsTWFuYWdlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2Qvdm1jL0JUVmlydHVhbE1DVG9GRGlnaXRpemVyLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC92bWMvQ0JUVmly dHVhbE1DU3ltbWV0cmljUGhhc2VTcGFjZUdlbmVyYXRvci5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvdm1jL0JUVmlydHVhbE1DRmllbGRQ bG90dGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC92bWMvQlRWaXJ0dWFsTUNHZW9tZXRyeU1hbmFnZXIuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ZtYy9DQlRWaXJ0dWFsTUNQcmlt YXJ5R2VuZXJhdG9yR2F1c3NpYW4uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2Jnb19hZGRvbnMvYmdvX29kL3ZtYy9DQlRNV1BDUmVjb25zdHJ1Y3QuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ZtYy9CVFZpcnR1YWxN Q0RpZ2l0aXppbmcuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3ZtYy9CVFZpcnR1YWxNQ0VkZXBDb21iaW5lci5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvdm1jL0NCVFZpcnR1YWxNQ1By aW1hcnlHZW5lcmF0b3JDb2hlcmVudEJyZW1zLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC92bWMvQ0JUVmlydHVhbE1DVXNlRXZlbnRHZW5l cmF0b3IuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL3ZtYy9CVFZpcnR1YWxNQ0RDRGlnaXRpemVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC92bWMvQlRWaXJ0dWFsTUNNV1BDRGlnaXRp emVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC92bWMvQlRWaXJ0dWFsTUNTaWxpY29uRGlnaXRpemVyLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC92bWMvQ0JUVmlydHVhbE1DT0RNYWdu ZXRGaWVsZE1hcC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2Qvdm1jL0JUVmlydHVhbE1DRGlnaXRpemVyLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC92bWMvQlRSZWFjdGlvbkV2ZW50R2Vu ZXJhdG9yRmluYWxpemVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29f YWRkb25zL2Jnb19vZC92bWMvQlRWaXJ0dWFsTUNSZWFjdGlvbkV2ZW50R2VuZXJhdG9yLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9iYXNl L0JUQ29sbGVjdGlvblNvcnRlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2QvYmFzZS9CVFBhcnRpY2xlRW5lcmd5Q29ycmVjdGlvbi5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvYmFzZS9C VEIxU2xvd2NvbnRyb2xEYXRhYmFzZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvYmFzZS9CVEdldE9ubGluZUluZm8uY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL2Jhc2UvQlREYXRhQ2Fs aWJyYXRpb25PYmo0U2NhbGVyRmFjdG9yeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvYmFzZS9CVERhdGFDYWxpYnJhdGlvbk9ialdpdGhF eHRyYVRhYmxlRmFjdG9yeS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvYmFzZS9CVERhdGFDYWxpYnJhdGlvbk9ialdpdGhFeHRyYVRhYmxl NGpURENGYWN0b3J5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9iYXNlL0JUU2V0Q2FsaWJyYXRpb25PYmplY3RzLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9iYXNlL0JUSm9pbkNvbnRh aW5lcnMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL2Jhc2UvQlRBbmFseXNlRGF0YWJhc2VXaXRoRXh0cmFUYWJsZS5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvYmFzZS9CVEIxUnVuRGF0 YWJhc2UuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL2Jhc2UvQ0JUQjFBbmFseXNlRGF0YWJhc2UuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL21vbml0b3IvQlRDaGVja0hpc3RvU2l6ZXMu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL21v bml0b3IvQlRIQ2x1c3RlckNoZWNrLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9tb25pdG9yL0JUSERhdGFPYmpDb250YWluZXIuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL21vbml0b3Iv QlRISGl0TXVsdGlwbGljaXR5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9i Z29fYWRkb25zL2Jnb19vZC9tb25pdG9yL0JUSEludGVyYXJyaXZhbFRpbWUuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL21vbml0b3IvQlRI SkRpc2MuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL21vbml0b3IvQlRITGluUG9sLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9tb25pdG9yL0JUSFNhZGNOb2lzZVBsb3QuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL21vbml0b3IvQlRI U2NhbGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9tb25pdG9yL0JUSFdpcmVTY2FuLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9tb25pdG9yL0JUSENvbnRhaW5lcnMuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BoeXNpY3NhbmFs eXNpcy9vbWVnYV9waTBnYW1tYS9CVFRocmVlUGhvdG9uc0luQkdPLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9waHlzaWNzYW5hbHlzaXMv b21lZ2FfcGkwZ2FtbWEvQlRUd29QaG90b25zSW5CR08uY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BoeXNpY3NhbmFseXNpcy9CVEVmZmlj aWVuY3lBbmFseXNpcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5c2lzL0JUUGhvdG9wcm9kdWNlZE1lc29uRGV0ZWN0 aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9waHlzaWNzYW5hbHlzaXMvQlRQaG90b3Byb2R1Y2VkUGFydGljbGVGaWx0ZXJJbnZhcmlh bnRNYXNzVGhldGEuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3BoeXNpY3NhbmFseXNpcy9CVFBoeXNpY3NQUGkwLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9waHlzaWNzYW5hbHlzaXMv QlRQaU5vdFAuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL3BoeXNpY3NhbmFseXNpcy9CSVBhcnRpY2xlQ3JlYXRvci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5c2lz L0JUUmVhY3Rpb25Qcm90b25Nb2QuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3Jh X2Jnb19hZGRvbnMvYmdvX29kL3BoeXNpY3NhbmFseXNpcy9CVFJlYWN0aW9uVHJhY2suY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BoeXNp Y3NhbmFseXNpcy9CVFJlYWN0aW9uVHJhbnNmb3JtYXRpb24uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BoeXNpY3NhbmFseXNpcy9CVFJl YWN0aW9uRmluZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9waHlzaWNzYW5hbHlzaXMvQlRFdGFQaTBBbmFseXNpcy5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5 c2lzL0JUUmVhY3Rpb25QYXJ0aWNsZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5c2lzL0JUUmVhY3Rpb25GaW5hbFN0 YXRlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9waHlzaWNzYW5hbHlzaXMvQlRSZWFjdGlvbkluaXRpYWxTdGF0ZS5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5c2lz L0JUUmVhY3Rpb25TdGF0ZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvcGh5c2ljc2FuYWx5c2lzL0JUUmVhY3Rpb25LaW5lbWF0aWNzLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVh bmFseXNpcy90cmFja2luZy9CVFBsb3RUcmFja0ludGVyc2VjdFBvc2l0aW9ucy5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlz aXMvdHJhY2tpbmcvQlRUcmFja0ZpdHRpbmcuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUTGlua0Ns dXN0ZXJzVG9UcmFjay5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvdHJhY2tpbmcvQlRDYWxjVHJhY2tEQy5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlz aXMvdHJhY2tpbmcvQlRBYnN0cmFjdFRyYWNrRml0dGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90cmFja2luZy9C VENhbGNYREMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUQ2hhbmdlVHJhY2tQb3NpdGlvbk9mZnNl dC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qv cHJlYW5hbHlzaXMvdHJhY2tpbmcvQlRGcm9udFRyYWNraW5nLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90cmFja2lu Zy9CVFNlbGVjdFRyYWNrREMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jn b19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUVHJhY2tGaW5kZXJQcm9q ZWN0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9wcmVhbmFseXNpcy90cmFja2luZy9CVENhbGNEaXJlY3Rpb25EQy5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMv dHJhY2tpbmcvQlRDb21wYXJlVHJhY2tUb1NpbXVsYXRpb25QYXVsLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90cmFj a2luZy9CVENvcnJlY3RUcmFja01vbWVudHVtLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90cmFja2luZy9CVEZpdENl bnRyYWxUcmFja3MuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUQ2FsY1lOb3JtLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90 cmFja2luZy9CVENvbWJpbmVUcmFja3NBbmRUT0YuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUUHJv dmlkZUZvcndhcmRUcmFja0h5cG90aGVzZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUUmVjYWxj dWxhdGVCZXRhLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9wcmVhbmFseXNpcy90cmFja2luZy9CVENhbGNBbmdsZURDLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy90 cmFja2luZy9CVFBsb3RUcmFja1BhcmFtZXRlcnMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL3RyYWNraW5nL0JUQ29t YmluZVRyYWNrcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJGaW5kZXJDeWxpbmRy aWMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L3ByZWFuYWx5c2lzL2NsdXN0ZXJpbmcvQlRDbHVzdGVyRmluZGVyU2FwaGlyVGFnZ2VyLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVh bmFseXNpcy9jbHVzdGVyaW5nL0JUQ2x1c3RlckZpbmRlclNjaUZpLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9jbHVz dGVyaW5nL0JUQ2x1c3RlcmluZy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVEltcHJvdmVEQ0Ns dXN0ZXJQb3NpdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJGaW5kZXJUd29F bmRlZERldGVjdG9yLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9wcmVhbmFseXNpcy9jbHVzdGVyaW5nL0JUQ2x1c3RlckZpbmRlci5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5h bHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJGaW5kZXJCZ28uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL2NsdXN0ZXJp bmcvQlRDbHVzdGVyRmluZGVyVGFnZ2VyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9jbHVzdGVyaW5nL0JUQ2x1c3Rl ckZpbmRlclRhZ2dlclByb3RvLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9i Z29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9jbHVzdGVyaW5nL0JUQ2x1c3RlckZpbmRl clRvZi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29f b2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJUYWdnZXJEaXNlbnRhbmdsZS5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJl YW5hbHlzaXMvY2x1c3RlcmluZy9CVE1PTU9SZWNvbnN0cnVjdC5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3Rl cmluZy9CVFNpbGljb25SZWNvbnN0cnVjdC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVFNwbGl0 T3ZlcmxhcHBpbmdDbHVzdGVycy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJGaW5k ZXJUYWdnZXJTY2lGaS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1c3RlcmluZy9CVENsdXN0ZXJGaW5kZXJNV1BD LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9w cmVhbmFseXNpcy9jbHVzdGVyaW5nL0JUU2NpRmlSZWNvbnN0cnVjdC5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvY2x1 c3RlcmluZy9CVENvbWJpbmVCR09BbmRCYXJyZWwuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL2NsdXN0ZXJpbmcvQlRD bHVzdGVyRmluZGVyREMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19h ZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL0JUU3RvbmVoZW5nZS5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRTdG9u ZWhlbmdlUGxvdC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRUaW1lRGlmZmVyZW5jZS5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRUYWdn ZXJIVkNhbGlicmF0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29f YWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVEJhcnJlbEJHTy5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRCZWFt U2NhblZlcmVuYS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRFZmZpY2llbmN5VmVyZW5hLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVFRh Z2dlclByb3RvU3R1ZGllcy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRUYWdnZXJUaW1lUmVzb2x1dGlvbkxhcmEu Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3By ZWFuYWx5c2lzL0JUVGFnZ2VyVGltZVJlc29sdXRpb24uY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL0JURENUaW1lU3Bl Y3RydW0uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL3ByZWFuYWx5c2lzL0JUU2lsaWNvblJlc2lkdWFsRXN0aW1hdGlvbi5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMv QlRDdXRNYXRjaGluZ0NsdXN0ZXJzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVFBsb3RNQ1RyYWNrcy5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlz aXMvQlRSZWNvTUNDb21wYXJlQ2x1c3Rlci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRSZWNvTUNDb21wYXJlVHJh Y2suY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L3ByZWFuYWx5c2lzL0JUVGFnZ2VyRW5lcmd5UmVzb2x1dGlvbi5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRUYWdn ZXJFZmZpY2llbmN5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVFBhcnRpY2xlSUQuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL0JUU2Vuc0Rl dFRvSGl0REMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL3ByZWFuYWx5c2lzL0JUU2Vuc0RldFRvSGl0VGFnZ2VyUHJvdG8uY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lz L0JUVGltZUNCVEhpdFNlbGVjdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMvQlRUYWdnZXJQcm90b0V0YS5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5h bHlzaXMvQ0JUQmFzaWNQaHlzaWNzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9DQlRPbmxpbmVQaHlzaWNzLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFs eXNpcy9CVENyZWF0ZVBhcnRpY2xlRnJvbUNsdXN0ZXIuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3ByZWFuYWx5c2lzL0JUQ2FsaWJyYXRl QmFycmVsLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9wcmVhbmFseXNpcy9CVENoZWNrU3BlY3Ryb21ldGVyX1NhYmluZS5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcHJlYW5hbHlzaXMv QlRNZWFzdXJlRGV0ZWN0b3JSZXNvbHV0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVFNBZGNTZW5zRGV0VG9I aXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L3ByZWFuYWx5c2lzL0JUU2Vuc0RldFRvSGl0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wcmVhbmFseXNpcy9CVFNlbnNEZXRUb0hpdFRv VC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qv d29ya2lucHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRDaGVja1RyYWNrRWZmaWNpZW5jeS5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29y a2lucHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRQaHlzaWNzX0RlYzEzQlQuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dy ZXNzL2p1ZGVpbnByb2dyZXNzL0JUUGh5c2ljc19KdWx5MTRCVC5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvanVk ZWlucHJvZ3Jlc3MvQlRQaHlzaWNzX1NlcDEzQlQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2p1ZGVpbnByb2dy ZXNzL0NCVFBoeXNpY3NLMC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQ0JUUGh5c2lj c0tQbHVzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC93b3JraW5wcm9ncmVzcy9qdWRlaW5wcm9ncmVzcy9CVE1XUENUcmFja2luZy5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lu cHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRFdGFBc3ltbS5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvanVkZWlu cHJvZ3Jlc3MvQlRLUGx1cy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRQaHlzaWNz X0swLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC93b3JraW5wcm9ncmVzcy9qdWRlaW5wcm9ncmVzcy9CVFBoeXNpY3NfTm92MTRCVC5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lu cHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRQaHlzaWNzX051Y2xlYXJEZWNheVNlYXJjaC5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29y a2lucHJvZ3Jlc3MvanVkZWlucHJvZ3Jlc3MvQlRQaHlzaWNzX2VlcGFpci5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jl c3MvanVkZWlucHJvZ3Jlc3MvQlRTaW11bGF0ZVBsYW5hckRDLmNwcCAvaG9tZS9vbGlmcmUv QjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9qdWRl aW5wcm9ncmVzcy9CVEFsaWduVHJhY2tpbmdEZXRlY3RvcnMuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2NvbGVp bnByb2dyZXNzL0JURGV0ZWN0b3JHZW9tZXRyeVRhZ2dlclNjaUZpLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9j b2xlaW5wcm9ncmVzcy9CVFRhZ2dlclNjaUZpQW5hbHlzaXMuY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL0ZyYU1l SW5wcm9ncmVzcy9CVENsdXN0ZXJNUlBDLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9GcmFNZUlucHJvZ3Jlc3Mv QlRNUlBDMkRldGVjdG9yR2VvbWV0cnlCdWlsZGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9GcmFNZUlucHJv Z3Jlc3MvQlRDbHVzdGVyRmluZGVyTVJQQy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4 cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvRnJhTWVJbnByb2dyZXNz L0JUVGFnZ2VyUHJvdG9FdGEyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9i Z29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9nZXNjaGVJbnByb2dyZXNzL0JUR2Vv cmdUZXN0RGV0ZWN0b3IuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19h ZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJvZ3Jlc3MvQlRQaHlzaWNz RXRhUHJpbWUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJvZ3Jlc3MvQlRHU0ltcG9ydC5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lu cHJvZ3Jlc3MvZ2VzY2hlSW5wcm9ncmVzcy9CVEdlb3JnUGkwVGVzdC5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3Mv Z2VzY2hlSW5wcm9ncmVzcy9CVEdTUGFydGljbGUuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJv Z3Jlc3MvQlRHU0dlb21ldHJ5U2ltdWxhdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9z L2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvZ2VzY2hlSW5wcm9n cmVzcy9CVEdTR2VvbWV0cnlTaW11bGF0aW9uSzAuY3BwIC9ob21lL29saWZyZS9CMS9yZXBv cy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJv Z3Jlc3MvQlRQaHlzaWNzRXRhUHJpbWVOZXV0cmFsLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9nZXNjaGVJbnBy b2dyZXNzL0JUR1NFeHBvcnQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jn b19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJvZ3Jlc3MvQlRHU0Ns dXN0ZXJUZXN0LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC93b3JraW5wcm9ncmVzcy9nZXNjaGVJbnByb2dyZXNzL0JURXRhUHJpbWVQLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3Jr aW5wcm9ncmVzcy9nZXNjaGVJbnByb2dyZXNzL0JUR1JBQUxjbHVzdGVyaW5nLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9n cmVzcy9nZXNjaGVJbnByb2dyZXNzL0JUR1NDbHVzdGVyRkJHTy5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2Qvd29ya2lucHJvZ3Jlc3MvZ2Vz Y2hlSW5wcm9ncmVzcy9CVEdlb3JnS1plcm8uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3dvcmtpbnByb2dyZXNzL2dlc2NoZUlucHJvZ3Jl c3MvQlRUZXN0TVJQQ3JlcGxhY2VtZW50LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhw bG9yYV9iZ29fYWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9nZXNjaGVJbnByb2dyZXNz L0JUR1NQYXJ0aWNsZUlELmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29f YWRkb25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy9yYWNoZWxlSW5wcm9ncmVzcy9CVFBpME9u bGluZUFuYWx5c2lzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC93b3JraW5wcm9ncmVzcy96aW1tZXJtYW5uL0JUR2V0UmVsZXZhbnRCYXNl VHJhY2suY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdv X29kL3dvcmtpbnByb2dyZXNzL3ppbW1lcm1hbm4vQlRQbG90UmVhY3Rpb25BbmdsZXMuY3Bw IC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdp bnMvdmlzdWFsaXphdGlvbi9CSUdsb2JhbEV2ZUVsZW1lbnRGYWN0b3J5LmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3Vh bGl6YXRpb24vQklWaXN1YWxpemF0aW9uU2hvd0NhbG8uY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9C SVZpc3VhbGl6YXRpb25TdWJQbHVnaW4uY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBs b3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CSUV2ZUVsZW1l bnRGYWN0b3J5LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQklFdmVHVUlDcmVhdG9yLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zp c3VhbGl6YXRpb24vQlRDcmVhdGVFdmVQYWNrLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRDcmVh dGVFdmVUYWIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMv YmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CVFNob3dDYWxvTGVnby5jcHAgL2hvbWUv b2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy92aXN1 YWxpemF0aW9uL0JUU2hvd0RldGVjdG9yUHJvamVjdGlvbi5jcHAgL2hvbWUvb2xpZnJlL0Ix L3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy92aXN1YWxpemF0aW9u L0JUVmlzdWFsaXphdGlvbkludGVycHJldGVkU2tpcENvbmRpdGlvblRyZWUuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvdmlz dWFsaXphdGlvbi9CVFZpc3VhbGl6YXRpb25Ta2lwQ29uZGl0aW9uLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6 YXRpb24vQlRTaG93RXZlbnRJbmZvLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRWaXN1YWxpemF0 aW9uSW50ZXJwcmV0ZWRTa2lwQ29uZGl0aW9uLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRFeHRy YWN0Q2Fsb0RhdGEuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CVFNob3dCVFRyYWNrcy5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy92 aXN1YWxpemF0aW9uL0JUU2hvd0NCVEhpdHMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CVFNob3dN YWduZXRpY0ZpZWxkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRWaXN1YWxpemF0aW9uLmNwcCAv aG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5z L3Zpc3VhbGl6YXRpb24vQlRWaXN1YWxpemF0aW9uQ0JJQ29uZGl0aW9uV3JhcHBlci5jcHAg L2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lu cy92aXN1YWxpemF0aW9uL0JUVmlzdWFsaXphdGlvblBsdWdpbi5jcHAgL2hvbWUvb2xpZnJl L0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy92aXN1YWxpemF0 aW9uL0JUU2hvd0NhbG8zRC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdv X2FkZG9ucy9iZ29fb2QvcGx1Z2lucy92aXN1YWxpemF0aW9uL0JUVmlzdWFsaXphdGlvblNr aXBDb25kaXRpb25HVUlXcmFwcGVyLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9y YV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRTaG93R2VvbWV0 cnkuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CVFNob3dSZWNvbnN0cnVjdGVkUGFydGljbGVzLmNw cCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVn aW5zL3Zpc3VhbGl6YXRpb24vQlRJbXBvcnQzZHNGaWxlLmNwcCAvaG9tZS9vbGlmcmUvQjEv cmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24v QlRTaG93QlRSZWFjdGlvbkNhbmRpZGF0ZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvdmlzdWFsaXphdGlvbi9CVFNob3dN Q2VkZXBWb2x1bWVzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRk b25zL2Jnb19vZC9wbHVnaW5zL3Zpc3VhbGl6YXRpb24vQlRTaG93TUNUcmFja3MuY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMv dmlzdWFsaXphdGlvbi9CVFNob3dHZW5lcmF0ZWRQYXJ0aWNsZXMuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvbWlzYy9CVERy b3BUb1Jvb3RTaGVsbC5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcGx1Z2lucy9taXNjL0JUQ3JlYXRlU3R1ZEV4cFRyZWUuY3BwIC9ob21l L29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvbWlz Yy9CVEV4dHJhY3RIaXRzRnJvbUNsdXN0ZXJzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3Mv ZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2hpc3RvZ3JhbW1lci9CVEhBeGlz RGV0ZWN0b3JBbmdsZXMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19h ZGRvbnMvYmdvX29kL3BsdWdpbnMvaGlzdG9ncmFtbWVyL0JUSEF4aXNEZXRlY3RvckNvb3Jk aW5hdGVzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9wbHVnaW5zL2hpc3RvZ3JhbW1lci9CVEhBeGlzRGV0ZWN0b3JJbmRleC5jcHAgL2hv bWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy9o aXN0b2dyYW1tZXIvQlRIQXhpc0RldGVjdG9ySW5kZXhVbm1hcHBlZC5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy9oaXN0b2dy YW1tZXIvQlRIQXhpc0V2ZW50VHlwZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxv cmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy9oaXN0b2dyYW1tZXIvQlRIQXhpc0xvZy5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1 Z2lucy9oaXN0b2dyYW1tZXIvQlRIQXhpc01hbnVhbEJpbkJvcmRlcnMuY3BwIC9ob21lL29s aWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvaGlzdG9n cmFtbWVyL0JUSEF4aXNNYW51YWxCaW5DZW50ZXJzLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2hpc3RvZ3JhbW1lci9CVEhB eGlzU2xvd0NvbnRyb2xWYWx1ZS5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFf YmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy9oaXN0b2dyYW1tZXIvQlRIQXhpc1RhZ2dlci5j cHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1 Z2lucy9oaXN0b2dyYW1tZXIvQlRIQXhpc1RyaWdnZXJJbnB1dHMuY3BwIC9ob21lL29saWZy ZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvaGlzdG9ncmFt bWVyL0JUSEF4aXNNYW51YWxCaW5MYWJlbHMuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvaGlzdG9ncmFtbWVyL0JUSEF4aXNE ZXRlY3RvcklkLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25z L2Jnb19vZC9wbHVnaW5zL2hpc3RvZ3JhbW1lci9CVEhDb3JyZWxhdGlvbldpdGhNZXRob2RD dXQuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29k L3BsdWdpbnMvaGlzdG9ncmFtbWVyL0JUSEZsZXhpSGlzdG8uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvaGlzdG9ncmFtbWVy L0JUSFByb2Nlc3MuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRv bnMvYmdvX29kL3BsdWdpbnMvaGlzdG9ncmFtbWVyL0JUSEF4aXNXYWxsQ2xvY2suY3BwIC9o b21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMv bG9naWMvQklMb2dpYy5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2Fk ZG9ucy9iZ29fb2QvcGx1Z2lucy9sb2dpYy9CVEludGVycHJldGVkQ2FsbGVyLmNwcCAvaG9t ZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2xv Z2ljL0JUSW50ZXJwcmV0ZWRDb25kaXRpb25DYWxjLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVw b3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2xvZ2ljL0JUQ29uZGl0aW9u LmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9w bHVnaW5zL2xvZ2ljL0JUQ29uZGl0aW9uYWxFeGNlcHRpb24uY3BwIC9ob21lL29saWZyZS9C MS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvbG9naWMvQlRDaGVj a0NvbnRhaW5lci5jcHAgL2hvbWUvb2xpZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9u cy9iZ29fb2QvcGx1Z2lucy9sb2dpYy9CVEZpbHRlckNvbnRhaW5lci5jcHAgL2hvbWUvb2xp ZnJlL0IxL3JlcG9zL2V4cGxvcmFfYmdvX2FkZG9ucy9iZ29fb2QvcGx1Z2lucy9sb2dpYy9C VExvZ2ljLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jn b19vZC9wbHVnaW5zL2xvZ2ljL0JUQ29uZGl0aW9uYWxQcm9jZXNzaW5nLmNwcCAvaG9tZS9v bGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2xvZ2lj L0JUSW50ZXJwcmV0ZWRDb25kaXRpb25DYWxjUmFuZ2UuY3BwIC9ob21lL29saWZyZS9CMS9y ZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvbG9naWMvQlRJbnRlcnBy ZXRlZENvbmRpdGlvblJhbmdlLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9i Z29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL2xvZ2ljL0JUSW50ZXJwcmV0ZWRDb25kaXRpb24u Y3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9leHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3Bs dWdpbnMvbG9naWMvQlRNZXRob2RDYWxsZXIuY3BwIC9ob21lL29saWZyZS9CMS9yZXBvcy9l eHBsb3JhX2Jnb19hZGRvbnMvYmdvX29kL3BsdWdpbnMvbG9naWMvQlRNZXRob2RDYWxsZXJD YWxjLmNwcCAvaG9tZS9vbGlmcmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19v ZC9wbHVnaW5zL3RyYWNrZml0dGluZy9CVEdGVHJhY2tGaXR0aW5nLmNwcCAvaG9tZS9vbGlm cmUvQjEvcmVwb3MvZXhwbG9yYV9iZ29fYWRkb25zL2Jnb19vZC9wbHVnaW5zL3RyYWNrZml0 dGluZy9CVEdGTWFnbmV0aWNGaWVsZC5jcHAK --------------060900060209040301080508-- From debbugs-submit-bounces@debbugs.gnu.org Wed Feb 11 02:49:30 2015 Received: (at 19833-done) by debbugs.gnu.org; 11 Feb 2015 07:49:30 +0000 Received: from localhost ([127.0.0.1]:39756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YLS37-0002yd-7B for submit@debbugs.gnu.org; Wed, 11 Feb 2015 02:49:29 -0500 Received: from smtp.cs.ucla.edu ([131.179.128.62]:44057) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1YLS33-0002yL-Oi for 19833-done@debbugs.gnu.org; Wed, 11 Feb 2015 02:49:27 -0500 Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp.cs.ucla.edu (Postfix) with ESMTP id 9A16EA6007C; Tue, 10 Feb 2015 23:49:19 -0800 (PST) X-Virus-Scanned: amavisd-new at smtp.cs.ucla.edu Received: from smtp.cs.ucla.edu ([127.0.0.1]) by localhost (smtp.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RfxvnG31xGuz; Tue, 10 Feb 2015 23:49:18 -0800 (PST) Received: from [192.168.1.9] (pool-173-55-11-52.lsanca.fios.verizon.net [173.55.11.52]) by smtp.cs.ucla.edu (Postfix) with ESMTPSA id D96E8A60067; Tue, 10 Feb 2015 23:49:17 -0800 (PST) Message-ID: <54DB097D.5060406@cs.ucla.edu> Date: Tue, 10 Feb 2015 23:49:17 -0800 From: Paul Eggert Organization: UCLA Computer Science Department User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Oliver Freyermuth , 19833-done@debbugs.gnu.org Subject: Re: bug#19833: grep: internal PCRE error: -27 since updating from 2.16 to 2.21 References: <54DA7F4A.5070207@googlemail.com> In-Reply-To: <54DA7F4A.5070207@googlemail.com> Content-Type: multipart/mixed; boundary="------------060009070900050909030609" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 19833-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------060009070900050909030609 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Thanks for the bug report and test case. I installed the attached patch, which fixed the bug for me, and which adds a similar test case to the test database. --------------060009070900050909030609 Content-Type: text/x-patch; name="0001-Grow-the-JIT-stack-if-it-becomes-exhausted.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="0001-Grow-the-JIT-stack-if-it-becomes-exhausted.patch" >From 675dccfdaa14ff5513b5b652da8d9286e65b69e2 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 10 Feb 2015 23:44:36 -0800 Subject: [PATCH] Grow the JIT stack if it becomes exhausted Problem reported by Oliver Freyermuth in: http://bugs.gnu.org/19833 * NEWS: Document the fix. * tests/Makefile.am (TESTS): Add pcre-jitstack. * tests/pcre-jitstack: New file. * src/pcresearch.c (NSUB): Move decl earlier, since it's needed earlier now. (jit_stack_size) [PCRE_STUDY_JIT_COMPILE]: New static var. (jit_exec): New function. (Pcompile): Initialize jit_stack_size. (Pexecute): Use new jit_exec function. Report a useful diagnostic if the error is PCRE_ERROR_JIT_STACKLIMIT. --- NEWS | 3 +++ src/pcresearch.c | 73 +++++++++++++++++++++++++++++++++++++++-------------- tests/Makefile.am | 1 + tests/pcre-jitstack | 39 ++++++++++++++++++++++++++++ 4 files changed, 97 insertions(+), 19 deletions(-) create mode 100755 tests/pcre-jitstack diff --git a/NEWS b/NEWS index da8bc78..071caab 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ GNU grep NEWS -*- outline -*- grep no longer reads from uninitialized memory or from beyond the end of the heap-allocated input buffer. This fix addressed CVE-2015-1345. + When the JIT stack is exhausted, grep -P now grows the stack rather + than reporting an internal PCRE error. + * Noteworthy changes in release 2.21 (2014-11-23) [stable] diff --git a/src/pcresearch.c b/src/pcresearch.c index 0bd021a..afe4f2b 100644 --- a/src/pcresearch.c +++ b/src/pcresearch.c @@ -27,6 +27,11 @@ #endif #if HAVE_LIBPCRE + +/* This must be at least 2; everything after that is for performance + in pcre_exec. */ +enum { NSUB = 300 }; + /* Compiled internal form of a Perl regular expression. */ static pcre *cre; @@ -36,6 +41,45 @@ static pcre_extra *extra; # ifndef PCRE_STUDY_JIT_COMPILE # define PCRE_STUDY_JIT_COMPILE 0 # endif + +# if PCRE_STUDY_JIT_COMPILE +/* Maximum size of the JIT stack. */ +static int jit_stack_size; +# endif + +/* Match the already-compiled PCRE pattern against the data in P, of + size SEARCH_BYTES, with options OPTIONS, and storing resulting + matches into SUB. Return the (nonnegative) match location or a + (negative) error number. */ +static int +jit_exec (char const *p, int search_bytes, int options, int *sub) +{ + while (true) + { + int e = pcre_exec (cre, extra, p, search_bytes, 0, options, sub, NSUB); + +# if PCRE_STUDY_JIT_COMPILE + if (e == PCRE_ERROR_JIT_STACKLIMIT + && 0 < jit_stack_size && jit_stack_size <= INT_MAX / 2) + { + int old_size = jit_stack_size; + int new_size = jit_stack_size = old_size * 2; + static pcre_jit_stack *jit_stack; + if (jit_stack) + pcre_jit_stack_free (jit_stack); + jit_stack = pcre_jit_stack_alloc (old_size, new_size); + if (!jit_stack) + error (EXIT_TROUBLE, 0, + _("failed to allocate memory for the PCRE JIT stack")); + pcre_assign_jit_stack (extra, NULL, jit_stack); + continue; + } +# endif + + return e; + } +} + #endif #if HAVE_LIBPCRE @@ -44,10 +88,6 @@ static pcre_extra *extra; static int empty_match[2]; #endif -/* This must be at least 2; everything after that is for performance - in pcre_exec. */ -enum { NSUB = 300 }; - void Pcompile (char const *pattern, size_t size) { @@ -121,19 +161,11 @@ Pcompile (char const *pattern, size_t size) if (pcre_fullinfo (cre, extra, PCRE_INFO_JIT, &e)) error (EXIT_TROUBLE, 0, _("internal error (should never happen)")); + /* The PCRE documentation says that a 32 KiB stack is the default. */ if (e) - { - /* A 32K stack is allocated for the machine code by default, which - can grow to 512K if necessary. Since JIT uses far less memory - than the interpreter, this should be enough in practice. */ - pcre_jit_stack *jit_stack = pcre_jit_stack_alloc (32 * 1024, 512 * 1024); - if (!jit_stack) - error (EXIT_TROUBLE, 0, - _("failed to allocate memory for the PCRE JIT stack")); - pcre_assign_jit_stack (extra, NULL, jit_stack); - } - + jit_stack_size = 32 << 10; # endif + free (re); int sub[NSUB]; @@ -214,8 +246,7 @@ Pexecute (char const *buf, size_t size, size_t *match_size, if (multiline) options |= PCRE_NO_UTF8_CHECK; - e = pcre_exec (cre, extra, p, search_bytes, 0, - options, sub, NSUB); + e = jit_exec (p, search_bytes, options, sub); if (e != PCRE_ERROR_BADUTF8) { if (0 < e && multiline && sub[1] - sub[0] != 0) @@ -268,9 +299,13 @@ Pexecute (char const *buf, size_t size, size_t *match_size, case PCRE_ERROR_NOMEMORY: error (EXIT_TROUBLE, 0, _("memory exhausted")); +# if PCRE_STUDY_JIT_COMPILE + case PCRE_ERROR_JIT_STACKLIMIT: + error (EXIT_TROUBLE, 0, _("PCRE JIT stack exhausted")); +# endif + case PCRE_ERROR_MATCHLIMIT: - error (EXIT_TROUBLE, 0, - _("exceeded PCRE's backtracking limit")); + error (EXIT_TROUBLE, 0, _("exceeded PCRE's backtracking limit")); default: /* For now, we lump all remaining PCRE failures into this basket. diff --git a/tests/Makefile.am b/tests/Makefile.am index 0508cd2..8fcf8f6 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -95,6 +95,7 @@ TESTS = \ pcre-abort \ pcre-infloop \ pcre-invalid-utf8-input \ + pcre-jitstack \ pcre-o \ pcre-utf8 \ pcre-w \ diff --git a/tests/pcre-jitstack b/tests/pcre-jitstack new file mode 100755 index 0000000..03587f1 --- /dev/null +++ b/tests/pcre-jitstack @@ -0,0 +1,39 @@ +#! /bin/sh +# Grep 2.21 would report "grep: internal PCRE error: -27" +# +# Copyright 2015 Free Software Foundation, Inc. +# +# Copying and distribution of this file, with or without modification, +# are permitted in any medium without royalty provided the copyright +# notice and this notice are preserved. + +. "${srcdir=.}/init.sh"; path_prepend_ ../src +require_pcre_ + +nl_base64=$(echo | (base64) 2>/dev/null) && test "X$nl_base64" = XCg== || + skip_ "your system lacks the base64 program" +foo=$( (echo foo | gzip | gzip -d) 2>/dev/null) && test "X$foo" = Xfoo || + skip_ "your system lacks the gzip program" + +fail=0 + +base64 -d >pcrejit.txt.gz <<'EOF' +H4sIAAAAAAACA+2bUU4DMQxE/7mMz5T7XwKE+IBKVLue58yk0B9EtX6xJxN7t4VaH69a6+tHrW+/ +r4e3n75KARWShSOFTtiumE3FPVyo79ATIJ0Ry0No/yXe99UIUqTGKKUzYHFJHJoaCONQDCnDSCDS +IPAvGCVeXNsZ7lpbWFfdaZtgPos5LeK2C1TBKzD09V3HFlCOsbFT/hNbz4HzJaRjnjdam9FXw/o6 +VyPozhMmiaRYAMeNSJR1iMjBEFLMtsH7lptartfxkzPQgFVofwRlxKsMYn2KNDnU9fsOQCkRIYVT +G80ZRqBpSQjRYPX7s9gvtqknyNE2f8V09sxHM7YPmMMJgrmVna2AT717n5fUAIDkiBCqFgWUUgKD +8jOc0Rgj5JS6vZnQI14wkaTDAkD266p/iVHs8gjCrMFARVM0iEVgFAa9YRAQT4tkgsmloTJLmyCm +uSHRnTkzIdZMmZ5kYX/iJFtTwu9cFvr3aDWcUx4pUW/cVQwPoQSlwguNd4M0vTpAauKodmLFXv1P +dkcKkYUglER2Q4L4gnmOiNGzSBATwGQgwihs5/QffIhyfg4hJvM2r4Rp6L+1ibCCd4jYZ6jCiBlc +2+y4fl4yTGIwcWXNAUEeXmu8iCMV96DNTnmRNICDk2N5qaXGbsF91OX/0hlcYTjrMfy02p9Xv70D +mv3RZCFOAAA= +EOF +test $? -eq 0 || framework_failure_ + +gzip -d pcrejit.txt || framework_failure_ + +LC_ALL=C grep -P -n '^([/](?!/)|[^/])*~/.*' pcrejit.txt +test $? -eq 1 || fail=1 + +Exit $fail -- 2.1.0 --------------060009070900050909030609-- From unknown Sun Aug 10 07:14:02 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Wed, 11 Mar 2015 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator