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 1wbZsN-002g3o-1P for pgsql-bugs@arkaria.postgresql.org; Mon, 22 Jun 2026 08:19:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wbZsM-005FoI-0w for pgsql-bugs@arkaria.postgresql.org; Mon, 22 Jun 2026 08:19:26 +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 1wbF4M-002su6-1j for pgsql-bugs@lists.postgresql.org; Sun, 21 Jun 2026 10:06:27 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wbF4G-00000001Zsf-2Of0 for pgsql-bugs@lists.postgresql.org; Sun, 21 Jun 2026 10:06:24 +0000 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-84347ad88edso2856740b3a.1 for ; Sun, 21 Jun 2026 03:06:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782036374; cv=none; d=google.com; s=arc-20240605; b=ikr/BLJ6IYX5jOdI0OdX8JpD6gUw1U4RCGDyBPQzWW7koiAlnFebGc5z7j1PvhLZKM ht0ntFISSXPrqXcHZK9DP9NptFfDDj1AP1Jz6zlOv24jehE41qI7uqxUz0svg/BEkJ9N pdDcDQVOR1EPXzn/Onqmi8aOwRMJ3YbrrT7M9NsnZvv70jCFhVg7bFE/0xMVa+7yGXX3 Xp69gTKQIMgEFdy57WipYQ2e0euHe9stMqmA8nkEAi7jDJAktYGKByqLeg7Wi7ow5Y07 hLiW1D2EEb7wCWiHIE+oug3Q2Z69tJVO2hVLIzBRpGaXb+A/Ej7o48VTDoggkyVidJVI OyQg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=EIb5TFAqGTFef4VBoRyPmfkwJgACc2MxKc3Acfs0rhc=; fh=/gQe77b11iMZdcPj/nJr/Ghqi6rQp5FPrPbdO93bmOA=; b=byYy2F8ta23A41O51W26ZWJcC8639LcA26SHLkRjctCoXYOUGQJbPiFycITYL08SEX fTdwFJS2p41+1oiXtQUNs9cdAiAQTuN1kmNme56xFULrgpIXGSLAjyhlYT1T0YzfPX9H 68ya4145trSmqGXbIt1Y61jBf0Jy7zLldIRx/iPdoTonOkTPwGpxXrdaZ8Zt6KX2YdqR /batY2ROW5JABxQq1x4uQVueJEY1yhKUlOIOeVAad18LHBLHBuBq7KlyvguWALX+zw8v ZBTcp2YsLZSPCScSTpr2BWyZZkKaO4ZC+PsfAZkQFDkFPB480XVlRrXoID6e2brGmirc gCiw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=goddard.nz; s=google; t=1782036374; x=1782641174; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=EIb5TFAqGTFef4VBoRyPmfkwJgACc2MxKc3Acfs0rhc=; b=mUcbaTN+c6OuTL9O7Lnhc4vx5RLwVk+Lej4SUbWOAIZBUx7CtRX25Q8LLNqOu5dazw V5udB9Ph35r1RV0HIZuyd7/OWjTRZMpfXfF/fr2UFYUsqiTAMHLmpVoPGkSKQziVUPbb BDY4ol28sPfOprGXQP9zuYvdK14fA9J1usSErHVdpNaWQcEZEwLPer4Xm7a1flXZvF8P k+jXE31kk6FsgaxV/MP6EDRWRYndaa71DUssB+9aahrb3Ph989s9opj5aiJfQpzKjXZS iYFePRJZi4zjsUcPN65zlMeQ4f6ZzCGiYYNFtc4j2uCO+F6QtWpXrJdot45rbb9kCxcd AfiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782036374; x=1782641174; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EIb5TFAqGTFef4VBoRyPmfkwJgACc2MxKc3Acfs0rhc=; b=cAD4B6i2ac1BY+3VTvYzp9XOfJX6g7g4PS3pYJ1zZDkpCsH0WR2Bjrd2XqGdPlPMXe tapoCax3UV2KFDl/TRKj/a8JTj5mUoH8Se/YJhWaYpzNiQncuLK85zXqikRl28IgVj71 B7kwqOwfgiPpqyYsMghqsbiBRtqyxvI9VJ/vj14oGI0T/iyAqytHAa0jvm/8b4YHDZ5X adzRamXIux/jR2bY8Gm/bgMG4umpA2RnEt94Je5v9kvXkJL7gNbBSM7TMGaTyKK6kab9 CqbMg4AtcjtgXG+e//06TVKIma6hIiMc7cOhWvtBpdP+ta3xoPGmDP3Ni+rw3pPo3DEZ 3ELg== X-Gm-Message-State: AOJu0YwhGmUt5M2aqb2+uhkaOm4ihnHVTDdjhu+/hKZGVU+5+VN8b93+ waNl2kQ7alhjbAwZTH78KoUkZ4gHkn63d8pKMPdIVMbMMrbFSTuC1tnXotyrOaxTZUe5urzl3dT XSMTxMAjS21ybeQPDcnBvGscFzy6JJpOhzZ0CCno/UD1pZ2rcgGT0L14= X-Gm-Gg: AfdE7cm6v07/LPdDvmMzSthjCDJAhpq7k3TZTdx2gsK8dQI8x7tjmCpm1qnffvfhpPJ AYRzGXaiGcEwLXj+AGf45Ix6RjnYknxuErPKhyUXQJajhV5H6CtfuSPukBWrEF+f05WLbjo65Zb 9bVwCCaSWuQ6e8n5Es7OuAsWv4debCnrKjy0BNhvWWmzmDoFBwoLPzcYQVTYQ209AgVd6buMb3x GNFO0AdIZyfoH30lowCZoqe5HdyKXaxoAVZt8GNH3fbHOY3nmisbAXtUQ+yJwCJUPjNVdZERC1/ /W4opxQ/TxvQguJpuQMnEPdXN3AZMoax2x6JbVFE X-Received: by 2002:a05:6a00:b4c:b0:843:2ac9:80f0 with SMTP id d2e1a72fcca58-8455087bf24mr11540110b3a.23.1782036373730; Sun, 21 Jun 2026 03:06:13 -0700 (PDT) MIME-Version: 1.0 From: Tim Goddard Date: Sun, 21 Jun 2026 22:06:01 +1200 X-Gm-Features: AVVi8Ced4ur8kBeaiCeBX70oHFFRWtZW1J_2PW8NpLr8DEpqiLXqv2jv0fPXi_M Message-ID: Subject: Rule on table with DO ALSO increments sequences twice To: pgsql-bugs@lists.postgresql.org Content-Type: multipart/mixed; boundary="00000000000008a0f00654c0ad6d" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000008a0f00654c0ad6d Content-Type: multipart/alternative; boundary="00000000000008a0ee0654c0ad6b" --00000000000008a0ee0654c0ad6b Content-Type: text/plain; charset="UTF-8" Hello, Just reporting some unexpected behaviour that I would consider a bug, related to the evaluation of default expressions (in this case incrementing a sequnece) within a rule ON INSERT ... ALSO. A test case is attached, which may be run in an empty database. This creates two tables, and creates a rule that on insert in to the first table "a", also inserts a record in to the second table "b" which references table "a" via a foreign key. I expect in this rule that the ID value on the NEW row (NEW.aid) will be that of the row just inserted. However, the sequence is incremented again, resulting in a different ID to that just inserted. It would appear that the DEFAULT expression is being evaluated twice - once for the original role, and again for the rule execution. In this test case, this results in a foreign key error, since the ID being inserted is different from the row in table "a". While this could plausibly be an intended behaviour, I've looked through the documentation, and can't find a clear indication that this should be the case, so reporting what to me is quite unexpected. It's certainly a very limiting behaviour, in that it makes it difficult to identify the row just inserted in an ALSO rule. Version tested is recently upgraded from PGDG on Ubuntu 24.04: PostgreSQL 18.4 (Ubuntu 18.4-1.pgdg24.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, 64-bit Test case has been reproduced in a newly created cluster, with configuration as attached. The test case produces the following output: $ psql -h /var/run/postgresql -p 5434 -f > sequence-double-increment-testcase.sql > BEGIN > CREATE TABLE > CREATE TABLE > CREATE RULE > psql:dev/sequence-double-increment-testcase.sql:9: ERROR: insert or > update on table "b" violates foreign key constraint "b_aid_fkey" > DETAIL: Key (aid)=(2) is not present in table "a". I may of course be mis-reading the documentation or intention behind that, but would be good to clarify either way. Kind regards, Tim --00000000000008a0ee0654c0ad6b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello,

Just reporting some unexpected b= ehaviour that I would consider a bug, related to the evaluation of default = expressions (in this case incrementing a sequnece) within a rule ON INSERT = ... ALSO.

A test case is attached, which may be run = in an empty database. This creates two tables, and creates a rule that on i= nsert in to the first table "a", also inserts a record in to the = second table "b" which references table "a" via a forei= gn key.

I expect in this rule that the ID value on= the NEW row (NEW.aid) will be that of the row just inserted. However, the = sequence is incremented again, resulting in a different ID to that just ins= erted. It would appear that the DEFAULT expression is being evaluated twice= - once for the original role, and again for the rule execution. In this te= st case, this results in a foreign key error, since the ID being inserted i= s different from the row in table "a".

W= hile this could plausibly be an intended behaviour, I've looked through= the documentation, and can't find a clear indication that this should = be the case, so reporting what to me is quite unexpected. It's certainl= y a very limiting behaviour, in that it makes it difficult to identify the = row just inserted in an ALSO rule.

Version tested = is recently upgraded from PGDG on Ubuntu 24.04:

Po= stgreSQL 18.4 (Ubuntu 18.4-1.pgdg24.04+1) on x86_64-pc-linux-gnu, compiled = by gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0, 64-bit

=
Test case has been reproduced in a newly created cluster, with configu= ration as attached. The test case produces the following output:
=
$ psql -h /var/= run/postgresql -p 5434 -f sequence-double-increment-testcase.sql
BEGINCREATE TABLE
CREATE TABLE
CREATE RULE
psql:dev/sequence-double-i= ncrement-testcase.sql:9: ERROR: =C2=A0insert or update on table "b&quo= t; violates foreign key constraint "b_aid_fkey"
DETAIL: =C2=A0= Key (aid)=3D(2) is not present in table "a".
I may of course be mis-reading the documentation or intention b= ehind that, but would be good to clarify either way.

Kind regards,

