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 1vcsZP-00BlmK-1D for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Jan 2026 21:57:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vcsZN-004Zhf-0R for pgsql-hackers@arkaria.postgresql.org; Mon, 05 Jan 2026 21:56:57 +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 1vcsYj-004XG9-2U for pgsql-hackers@lists.postgresql.org; Mon, 05 Jan 2026 21:56:18 +0000 Received: from mail-dl1-x122c.google.com ([2607:f8b0:4864:20::122c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vcsYh-004krE-1n for pgsql-hackers@lists.postgresql.org; Mon, 05 Jan 2026 21:56:18 +0000 Received: by mail-dl1-x122c.google.com with SMTP id a92af1059eb24-11beb0a7bd6so3209626c88.1 for ; Mon, 05 Jan 2026 13:56:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767650174; x=1768254974; darn=lists.postgresql.org; h=in-reply-to:references:to:from:subject:message-id:date:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=mvKQXMrVVYuWq66fxeC9vee2M8WmCc+hg05QwzzNz7A=; b=P02U12/jQeRF8yEojDiz6Tup/9ab+GiKB/thx0TBXbDCeq+VD5FWDLmsvq6xDAtsd0 c8aRR0sM04XiScd4Wl3yib4/4EKTOLkRSzHf6OzHPtRVDikKahtELjx1VhUVNVdonPrU C+Af306wmnqKMmyCB4FL1mLZVHiWqQMlrA8tPlFX5KJbOJlGJcOFZ49LgJ+SyGh0VeXO h5yLSlai7HJlBQD1e4fhsS9C+H3mkEfbJljw0NroEE4RD1RnBncxrUU/ORNr1MgnasCD clir6d1OGMfxGEzZNFVSiUGegn7qlgtc5GFxC19BG/J0PvUecSw9nOeeyHrPP//NJmwm fcXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767650174; x=1768254974; h=in-reply-to:references:to:from:subject:message-id:date:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=mvKQXMrVVYuWq66fxeC9vee2M8WmCc+hg05QwzzNz7A=; b=U9XLcd/XIUkE4aWg+QkOXCVUkzjmF1OY/WZ0hqzxm3X8EzIUtCrJwC96C4Hefx2LSK jzV5cIgwjTEJmi4qZ67+u9LK0UtHPb5o1xBssrCdV46BcC7a04TijFUz7Sjw+fFZAVuS NqQDFT4Kcaq2TXFqn1wnzGjws70DCXdThV3vM8g+5WanuN6TNbzzNWoSEnEjOJnAbkTa +V1iaKm/snV6eIsrx7CDpqD4Ehzfm05oT/9g5+1HMVAAoAX+sPq+uWGxeQ3NllDnbuKV NyYMH2svlzmwQaeBqiQikHC7XIVtCI35EAchuobil5qcab3wYvCteULkq43kIOzItnqx 4zNA== X-Forwarded-Encrypted: i=1; AJvYcCXxJ/imuq5jLXhrKABmdFyzOh+PwfrdJOT7QiUaHfqxrA46CX/2t/zW0CsUpcYLt/DJ7pQSNIJB59ggfX53@lists.postgresql.org X-Gm-Message-State: AOJu0YzRA04rCuKCU0O4ShrI7OM0uFo5Bd1bsc85HD8P1ObhPNDrqwiL j3FEbT8FNrf0ez54gozwQtJmPctcywFfUGYsAMub4z7L9U765BNIT2ZoelhQaov2 X-Gm-Gg: AY/fxX4ru+z7ndUmpxz1F5pxzoraQbtJivUR4t+EFP4hsKV/PxFA13sxCsFjdDlfSaw 4f5m0kM+MyKngGCvoepeAr5yhc2yl4qiaCFRdZ9tIipBrPCJx0rbKPdMb8KNZBo39cmOj20nokT LYaOfxBMpyzyZLhHUZXKN31rlom4tcrnUsWarvvVxRaYCcMM0zgV4qZ6xE4Doz63fhGfmTdv6j+ 3exoVGRhi+EzOAdW9gS7N2pRP4wuM1JLrPW9JdaFN5fn2BXDHC92V7U0jh+r4oNgw2LUXurIuFk u3gsjkBkasr9DGSMHopWpKIQBZJfMyDZQIecFA6e4ouCWuLCmqgLW+zpfpRqphOeCDvFd+l446n cDFkw8Sv9f6JijBbxs/QW+kgWds+/hex/xMKA6vNgoqgKaS0VAJfDYVkRMHPAvI9h+s88mm56ZC g4AhA4oxbcL2TecuASEBdHvlAHz9NbHSc/Fw== X-Google-Smtp-Source: AGHT+IGK5lIhTIYiRXXtSa8cLiGVpVwAEPvJTf0cEw8xHgedgKIo/UM7N+2OO9xMFV2W/IsVKed3yg== X-Received: by 2002:a05:701b:250e:b0:119:e569:f855 with SMTP id a92af1059eb24-121f1b1ea9cmr304284c88.12.1767650173399; Mon, 05 Jan 2026 13:56:13 -0800 (PST) Received: from localhost ([2804:14d:328a:a59c:6df2:dbcc:d2f7:5e32]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-2b1707b21dasm563823eec.27.2026.01.05.13.56.11 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 05 Jan 2026 13:56:12 -0800 (PST) Content-Type: multipart/mixed; boundary=80154f90a18f17c4bc283edd6c9795d17cbfe034f20a7fb551276136a5e9 Mime-Version: 1.0 Date: Mon, 05 Jan 2026 18:56:10 -0300 Message-Id: Subject: Re: LLVM 22 From: "Matheus Alcantara" To: "Thomas Munro" , "PostgreSQL Hackers" X-Mailer: aerc 0.21.0 References: In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --80154f90a18f17c4bc283edd6c9795d17cbfe034f20a7fb551276136a5e9 Content-Type: multipart/alternative; boundary=a31c5fc6282a8c34cfdaf3c295f6d86fc5cb7dfd4a0e3b4638b15b8fa081 --a31c5fc6282a8c34cfdaf3c295f6d86fc5cb7dfd4a0e3b4638b15b8fa081 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8 Hi, On Fri Jan 2, 2026 at 11:02 PM -03, Thomas Munro wrote: > 2. LLVM 22 changed the semantics of the "lifetime.end" instruction. > See commit message for references. Without this change, LLVM main/22 > assertions fail in the regression tests with messages like this in > postmaster.log: > > Intrinsic has incorrect argument type! > ptr @llvm.lifetime.end.p0 > Intrinsic has incorrect argument type! > ptr @llvm.lifetime.end.p0 > 2026-01-02 17:28:31.394 NZDT client backend[42798] pg_regress/boolean > FATAL: fatal llvm error: Broken module found, compilation aborted! > I've managed to reproduce this using LLVM 22. > Here's a potential minimal fix. I haven't yet proven that the > optimisation is still working as expected. Probably need to compile > an expression that calls an inlined function and then a non-inlined > function with jit_dump_bitcode=3Dtrue, then find the right XXX.bc file > under pgdata, llvm-dis XXX.bc, llc XXX.ll, then visually inspect XXX.s > with enough caffeine to confirm that it's not spilling something (ie > store instructions) where previously it didn't, but I wanted to post > what I had so far to see if anyone has a better idea or an easy way to > test it... > I'm not super familiar with reading assembly code but I tried my best to inspect the LLVM 22 and LLVM 21 outputs and if I understood correctly I think that 0002 is working as expected. I've noticed a reduction on some instructions when using LLVM 22 with the 0002 patch compared with LLVM 21. For example, here we needed less instructions to set up the registers: LLVM 22: LBB2_8: ; %b.op.1.start mov x20, #40824 ; =3D0x9f78 movk x20, #19456, lsl #16 movk x20, #1, lsl #32 ldr x8, [x23] ldrb w9, [x24] str x8, [x20, #152] strb w9, [x20, #160] LLVM 21: LBB2_8: ; %b.op.1.start mov x25, #25352 ; =3D0x6308 movk x25, #2946, lsl #16 movk x25, #1, lsl #32 mov x20, #23533 ; =3D0x5bed movk x20, #2946, lsl #16 movk x20, #1, lsl #32 ldr x8, [x23] ldrb w9, [x24] stur x8, [x25, #-248] sturb w9, [x25, #-240] I've also noticed that the generated assembly code for LLVM 22 use the str and strb instructions instead of stur and sturb in some cases, which according to IA is an improvement but unfortunately I did not find any reference to prove this, sorry. To test this I did the following steps: set jit_above_cost =3D 0;=20 set jit_inline_above_cost =3D 0;=20 set jit_optimize_above_cost =3D 0; set jit_dump_bitcode =3D true; explain(analyze) select i % 2 =3D 0 OR i % 3 =3D 0 from generate_series(1, = 100) i; I'm attaching the .s files for the llvm 22 and for the llvm 21 outputs that I used to inspect. -- Matheus Alcantara EDB: https://www.enterprisedb.com --a31c5fc6282a8c34cfdaf3c295f6d86fc5cb7dfd4a0e3b4638b15b8fa081-- --80154f90a18f17c4bc283edd6c9795d17cbfe034f20a7fb551276136a5e9 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=out.21.s Content-Type: text/x-asm; charset=utf-8; name=out.21.s CS5idWlsZF92ZXJzaW9uIG1hY29zLCAxNSwgMAoJLnNlY3Rpb24JX19URVhULF9fdGV4dCxyZWd1 bGFyLHB1cmVfaW5zdHJ1Y3Rpb25zCgkuZ2xvYmwJX2V2YWxleHByXzBfMCAgICAgICAgICAgICAg ICAgICA7IC0tIEJlZ2luIGZ1bmN0aW9uIGV2YWxleHByXzBfMAoJLnAyYWxpZ24JMgpfZXZhbGV4 cHJfMF8wOiAgICAgICAgICAgICAgICAgICAgICAgICAgOyBAZXZhbGV4cHJfMF8wCgkuY2ZpX3N0 YXJ0cHJvYwo7ICViYi4wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlZW50cnkK CW1vdgl3OCwgIzEgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJbW92CXg5LCAjMTkz MjUgICAgICAgICAgICAgICAgICAgICAgOyA9MHg0YjdkCgltb3ZrCXg5LCAjMjk0NiwgbHNsICMx NgoJbW92awl4OSwgIzEsIGxzbCAjMzIKCXN0dXIJeDgsIFt4OSwgIzNdCglzdHJiCXd6ciwgW3g5 XQoJbGRyCXg4LCBbeDAsICM4XQoJbGRyYgl3OSwgW3gwLCAjNV0KCXN0cmIJdzksIFt4Ml0KCW1v dgl4MCwgeDgKCXJldAoJLmNmaV9lbmRwcm9jCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7IC0tIEVuZCBmdW5jdGlvbgoJLmdsb2JsCV9ldmFsZXhwcl8wXzEgICAgICAg ICAgICAgICAgICAgOyAtLSBCZWdpbiBmdW5jdGlvbiBldmFsZXhwcl8wXzEKCS5wMmFsaWduCTIK X2V2YWxleHByXzBfMTogICAgICAgICAgICAgICAgICAgICAgICAgIDsgQGV2YWxleHByXzBfMQoJ LmNmaV9zdGFydHByb2MKOyAlYmIuMDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsg JWVudHJ5Cgltb3YJdzgsICMxMDAgICAgICAgICAgICAgICAgICAgICAgICA7ID0weDY0Cgltb3YJ eDksICMyMDczMyAgICAgICAgICAgICAgICAgICAgICA7ID0weDUwZmQKCW1vdmsJeDksICMyOTQ2 LCBsc2wgIzE2Cgltb3ZrCXg5LCAjMSwgbHNsICMzMgoJc3R1cgl4OCwgW3g5LCAjM10KCXN0cmIJ d3pyLCBbeDldCglsZHIJeDgsIFt4MCwgIzhdCglsZHJiCXc5LCBbeDAsICM1XQoJc3RyYgl3OSwg W3gyXQoJbW92CXgwLCB4OAoJcmV0CgkuY2ZpX2VuZHByb2MKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDsgLS0gRW5kIGZ1bmN0aW9uCgkuZ2xvYmwJX2V2YWxleHByXzBf MiAgICAgICAgICAgICAgICAgICA7IC0tIEJlZ2luIGZ1bmN0aW9uIGV2YWxleHByXzBfMgoJLnAy YWxpZ24JMgpfZXZhbGV4cHJfMF8yOiAgICAgICAgICAgICAgICAgICAgICAgICAgOyBAZXZhbGV4 cHJfMF8yCgkuY2ZpX3N0YXJ0cHJvYwo7ICViYi4wOiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOyAlZW50cnkKCXN0cAl4MjYsIHgyNSwgW3NwLCAjLTgwXSEgICAgICAgICAgIDsgMTYt Ynl0ZSBGb2xkZWQgU3BpbGwKCXN0cAl4MjQsIHgyMywgW3NwLCAjMTZdICAgICAgICAgICAgIDsg MTYtYnl0ZSBGb2xkZWQgU3BpbGwKCXN0cAl4MjIsIHgyMSwgW3NwLCAjMzJdICAgICAgICAgICAg IDsgMTYtYnl0ZSBGb2xkZWQgU3BpbGwKCXN0cAl4MjAsIHgxOSwgW3NwLCAjNDhdICAgICAgICAg ICAgIDsgMTYtYnl0ZSBGb2xkZWQgU3BpbGwKCXN0cAl4MjksIHgzMCwgW3NwLCAjNjRdICAgICAg ICAgICAgIDsgMTYtYnl0ZSBGb2xkZWQgU3BpbGwKCWFkZAl4MjksIHNwLCAjNjQKCS5jZmlfZGVm X2NmYSB3MjksIDE2CgkuY2ZpX29mZnNldCB3MzAsIC04CgkuY2ZpX29mZnNldCB3MjksIC0xNgoJ LmNmaV9vZmZzZXQgdzE5LCAtMjQKCS5jZmlfb2Zmc2V0IHcyMCwgLTMyCgkuY2ZpX29mZnNldCB3 MjEsIC00MAoJLmNmaV9vZmZzZXQgdzIyLCAtNDgKCS5jZmlfb2Zmc2V0IHcyMywgLTU2CgkuY2Zp X29mZnNldCB3MjQsIC02NAoJLmNmaV9vZmZzZXQgdzI1LCAtNzIKCS5jZmlfb2Zmc2V0IHcyNiwg LTgwCgltb3YJeDE5LCB4MAoJbGRyCXgyMCwgW3gxLCAjOF0KCWxkcgl4OCwgW3gwLCAjMTZdCgls ZHAJeDIzLCB4MjQsIFt4MjAsICMyNF0KCWxkcAl4MjEsIHgyMiwgW3g4LCAjMjRdCglsZHJoCXc4 LCBbeDIwLCAjNl0KCWNibnoJdzgsIExCQjJfOAo7ICViYi4xOiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOyAlb3AuMC5mZXRjaAoJbGRyCXg4LCBbeDIwLCAjNjRdCglsZHIJeDgsIFt4 OCwgIzE2XQoJbGRyaAl3OSwgW3g4LCAjMThdCgl0c3QJdzksICMweDdmZgoJYi5lcQlMQkIyXzUK OyAlYmIuMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWJsb2NrLmF0dHIuMC5z dGFydC5pCglsZHJiCXc5LCBbeDgsICMyMl0KCWxkcmgJdzEwLCBbeDgsICMyMF0KCXRiegl3MTAs ICMwLCBMQkIyXzYKOyAlYmIuMzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWJs b2NrLmF0dHIuMC5zdGFydC5pCglsZHJiCXcxMCwgW3g4LCAjMjNdCgl0Ym56CXcxMCwgIzAsIExC QjJfNgo7ICViYi40OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYmxvY2suYXR0 ci4wLmF0dGlzbnVsbC5pCgltb3YJdzgsICMwICAgICAgICAgICAgICAgICAgICAgICAgICA7ID0w eDAKCW1vdgl3OSwgIzEgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJc3RyYgl3OSwg W3gyNF0KCXN0cgl4enIsIFt4MjNdCgliCUxCQjJfNwpMQkIyXzU6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyAlYWRqdXN0X3VuYXZhaWxfY29scy5pCgltb3YJeDAsIHgyMAoJbW92 CXcxLCAjMCAgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgwCgltb3YJdzIsICMxICAgICAg ICAgICAgICAgICAgICAgICAgICA7ID0weDEKCWJsCV9zbG90X2dldG1pc3NpbmdhdHRycwoJbW92 CXc4LCAjMCAgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgwCgliCUxCQjJfNwpMQkIyXzY6 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYmxvY2suYXR0ci4wLnN0b3JlLmkK CXN0cmIJd3pyLCBbeDI0XQoJbGRyc3cJeDgsIFt4OCwgeDldCglzdHIJeDgsIFt4MjNdCgltb3YJ dzgsICM0ICAgICAgICAgICAgICAgICAgICAgICAgICA7ID0weDQKTEJCMl83OiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDsgJWRlZm9ybV8wXzMuZXhpdAoJbW92CXc5LCAjMSAgICAg ICAgICAgICAgICAgICAgICAgICAgOyA9MHgxCglzdHJoCXc5LCBbeDIwLCAjNl0KCXN0cgl3OCwg W3gyMCwgIzEwNF0KCWxkcmgJdzgsIFt4MjAsICM0XQoJb3JyCXc4LCB3OCwgIzB4OAoJc3RyaAl3 OCwgW3gyMCwgIzRdCkxCQjJfODogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICVi Lm9wLjEuc3RhcnQKCW1vdgl4MjUsICMyNTM1MiAgICAgICAgICAgICAgICAgICAgIDsgPTB4NjMw OAoJbW92awl4MjUsICMyOTQ2LCBsc2wgIzE2Cgltb3ZrCXgyNSwgIzEsIGxzbCAjMzIKCW1vdgl4 MjAsICMyMzUzMyAgICAgICAgICAgICAgICAgICAgIDsgPTB4NWJlZAoJbW92awl4MjAsICMyOTQ2 LCBsc2wgIzE2Cgltb3ZrCXgyMCwgIzEsIGxzbCAjMzIKCWxkcgl4OCwgW3gyM10KCWxkcmIJdzks IFt4MjRdCglzdHVyCXg4LCBbeDI1LCAjLTI0OF0KCXN0dXJiCXc5LCBbeDI1LCAjLTI0MF0KCW1v dgl3MjYsICMxICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJc3RyYgl3MjYsIFt4MjAs ICMxNDE5XQoJbGR1cmIJdzgsIFt4MjUsICMtMjQwXQoJY21wCXc4LCAjMQoJYi5lcQlMQkIyXzEx CjsgJWJiLjk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjIuaXNudWxsLjEK CWxkdXJiCXc4LCBbeDI1LCAjLTIyNF0KCWNtcAl3OCwgIzEKCWIuZXEJTEJCMl8xMQo7ICViYi4x MDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi4yLm5vLW51bGwtYXJncwoJc3R1 cmIJd3pyLCBbeDI1LCAjLTI1Ml0KCXN1Ygl4MCwgeDI1LCAjMjgwCglibAlfaW50NG1vZAoJbGR1 cmIJdzgsIFt4MjUsICMtMjUyXQoJYWRkCXg5LCB4MjAsICMxNDExCglzdHIJeDAsIFt4OV0KCXN0 cmIJdzgsIFt4MjAsICMxNDE5XQpMQkIyXzExOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgOyAlYi5vcC4zLnN0YXJ0CglzdHJiCXcyNiwgW3gyMF0KCWxkcmIJdzgsIFt4MjAsICMxNDE5 XQoJY21wCXc4LCAjMQoJYi5lcQlMQkIyXzE0CjsgJWJiLjEyOiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA7ICViLjMuaXNudWxsLjEKCXN1Ygl4OCwgeDI1LCAjMzg0CglsZHJiCXc4LCBb eDhdCgljbXAJdzgsICMxCgliLmVxCUxCQjJfMTQKOyAlYmIuMTM6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDsgJWIuMy5uby1udWxsLWFyZ3MKCXN0cmIJd3pyLCBbeDIwLCAjMTQwN10K CWFkZAl4MCwgeDIwLCAjMTM3OQoJYmwJX2ludDRlcQoJbGRyYgl3OCwgW3gyMCwgIzE0MDddCglz dHVyCXgwLCBbeDIwLCAjM10KCXN0cmIJdzgsIFt4MjBdCkxCQjJfMTQ6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7ICViLm9wLjQuc3RhcnQKCXN1Ygl4MjYsIHgyMCwgIzI2NjEKCXN0 cmIJd3pyLCBbeDI2XQoJbGRyYgl3OCwgW3gyMF0KCWNtcAl3OCwgIzEKCWIubmUJTEJCMl8xNgo7 ICViYi4xNTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi40LmJvb2xpc2FueW51 bGwKCXN0cmIJdzgsIFt4MjZdCglzdHJiCXc4LCBbeDIwXQoJc3R1cgl4enIsIFt4MjAsICMzXQoJ YglMQkIyXzE3CkxCQjJfMTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjQu Ym9vbGNoZWNrdHJ1ZQoJbGR1cgl4OCwgW3gyMCwgIzNdCgljbXAJeDgsICMxCgliLmVxCUxCQjJf MjUKTEJCMl8xNzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWIub3AuNS5zdGFy dAoJbGRyCXg4LCBbeDIzXQoJbGRyYgl3OSwgW3gyNF0KCXN0cgl4OCwgW3gyNSwgIzE1Ml0KCXN0 cmIJdzksIFt4MjUsICMxNjBdCgltb3YJdzIzLCAjMSAgICAgICAgICAgICAgICAgICAgICAgICA7 ID0weDEKCXN0cmIJdzIzLCBbeDI1XQoJY21wCXc5LCAjMQoJYi5lcQlMQkIyXzIwCjsgJWJiLjE4 OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjYuaXNudWxsLjEKCWxkcmIJdzgs IFt4MjUsICMxNzZdCgljbXAJdzgsICMxCgliLmVxCUxCQjJfMjAKOyAlYmIuMTk6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDsgJWIuNi5uby1udWxsLWFyZ3MKCXN0cmIJd3pyLCBbeDI1 LCAjMTQ4XQoJYWRkCXgwLCB4MjUsICMxMjAKCWJsCV9pbnQ0bW9kCglsZHJiCXc4LCBbeDI1LCAj MTQ4XQoJc3R1cgl4MCwgW3gyNSwgIy04XQoJc3RyYgl3OCwgW3gyNV0KTEJCMl8yMDogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWIub3AuNy5zdGFydAoJc3RyYgl3MjMsIFt4MjBd CglsZHJiCXc4LCBbeDI1XQoJY21wCXc4LCAjMQoJYi5lcQlMQkIyXzIzCjsgJWJiLjIxOiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjcuaXNudWxsLjEKCWxkcmIJdzgsIFt4MjUs ICMxNl0KCWNtcAl3OCwgIzEKCWIuZXEJTEJCMl8yMwo7ICViYi4yMjogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyAlYi5vcC44LnN0YXJ0CglzdHVyYgl3enIsIFt4MjUsICMtMTJdCglz dWIJeDAsIHgyNSwgIzQwCglibAlfaW50NGVxCglsZHVyYgl3OCwgW3gyNSwgIy0xMl0KCXN0dXIJ eDAsIFt4MjAsICMzXQoJc3RyYgl3OCwgW3gyMF0KCWNtcAl3OCwgIzEKCWIubmUJTEJCMl8yNgpM QkIyXzIzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi44LmJvb2xjb250LnRo cmVhZAoJbW92CXc4LCAjMSAgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgxCglzdHJiCXc4 LCBbeDI2XQpMQkIyXzI0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi44LmJv b2xpc2FueW51bGwKCW1vdgl3OCwgIzEgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJ c3RyYgl3OCwgW3gyMF0KCXN0dXIJeHpyLCBbeDIwLCAjM10KTEJCMl8yNTogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDsgJWIub3AuOS5zdGFydAoJbGRyCXg4LCBbeDE5LCAjOF0KCWxk cmIJdzksIFt4MTksICM1XQoJc3RyYgl3OSwgW3gyMl0KCXN0cgl4OCwgW3gyMV0KCW1vdgl4MCwg IzAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MAoJbGRwCXgyOSwgeDMwLCBbc3AsICM2 NF0gICAgICAgICAgICAgOyAxNi1ieXRlIEZvbGRlZCBSZWxvYWQKCWxkcAl4MjAsIHgxOSwgW3Nw LCAjNDhdICAgICAgICAgICAgIDsgMTYtYnl0ZSBGb2xkZWQgUmVsb2FkCglsZHAJeDIyLCB4MjEs IFtzcCwgIzMyXSAgICAgICAgICAgICA7IDE2LWJ5dGUgRm9sZGVkIFJlbG9hZAoJbGRwCXgyNCwg eDIzLCBbc3AsICMxNl0gICAgICAgICAgICAgOyAxNi1ieXRlIEZvbGRlZCBSZWxvYWQKCWxkcAl4 MjYsIHgyNSwgW3NwXSwgIzgwICAgICAgICAgICAgIDsgMTYtYnl0ZSBGb2xkZWQgUmVsb2FkCgly ZXQKTEJCMl8yNjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWIuOC5ib29sY2hl Y2t0cnVlCglsZHVyCXg4LCBbeDIwLCAjM10KCWNtcAl4OCwgIzEKCWIuZXEJTEJCMl8yNQo7ICVi Yi4yNzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi44LmJvb2xjb250CglsZHJi CXc4LCBbeDI2XQoJY2Juegl3OCwgTEJCMl8yNAoJYglMQkIyXzI1CgkuY2ZpX2VuZHByb2MKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgLS0gRW5kIGZ1bmN0aW9uCi5z dWJzZWN0aW9uc192aWFfc3ltYm9scwo= --80154f90a18f17c4bc283edd6c9795d17cbfe034f20a7fb551276136a5e9 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=out.22.s Content-Type: text/x-asm; charset=utf-8; name=out.22.s CS5idWlsZF92ZXJzaW9uIG1hY29zLCAxNSwgMAoJLnNlY3Rpb24JX19URVhULF9fdGV4dCxyZWd1 bGFyLHB1cmVfaW5zdHJ1Y3Rpb25zCgkuZ2xvYmwJX2V2YWxleHByXzJfMCAgICAgICAgICAgICAg ICAgICA7IC0tIEJlZ2luIGZ1bmN0aW9uIGV2YWxleHByXzJfMAoJLnAyYWxpZ24JMgpfZXZhbGV4 cHJfMl8wOiAgICAgICAgICAgICAgICAgICAgICAgICAgOyBAZXZhbGV4cHJfMl8wCgkuY2ZpX3N0 YXJ0cHJvYwo7ICViYi4wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlZW50cnkK CW1vdgl3OCwgIzEgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJbW92CXg5LCAjMzUx OTcgICAgICAgICAgICAgICAgICAgICAgOyA9MHg4OTdkCgltb3ZrCXg5LCAjMTk0NTYsIGxzbCAj MTYKCW1vdmsJeDksICMxLCBsc2wgIzMyCglzdHVyCXg4LCBbeDksICMzXQoJc3RyYgl3enIsIFt4 OV0KCWxkcgl4OCwgW3gwLCAjOF0KCWxkcmIJdzksIFt4MCwgIzVdCglzdHJiCXc5LCBbeDJdCglt b3YJeDAsIHg4CglyZXQKCS5jZmlfZW5kcHJvYwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOyAtLSBFbmQgZnVuY3Rpb24KCS5nbG9ibAlfZXZhbGV4cHJfMl8xICAgICAg ICAgICAgICAgICAgIDsgLS0gQmVnaW4gZnVuY3Rpb24gZXZhbGV4cHJfMl8xCgkucDJhbGlnbgky Cl9ldmFsZXhwcl8yXzE6ICAgICAgICAgICAgICAgICAgICAgICAgICA7IEBldmFsZXhwcl8yXzEK CS5jZmlfc3RhcnRwcm9jCjsgJWJiLjA6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7 ICVlbnRyeQoJbW92CXc4LCAjMTAwICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHg2NAoJbW92 CXg5LCAjMzY1MjUgICAgICAgICAgICAgICAgICAgICAgOyA9MHg4ZWFkCgltb3ZrCXg5LCAjMTk0 NTYsIGxzbCAjMTYKCW1vdmsJeDksICMxLCBsc2wgIzMyCglzdHVyCXg4LCBbeDksICMzXQoJc3Ry Ygl3enIsIFt4OV0KCWxkcgl4OCwgW3gwLCAjOF0KCWxkcmIJdzksIFt4MCwgIzVdCglzdHJiCXc5 LCBbeDJdCgltb3YJeDAsIHg4CglyZXQKCS5jZmlfZW5kcHJvYwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyAtLSBFbmQgZnVuY3Rpb24KCS5nbG9ibAlfZXZhbGV4cHJf Ml8yICAgICAgICAgICAgICAgICAgIDsgLS0gQmVnaW4gZnVuY3Rpb24gZXZhbGV4cHJfMl8yCgku cDJhbGlnbgkyCl9ldmFsZXhwcl8yXzI6ICAgICAgICAgICAgICAgICAgICAgICAgICA7IEBldmFs ZXhwcl8yXzIKCS5jZmlfc3RhcnRwcm9jCjsgJWJiLjA6ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7ICVlbnRyeQoJc3RwCXgyNiwgeDI1LCBbc3AsICMtODBdISAgICAgICAgICAgOyAx Ni1ieXRlIEZvbGRlZCBTcGlsbAoJc3RwCXgyNCwgeDIzLCBbc3AsICMxNl0gICAgICAgICAgICAg OyAxNi1ieXRlIEZvbGRlZCBTcGlsbAoJc3RwCXgyMiwgeDIxLCBbc3AsICMzMl0gICAgICAgICAg ICAgOyAxNi1ieXRlIEZvbGRlZCBTcGlsbAoJc3RwCXgyMCwgeDE5LCBbc3AsICM0OF0gICAgICAg ICAgICAgOyAxNi1ieXRlIEZvbGRlZCBTcGlsbAoJc3RwCXgyOSwgeDMwLCBbc3AsICM2NF0gICAg ICAgICAgICAgOyAxNi1ieXRlIEZvbGRlZCBTcGlsbAoJYWRkCXgyOSwgc3AsICM2NAoJLmNmaV9k ZWZfY2ZhIHcyOSwgMTYKCS5jZmlfb2Zmc2V0IHczMCwgLTgKCS5jZmlfb2Zmc2V0IHcyOSwgLTE2 CgkuY2ZpX29mZnNldCB3MTksIC0yNAoJLmNmaV9vZmZzZXQgdzIwLCAtMzIKCS5jZmlfb2Zmc2V0 IHcyMSwgLTQwCgkuY2ZpX29mZnNldCB3MjIsIC00OAoJLmNmaV9vZmZzZXQgdzIzLCAtNTYKCS5j Zmlfb2Zmc2V0IHcyNCwgLTY0CgkuY2ZpX29mZnNldCB3MjUsIC03MgoJLmNmaV9vZmZzZXQgdzI2 LCAtODAKCW1vdgl4MTksIHgwCglsZHIJeDIwLCBbeDEsICM4XQoJbGRyCXg4LCBbeDAsICMxNl0K CWxkcAl4MjMsIHgyNCwgW3gyMCwgIzI0XQoJbGRwCXgyMSwgeDIyLCBbeDgsICMyNF0KCWxkcmgJ dzgsIFt4MjAsICM2XQoJY2Juegl3OCwgTEJCMl84CjsgJWJiLjE6ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA7ICVvcC4wLmZldGNoCglsZHIJeDgsIFt4MjAsICM2NF0KCWxkcgl4OCwg W3g4LCAjMTZdCglsZHJoCXc5LCBbeDgsICMxOF0KCXRzdAl3OSwgIzB4N2ZmCgliLmVxCUxCQjJf NQo7ICViYi4yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYmxvY2suYXR0ci4w LnN0YXJ0LmkKCWxkcmIJdzksIFt4OCwgIzIyXQoJbGRyaAl3MTAsIFt4OCwgIzIwXQoJdGJ6CXcx MCwgIzAsIExCQjJfNgo7ICViYi4zOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAl YmxvY2suYXR0ci4wLnN0YXJ0LmkKCWxkcmIJdzEwLCBbeDgsICMyM10KCXRibnoJdzEwLCAjMCwg TEJCMl82CjsgJWJiLjQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICVibG9jay5h dHRyLjAuYXR0aXNudWxsLmkKCW1vdgl3OCwgIzAgICAgICAgICAgICAgICAgICAgICAgICAgIDsg PTB4MAoJbW92CXc5LCAjMSAgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgxCglzdHJiCXc5 LCBbeDI0XQoJc3RyCXh6ciwgW3gyM10KCWIJTEJCMl83CkxCQjJfNTogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7ICVhZGp1c3RfdW5hdmFpbF9jb2xzLmkKCW1vdgl4MCwgeDIwCglt b3YJdzEsICMwICAgICAgICAgICAgICAgICAgICAgICAgICA7ID0weDAKCW1vdgl3MiwgIzEgICAg ICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJYmwJX3Nsb3RfZ2V0bWlzc2luZ2F0dHJzCglt b3YJdzgsICMwICAgICAgICAgICAgICAgICAgICAgICAgICA7ID0weDAKCWIJTEJCMl83CkxCQjJf NjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICVibG9jay5hdHRyLjAuc3RvcmUu aQoJc3RyYgl3enIsIFt4MjRdCglsZHJzdwl4OCwgW3g4LCB4OV0KCXN0cgl4OCwgW3gyM10KCW1v dgl3OCwgIzQgICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4NApMQkIyXzc6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgOyAlZGVmb3JtXzJfMy5leGl0Cgltb3YJdzksICMxICAg ICAgICAgICAgICAgICAgICAgICAgICA7ID0weDEKCXN0cmgJdzksIFt4MjAsICM2XQoJc3RyCXc4 LCBbeDIwLCAjMTA0XQoJbGRyaAl3OCwgW3gyMCwgIzRdCglvcnIJdzgsIHc4LCAjMHg4CglzdHJo CXc4LCBbeDIwLCAjNF0KTEJCMl84OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsg JWIub3AuMS5zdGFydAoJbW92CXgyMCwgIzQwODI0ICAgICAgICAgICAgICAgICAgICAgOyA9MHg5 Zjc4Cgltb3ZrCXgyMCwgIzE5NDU2LCBsc2wgIzE2Cgltb3ZrCXgyMCwgIzEsIGxzbCAjMzIKCWxk cgl4OCwgW3gyM10KCWxkcmIJdzksIFt4MjRdCglzdHIJeDgsIFt4MjAsICMxNTJdCglzdHJiCXc5 LCBbeDIwLCAjMTYwXQoJbW92CXcyNiwgIzEgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgx CglzdHJiCXcyNiwgW3gyMF0KCWNtcAl3OSwgIzEKCWIuZXEJTEJCMl8xMQo7ICViYi45OiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi4yLmlzbnVsbC4xCglsZHJiCXc4LCBbeDIw LCAjMTc2XQoJY21wCXc4LCAjMQoJYi5lcQlMQkIyXzExCjsgJWJiLjEwOiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7ICViLjIubm8tbnVsbC1hcmdzCglzdHJiCXd6ciwgW3gyMCwgIzE0 OF0KCWFkZAl4MCwgeDIwLCAjMTIwCglibAlfaW50NG1vZAoJbGRyYgl3OCwgW3gyMCwgIzE0OF0K CXN0dXIJeDAsIFt4MjAsICMtOF0KCXN0cmIJdzgsIFt4MjBdCkxCQjJfMTE6ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA7ICViLm9wLjMuc3RhcnQKCW1vdgl4MjUsICMzOTQwNSAgICAg ICAgICAgICAgICAgICAgIDsgPTB4OTllZAoJbW92awl4MjUsICMxOTQ1NiwgbHNsICMxNgoJbW92 awl4MjUsICMxLCBsc2wgIzMyCglzdHJiCXcyNiwgW3gyNV0KCWxkcmIJdzgsIFt4MjBdCgljbXAJ dzgsICMxCgliLmVxCUxCQjJfMTQKOyAlYmIuMTI6ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDsgJWIuMy5pc251bGwuMQoJbGRyYgl3OCwgW3gyMCwgIzE2XQoJY21wCXc4LCAjMQoJYi5l cQlMQkIyXzE0CjsgJWJiLjEzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjMu bm8tbnVsbC1hcmdzCglzdHVyYgl3enIsIFt4MjAsICMtMTJdCglzdWIJeDAsIHgyMCwgIzQwCgli bAlfaW50NGVxCglsZHVyYgl3OCwgW3gyMCwgIy0xMl0KCXN0dXIJeDAsIFt4MjUsICMzXQoJc3Ry Ygl3OCwgW3gyNV0KTEJCMl8xNDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWIu b3AuNC5zdGFydAoJc3ViCXgyNiwgeDI1LCAjMjc0MQoJc3RyYgl3enIsIFt4MjZdCglsZHJiCXc4 LCBbeDI1XQoJY21wCXc4LCAjMQoJYi5uZQlMQkIyXzE2CjsgJWJiLjE1OiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7ICViLjQuYm9vbGlzYW55bnVsbAoJc3RyYgl3OCwgW3gyNl0KCXN0 cmIJdzgsIFt4MjVdCglzdHVyCXh6ciwgW3gyNSwgIzNdCgliCUxCQjJfMTcKTEJCMl8xNjogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgJWIuNC5ib29sY2hlY2t0cnVlCglsZHVyCXg4 LCBbeDI1LCAjM10KCWNtcAl4OCwgIzEKCWIuZXEJTEJCMl8yNQpMQkIyXzE3OiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyAlYi5vcC41LnN0YXJ0CglsZHIJeDgsIFt4MjNdCglsZHJi CXc5LCBbeDI0XQoJc3RyCXg4LCBbeDIwLCAjNTUyXQoJc3RyYgl3OSwgW3gyMCwgIzU2MF0KCW1v dgl3MjMsICMxICAgICAgICAgICAgICAgICAgICAgICAgIDsgPTB4MQoJc3RyYgl3MjMsIFt4MjAs ICM0MDBdCgljbXAJdzksICMxCgliLmVxCUxCQjJfMjAKOyAlYmIuMTg6ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDsgJWIuNi5pc251bGwuMQoJbGRyYgl3OCwgW3gyMCwgIzU3Nl0KCWNt cAl3OCwgIzEKCWIuZXEJTEJCMl8yMAo7ICViYi4xOTogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgOyAlYi42Lm5vLW51bGwtYXJncwoJc3RyYgl3enIsIFt4MjAsICM1NDhdCglhZGQJeDAs IHgyMCwgIzUyMAoJYmwJX2ludDRtb2QKCWxkcmIJdzgsIFt4MjAsICM1NDhdCglzdHIJeDAsIFt4 MjAsICMzOTJdCglzdHJiCXc4LCBbeDIwLCAjNDAwXQpMQkIyXzIwOiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyAlYi5vcC43LnN0YXJ0CglzdHJiCXcyMywgW3gyNV0KCWxkcmIJdzgs IFt4MjAsICM0MDBdCgljbXAJdzgsICMxCgliLmVxCUxCQjJfMjMKOyAlYmIuMjE6ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDsgJWIuNy5pc251bGwuMQoJbGRyYgl3OCwgW3gyMCwgIzQx Nl0KCWNtcAl3OCwgIzEKCWIuZXEJTEJCMl8yMwo7ICViYi4yMjogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgOyAlYi5vcC44LnN0YXJ0CglzdHJiCXd6ciwgW3gyMCwgIzM4OF0KCWFkZAl4 MCwgeDIwLCAjMzYwCglibAlfaW50NGVxCglsZHJiCXc4LCBbeDIwLCAjMzg4XQoJc3R1cgl4MCwg W3gyNSwgIzNdCglzdHJiCXc4LCBbeDI1XQoJY21wCXc4LCAjMQoJYi5uZQlMQkIyXzI2CkxCQjJf MjM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjguYm9vbGNvbnQudGhyZWFk Cgltb3YJdzgsICMxICAgICAgICAgICAgICAgICAgICAgICAgICA7ID0weDEKCXN0cmIJdzgsIFt4 MjZdCkxCQjJfMjQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjguYm9vbGlz YW55bnVsbAoJbW92CXc4LCAjMSAgICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgxCglzdHJi CXc4LCBbeDI1XQoJc3R1cgl4enIsIFt4MjUsICMzXQpMQkIyXzI1OiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyAlYi5vcC45LnN0YXJ0CglsZHIJeDgsIFt4MTksICM4XQoJbGRyYgl3 OSwgW3gxOSwgIzVdCglzdHJiCXc5LCBbeDIyXQoJc3RyCXg4LCBbeDIxXQoJbW92CXgwLCAjMCAg ICAgICAgICAgICAgICAgICAgICAgICAgOyA9MHgwCglsZHAJeDI5LCB4MzAsIFtzcCwgIzY0XSAg ICAgICAgICAgICA7IDE2LWJ5dGUgRm9sZGVkIFJlbG9hZAoJbGRwCXgyMCwgeDE5LCBbc3AsICM0 OF0gICAgICAgICAgICAgOyAxNi1ieXRlIEZvbGRlZCBSZWxvYWQKCWxkcAl4MjIsIHgyMSwgW3Nw LCAjMzJdICAgICAgICAgICAgIDsgMTYtYnl0ZSBGb2xkZWQgUmVsb2FkCglsZHAJeDI0LCB4MjMs IFtzcCwgIzE2XSAgICAgICAgICAgICA7IDE2LWJ5dGUgRm9sZGVkIFJlbG9hZAoJbGRwCXgyNiwg eDI1LCBbc3BdLCAjODAgICAgICAgICAgICAgOyAxNi1ieXRlIEZvbGRlZCBSZWxvYWQKCXJldApM QkIyXzI2OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAlYi44LmJvb2xjaGVja3Ry dWUKCWxkdXIJeDgsIFt4MjUsICMzXQoJY21wCXg4LCAjMQoJYi5lcQlMQkIyXzI1CjsgJWJiLjI3 OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7ICViLjguYm9vbGNvbnQKCWxkcmIJdzgs IFt4MjZdCgljYm56CXc4LCBMQkIyXzI0CgliCUxCQjJfMjUKCS5jZmlfZW5kcHJvYwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyAtLSBFbmQgZnVuY3Rpb24KLnN1YnNl Y3Rpb25zX3ZpYV9zeW1ib2xzCg== --80154f90a18f17c4bc283edd6c9795d17cbfe034f20a7fb551276136a5e9--