Tim
--00000000000008a0ee0654c0ad6b-- --00000000000008a0f00654c0ad6d Content-Type: application/sql; name="sequence-double-increment-testcase.sql" Content-Disposition: attachment; filename="sequence-double-increment-testcase.sql" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqnlssbg0 QkVHSU47CgpDUkVBVEUgVEFCTEUgYSAoYWlkIFNFUklBTCBQUklNQVJZIEtFWSwgY29tbWVudCBU RVhUKTsKCkNSRUFURSBUQUJMRSBiIChhaWQgSU5ULCBiaWQgU0VSSUFMLCBQUklNQVJZIEtFWSAo YWlkLCBiaWQpLCBGT1JFSUdOIEtFWSAoYWlkKSBSRUZFUkVOQ0VTIGEpOwoKQ1JFQVRFIFJVTEUg Imluc2VydF9hc19pbnRvX2IiIEFTIE9OIElOU0VSVCBUTyBhIERPIEFMU08gSU5TRVJUIElOVE8g YiAoYWlkKSBWQUxVRVMgKE5FVy5haWQpOwoKSU5TRVJUIElOVE8gYSAoY29tbWVudCkgVkFMVUVT ICgnVGVzdGluZycpOwo= --00000000000008a0f00654c0ad6d Content-Type: application/octet-stream; name="postgresql.conf" Content-Disposition: attachment; filename="postgresql.conf" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mqnm8j7x1 IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFBvc3RncmVTUUwgY29uZmlndXJhdGlv biBmaWxlCiMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgZmlsZSBjb25z aXN0cyBvZiBsaW5lcyBvZiB0aGUgZm9ybToKIwojICAgbmFtZSA9IHZhbHVlCiMKIyAoVGhlICI9 IiBpcyBvcHRpb25hbC4pICBXaGl0ZXNwYWNlIG1heSBiZSB1c2VkLiAgQ29tbWVudHMgYXJlIGlu dHJvZHVjZWQgd2l0aAojICIjIiBhbnl3aGVyZSBvbiBhIGxpbmUuICBUaGUgY29tcGxldGUgbGlz dCBvZiBwYXJhbWV0ZXIgbmFtZXMgYW5kIGFsbG93ZWQKIyB2YWx1ZXMgY2FuIGJlIGZvdW5kIGlu IHRoZSBQb3N0Z3JlU1FMIGRvY3VtZW50YXRpb24uCiMKIyBUaGUgY29tbWVudGVkLW91dCBzZXR0 aW5ncyBzaG93biBpbiB0aGlzIGZpbGUgcmVwcmVzZW50IHRoZSBkZWZhdWx0IHZhbHVlcy4KIyBS ZS1jb21tZW50aW5nIGEgc2V0dGluZyBpcyBOT1Qgc3VmZmljaWVudCB0byByZXZlcnQgaXQgdG8g dGhlIGRlZmF1bHQgdmFsdWU7CiMgeW91IG5lZWQgdG8gcmVsb2FkIHRoZSBzZXJ2ZXIuCiMKIyBU aGlzIGZpbGUgaXMgcmVhZCBvbiBzZXJ2ZXIgc3RhcnR1cCBhbmQgd2hlbiB0aGUgc2VydmVyIHJl Y2VpdmVzIGEgU0lHSFVQCiMgc2lnbmFsLiAgSWYgeW91IGVkaXQgdGhlIGZpbGUgb24gYSBydW5u aW5nIHN5c3RlbSwgeW91IGhhdmUgdG8gU0lHSFVQIHRoZQojIHNlcnZlciBmb3IgdGhlIGNoYW5n ZXMgdG8gdGFrZSBlZmZlY3QsIHJ1biAicGdfY3RsIHJlbG9hZCIsIG9yIGV4ZWN1dGUKIyAiU0VM RUNUIHBnX3JlbG9hZF9jb25mKCkiLiAgU29tZSBwYXJhbWV0ZXJzLCB3aGljaCBhcmUgbWFya2Vk IGJlbG93LAojIHJlcXVpcmUgYSBzZXJ2ZXIgc2h1dGRvd24gYW5kIHJlc3RhcnQgdG8gdGFrZSBl ZmZlY3QuCiMKIyBBbnkgcGFyYW1ldGVyIGNhbiBhbHNvIGJlIGdpdmVuIGFzIGEgY29tbWFuZC1s aW5lIG9wdGlvbiB0byB0aGUgc2VydmVyLCBlLmcuLAojICJwb3N0Z3JlcyAtYyBsb2dfY29ubmVj dGlvbnM9YWxsIi4gIFNvbWUgcGFyYW1ldGVycyBjYW4gYmUgY2hhbmdlZCBhdCBydW4gdGltZQoj IHdpdGggdGhlICJTRVQiIFNRTCBjb21tYW5kLgojCiMgTWVtb3J5IHVuaXRzOiAgQiAgPSBieXRl cyAgICAgICAgICAgIFRpbWUgdW5pdHM6ICB1cyAgPSBtaWNyb3NlY29uZHMKIyAgICAgICAgICAg ICAgICBrQiA9IGtpbG9ieXRlcyAgICAgICAgICAgICAgICAgICAgIG1zICA9IG1pbGxpc2Vjb25k cwojICAgICAgICAgICAgICAgIE1CID0gbWVnYWJ5dGVzICAgICAgICAgICAgICAgICAgICAgcyAg ID0gc2Vjb25kcwojICAgICAgICAgICAgICAgIEdCID0gZ2lnYWJ5dGVzICAgICAgICAgICAgICAg ICAgICAgbWluID0gbWludXRlcwojICAgICAgICAgICAgICAgIFRCID0gdGVyYWJ5dGVzICAgICAg ICAgICAgICAgICAgICAgaCAgID0gaG91cnMKIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGQgICA9IGRheXMKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiMgRklMRSBMT0NBVElPTlMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyBUaGUgZGVmYXVsdCB2 YWx1ZXMgb2YgdGhlc2UgdmFyaWFibGVzIGFyZSBkcml2ZW4gZnJvbSB0aGUgLUQgY29tbWFuZC1s aW5lCiMgb3B0aW9uIG9yIFBHREFUQSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgcmVwcmVzZW50ZWQg aGVyZSBhcyBDb25maWdEaXIuCgpkYXRhX2RpcmVjdG9yeSA9ICcvdmFyL2xpYi9wb3N0Z3Jlc3Fs LzE4L3Rlc3QnCQkjIHVzZSBkYXRhIGluIGFub3RoZXIgZGlyZWN0b3J5CgkJCQkJIyAoY2hhbmdl IHJlcXVpcmVzIHJlc3RhcnQpCmhiYV9maWxlID0gJy9ldGMvcG9zdGdyZXNxbC8xOC90ZXN0L3Bn X2hiYS5jb25mJwkjIGhvc3QtYmFzZWQgYXV0aGVudGljYXRpb24gZmlsZQoJCQkJCSMgKGNoYW5n ZSByZXF1aXJlcyByZXN0YXJ0KQppZGVudF9maWxlID0gJy9ldGMvcG9zdGdyZXNxbC8xOC90ZXN0 L3BnX2lkZW50LmNvbmYnCSMgaWRlbnQgY29uZmlndXJhdGlvbiBmaWxlCgkJCQkJIyAoY2hhbmdl IHJlcXVpcmVzIHJlc3RhcnQpCgojIElmIGV4dGVybmFsX3BpZF9maWxlIGlzIG5vdCBleHBsaWNp dGx5IHNldCwgbm8gZXh0cmEgUElEIGZpbGUgaXMgd3JpdHRlbi4KZXh0ZXJuYWxfcGlkX2ZpbGUg PSAnL3Zhci9ydW4vcG9zdGdyZXNxbC8xOC10ZXN0LnBpZCcJCQkjIHdyaXRlIGFuIGV4dHJhIFBJ RCBmaWxlCgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCgoKIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIENPTk5FQ1RJT05TIEFORCBBVVRIRU5USUNBVElPTgojLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgojIC0gQ29ubmVjdGlvbiBTZXR0aW5ncyAtCgojbGlzdGVuX2FkZHJlc3NlcyA9ICds b2NhbGhvc3QnCQkjIHdoYXQgSVAgYWRkcmVzcyhlcykgdG8gbGlzdGVuIG9uOwoJCQkJCSMgY29t bWEtc2VwYXJhdGVkIGxpc3Qgb2YgYWRkcmVzc2VzOwoJCQkJCSMgZGVmYXVsdHMgdG8gJ2xvY2Fs aG9zdCc7IHVzZSAnKicgZm9yIGFsbAoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQpw b3J0ID0gNTQzNAkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKbWF4X2Nvbm5lY3Rpb25z ID0gMTAwCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNyZXNlcnZlZF9jb25uZWN0aW9u cyA9IDAJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojc3VwZXJ1c2VyX3Jlc2VydmVkX2Nv bm5lY3Rpb25zID0gMwkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKdW5peF9zb2NrZXRfZGly ZWN0b3JpZXMgPSAnL3Zhci9ydW4vcG9zdGdyZXNxbCcgIyBjb21tYS1zZXBhcmF0ZWQgbGlzdCBv ZiBkaXJlY3RvcmllcwoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojdW5peF9zb2Nr ZXRfZ3JvdXAgPSAnJwkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojdW5peF9zb2NrZXRf cGVybWlzc2lvbnMgPSAwNzc3CQkjIGJlZ2luIHdpdGggMCB0byB1c2Ugb2N0YWwgbm90YXRpb24K CQkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI2JvbmpvdXIgPSBvZmYJCQkJIyBhZHZl cnRpc2Ugc2VydmVyIHZpYSBCb25qb3VyCgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQp CiNib25qb3VyX25hbWUgPSAnJwkJCSMgZGVmYXVsdHMgdG8gdGhlIGNvbXB1dGVyIG5hbWUKCQkJ CQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKCiMgLSBUQ1Agc2V0dGluZ3MgLQojIHNlZSAi bWFuIHRjcCIgZm9yIGRldGFpbHMKCiN0Y3Bfa2VlcGFsaXZlc19pZGxlID0gMAkJIyBUQ1BfS0VF UElETEUsIGluIHNlY29uZHM7CgkJCQkJIyAwIHNlbGVjdHMgdGhlIHN5c3RlbSBkZWZhdWx0CiN0 Y3Bfa2VlcGFsaXZlc19pbnRlcnZhbCA9IDAJCSMgVENQX0tFRVBJTlRWTCwgaW4gc2Vjb25kczsK CQkJCQkjIDAgc2VsZWN0cyB0aGUgc3lzdGVtIGRlZmF1bHQKI3RjcF9rZWVwYWxpdmVzX2NvdW50 ID0gMAkJIyBUQ1BfS0VFUENOVDsKCQkJCQkjIDAgc2VsZWN0cyB0aGUgc3lzdGVtIGRlZmF1bHQK I3RjcF91c2VyX3RpbWVvdXQgPSAwCQkJIyBUQ1BfVVNFUl9USU1FT1VULCBpbiBtaWxsaXNlY29u ZHM7CgkJCQkJIyAwIHNlbGVjdHMgdGhlIHN5c3RlbSBkZWZhdWx0CgojY2xpZW50X2Nvbm5lY3Rp b25fY2hlY2tfaW50ZXJ2YWwgPSAwCSMgdGltZSBiZXR3ZWVuIGNoZWNrcyBmb3IgY2xpZW50CgkJ CQkJIyBkaXNjb25uZWN0aW9uIHdoaWxlIHJ1bm5pbmcgcXVlcmllczsKCQkJCQkjIDAgZm9yIG5l dmVyCgojIC0gQXV0aGVudGljYXRpb24gLQoKI2F1dGhlbnRpY2F0aW9uX3RpbWVvdXQgPSAxbWlu CQkjIDFzLTYwMHMKI3Bhc3N3b3JkX2VuY3J5cHRpb24gPSBzY3JhbS1zaGEtMjU2CSMgc2NyYW0t c2hhLTI1NiBvciAoZGVwcmVjYXRlZCkgbWQ1CiNzY3JhbV9pdGVyYXRpb25zID0gNDA5NgojbWQ1 X3Bhc3N3b3JkX3dhcm5pbmdzID0gb24JCSMgZGlzcGxheSBtZDUgZGVwcmVjYXRpb24gd2Fybmlu Z3M/CiNvYXV0aF92YWxpZGF0b3JfbGlicmFyaWVzID0gJycJIyBjb21tYS1zZXBhcmF0ZWQgbGlz dCBvZiB0cnVzdGVkIHZhbGlkYXRvciBtb2R1bGVzCgojIEdTU0FQSSB1c2luZyBLZXJiZXJvcwoj a3JiX3NlcnZlcl9rZXlmaWxlID0gJ0ZJTEU6JHtzeXNjb25mZGlyfS9rcmI1LmtleXRhYicKI2ty Yl9jYXNlaW5zX3VzZXJzID0gb2ZmCiNnc3NfYWNjZXB0X2RlbGVnYXRpb24gPSBvZmYKCiMgLSBT U0wgLQoKc3NsID0gb24KI3NzbF9jYV9maWxlID0gJycKc3NsX2NlcnRfZmlsZSA9ICcvZXRjL3Nz bC9jZXJ0cy9zc2wtY2VydC1zbmFrZW9pbC5wZW0nCiNzc2xfY3JsX2ZpbGUgPSAnJwojc3NsX2Ny bF9kaXIgPSAnJwpzc2xfa2V5X2ZpbGUgPSAnL2V0Yy9zc2wvcHJpdmF0ZS9zc2wtY2VydC1zbmFr ZW9pbC5rZXknCiNzc2xfY2lwaGVycyA9ICdISUdIOk1FRElVTTorM0RFUzohYU5VTEwnCSMgYWxs b3dlZCBUTFN2MS4yIGNpcGhlcnMKI3NzbF90bHMxM19jaXBoZXJzID0gJycJIyBhbGxvd2VkIFRM U3YxLjMgY2lwaGVyIHN1aXRlcywgYmxhbmsgZm9yIGRlZmF1bHQKI3NzbF9wcmVmZXJfc2VydmVy X2NpcGhlcnMgPSBvbgojc3NsX2dyb3VwcyA9ICdYMjU1MTk6cHJpbWUyNTZ2MScKI3NzbF9taW5f cHJvdG9jb2xfdmVyc2lvbiA9ICdUTFN2MS4yJwojc3NsX21heF9wcm90b2NvbF92ZXJzaW9uID0g JycKI3NzbF9kaF9wYXJhbXNfZmlsZSA9ICcnCiNzc2xfcGFzc3BocmFzZV9jb21tYW5kID0gJycK I3NzbF9wYXNzcGhyYXNlX2NvbW1hbmRfc3VwcG9ydHNfcmVsb2FkID0gb2ZmCgoKIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQojIFJFU09VUkNFIFVTQUdFIChleGNlcHQgV0FMKQojLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgojIC0gTWVtb3J5IC0KCnNoYXJlZF9idWZmZXJzID0gMTI4TUIJCQkjIG1pbiAx MjhrQgoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojaHVnZV9wYWdlcyA9IHRyeQkJ CSMgb24sIG9mZiwgb3IgdHJ5CgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNodWdl X3BhZ2Vfc2l6ZSA9IDAJCQkjIHplcm8gZm9yIHN5c3RlbSBkZWZhdWx0CgkJCQkJIyAoY2hhbmdl IHJlcXVpcmVzIHJlc3RhcnQpCiN0ZW1wX2J1ZmZlcnMgPSA4TUIJCQkjIG1pbiA4MDBrQgojbWF4 X3ByZXBhcmVkX3RyYW5zYWN0aW9ucyA9IDAJCSMgemVybyBkaXNhYmxlcyB0aGUgZmVhdHVyZQoJ CQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojIENhdXRpb246IGl0IGlzIG5vdCBhZHZp c2FibGUgdG8gc2V0IG1heF9wcmVwYXJlZF90cmFuc2FjdGlvbnMgbm9uemVybyB1bmxlc3MKIyB5 b3UgYWN0aXZlbHkgaW50ZW5kIHRvIHVzZSBwcmVwYXJlZCB0cmFuc2FjdGlvbnMuCiN3b3JrX21l bSA9IDRNQgkJCQkjIG1pbiA2NGtCCiNoYXNoX21lbV9tdWx0aXBsaWVyID0gMi4wCQkjIDEtMTAw MC4wIG11bHRpcGxpZXIgb24gaGFzaCB0YWJsZSB3b3JrX21lbQojbWFpbnRlbmFuY2Vfd29ya19t ZW0gPSA2NE1CCQkjIG1pbiA2NGtCCiNhdXRvdmFjdXVtX3dvcmtfbWVtID0gLTEJCSMgbWluIDY0 a0IsIG9yIC0xIHRvIHVzZSBtYWludGVuYW5jZV93b3JrX21lbQojbG9naWNhbF9kZWNvZGluZ193 b3JrX21lbSA9IDY0TUIJIyBtaW4gNjRrQgojbWF4X3N0YWNrX2RlcHRoID0gMk1CCQkJIyBtaW4g MTAwa0IKI3NoYXJlZF9tZW1vcnlfdHlwZSA9IG1tYXAJCSMgdGhlIGRlZmF1bHQgaXMgdGhlIGZp cnN0IG9wdGlvbgoJCQkJCSMgc3VwcG9ydGVkIGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtOgoJCQkJ CSMgICBtbWFwCgkJCQkJIyAgIHN5c3YKCQkJCQkjICAgd2luZG93cwoJCQkJCSMgKGNoYW5nZSBy ZXF1aXJlcyByZXN0YXJ0KQpkeW5hbWljX3NoYXJlZF9tZW1vcnlfdHlwZSA9IHBvc2l4CSMgdGhl IGRlZmF1bHQgaXMgdXN1YWxseSB0aGUgZmlyc3Qgb3B0aW9uCgkJCQkJIyBzdXBwb3J0ZWQgYnkg dGhlIG9wZXJhdGluZyBzeXN0ZW06CgkJCQkJIyAgIHBvc2l4CgkJCQkJIyAgIHN5c3YKCQkJCQkj ICAgd2luZG93cwoJCQkJCSMgICBtbWFwCgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQp CiNtaW5fZHluYW1pY19zaGFyZWRfbWVtb3J5ID0gME1CCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0 YXJ0KQojdmFjdXVtX2J1ZmZlcl91c2FnZV9saW1pdCA9IDJNQgkjIHNpemUgb2YgdmFjdXVtIGFu ZCBhbmFseXplIGJ1ZmZlciBhY2Nlc3Mgc3RyYXRlZ3kgcmluZzsKCQkJCQkjIDAgdG8gZGlzYWJs ZSB2YWN1dW0gYnVmZmVyIGFjY2VzcyBzdHJhdGVneTsKCQkJCQkjIHJhbmdlIDEyOGtCIHRvIDE2 R0IKCiMgU0xSVSBidWZmZXJzIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI2NvbW1pdF90aW1l c3RhbXBfYnVmZmVycyA9IDAJCSMgbWVtb3J5IGZvciBwZ19jb21taXRfdHMgKDAgPSBhdXRvKQoj bXVsdGl4YWN0X29mZnNldF9idWZmZXJzID0gMTYJCSMgbWVtb3J5IGZvciBwZ19tdWx0aXhhY3Qv b2Zmc2V0cwojbXVsdGl4YWN0X21lbWJlcl9idWZmZXJzID0gMzIJCSMgbWVtb3J5IGZvciBwZ19t dWx0aXhhY3QvbWVtYmVycwojbm90aWZ5X2J1ZmZlcnMgPSAxNgkJCSMgbWVtb3J5IGZvciBwZ19u b3RpZnkKI3NlcmlhbGl6YWJsZV9idWZmZXJzID0gMzIJCSMgbWVtb3J5IGZvciBwZ19zZXJpYWwK I3N1YnRyYW5zYWN0aW9uX2J1ZmZlcnMgPSAwCQkjIG1lbW9yeSBmb3IgcGdfc3VidHJhbnMgKDAg PSBhdXRvKQojdHJhbnNhY3Rpb25fYnVmZmVycyA9IDAJCSMgbWVtb3J5IGZvciBwZ194YWN0ICgw ID0gYXV0bykKCiMgLSBEaXNrIC0KCiN0ZW1wX2ZpbGVfbGltaXQgPSAtMQkJCSMgbGltaXRzIHBl ci1wcm9jZXNzIHRlbXAgZmlsZSBzcGFjZQoJCQkJCSMgaW4ga2lsb2J5dGVzLCBvciAtMSBmb3Ig bm8gbGltaXQKCiNmaWxlX2NvcHlfbWV0aG9kID0gY29weQkJIyBjb3B5LCBjbG9uZSAoaWYgc3Vw cG9ydGVkIGJ5IE9TKQojZmlsZV9leHRlbmRfbWV0aG9kID0gcG9zaXhfZmFsbG9jYXRlICAgIyB0 aGUgZGVmYXVsdCBpcyB0aGUgZmlyc3Qgb3B0aW9uIHN1cHBvcnRlZAoJCQkJCSMgYnkgdGhlIG9w ZXJhdGluZyBzeXN0ZW06CgkJCQkJIyAgIHBvc2l4X2ZhbGxvY2F0ZSAobW9zdCBVbml4LWxpa2Ug c3lzdGVtcykKCQkJCQkjICAgd3JpdGVfemVyb3MKCiNtYXhfbm90aWZ5X3F1ZXVlX3BhZ2VzID0g MTA0ODU3NgkjIGxpbWl0cyB0aGUgbnVtYmVyIG9mIFNMUlUgcGFnZXMgYWxsb2NhdGVkCgkJCQkJ IyBmb3IgTk9USUZZIC8gTElTVEVOIHF1ZXVlCgojIC0gS2VybmVsIFJlc291cmNlcyAtCgojbWF4 X2ZpbGVzX3Blcl9wcm9jZXNzID0gMTAwMAkJIyBtaW4gNjQKCQkJCQkjIChjaGFuZ2UgcmVxdWly ZXMgcmVzdGFydCkKCiMgLSBCYWNrZ3JvdW5kIFdyaXRlciAtCgojYmd3cml0ZXJfZGVsYXkgPSAy MDBtcwkJCSMgMTAtMTAwMDBtcyBiZXR3ZWVuIHJvdW5kcwojYmd3cml0ZXJfbHJ1X21heHBhZ2Vz ID0gMTAwCQkjIG1heCBidWZmZXJzIHdyaXR0ZW4vcm91bmQsIDAgZGlzYWJsZXMKI2Jnd3JpdGVy X2xydV9tdWx0aXBsaWVyID0gMi4wCQkjIDAtMTAuMCBtdWx0aXBsaWVyIG9uIGJ1ZmZlcnMgc2Nh bm5lZC9yb3VuZAojYmd3cml0ZXJfZmx1c2hfYWZ0ZXIgPSA1MTJrQgkJIyBtZWFzdXJlZCBpbiBw YWdlcywgMCBkaXNhYmxlcwoKIyAtIEkvTyAtCgojYmFja2VuZF9mbHVzaF9hZnRlciA9IDAJCSMg bWVhc3VyZWQgaW4gcGFnZXMsIDAgZGlzYWJsZXMKI2VmZmVjdGl2ZV9pb19jb25jdXJyZW5jeSA9 IDE2CQkjIDEtMTAwMDsgMCBkaXNhYmxlcyBpc3N1aW5nIG11bHRpcGxlIHNpbXVsdGFuZW91cyBJ TyByZXF1ZXN0cwojbWFpbnRlbmFuY2VfaW9fY29uY3VycmVuY3kgPSAxNgkjIDEtMTAwMDsgc2Ft ZSBhcyBlZmZlY3RpdmVfaW9fY29uY3VycmVuY3kKI2lvX21heF9jb21iaW5lX2xpbWl0ID0gMTI4 a0IJCSMgdXN1YWxseSAxLTEyOCBibG9ja3MgKGRlcGVuZHMgb24gT1MpCgkJCQkJIyAoY2hhbmdl IHJlcXVpcmVzIHJlc3RhcnQpCiNpb19jb21iaW5lX2xpbWl0ID0gMTI4a0IJCSMgdXN1YWxseSAx LTEyOCBibG9ja3MgKGRlcGVuZHMgb24gT1MpCgojaW9fbWV0aG9kID0gd29ya2VyCQkJIyB3b3Jr ZXIsIGlvX3VyaW5nLCBzeW5jCgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNpb19t YXhfY29uY3VycmVuY3kgPSAtMQkJIyBNYXggbnVtYmVyIG9mIElPcyB0aGF0IG9uZSBwcm9jZXNz CgkJCQkJIyBjYW4gZXhlY3V0ZSBzaW11bHRhbmVvdXNseQoJCQkJCSMgLTEgc2V0cyBiYXNlZCBv biBzaGFyZWRfYnVmZmVycwoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojaW9fd29y a2VycyA9IDMJCQkJIyAxLTMyOwoKIyAtIFdvcmtlciBQcm9jZXNzZXMgLQoKI21heF93b3JrZXJf cHJvY2Vzc2VzID0gOAkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNtYXhfcGFyYWxsZWxf d29ya2Vyc19wZXJfZ2F0aGVyID0gMgkjIGxpbWl0ZWQgYnkgbWF4X3BhcmFsbGVsX3dvcmtlcnMK I21heF9wYXJhbGxlbF9tYWludGVuYW5jZV93b3JrZXJzID0gMgkjIGxpbWl0ZWQgYnkgbWF4X3Bh cmFsbGVsX3dvcmtlcnMKI21heF9wYXJhbGxlbF93b3JrZXJzID0gOAkJIyBudW1iZXIgb2YgbWF4 X3dvcmtlcl9wcm9jZXNzZXMgdGhhdAoJCQkJCSMgY2FuIGJlIHVzZWQgaW4gcGFyYWxsZWwgb3Bl cmF0aW9ucwojcGFyYWxsZWxfbGVhZGVyX3BhcnRpY2lwYXRpb24gPSBvbgoKCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIyBXUklURS1BSEVBRCBMT0cKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIyAt IFNldHRpbmdzIC0KCiN3YWxfbGV2ZWwgPSByZXBsaWNhCQkJIyBtaW5pbWFsLCByZXBsaWNhLCBv ciBsb2dpY2FsCgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNmc3luYyA9IG9uCQkJ CSMgZmx1c2ggZGF0YSB0byBkaXNrIGZvciBjcmFzaCBzYWZldHkKCQkJCQkjICh0dXJuaW5nIHRo aXMgb2ZmIGNhbiBjYXVzZQoJCQkJCSMgdW5yZWNvdmVyYWJsZSBkYXRhIGNvcnJ1cHRpb24pCiNz eW5jaHJvbm91c19jb21taXQgPSBvbgkJIyBzeW5jaHJvbml6YXRpb24gbGV2ZWw7CgkJCQkJIyBv ZmYsIGxvY2FsLCByZW1vdGVfd3JpdGUsIHJlbW90ZV9hcHBseSwgb3Igb24KI3dhbF9zeW5jX21l dGhvZCA9IGZzeW5jCQkjIHRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBvcHRpb24KCQkJCQkjIHN1 cHBvcnRlZCBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbToKCQkJCQkjICAgb3Blbl9kYXRhc3luYwoJ CQkJCSMgICBmZGF0YXN5bmMgKGRlZmF1bHQgb24gTGludXggYW5kIEZyZWVCU0QpCgkJCQkJIyAg IGZzeW5jCgkJCQkJIyAgIGZzeW5jX3dyaXRldGhyb3VnaAoJCQkJCSMgICBvcGVuX3N5bmMKI2Z1 bGxfcGFnZV93cml0ZXMgPSBvbgkJCSMgcmVjb3ZlciBmcm9tIHBhcnRpYWwgcGFnZSB3cml0ZXMK I3dhbF9sb2dfaGludHMgPSBvZmYJCQkjIGFsc28gZG8gZnVsbCBwYWdlIHdyaXRlcyBvZiBub24t Y3JpdGljYWwgdXBkYXRlcwoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojd2FsX2Nv bXByZXNzaW9uID0gb2ZmCQkJIyBlbmFibGVzIGNvbXByZXNzaW9uIG9mIGZ1bGwtcGFnZSB3cml0 ZXM7CgkJCQkJIyBvZmYsIHBnbHosIGx6NCwgenN0ZCwgb3Igb24KI3dhbF9pbml0X3plcm8gPSBv bgkJCSMgemVyby1maWxsIG5ldyBXQUwgZmlsZXMKI3dhbF9yZWN5Y2xlID0gb24JCQkjIHJlY3lj bGUgV0FMIGZpbGVzCiN3YWxfYnVmZmVycyA9IC0xCQkJIyBtaW4gMzJrQiwgLTEgc2V0cyBiYXNl ZCBvbiBzaGFyZWRfYnVmZmVycwoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojd2Fs X3dyaXRlcl9kZWxheSA9IDIwMG1zCQkjIDEtMTAwMDAgbWlsbGlzZWNvbmRzCiN3YWxfd3JpdGVy X2ZsdXNoX2FmdGVyID0gMU1CCQkjIG1lYXN1cmVkIGluIHBhZ2VzLCAwIGRpc2FibGVzCiN3YWxf c2tpcF90aHJlc2hvbGQgPSAyTUIKCiNjb21taXRfZGVsYXkgPSAwCQkJIyByYW5nZSAwLTEwMDAw MCwgaW4gbWljcm9zZWNvbmRzCiNjb21taXRfc2libGluZ3MgPSA1CQkJIyByYW5nZSAwLTEwMDAK CiMgLSBDaGVja3BvaW50cyAtCgojY2hlY2twb2ludF90aW1lb3V0ID0gNW1pbgkJIyByYW5nZSAz MHMtMWQKI2NoZWNrcG9pbnRfY29tcGxldGlvbl90YXJnZXQgPSAwLjkJIyBjaGVja3BvaW50IHRh cmdldCBkdXJhdGlvbiwgMC4wIC0gMS4wCiNjaGVja3BvaW50X2ZsdXNoX2FmdGVyID0gMjU2a0IJ CSMgbWVhc3VyZWQgaW4gcGFnZXMsIDAgZGlzYWJsZXMKI2NoZWNrcG9pbnRfd2FybmluZyA9IDMw cwkJIyAwIGRpc2FibGVzCm1heF93YWxfc2l6ZSA9IDFHQgptaW5fd2FsX3NpemUgPSA4ME1CCgoj IC0gUHJlZmV0Y2hpbmcgZHVyaW5nIHJlY292ZXJ5IC0KCiNyZWNvdmVyeV9wcmVmZXRjaCA9IHRy eQkjIHByZWZldGNoIHBhZ2VzIHJlZmVyZW5jZWQgaW4gdGhlIFdBTD8KI3dhbF9kZWNvZGVfYnVm ZmVyX3NpemUgPSA1MTJrQgkjIGxvb2thaGVhZCB3aW5kb3cgdXNlZCBmb3IgcHJlZmV0Y2hpbmcK CQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQoKIyAtIEFyY2hpdmluZyAtCgojYXJjaGl2 ZV9tb2RlID0gb2ZmCQkjIGVuYWJsZXMgYXJjaGl2aW5nOyBvZmYsIG9uLCBvciBhbHdheXMKCQkJ CSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojYXJjaGl2ZV9saWJyYXJ5ID0gJycJCSMgbGli cmFyeSB0byB1c2UgdG8gYXJjaGl2ZSBhIFdBTCBmaWxlCgkJCQkjIChlbXB0eSBzdHJpbmcgaW5k aWNhdGVzIGFyY2hpdmVfY29tbWFuZCBzaG91bGQKCQkJCSMgYmUgdXNlZCkKI2FyY2hpdmVfY29t bWFuZCA9ICcnCQkjIGNvbW1hbmQgdG8gdXNlIHRvIGFyY2hpdmUgYSBXQUwgZmlsZQoJCQkJIyBw bGFjZWhvbGRlcnM6ICVwID0gcGF0aCBvZiBmaWxlIHRvIGFyY2hpdmUKCQkJCSMgICAgICAgICAg ICAgICAlZiA9IGZpbGUgbmFtZSBvbmx5CgkJCQkjIGUuZy4gJ3Rlc3QgISAtZiAvbW50L3NlcnZl ci9hcmNoaXZlZGlyLyVmICYmIGNwICVwIC9tbnQvc2VydmVyL2FyY2hpdmVkaXIvJWYnCiNhcmNo aXZlX3RpbWVvdXQgPSAwCQkjIGZvcmNlIGEgV0FMIGZpbGUgc3dpdGNoIGFmdGVyIHRoaXMKCQkJ CSMgbnVtYmVyIG9mIHNlY29uZHM7IDAgZGlzYWJsZXMKCiMgLSBBcmNoaXZlIFJlY292ZXJ5IC0K CiMgVGhlc2UgYXJlIG9ubHkgdXNlZCBpbiByZWNvdmVyeSBtb2RlLgoKI3Jlc3RvcmVfY29tbWFu ZCA9ICcnCQkjIGNvbW1hbmQgdG8gdXNlIHRvIHJlc3RvcmUgYW4gYXJjaGl2ZWQgV0FMIGZpbGUK CQkJCSMgcGxhY2Vob2xkZXJzOiAlcCA9IHBhdGggb2YgZmlsZSB0byByZXN0b3JlCgkJCQkjICAg ICAgICAgICAgICAgJWYgPSBmaWxlIG5hbWUgb25seQoJCQkJIyBlLmcuICdjcCAvbW50L3NlcnZl ci9hcmNoaXZlZGlyLyVmICVwJwojYXJjaGl2ZV9jbGVhbnVwX2NvbW1hbmQgPSAnJwkjIGNvbW1h bmQgdG8gZXhlY3V0ZSBhdCBldmVyeSByZXN0YXJ0cG9pbnQKI3JlY292ZXJ5X2VuZF9jb21tYW5k ID0gJycJIyBjb21tYW5kIHRvIGV4ZWN1dGUgYXQgY29tcGxldGlvbiBvZiByZWNvdmVyeQoKIyAt IFJlY292ZXJ5IFRhcmdldCAtCgojIFNldCB0aGVzZSBvbmx5IHdoZW4gcGVyZm9ybWluZyBhIHRh cmdldGVkIHJlY292ZXJ5LgoKI3JlY292ZXJ5X3RhcmdldCA9ICcnCQkjICdpbW1lZGlhdGUnIHRv IGVuZCByZWNvdmVyeSBhcyBzb29uIGFzIGEKCQkJCSMgY29uc2lzdGVudCBzdGF0ZSBpcyByZWFj aGVkCgkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI3JlY292ZXJ5X3RhcmdldF9uYW1l ID0gJycJIyB0aGUgbmFtZWQgcmVzdG9yZSBwb2ludCB0byB3aGljaCByZWNvdmVyeSB3aWxsIHBy b2NlZWQKCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojcmVjb3ZlcnlfdGFyZ2V0X3Rp bWUgPSAnJwkjIHRoZSB0aW1lIHN0YW1wIHVwIHRvIHdoaWNoIHJlY292ZXJ5IHdpbGwgcHJvY2Vl ZAoJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNyZWNvdmVyeV90YXJnZXRfeGlkID0g JycJIyB0aGUgdHJhbnNhY3Rpb24gSUQgdXAgdG8gd2hpY2ggcmVjb3Zlcnkgd2lsbCBwcm9jZWVk CgkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI3JlY292ZXJ5X3RhcmdldF9sc24gPSAn JwkjIHRoZSBXQUwgTFNOIHVwIHRvIHdoaWNoIHJlY292ZXJ5IHdpbGwgcHJvY2VlZAoJCQkJIyAo Y2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNyZWNvdmVyeV90YXJnZXRfaW5jbHVzaXZlID0gb24J IyBTcGVjaWZpZXMgd2hldGhlciB0byBzdG9wOgoJCQkJIyBqdXN0IGFmdGVyIHRoZSBzcGVjaWZp ZWQgcmVjb3ZlcnkgdGFyZ2V0IChvbikKCQkJCSMganVzdCBiZWZvcmUgdGhlIHJlY292ZXJ5IHRh cmdldCAob2ZmKQoJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNyZWNvdmVyeV90YXJn ZXRfdGltZWxpbmUgPSAnbGF0ZXN0JwkjICdjdXJyZW50JywgJ2xhdGVzdCcsIG9yIHRpbWVsaW5l IElECgkJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCiNyZWNvdmVyeV90YXJnZXRfYWN0 aW9uID0gJ3BhdXNlJwkjICdwYXVzZScsICdwcm9tb3RlJywgJ3NodXRkb3duJwoJCQkJCSMgKGNo YW5nZSByZXF1aXJlcyByZXN0YXJ0KQoKIyAtIFdBTCBTdW1tYXJpemF0aW9uIC0KCiNzdW1tYXJp emVfd2FsID0gb2ZmCQkjIHJ1biBXQUwgc3VtbWFyaXplciBwcm9jZXNzPwojd2FsX3N1bW1hcnlf a2VlcF90aW1lID0gJzEwZCcJIyB3aGVuIHRvIHJlbW92ZSBvbGQgc3VtbWFyeSBmaWxlcywgMCA9 IG5ldmVyCgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFJFUExJQ0FUSU9OCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KCiMgLSBTZW5kaW5nIFNlcnZlcnMgLQoKIyBTZXQgdGhlc2Ugb24gdGhlIHBy aW1hcnkgYW5kIG9uIGFueSBzdGFuZGJ5IHRoYXQgd2lsbCBzZW5kIHJlcGxpY2F0aW9uIGRhdGEu CgojbWF4X3dhbF9zZW5kZXJzID0gMTAJCSMgbWF4IG51bWJlciBvZiB3YWxzZW5kZXIgcHJvY2Vz c2VzCgkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI21heF9yZXBsaWNhdGlvbl9zbG90 cyA9IDEwCSMgbWF4IG51bWJlciBvZiByZXBsaWNhdGlvbiBzbG90cwoJCQkJIyAoY2hhbmdlIHJl cXVpcmVzIHJlc3RhcnQpCiN3YWxfa2VlcF9zaXplID0gMAkJIyBpbiBtZWdhYnl0ZXM7IDAgZGlz YWJsZXMKI21heF9zbG90X3dhbF9rZWVwX3NpemUgPSAtMQkjIGluIG1lZ2FieXRlczsgLTEgZGlz YWJsZXMKI2lkbGVfcmVwbGljYXRpb25fc2xvdF90aW1lb3V0ID0gMAkjIGluIHNlY29uZHM7IDAg ZGlzYWJsZXMKI3dhbF9zZW5kZXJfdGltZW91dCA9IDYwcwkjIGluIG1pbGxpc2Vjb25kczsgMCBk aXNhYmxlcwojdHJhY2tfY29tbWl0X3RpbWVzdGFtcCA9IG9mZgkjIGNvbGxlY3QgdGltZXN0YW1w IG9mIHRyYW5zYWN0aW9uIGNvbW1pdAoJCQkJIyAoY2hhbmdlIHJlcXVpcmVzIHJlc3RhcnQpCgoj IC0gUHJpbWFyeSBTZXJ2ZXIgLQoKIyBUaGVzZSBzZXR0aW5ncyBhcmUgaWdub3JlZCBvbiBhIHN0 YW5kYnkgc2VydmVyLgoKI3N5bmNocm9ub3VzX3N0YW5kYnlfbmFtZXMgPSAnJwkjIHN0YW5kYnkg c2VydmVycyB0aGF0IHByb3ZpZGUgc3luYyByZXAKCQkJCSMgbWV0aG9kIHRvIGNob29zZSBzeW5j IHN0YW5kYnlzLCBudW1iZXIgb2Ygc3luYyBzdGFuZGJ5cywKCQkJCSMgYW5kIGNvbW1hLXNlcGFy YXRlZCBsaXN0IG9mIGFwcGxpY2F0aW9uX25hbWUKCQkJCSMgZnJvbSBzdGFuZGJ5KHMpOyAnKicg PSBhbGwKI3N5bmNocm9uaXplZF9zdGFuZGJ5X3Nsb3RzID0gJycJIyBzdHJlYW1pbmcgcmVwbGlj YXRpb24gc3RhbmRieSBzZXJ2ZXIgc2xvdAoJCQkJIyBuYW1lcyB0aGF0IGxvZ2ljYWwgd2Fsc2Vu ZGVyIHByb2Nlc3NlcyB3aWxsIHdhaXQgZm9yCgojIC0gU3RhbmRieSBTZXJ2ZXJzIC0KCiMgVGhl c2Ugc2V0dGluZ3MgYXJlIGlnbm9yZWQgb24gYSBwcmltYXJ5IHNlcnZlci4KCiNwcmltYXJ5X2Nv bm5pbmZvID0gJycJCQkjIGNvbm5lY3Rpb24gc3RyaW5nIHRvIHNlbmRpbmcgc2VydmVyCiNwcmlt YXJ5X3Nsb3RfbmFtZSA9ICcnCQkJIyByZXBsaWNhdGlvbiBzbG90IG9uIHNlbmRpbmcgc2VydmVy CiNob3Rfc3RhbmRieSA9IG9uCQkJIyAib2ZmIiBkaXNhbGxvd3MgcXVlcmllcyBkdXJpbmcgcmVj b3ZlcnkKCQkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI21heF9zdGFuZGJ5X2FyY2hp dmVfZGVsYXkgPSAzMHMJIyBtYXggZGVsYXkgYmVmb3JlIGNhbmNlbGluZyBxdWVyaWVzCgkJCQkJ IyB3aGVuIHJlYWRpbmcgV0FMIGZyb20gYXJjaGl2ZTsKCQkJCQkjIC0xIGFsbG93cyBpbmRlZmlu aXRlIGRlbGF5CiNtYXhfc3RhbmRieV9zdHJlYW1pbmdfZGVsYXkgPSAzMHMJIyBtYXggZGVsYXkg YmVmb3JlIGNhbmNlbGluZyBxdWVyaWVzCgkJCQkJIyB3aGVuIHJlYWRpbmcgc3RyZWFtaW5nIFdB TDsKCQkJCQkjIC0xIGFsbG93cyBpbmRlZmluaXRlIGRlbGF5CiN3YWxfcmVjZWl2ZXJfY3JlYXRl X3RlbXBfc2xvdCA9IG9mZgkjIGNyZWF0ZSB0ZW1wIHNsb3QgaWYgcHJpbWFyeV9zbG90X25hbWUK CQkJCQkjIGlzIG5vdCBzZXQKI3dhbF9yZWNlaXZlcl9zdGF0dXNfaW50ZXJ2YWwgPSAxMHMJIyBz ZW5kIHJlcGxpZXMgYXQgbGVhc3QgdGhpcyBvZnRlbgoJCQkJCSMgMCBkaXNhYmxlcwojaG90X3N0 YW5kYnlfZmVlZGJhY2sgPSBvZmYJCSMgc2VuZCBpbmZvIGZyb20gc3RhbmRieSB0byBwcmV2ZW50 CgkJCQkJIyBxdWVyeSBjb25mbGljdHMKI3dhbF9yZWNlaXZlcl90aW1lb3V0ID0gNjBzCQkjIHRp bWUgdGhhdCByZWNlaXZlciB3YWl0cyBmb3IKCQkJCQkjIGNvbW11bmljYXRpb24gZnJvbSBwcmlt YXJ5CgkJCQkJIyBpbiBtaWxsaXNlY29uZHM7IDAgZGlzYWJsZXMKI3dhbF9yZXRyaWV2ZV9yZXRy eV9pbnRlcnZhbCA9IDVzCSMgdGltZSB0byB3YWl0IGJlZm9yZSByZXRyeWluZyB0bwoJCQkJCSMg cmV0cmlldmUgV0FMIGFmdGVyIGEgZmFpbGVkIGF0dGVtcHQKI3JlY292ZXJ5X21pbl9hcHBseV9k ZWxheSA9IDAJCSMgbWluaW11bSBkZWxheSBmb3IgYXBwbHlpbmcgY2hhbmdlcyBkdXJpbmcgcmVj b3ZlcnkKI3N5bmNfcmVwbGljYXRpb25fc2xvdHMgPSBvZmYJCSMgZW5hYmxlcyBzbG90IHN5bmNo cm9uaXphdGlvbiBvbiB0aGUgcGh5c2ljYWwgc3RhbmRieSBmcm9tIHRoZSBwcmltYXJ5CgojIC0g U3Vic2NyaWJlcnMgLQoKIyBUaGVzZSBzZXR0aW5ncyBhcmUgaWdub3JlZCBvbiBhIHB1Ymxpc2hl ci4KCiNtYXhfYWN0aXZlX3JlcGxpY2F0aW9uX29yaWdpbnMgPSAxMAkjIG1heCBudW1iZXIgb2Yg YWN0aXZlIHJlcGxpY2F0aW9uIG9yaWdpbnMKCQkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFy dCkKI21heF9sb2dpY2FsX3JlcGxpY2F0aW9uX3dvcmtlcnMgPSA0CSMgdGFrZW4gZnJvbSBtYXhf d29ya2VyX3Byb2Nlc3NlcwoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojbWF4X3N5 bmNfd29ya2Vyc19wZXJfc3Vic2NyaXB0aW9uID0gMgkjIHRha2VuIGZyb20gbWF4X2xvZ2ljYWxf cmVwbGljYXRpb25fd29ya2VycwojbWF4X3BhcmFsbGVsX2FwcGx5X3dvcmtlcnNfcGVyX3N1YnNj cmlwdGlvbiA9IDIJIyB0YWtlbiBmcm9tIG1heF9sb2dpY2FsX3JlcGxpY2F0aW9uX3dvcmtlcnMK CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUVVFUlkgVFVOSU5HCiMtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KCiMgLSBQbGFubmVyIE1ldGhvZCBDb25maWd1cmF0aW9uIC0KCiNlbmFibGVfYXN5bmNf YXBwZW5kID0gb24KI2VuYWJsZV9iaXRtYXBzY2FuID0gb24KI2VuYWJsZV9nYXRoZXJtZXJnZSA9 IG9uCiNlbmFibGVfaGFzaGFnZyA9IG9uCiNlbmFibGVfaGFzaGpvaW4gPSBvbgojZW5hYmxlX2lu Y3JlbWVudGFsX3NvcnQgPSBvbgojZW5hYmxlX2luZGV4c2NhbiA9IG9uCiNlbmFibGVfaW5kZXhv bmx5c2NhbiA9IG9uCiNlbmFibGVfbWF0ZXJpYWwgPSBvbgojZW5hYmxlX21lbW9pemUgPSBvbgoj ZW5hYmxlX21lcmdlam9pbiA9IG9uCiNlbmFibGVfbmVzdGxvb3AgPSBvbgojZW5hYmxlX3BhcmFs bGVsX2FwcGVuZCA9IG9uCiNlbmFibGVfcGFyYWxsZWxfaGFzaCA9IG9uCiNlbmFibGVfcGFydGl0 aW9uX3BydW5pbmcgPSBvbgojZW5hYmxlX3BhcnRpdGlvbndpc2Vfam9pbiA9IG9mZgojZW5hYmxl X3BhcnRpdGlvbndpc2VfYWdncmVnYXRlID0gb2ZmCiNlbmFibGVfcHJlc29ydGVkX2FnZ3JlZ2F0 ZSA9IG9uCiNlbmFibGVfc2Vxc2NhbiA9IG9uCiNlbmFibGVfc29ydCA9IG9uCiNlbmFibGVfdGlk c2NhbiA9IG9uCiNlbmFibGVfZ3JvdXBfYnlfcmVvcmRlcmluZyA9IG9uCiNlbmFibGVfZGlzdGlu Y3RfcmVvcmRlcmluZyA9IG9uCiNlbmFibGVfc2VsZl9qb2luX2VsaW1pbmF0aW9uID0gb24KCiMg LSBQbGFubmVyIENvc3QgQ29uc3RhbnRzIC0KCiNzZXFfcGFnZV9jb3N0ID0gMS4wCQkJIyBtZWFz dXJlZCBvbiBhbiBhcmJpdHJhcnkgc2NhbGUKI3JhbmRvbV9wYWdlX2Nvc3QgPSA0LjAJCQkjIHNh bWUgc2NhbGUgYXMgYWJvdmUKI2NwdV90dXBsZV9jb3N0ID0gMC4wMQkJCSMgc2FtZSBzY2FsZSBh cyBhYm92ZQojY3B1X2luZGV4X3R1cGxlX2Nvc3QgPSAwLjAwNQkJIyBzYW1lIHNjYWxlIGFzIGFi b3ZlCiNjcHVfb3BlcmF0b3JfY29zdCA9IDAuMDAyNQkJIyBzYW1lIHNjYWxlIGFzIGFib3ZlCiNw YXJhbGxlbF9zZXR1cF9jb3N0ID0gMTAwMC4wCQkjIHNhbWUgc2NhbGUgYXMgYWJvdmUKI3BhcmFs bGVsX3R1cGxlX2Nvc3QgPSAwLjEJCSMgc2FtZSBzY2FsZSBhcyBhYm92ZQojbWluX3BhcmFsbGVs X3RhYmxlX3NjYW5fc2l6ZSA9IDhNQgojbWluX3BhcmFsbGVsX2luZGV4X3NjYW5fc2l6ZSA9IDUx MmtCCiNlZmZlY3RpdmVfY2FjaGVfc2l6ZSA9IDRHQgoKI2ppdF9hYm92ZV9jb3N0ID0gMTAwMDAw CQkjIHBlcmZvcm0gSklUIGNvbXBpbGF0aW9uIGlmIGF2YWlsYWJsZQoJCQkJCSMgYW5kIHF1ZXJ5 IG1vcmUgZXhwZW5zaXZlIHRoYW4gdGhpczsKCQkJCQkjIC0xIGRpc2FibGVzCiNqaXRfaW5saW5l X2Fib3ZlX2Nvc3QgPSA1MDAwMDAJCSMgaW5saW5lIHNtYWxsIGZ1bmN0aW9ucyBpZiBxdWVyeSBp cwoJCQkJCSMgbW9yZSBleHBlbnNpdmUgdGhhbiB0aGlzOyAtMSBkaXNhYmxlcwojaml0X29wdGlt aXplX2Fib3ZlX2Nvc3QgPSA1MDAwMDAJIyB1c2UgZXhwZW5zaXZlIEpJVCBvcHRpbWl6YXRpb25z IGlmCgkJCQkJIyBxdWVyeSBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuIHRoaXM7CgkJCQkJIyAtMSBk aXNhYmxlcwoKIyAtIEdlbmV0aWMgUXVlcnkgT3B0aW1pemVyIC0KCiNnZXFvID0gb24KI2dlcW9f dGhyZXNob2xkID0gMTIKI2dlcW9fZWZmb3J0ID0gNQkJCSMgcmFuZ2UgMS0xMAojZ2Vxb19wb29s X3NpemUgPSAwCQkJIyBzZWxlY3RzIGRlZmF1bHQgYmFzZWQgb24gZWZmb3J0CiNnZXFvX2dlbmVy YXRpb25zID0gMAkJCSMgc2VsZWN0cyBkZWZhdWx0IGJhc2VkIG9uIGVmZm9ydAojZ2Vxb19zZWxl Y3Rpb25fYmlhcyA9IDIuMAkJIyByYW5nZSAxLjUtMi4wCiNnZXFvX3NlZWQgPSAwLjAJCQkjIHJh bmdlIDAuMC0xLjAKCiMgLSBPdGhlciBQbGFubmVyIE9wdGlvbnMgLQoKI2RlZmF1bHRfc3RhdGlz dGljc190YXJnZXQgPSAxMDAJIyByYW5nZSAxLTEwMDAwCiNjb25zdHJhaW50X2V4Y2x1c2lvbiA9 IHBhcnRpdGlvbgkjIG9uLCBvZmYsIG9yIHBhcnRpdGlvbgojY3Vyc29yX3R1cGxlX2ZyYWN0aW9u ID0gMC4xCQkjIHJhbmdlIDAuMC0xLjAKI2Zyb21fY29sbGFwc2VfbGltaXQgPSA4CiNqaXQgPSBv bgkJCQkjIGFsbG93IEpJVCBjb21waWxhdGlvbgojam9pbl9jb2xsYXBzZV9saW1pdCA9IDgJCSMg MSBkaXNhYmxlcyBjb2xsYXBzaW5nIG9mIGV4cGxpY2l0CgkJCQkJIyBKT0lOIGNsYXVzZXMKI3Bs YW5fY2FjaGVfbW9kZSA9IGF1dG8JCQkjIGF1dG8sIGZvcmNlX2dlbmVyaWNfcGxhbiBvcgoJCQkJ CSMgZm9yY2VfY3VzdG9tX3BsYW4KI3JlY3Vyc2l2ZV93b3JrdGFibGVfZmFjdG9yID0gMTAuMAkj IHJhbmdlIDAuMDAxLTEwMDAwMDAKCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgUkVQT1JUSU5H IEFORCBMT0dHSU5HCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgLSBXaGVyZSB0byBMb2cgLQoK I2xvZ19kZXN0aW5hdGlvbiA9ICdzdGRlcnInCQkjIFZhbGlkIHZhbHVlcyBhcmUgY29tYmluYXRp b25zIG9mCgkJCQkJIyBzdGRlcnIsIGNzdmxvZywganNvbmxvZywgc3lzbG9nLCBhbmQKCQkJCQkj IGV2ZW50bG9nLCBkZXBlbmRpbmcgb24gcGxhdGZvcm0uCgkJCQkJIyBjc3Zsb2cgYW5kIGpzb25s b2cgcmVxdWlyZQoJCQkJCSMgbG9nZ2luZ19jb2xsZWN0b3IgdG8gYmUgb24uCgojIFRoaXMgaXMg dXNlZCB3aGVuIGxvZ2dpbmcgdG8gc3RkZXJyOgojbG9nZ2luZ19jb2xsZWN0b3IgPSBvZmYJCSMg RW5hYmxlIGNhcHR1cmluZyBvZiBzdGRlcnIsIGpzb25sb2csCgkJCQkJIyBhbmQgY3N2bG9nIGlu dG8gbG9nIGZpbGVzLiBSZXF1aXJlZAoJCQkJCSMgdG8gYmUgb24gZm9yIGNzdmxvZ3MgYW5kIGpz b25sb2dzLgoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQoKIyBUaGVzZSBhcmUgb25s eSB1c2VkIGlmIGxvZ2dpbmdfY29sbGVjdG9yIGlzIG9uOgojbG9nX2RpcmVjdG9yeSA9ICdsb2cn CQkJIyBkaXJlY3Rvcnkgd2hlcmUgbG9nIGZpbGVzIGFyZSB3cml0dGVuLAoJCQkJCSMgY2FuIGJl IGFic29sdXRlIG9yIHJlbGF0aXZlIHRvIFBHREFUQQojbG9nX2ZpbGVuYW1lID0gJ3Bvc3RncmVz cWwtJVktJW0tJWRfJUglTSVTLmxvZycJIyBsb2cgZmlsZSBuYW1lIHBhdHRlcm4sCgkJCQkJCQkj IGNhbiBpbmNsdWRlIHN0cmZ0aW1lKCkgZXNjYXBlcwojbG9nX2ZpbGVfbW9kZSA9IDA2MDAJCQkj IGNyZWF0aW9uIG1vZGUgZm9yIGxvZyBmaWxlcywKCQkJCQkjIGJlZ2luIHdpdGggMCB0byB1c2Ug b2N0YWwgbm90YXRpb24KI2xvZ19yb3RhdGlvbl9hZ2UgPSAxZAkJCSMgQXV0b21hdGljIHJvdGF0 aW9uIG9mIGxvZ2ZpbGVzIHdpbGwKCQkJCQkjIGhhcHBlbiBhZnRlciB0aGF0IHRpbWUuICAwIGRp c2FibGVzLgojbG9nX3JvdGF0aW9uX3NpemUgPSAxME1CCQkjIEF1dG9tYXRpYyByb3RhdGlvbiBv ZiBsb2dmaWxlcyB3aWxsCgkJCQkJIyBoYXBwZW4gYWZ0ZXIgdGhhdCBtdWNoIGxvZyBvdXRwdXQu CgkJCQkJIyAwIGRpc2FibGVzLgojbG9nX3RydW5jYXRlX29uX3JvdGF0aW9uID0gb2ZmCQkjIElm IG9uLCBhbiBleGlzdGluZyBsb2cgZmlsZSB3aXRoIHRoZQoJCQkJCSMgc2FtZSBuYW1lIGFzIHRo ZSBuZXcgbG9nIGZpbGUgd2lsbCBiZQoJCQkJCSMgdHJ1bmNhdGVkIHJhdGhlciB0aGFuIGFwcGVu ZGVkIHRvLgoJCQkJCSMgQnV0IHN1Y2ggdHJ1bmNhdGlvbiBvbmx5IG9jY3VycyBvbgoJCQkJCSMg dGltZS1kcml2ZW4gcm90YXRpb24sIG5vdCBvbiByZXN0YXJ0cwoJCQkJCSMgb3Igc2l6ZS1kcml2 ZW4gcm90YXRpb24uICBEZWZhdWx0IGlzCgkJCQkJIyBvZmYsIG1lYW5pbmcgYXBwZW5kIHRvIGV4 aXN0aW5nIGZpbGVzCgkJCQkJIyBpbiBhbGwgY2FzZXMuCgojIFRoZXNlIGFyZSByZWxldmFudCB3 aGVuIGxvZ2dpbmcgdG8gc3lzbG9nOgojc3lzbG9nX2ZhY2lsaXR5ID0gJ0xPQ0FMMCcKI3N5c2xv Z19pZGVudCA9ICdwb3N0Z3JlcycKI3N5c2xvZ19zZXF1ZW5jZV9udW1iZXJzID0gb24KI3N5c2xv Z19zcGxpdF9tZXNzYWdlcyA9IG9uCgojIFRoaXMgaXMgb25seSByZWxldmFudCB3aGVuIGxvZ2dp bmcgdG8gZXZlbnRsb2cgKFdpbmRvd3MpOgojIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI2V2 ZW50X3NvdXJjZSA9ICdQb3N0Z3JlU1FMJwoKIyAtIFdoZW4gdG8gTG9nIC0KCiNsb2dfbWluX21l c3NhZ2VzID0gd2FybmluZwkJIyB2YWx1ZXMgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBkZXRhaWw6 CgkJCQkJIyAgIGRlYnVnNQoJCQkJCSMgICBkZWJ1ZzQKCQkJCQkjICAgZGVidWczCgkJCQkJIyAg IGRlYnVnMgoJCQkJCSMgICBkZWJ1ZzEKCQkJCQkjICAgaW5mbwoJCQkJCSMgICBub3RpY2UKCQkJ CQkjICAgd2FybmluZwoJCQkJCSMgICBlcnJvcgoJCQkJCSMgICBsb2cKCQkJCQkjICAgZmF0YWwK CQkJCQkjICAgcGFuaWMKCiNsb2dfbWluX2Vycm9yX3N0YXRlbWVudCA9IGVycm9yCSMgdmFsdWVz IGluIG9yZGVyIG9mIGRlY3JlYXNpbmcgZGV0YWlsOgoJCQkJCSMgICBkZWJ1ZzUKCQkJCQkjICAg ZGVidWc0CgkJCQkJIyAgIGRlYnVnMwoJCQkJCSMgICBkZWJ1ZzIKCQkJCQkjICAgZGVidWcxCgkJ CQkJIyAgIGluZm8KCQkJCQkjICAgbm90aWNlCgkJCQkJIyAgIHdhcm5pbmcKCQkJCQkjICAgZXJy b3IKCQkJCQkjICAgbG9nCgkJCQkJIyAgIGZhdGFsCgkJCQkJIyAgIHBhbmljIChlZmZlY3RpdmVs eSBvZmYpCgojbG9nX21pbl9kdXJhdGlvbl9zdGF0ZW1lbnQgPSAtMQkjIC0xIGlzIGRpc2FibGVk LCAwIGxvZ3MgYWxsIHN0YXRlbWVudHMKCQkJCQkjIGFuZCB0aGVpciBkdXJhdGlvbnMsID4gMCBs b2dzIG9ubHkKCQkJCQkjIHN0YXRlbWVudHMgcnVubmluZyBhdCBsZWFzdCB0aGlzIG51bWJlcgoJ CQkJCSMgb2YgbWlsbGlzZWNvbmRzCgojbG9nX21pbl9kdXJhdGlvbl9zYW1wbGUgPSAtMQkJIyAt MSBpcyBkaXNhYmxlZCwgMCBsb2dzIGEgc2FtcGxlIG9mIHN0YXRlbWVudHMKCQkJCQkjIGFuZCB0 aGVpciBkdXJhdGlvbnMsID4gMCBsb2dzIG9ubHkgYSBzYW1wbGUgb2YKCQkJCQkjIHN0YXRlbWVu dHMgcnVubmluZyBhdCBsZWFzdCB0aGlzIG51bWJlcgoJCQkJCSMgb2YgbWlsbGlzZWNvbmRzOwoJ CQkJCSMgc2FtcGxlIGZyYWN0aW9uIGlzIGRldGVybWluZWQgYnkgbG9nX3N0YXRlbWVudF9zYW1w bGVfcmF0ZQoKI2xvZ19zdGF0ZW1lbnRfc2FtcGxlX3JhdGUgPSAxLjAJIyBmcmFjdGlvbiBvZiBs b2dnZWQgc3RhdGVtZW50cyBleGNlZWRpbmcKCQkJCQkjIGxvZ19taW5fZHVyYXRpb25fc2FtcGxl IHRvIGJlIGxvZ2dlZDsKCQkJCQkjIDEuMCBsb2dzIGFsbCBzdWNoIHN0YXRlbWVudHMsIDAuMCBu ZXZlciBsb2dzCgoKI2xvZ190cmFuc2FjdGlvbl9zYW1wbGVfcmF0ZSA9IDAuMAkjIGZyYWN0aW9u IG9mIHRyYW5zYWN0aW9ucyB3aG9zZSBzdGF0ZW1lbnRzCgkJCQkJIyBhcmUgbG9nZ2VkIHJlZ2Fy ZGxlc3Mgb2YgdGhlaXIgZHVyYXRpb247IDEuMCBsb2dzIGFsbAoJCQkJCSMgc3RhdGVtZW50cyBm cm9tIGFsbCB0cmFuc2FjdGlvbnMsIDAuMCBuZXZlciBsb2dzCgojbG9nX3N0YXJ0dXBfcHJvZ3Jl c3NfaW50ZXJ2YWwgPSAxMHMJIyBUaW1lIGJldHdlZW4gcHJvZ3Jlc3MgdXBkYXRlcyBmb3IKCQkJ CQkjIGxvbmctcnVubmluZyBzdGFydHVwIG9wZXJhdGlvbnMuCgkJCQkJIyAwIGRpc2FibGVzIHRo ZSBmZWF0dXJlLCA+IDAgaW5kaWNhdGVzCgkJCQkJIyB0aGUgaW50ZXJ2YWwgaW4gbWlsbGlzZWNv bmRzLgoKIyAtIFdoYXQgdG8gTG9nIC0KCiNkZWJ1Z19wcmludF9wYXJzZSA9IG9mZgojZGVidWdf cHJpbnRfcmV3cml0dGVuID0gb2ZmCiNkZWJ1Z19wcmludF9wbGFuID0gb2ZmCiNkZWJ1Z19wcmV0 dHlfcHJpbnQgPSBvbgojbG9nX2F1dG92YWN1dW1fbWluX2R1cmF0aW9uID0gMTBtaW4JIyBsb2cg YXV0b3ZhY3V1bSBhY3Rpdml0eTsKCQkJCQkjIC0xIGRpc2FibGVzLCAwIGxvZ3MgYWxsIGFjdGlv bnMgYW5kCgkJCQkJIyB0aGVpciBkdXJhdGlvbnMsID4gMCBsb2dzIG9ubHkKCQkJCQkjIGFjdGlv bnMgcnVubmluZyBhdCBsZWFzdCB0aGlzIG51bWJlcgoJCQkJCSMgb2YgbWlsbGlzZWNvbmRzLgoj bG9nX2NoZWNrcG9pbnRzID0gb24KI2xvZ19jb25uZWN0aW9ucyA9ICcnICMgbG9nIGFzcGVjdHMg b2YgY29ubmVjdGlvbiBzZXR1cAogICAgICAgICAgIyBvcHRpb25zIGluY2x1ZGUgcmVjZWlwdCwg YXV0aGVudGljYXRpb24sIGF1dGhvcml6YXRpb24sCiAgICAgICAgICAjIHNldHVwX2R1cmF0aW9u cywgYW5kIGFsbCB0byBsb2cgYWxsIG9mIHRoZXNlIGFzcGVjdHMKI2xvZ19kaXNjb25uZWN0aW9u cyA9IG9mZgojbG9nX2R1cmF0aW9uID0gb2ZmICMgbG9nIHN0YXRlbWVudCBkdXJhdGlvbgojbG9n X2Vycm9yX3ZlcmJvc2l0eSA9IGRlZmF1bHQJCSMgdGVyc2UsIGRlZmF1bHQsIG9yIHZlcmJvc2Ug bWVzc2FnZXMKI2xvZ19ob3N0bmFtZSA9IG9mZgpsb2dfbGluZV9wcmVmaXggPSAnJW0gWyVwXSAl cSV1QCVkICcJCSMgc3BlY2lhbCB2YWx1ZXM6CgkJCQkJIyAgICVhID0gYXBwbGljYXRpb24gbmFt ZQoJCQkJCSMgICAldSA9IHVzZXIgbmFtZQoJCQkJCSMgICAlZCA9IGRhdGFiYXNlIG5hbWUKCQkJ CQkjICAgJXIgPSByZW1vdGUgaG9zdCBhbmQgcG9ydAoJCQkJCSMgICAlaCA9IHJlbW90ZSBob3N0 CgkJCQkJIyAgICVMID0gbG9jYWwgYWRkcmVzcwoJCQkJCSMgICAlYiA9IGJhY2tlbmQgdHlwZQoJ CQkJCSMgICAlcCA9IHByb2Nlc3MgSUQKCQkJCQkjICAgJVAgPSBwcm9jZXNzIElEIG9mIHBhcmFs bGVsIGdyb3VwIGxlYWRlcgoJCQkJCSMgICAldCA9IHRpbWVzdGFtcCB3aXRob3V0IG1pbGxpc2Vj b25kcwoJCQkJCSMgICAlbSA9IHRpbWVzdGFtcCB3aXRoIG1pbGxpc2Vjb25kcwoJCQkJCSMgICAl biA9IHRpbWVzdGFtcCB3aXRoIG1pbGxpc2Vjb25kcyAoYXMgYSBVbml4IGVwb2NoKQoJCQkJCSMg ICAlUSA9IHF1ZXJ5IElEICgwIGlmIG5vbmUgb3Igbm90IGNvbXB1dGVkKQoJCQkJCSMgICAlaSA9 IGNvbW1hbmQgdGFnCgkJCQkJIyAgICVlID0gU1FMIHN0YXRlCgkJCQkJIyAgICVjID0gc2Vzc2lv biBJRAoJCQkJCSMgICAlbCA9IHNlc3Npb24gbGluZSBudW1iZXIKCQkJCQkjICAgJXMgPSBzZXNz aW9uIHN0YXJ0IHRpbWVzdGFtcAoJCQkJCSMgICAldiA9IHZpcnR1YWwgdHJhbnNhY3Rpb24gSUQK CQkJCQkjICAgJXggPSB0cmFuc2FjdGlvbiBJRCAoMCBpZiBub25lKQoJCQkJCSMgICAlcSA9IHN0 b3AgaGVyZSBpbiBub24tc2Vzc2lvbgoJCQkJCSMgICAgICAgIHByb2Nlc3NlcwoJCQkJCSMgICAl JSA9ICclJwoJCQkJCSMgZS5nLiAnPCV1JSUlZD4gJwojbG9nX2xvY2tfd2FpdHMgPSBvZmYJCQkj IGxvZyBsb2NrIHdhaXRzID49IGRlYWRsb2NrX3RpbWVvdXQKI2xvZ19sb2NrX2ZhaWx1cmVzID0g b2ZmCQkjIGxvZyBsb2NrIGZhaWx1cmVzCiNsb2dfcmVjb3ZlcnlfY29uZmxpY3Rfd2FpdHMgPSBv ZmYJIyBsb2cgc3RhbmRieSByZWNvdmVyeSBjb25mbGljdCB3YWl0cwoJCQkJCSMgPj0gZGVhZGxv Y2tfdGltZW91dAojbG9nX3BhcmFtZXRlcl9tYXhfbGVuZ3RoID0gLTEJCSMgd2hlbiBsb2dnaW5n IHN0YXRlbWVudHMsIGxpbWl0IGxvZ2dlZAoJCQkJCSMgYmluZC1wYXJhbWV0ZXIgdmFsdWVzIHRv IE4gYnl0ZXM7CgkJCQkJIyAtMSBtZWFucyBwcmludCBpbiBmdWxsLCAwIGRpc2FibGVzCiNsb2df cGFyYW1ldGVyX21heF9sZW5ndGhfb25fZXJyb3IgPSAwCSMgd2hlbiBsb2dnaW5nIGFuIGVycm9y LCBsaW1pdCBsb2dnZWQKCQkJCQkjIGJpbmQtcGFyYW1ldGVyIHZhbHVlcyB0byBOIGJ5dGVzOwoJ CQkJCSMgLTEgbWVhbnMgcHJpbnQgaW4gZnVsbCwgMCBkaXNhYmxlcwojbG9nX3N0YXRlbWVudCA9 ICdub25lJwkJCSMgbm9uZSwgZGRsLCBtb2QsIGFsbAojbG9nX3JlcGxpY2F0aW9uX2NvbW1hbmRz ID0gb2ZmCiNsb2dfdGVtcF9maWxlcyA9IC0xCQkJIyBsb2cgdGVtcG9yYXJ5IGZpbGVzIGVxdWFs IG9yIGxhcmdlcgoJCQkJCSMgdGhhbiB0aGUgc3BlY2lmaWVkIHNpemUgaW4ga2lsb2J5dGVzOwoJ CQkJCSMgLTEgZGlzYWJsZXMsIDAgbG9ncyBhbGwgdGVtcCBmaWxlcwpsb2dfdGltZXpvbmUgPSAn UGFjaWZpYy9BdWNrbGFuZCcKCiMgLSBQcm9jZXNzIFRpdGxlIC0KCmNsdXN0ZXJfbmFtZSA9ICcx OC90ZXN0JwkJCSMgYWRkZWQgdG8gcHJvY2VzcyB0aXRsZXMgaWYgbm9uZW1wdHkKCQkJCQkjIChj aGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI3VwZGF0ZV9wcm9jZXNzX3RpdGxlID0gb24KCgojLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiMgU1RBVElTVElDUwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoj IC0gQ3VtdWxhdGl2ZSBRdWVyeSBhbmQgSW5kZXggU3RhdGlzdGljcyAtCgojdHJhY2tfYWN0aXZp dGllcyA9IG9uCiN0cmFja19hY3Rpdml0eV9xdWVyeV9zaXplID0gMTAyNAkjIChjaGFuZ2UgcmVx dWlyZXMgcmVzdGFydCkKI3RyYWNrX2NvdW50cyA9IG9uCiN0cmFja19jb3N0X2RlbGF5X3RpbWlu ZyA9IG9mZgojdHJhY2tfaW9fdGltaW5nID0gb2ZmCiN0cmFja193YWxfaW9fdGltaW5nID0gb2Zm CiN0cmFja19mdW5jdGlvbnMgPSBub25lCQkJIyBub25lLCBwbCwgYWxsCiNzdGF0c19mZXRjaF9j b25zaXN0ZW5jeSA9IGNhY2hlCSMgY2FjaGUsIG5vbmUsIHNuYXBzaG90CgoKIyAtIE1vbml0b3Jp bmcgLQoKI2NvbXB1dGVfcXVlcnlfaWQgPSBhdXRvCiNsb2dfc3RhdGVtZW50X3N0YXRzID0gb2Zm CiNsb2dfcGFyc2VyX3N0YXRzID0gb2ZmCiNsb2dfcGxhbm5lcl9zdGF0cyA9IG9mZgojbG9nX2V4 ZWN1dG9yX3N0YXRzID0gb2ZmCgoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIFZBQ1VVTUlORwoj LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgojIC0gQXV0b21hdGljIFZhY3V1bWluZyAtCgojYXV0b3Zh Y3V1bSA9IG9uCQkJIyBFbmFibGUgYXV0b3ZhY3V1bSBzdWJwcm9jZXNzPyAgJ29uJwoJCQkJCSMg cmVxdWlyZXMgdHJhY2tfY291bnRzIHRvIGFsc28gYmUgb24uCmF1dG92YWN1dW1fd29ya2VyX3Ns b3RzID0gMTYJCSMgYXV0b3ZhY3V1bSB3b3JrZXIgc2xvdHMgdG8gYWxsb2NhdGUKCQkJCQkjIChj aGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI2F1dG92YWN1dW1fbWF4X3dvcmtlcnMgPSAzCQkjIG1h eCBudW1iZXIgb2YgYXV0b3ZhY3V1bSBzdWJwcm9jZXNzZXMKI2F1dG92YWN1dW1fbmFwdGltZSA9 IDFtaW4JCSMgdGltZSBiZXR3ZWVuIGF1dG92YWN1dW0gcnVucwojYXV0b3ZhY3V1bV92YWN1dW1f dGhyZXNob2xkID0gNTAJIyBtaW4gbnVtYmVyIG9mIHJvdyB1cGRhdGVzIGJlZm9yZQoJCQkJCSMg dmFjdXVtCiNhdXRvdmFjdXVtX3ZhY3V1bV9pbnNlcnRfdGhyZXNob2xkID0gMTAwMAkjIG1pbiBu dW1iZXIgb2Ygcm93IGluc2VydHMKCQkJCQkJIyBiZWZvcmUgdmFjdXVtOyAtMSBkaXNhYmxlcyBp bnNlcnQKCQkJCQkJIyB2YWN1dW1zCiNhdXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkID0gNTAJ IyBtaW4gbnVtYmVyIG9mIHJvdyB1cGRhdGVzIGJlZm9yZQoJCQkJCSMgYW5hbHl6ZQojYXV0b3Zh Y3V1bV92YWN1dW1fc2NhbGVfZmFjdG9yID0gMC4yCSMgZnJhY3Rpb24gb2YgdGFibGUgc2l6ZSBi ZWZvcmUgdmFjdXVtCiNhdXRvdmFjdXVtX3ZhY3V1bV9pbnNlcnRfc2NhbGVfZmFjdG9yID0gMC4y CSMgZnJhY3Rpb24gb2YgdW5mcm96ZW4gcGFnZXMKICAgICAgICAgICMgYmVmb3JlIGluc2VydCB2 YWN1dW0KI2F1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3IgPSAwLjEJIyBmcmFjdGlvbiBv ZiB0YWJsZSBzaXplIGJlZm9yZSBhbmFseXplCiNhdXRvdmFjdXVtX3ZhY3V1bV9tYXhfdGhyZXNo b2xkID0gMTAwMDAwMDAwICAgICMgbWF4IG51bWJlciBvZiByb3cgdXBkYXRlcwoJCQkJCQkjIGJl Zm9yZSB2YWN1dW07IC0xIGRpc2FibGVzIG1heAoJCQkJCQkjIHRocmVzaG9sZAojYXV0b3ZhY3V1 bV9mcmVlemVfbWF4X2FnZSA9IDIwMDAwMDAwMAkjIG1heGltdW0gWElEIGFnZSBiZWZvcmUgZm9y Y2VkIHZhY3V1bQoJCQkJCSMgKGNoYW5nZSByZXF1aXJlcyByZXN0YXJ0KQojYXV0b3ZhY3V1bV9t dWx0aXhhY3RfZnJlZXplX21heF9hZ2UgPSA0MDAwMDAwMDAJIyBtYXhpbXVtIG11bHRpeGFjdCBh Z2UKCQkJCQkJCSMgYmVmb3JlIGZvcmNlZCB2YWN1dW0KCQkJCQkJCSMgKGNoYW5nZSByZXF1aXJl cyByZXN0YXJ0KQojYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9kZWxheSA9IDJtcwkjIGRlZmF1bHQg dmFjdXVtIGNvc3QgZGVsYXkgZm9yCgkJCQkJIyBhdXRvdmFjdXVtLCBpbiBtaWxsaXNlY29uZHM7 CgkJCQkJIyAtMSBtZWFucyB1c2UgdmFjdXVtX2Nvc3RfZGVsYXkKI2F1dG92YWN1dW1fdmFjdXVt X2Nvc3RfbGltaXQgPSAtMQkjIGRlZmF1bHQgdmFjdXVtIGNvc3QgbGltaXQgZm9yCgkJCQkJIyBh dXRvdmFjdXVtLCAtMSBtZWFucyB1c2UKCQkJCQkjIHZhY3V1bV9jb3N0X2xpbWl0CgojIC0gQ29z dC1CYXNlZCBWYWN1dW0gRGVsYXkgLQoKI3ZhY3V1bV9jb3N0X2RlbGF5ID0gMAkJCSMgMC0xMDAg bWlsbGlzZWNvbmRzICgwIGRpc2FibGVzKQojdmFjdXVtX2Nvc3RfcGFnZV9oaXQgPSAxCQkjIDAt MTAwMDAgY3JlZGl0cwojdmFjdXVtX2Nvc3RfcGFnZV9taXNzID0gMgkJIyAwLTEwMDAwIGNyZWRp dHMKI3ZhY3V1bV9jb3N0X3BhZ2VfZGlydHkgPSAyMAkJIyAwLTEwMDAwIGNyZWRpdHMKI3ZhY3V1 bV9jb3N0X2xpbWl0ID0gMjAwCQkjIDEtMTAwMDAgY3JlZGl0cwoKIyAtIERlZmF1bHQgQmVoYXZp b3IgLQoKI3ZhY3V1bV90cnVuY2F0ZSA9IG9uCQkJIyBlbmFibGUgdHJ1bmNhdGlvbiBhZnRlciB2 YWN1dW0KCiMgLSBGcmVlemluZyAtCgojdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UgPSAxNTAwMDAw MDAKI3ZhY3V1bV9mcmVlemVfbWluX2FnZSA9IDUwMDAwMDAwCiN2YWN1dW1fZmFpbHNhZmVfYWdl ID0gMTYwMDAwMDAwMAojdmFjdXVtX211bHRpeGFjdF9mcmVlemVfdGFibGVfYWdlID0gMTUwMDAw MDAwCiN2YWN1dW1fbXVsdGl4YWN0X2ZyZWV6ZV9taW5fYWdlID0gNTAwMDAwMAojdmFjdXVtX211 bHRpeGFjdF9mYWlsc2FmZV9hZ2UgPSAxNjAwMDAwMDAwCiN2YWN1dW1fbWF4X2VhZ2VyX2ZyZWV6 ZV9mYWlsdXJlX3JhdGUgPSAwLjAzICMgMCBkaXNhYmxlcyBlYWdlciBzY2FubmluZwoKIy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQojIENMSUVOVCBDT05ORUNUSU9OIERFRkFVTFRTCiMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KCiMgLSBTdGF0ZW1lbnQgQmVoYXZpb3IgLQoKI2NsaWVudF9taW5fbWVzc2Fn ZXMgPSBub3RpY2UJCSMgdmFsdWVzIGluIG9yZGVyIG9mIGRlY3JlYXNpbmcgZGV0YWlsOgoJCQkJ CSMgICBkZWJ1ZzUKCQkJCQkjICAgZGVidWc0CgkJCQkJIyAgIGRlYnVnMwoJCQkJCSMgICBkZWJ1 ZzIKCQkJCQkjICAgZGVidWcxCgkJCQkJIyAgIGxvZwoJCQkJCSMgICBub3RpY2UKCQkJCQkjICAg d2FybmluZwoJCQkJCSMgICBlcnJvcgojc2VhcmNoX3BhdGggPSAnIiR1c2VyIiwgcHVibGljJwkj IHNjaGVtYSBuYW1lcwojcm93X3NlY3VyaXR5ID0gb24KI2RlZmF1bHRfdGFibGVfYWNjZXNzX21l dGhvZCA9ICdoZWFwJwojZGVmYXVsdF90YWJsZXNwYWNlID0gJycJCSMgYSB0YWJsZXNwYWNlIG5h bWUsICcnIHVzZXMgdGhlIGRlZmF1bHQKI2RlZmF1bHRfdG9hc3RfY29tcHJlc3Npb24gPSAncGds eicJIyAncGdseicgb3IgJ2x6NCcKI3RlbXBfdGFibGVzcGFjZXMgPSAnJwkJCSMgYSBsaXN0IG9m IHRhYmxlc3BhY2UgbmFtZXMsICcnIHVzZXMKCQkJCQkjIG9ubHkgZGVmYXVsdCB0YWJsZXNwYWNl CiNjaGVja19mdW5jdGlvbl9ib2RpZXMgPSBvbgojZGVmYXVsdF90cmFuc2FjdGlvbl9pc29sYXRp b24gPSAncmVhZCBjb21taXR0ZWQnCiNkZWZhdWx0X3RyYW5zYWN0aW9uX3JlYWRfb25seSA9IG9m ZgojZGVmYXVsdF90cmFuc2FjdGlvbl9kZWZlcnJhYmxlID0gb2ZmCiNzZXNzaW9uX3JlcGxpY2F0 aW9uX3JvbGUgPSAnb3JpZ2luJwojc3RhdGVtZW50X3RpbWVvdXQgPSAwCQkJCSMgaW4gbWlsbGlz ZWNvbmRzLCAwIGlzIGRpc2FibGVkCiN0cmFuc2FjdGlvbl90aW1lb3V0ID0gMAkJCSMgaW4gbWls bGlzZWNvbmRzLCAwIGlzIGRpc2FibGVkCiNsb2NrX3RpbWVvdXQgPSAwCQkJCSMgaW4gbWlsbGlz ZWNvbmRzLCAwIGlzIGRpc2FibGVkCiNpZGxlX2luX3RyYW5zYWN0aW9uX3Nlc3Npb25fdGltZW91 dCA9IDAJIyBpbiBtaWxsaXNlY29uZHMsIDAgaXMgZGlzYWJsZWQKI2lkbGVfc2Vzc2lvbl90aW1l b3V0ID0gMAkJCSMgaW4gbWlsbGlzZWNvbmRzLCAwIGlzIGRpc2FibGVkCiNieXRlYV9vdXRwdXQg PSAnaGV4JwkJCSMgaGV4LCBlc2NhcGUKI3htbGJpbmFyeSA9ICdiYXNlNjQnCiN4bWxvcHRpb24g PSAnY29udGVudCcKI2dpbl9wZW5kaW5nX2xpc3RfbGltaXQgPSA0TUIKI2NyZWF0ZXJvbGVfc2Vs Zl9ncmFudCA9ICcnCQkjIHNldCBhbmQvb3IgaW5oZXJpdAojZXZlbnRfdHJpZ2dlcnMgPSBvbgoK IyAtIExvY2FsZSBhbmQgRm9ybWF0dGluZyAtCgpkYXRlc3R5bGUgPSAnaXNvLCBkbXknCiNpbnRl cnZhbHN0eWxlID0gJ3Bvc3RncmVzJwp0aW1lem9uZSA9ICdQYWNpZmljL0F1Y2tsYW5kJwojdGlt ZXpvbmVfYWJicmV2aWF0aW9ucyA9ICdEZWZhdWx0JwkjIFNlbGVjdCB0aGUgc2V0IG9mIGF2YWls YWJsZSB0aW1lIHpvbmUKCQkJCQkjIGFiYnJldmlhdGlvbnMuICBDdXJyZW50bHksIHRoZXJlIGFy ZQoJCQkJCSMgICBEZWZhdWx0CgkJCQkJIyAgIEF1c3RyYWxpYSAoaGlzdG9yaWNhbCB1c2FnZSkK CQkJCQkjICAgSW5kaWEKCQkJCQkjIFlvdSBjYW4gY3JlYXRlIHlvdXIgb3duIGZpbGUgaW4KCQkJ CQkjIHNoYXJlL3RpbWV6b25lc2V0cy8uCiNleHRyYV9mbG9hdF9kaWdpdHMgPSAxCQkJIyBtaW4g LTE1LCBtYXggMzsgYW55IHZhbHVlID4wIGFjdHVhbGx5CgkJCQkJIyBzZWxlY3RzIHByZWNpc2Ug b3V0cHV0IG1vZGUKI2NsaWVudF9lbmNvZGluZyA9IHNxbF9hc2NpaQkJIyBhY3R1YWxseSwgZGVm YXVsdHMgdG8gZGF0YWJhc2UKCQkJCQkjIGVuY29kaW5nCgojIFRoZXNlIHNldHRpbmdzIGFyZSBp bml0aWFsaXplZCBieSBpbml0ZGIsIGJ1dCB0aGV5IGNhbiBiZSBjaGFuZ2VkLgpsY19tZXNzYWdl cyA9ICdlbl9OWi5VVEYtOCcJCSMgbG9jYWxlIGZvciBzeXN0ZW0gZXJyb3IgbWVzc2FnZQoJCQkJ CSMgc3RyaW5ncwpsY19tb25ldGFyeSA9ICdlbl9OWi5VVEYtOCcJCSMgbG9jYWxlIGZvciBtb25l dGFyeSBmb3JtYXR0aW5nCmxjX251bWVyaWMgPSAnZW5fTlouVVRGLTgnCQkjIGxvY2FsZSBmb3Ig bnVtYmVyIGZvcm1hdHRpbmcKbGNfdGltZSA9ICdlbl9OWi5VVEYtOCcJCQkjIGxvY2FsZSBmb3Ig dGltZSBmb3JtYXR0aW5nCgojaWN1X3ZhbGlkYXRpb25fbGV2ZWwgPSB3YXJuaW5nCQkjIHJlcG9y dCBJQ1UgbG9jYWxlIHZhbGlkYXRpb24KCQkJCQkjIGVycm9ycyBhdCB0aGUgZ2l2ZW4gbGV2ZWwK CiMgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciB0ZXh0IHNlYXJjaApkZWZhdWx0X3RleHRfc2Vh cmNoX2NvbmZpZyA9ICdwZ19jYXRhbG9nLmVuZ2xpc2gnCgojIC0gU2hhcmVkIExpYnJhcnkgUHJl bG9hZGluZyAtCgojbG9jYWxfcHJlbG9hZF9saWJyYXJpZXMgPSAnJwojc2Vzc2lvbl9wcmVsb2Fk X2xpYnJhcmllcyA9ICcnCiNzaGFyZWRfcHJlbG9hZF9saWJyYXJpZXMgPSAnJwkJIyAoY2hhbmdl IHJlcXVpcmVzIHJlc3RhcnQpCiNqaXRfcHJvdmlkZXIgPSAnbGx2bWppdCcJCSMgSklUIGxpYnJh cnkgdG8gdXNlCgojIC0gT3RoZXIgRGVmYXVsdHMgLQoKI2R5bmFtaWNfbGlicmFyeV9wYXRoID0g JyRsaWJkaXInCiNleHRlbnNpb25fY29udHJvbF9wYXRoID0gJyRzeXN0ZW0nCiNnaW5fZnV6enlf c2VhcmNoX2xpbWl0ID0gMAoKCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBMT0NLIE1BTkFHRU1F TlQKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKI2RlYWRsb2NrX3RpbWVvdXQgPSAxcwojbWF4X2xv Y2tzX3Blcl90cmFuc2FjdGlvbiA9IDY0CQkjIG1pbiAxMAoJCQkJCSMgKGNoYW5nZSByZXF1aXJl cyByZXN0YXJ0KQojbWF4X3ByZWRfbG9ja3NfcGVyX3RyYW5zYWN0aW9uID0gNjQJIyBtaW4gMTAK CQkJCQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI21heF9wcmVkX2xvY2tzX3Blcl9yZWxh dGlvbiA9IC0yCSMgbmVnYXRpdmUgdmFsdWVzIG1lYW4KCQkJCQkjIChtYXhfcHJlZF9sb2Nrc19w ZXJfdHJhbnNhY3Rpb24KCQkJCQkjICAvIC1tYXhfcHJlZF9sb2Nrc19wZXJfcmVsYXRpb24pIC0g MQojbWF4X3ByZWRfbG9ja3NfcGVyX3BhZ2UgPSAyCQkjIG1pbiAwCgoKIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQojIFZFUlNJT04gQU5EIFBMQVRGT1JNIENPTVBBVElCSUxJVFkKIy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKIyAtIFByZXZpb3VzIFBvc3RncmVTUUwgVmVyc2lvbnMgLQoKI2FycmF5X251 bGxzID0gb24KI2JhY2tzbGFzaF9xdW90ZSA9IHNhZmVfZW5jb2RpbmcJIyBvbiwgb2ZmLCBvciBz YWZlX2VuY29kaW5nCiNlc2NhcGVfc3RyaW5nX3dhcm5pbmcgPSBvbgojbG9fY29tcGF0X3ByaXZp bGVnZXMgPSBvZmYKI3F1b3RlX2FsbF9pZGVudGlmaWVycyA9IG9mZgojc3RhbmRhcmRfY29uZm9y bWluZ19zdHJpbmdzID0gb24KI3N5bmNocm9uaXplX3NlcXNjYW5zID0gb24KCiMgLSBPdGhlciBQ bGF0Zm9ybXMgYW5kIENsaWVudHMgLQoKI3RyYW5zZm9ybV9udWxsX2VxdWFscyA9IG9mZgojYWxs b3dfYWx0ZXJfc3lzdGVtID0gb24KCgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRVJST1IgSEFO RExJTkcKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKI2V4aXRfb25fZXJyb3IgPSBvZmYJCQkjIHRl cm1pbmF0ZSBzZXNzaW9uIG9uIGFueSBlcnJvcj8KI3Jlc3RhcnRfYWZ0ZXJfY3Jhc2ggPSBvbgkJ IyByZWluaXRpYWxpemUgYWZ0ZXIgYmFja2VuZCBjcmFzaD8KI2RhdGFfc3luY19yZXRyeSA9IG9m ZgkJCSMgcmV0cnkgb3IgcGFuaWMgb24gZmFpbHVyZSB0byBmc3luYwoJCQkJCSMgZGF0YT8KCQkJ CQkjIChjaGFuZ2UgcmVxdWlyZXMgcmVzdGFydCkKI3JlY292ZXJ5X2luaXRfc3luY19tZXRob2Qg PSBmc3luYwkjIGZzeW5jLCBzeW5jZnMgKExpbnV4IDUuOCspCgoKIy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQojIENPTkZJRyBGSUxFIElOQ0xVREVTCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiMgVGhl c2Ugb3B0aW9ucyBhbGxvdyBzZXR0aW5ncyB0byBiZSBsb2FkZWQgZnJvbSBmaWxlcyBvdGhlciB0 aGFuIHRoZQojIGRlZmF1bHQgcG9zdGdyZXNxbC5jb25mLiAgTm90ZSB0aGF0IHRoZXNlIGFyZSBk aXJlY3RpdmVzLCBub3QgdmFyaWFibGUKIyBhc3NpZ25tZW50cywgc28gdGhleSBjYW4gdXNlZnVs bHkgYmUgZ2l2ZW4gbW9yZSB0aGFuIG9uY2UuCgppbmNsdWRlX2RpciA9ICdjb25mLmQnCQkJIyBp bmNsdWRlIGZpbGVzIGVuZGluZyBpbiAnLmNvbmYnIGZyb20KCQkJCQkjIGEgZGlyZWN0b3J5LCBl LmcuLCAnY29uZi5kJwojaW5jbHVkZV9pZl9leGlzdHMgPSAnLi4uJwkJIyBpbmNsdWRlIGZpbGUg b25seSBpZiBpdCBleGlzdHMKI2luY2x1ZGUgPSAnLi4uJwkJCSMgaW5jbHVkZSBmaWxlCgoKIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQojIENVU1RPTUlaRUQgT1BUSU9OUwojLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCgojIEFkZCBzZXR0aW5ncyBmb3IgZXh0ZW5zaW9ucyBoZXJlCg== --00000000000008a0f00654c0ad6d--