<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>99153</bug_id>
          
          <creation_ts>2012-10-12 02:20:25 -0700</creation_ts>
          <short_desc>x32 support of JavaScriptCore</short_desc>
          <delta_ts>2013-04-07 01:08:32 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>101325</dependson>
    
    <dependson>99154</dependson>
    
    <dependson>100321</dependson>
    
    <dependson>100450</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yuqiang Xian">yuqiang.xian</reporter>
          <assigned_to name="Yuqiang Xian">yuqiang.xian</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>gnome</cc>
    
    <cc>hausmann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>740742</commentid>
    <comment_count>0</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-12 02:20:25 -0700</bug_when>
    <thetext>This is the meta bug to track the x32 support of JavaScriptCore.

There&apos;s a new x32 ABI - a 32-bit psABI for x86-64 with 32-bit pointer size. It tries to leverage the advantage of more registers and IP relative addressing from x64 and the advantage of smaller memory footprint from IA32. More details of the x32 ABI can be found here: https://sites.google.com/site/x32abi/.

The Linux kernel supports x32 since 3.4, and the commonly used development tools and libraries are getting in the x32 support. Also more details about current status is available in the above link.

We also want JavaScriptCore to support x32.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740768</commentid>
    <comment_count>1</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-12 02:57:30 -0700</bug_when>
    <thetext>The first step is to refactor the MacroAssembler interfaces, especially to differentiate the operations on pointers from the operations on 64-bit integers (e.g., the JSValues), as on x32 the pointer size is 4 bytes.

Bug #99154 is created for the refactoring work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740773</commentid>
    <comment_count>2</comment_count>
      <attachid>168387</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-12 03:04:43 -0700</bug_when>
    <thetext>Created attachment 168387
[future] patch

This is the &quot;future&quot; patch to add the x32 support - assuming that the refactoring work in bug #99154 is taken in. (thus cannot be applied without the 99154 patch.)
I pasted it here just for you to have a rough idea what it may look like if we want to add the x32 support.

The LLInt is not supported yet. While it&apos;s on the plan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746311</commentid>
    <comment_count>3</comment_count>
      <attachid>169623</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-19 08:24:09 -0700</bug_when>
    <thetext>Created attachment 169623
x32 jit patch

*Not* asking for a detailed review. 
Uploading mainly for back-up purpose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746320</commentid>
    <comment_count>4</comment_count>
      <attachid>169626</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-19 08:38:37 -0700</bug_when>
    <thetext>Created attachment 169626
x32 LLInt patch

For back-up purpose now.

Add the x32 backend for the low level interpreter. It now together with the JITs pass all the javascriptcore tests and major benchmarks on x32. We may need more efforts on the CLoop backend.

We may need to split the patch as what we&apos;ve done for the x32 support of the JIT compilers (bug #99154), i.e., one (or more) for general offlineasm and LLInt refactoring, and another one for x32 *specific* change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>750358</commentid>
    <comment_count>5</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-10-24 22:03:33 -0700</bug_when>
    <thetext>Bug #100321 is created for the LLInt64 refactoring work. Adding the dependency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760210</commentid>
    <comment_count>6</comment_count>
      <attachid>169623</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-11-06 16:51:03 -0800</bug_when>
    <thetext>Comment on attachment 169623
x32 jit patch

obsolete this patch. The correct one is in bug #100450.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>760211</commentid>
    <comment_count>7</comment_count>
      <attachid>169626</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2012-11-06 16:51:38 -0800</bug_when>
    <thetext>Comment on attachment 169626
x32 LLInt patch

obsolete this patch. The correct one is in bug #101325.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168387</attachid>
            <date>2012-10-12 03:04:43 -0700</date>
            <delta_ts>2012-10-19 08:24:09 -0700</delta_ts>
            <desc>[future] patch</desc>
            <filename>x32-only.0.patch</filename>
            <type>text/plain</type>
            <size>20666</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">ZGlmZiAtciAtVSAzIEphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlci5oIEph
dmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAotLS0gSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJMjAxMi0xMC0xMiAwODo0ODo0Ny4zMDI1
NjM0NDAgKzA4MDAKKysrIEphdmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXIuaAkyMDEyLTEwLTEyIDA2OjExOjE1LjU0NDcyNjY3MyArMDgwMApAQCAtNjAzLDEwICs2MDMs
MTIgQEAKICAgICAgICAgY2FzZSAweGZmZmY6CiAgICAgICAgIGNhc2UgMHhmZmZmZmY6CiAgICAg
ICAgIGNhc2UgMHhmZmZmZmZmZkw6CisjaWYgIUNQVShYMzIpCiAgICAgICAgIGNhc2UgMHhmZmZm
ZmZmZmZmTDoKICAgICAgICAgY2FzZSAweGZmZmZmZmZmZmZmZkw6CiAgICAgICAgIGNhc2UgMHhm
ZmZmZmZmZmZmZmZmZkw6CiAgICAgICAgIGNhc2UgMHhmZmZmZmZmZmZmZmZmZmZmTDoKKyNlbmRp
ZgogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICBkZWZhdWx0OiB7CiAgICAgICAg
ICAgICBpZiAodmFsdWUgPD0gMHhmZikKZGlmZiAtciAtVSAzIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oIEphdmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJYODZfNjQuaAotLS0gSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2XzY0LmgJMjAxMi0xMC0xMiAwODo0ODo0Ny4zMTE1NjMzMjcgKzA4MDAKKysr
IEphdmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaAkyMDEy
LTEwLTEyIDA2OjExOjE1Ljc0NzcyNDEzNyArMDgwMApAQCAtMzYsNyArMzYsMTEgQEAKIAogY2xh
c3MgTWFjcm9Bc3NlbWJsZXJYODZfNjQgOiBwdWJsaWMgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24g
ewogcHVibGljOgorI2lmIENQVShYMzIpCisgICAgc3RhdGljIGNvbnN0IFNjYWxlIFNjYWxlUHRy
ID0gVGltZXNGb3VyOworI2Vsc2UKICAgICBzdGF0aWMgY29uc3QgU2NhbGUgU2NhbGVQdHIgPSBU
aW1lc0VpZ2h0OworI2VuZGlmCiAKICAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
YWRkMzI7CiAgICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFuZDMyOwpAQCAtMTU0
LDYgKzE1OCwyNjcgQEAKICAgICAgICAgcmV0dXJuIENhbGw6OmZyb21UYWlsSnVtcChuZXdKdW1w
KTsKICAgICB9CiAKKyNpZiBDUFUoWDMyKQorICAgIHZvaWQgYWRkUHRyKFJlZ2lzdGVySUQgc3Jj
LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5hZGRsX3JyKHNy
YywgZGVzdCk7CisgICAgfQorICAgIAorICAgIHZvaWQgYWRkUHRyKEFkZHJlc3Mgc3JjLCBSZWdp
c3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5hZGRsX21yKHNyYy5vZmZz
ZXQsIHNyYy5iYXNlLCBkZXN0KTsKKyAgICB9CisKKyAgICB2b2lkIGFkZFB0cihUcnVzdGVkSW1t
MzIgaW1tLCBSZWdpc3RlcklEIHNyY0Rlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5h
ZGRsX2lyKGltbS5tX3ZhbHVlLCBzcmNEZXN0KTsKKyAgICB9CisKKyAgICB2b2lkIGFkZFB0cihU
cnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsK
KyAgICAgICAgbV9hc3NlbWJsZXIubGVhbF9tcihpbW0ubV92YWx1ZSwgc3JjLCBkZXN0KTsKKyAg
ICB9CisKKyAgICB2b2lkIGFkZFB0cihUcnVzdGVkSW1tMzIgaW1tLCBBZGRyZXNzIGFkZHJlc3Mp
CisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5hZGRsX2ltKGltbS5tX3ZhbHVlLCBhZGRyZXNz
Lm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKKyAgICB9CisKKyAgICB2b2lkIGFuZFB0cihSZWdpc3Rl
cklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuYW5k
bF9ycihzcmMsIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgYW5kUHRyKFRydXN0ZWRJbW0zMiBp
bW0sIFJlZ2lzdGVySUQgc3JjRGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLmFuZGxf
aXIoaW1tLm1fdmFsdWUsIHNyY0Rlc3QpOworICAgIH0KKyAgICAKKyAgICB2b2lkIG5lZ1B0cihS
ZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5uZWdsX3IoZGVzdCk7
CisgICAgfQorCisgICAgdm9pZCBvclB0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0
KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIub3JsX3JyKHNyYywgZGVzdCk7CisgICAgfQor
CisgICAgdm9pZCBvclB0cihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAg
eworICAgICAgICBtX2Fzc2VtYmxlci5vcmxfaXIoaW1tLm1fdmFsdWUsIGRlc3QpOworICAgIH0K
KworICAgIHZvaWQgcm90YXRlUmlnaHRQdHIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0ZXJJRCBz
cmNEc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5yb3JsX2k4cihpbW0ubV92YWx1ZSwg
c3JjRHN0KTsKKyAgICB9CisKKyAgICB2b2lkIHN1YlB0cihSZWdpc3RlcklEIHNyYywgUmVnaXN0
ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIuc3VibF9ycihzcmMsIGRlc3Qp
OworICAgIH0KKyAgICAKKyAgICB2b2lkIHN1YlB0cihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5zdWJsX2lyKGltbS5tX3ZhbHVl
LCBkZXN0KTsKKyAgICB9CisgICAgCisgICAgdm9pZCB4b3JQdHIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLnhvcmxfcnIoc3JjLCBk
ZXN0KTsKKyAgICB9CisgICAgCisgICAgdm9pZCB4b3JQdHIoUmVnaXN0ZXJJRCBzcmMsIEFkZHJl
c3MgZGVzdCkKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLnhvcmxfcm0oc3JjLCBkZXN0Lm9m
ZnNldCwgZGVzdC5iYXNlKTsKKyAgICB9CisKKyAgICB2b2lkIHhvclB0cihUcnVzdGVkSW1tMzIg
aW1tLCBSZWdpc3RlcklEIHNyY0Rlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci54b3Js
X2lyKGltbS5tX3ZhbHVlLCBzcmNEZXN0KTsKKyAgICB9CisKKyAgICB2b2lkIGxvYWRQdHIoSW1w
bGljaXRBZGRyZXNzIGFkZHJlc3MsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmxfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7Cisg
ICAgfQorCisgICAgdm9pZCBsb2FkUHRyKEJhc2VJbmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRl
c3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX21yKGFkZHJlc3Mub2Zmc2V0LCBh
ZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUsIGRlc3QpOworICAgIH0K
KworICAgIHZvaWQgbG9hZFB0cihjb25zdCB2b2lkKiBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3Qp
CisgICAgeworICAgICAgICBpZiAoZGVzdCA9PSBYODZSZWdpc3RlcnM6OmVheCkKKyAgICAgICAg
ICAgIG1fYXNzZW1ibGVyLm1vdmxfbUVBWChhZGRyZXNzKTsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYWRkcmVzcyksIGRlc3QpOworICAgICAgICAgICAg
bG9hZFB0cihkZXN0LCBkZXN0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIERhdGFMYWJlbDMy
IGxvYWRQdHJXaXRoQWRkcmVzc09mZnNldFBhdGNoKEFkZHJlc3MgYWRkcmVzcywgUmVnaXN0ZXJJ
RCBkZXN0KQorICAgIHsKKyAgICAgICAgcGFkQmVmb3JlUGF0Y2goKTsKKyAgICAgICAgbV9hc3Nl
bWJsZXIubW92bF9tcl9kaXNwMzIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7
CisgICAgICAgIHJldHVybiBEYXRhTGFiZWwzMih0aGlzKTsKKyAgICB9CisgICAgCisgICAgRGF0
YUxhYmVsQ29tcGFjdCBsb2FkUHRyV2l0aENvbXBhY3RBZGRyZXNzT2Zmc2V0UGF0Y2goQWRkcmVz
cyBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBwYWRCZWZvcmVQYXRj
aCgpOworICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX21yX2Rpc3A4KGFkZHJlc3Mub2Zmc2V0LCBh
ZGRyZXNzLmJhc2UsIGRlc3QpOworICAgICAgICByZXR1cm4gRGF0YUxhYmVsQ29tcGFjdCh0aGlz
KTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3JlUHRyKFJlZ2lzdGVySUQgc3JjLCBJbXBsaWNpdEFk
ZHJlc3MgYWRkcmVzcykKKyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfcm0oc3JjLCBh
ZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKKyAgICB9CisKKyAgICB2b2lkIHN0b3JlUHRy
KFJlZ2lzdGVySUQgc3JjLCBCYXNlSW5kZXggYWRkcmVzcykKKyAgICB7CisgICAgICAgIG1fYXNz
ZW1ibGVyLm1vdmxfcm0oc3JjLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBhZGRyZXNz
LmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKKyAgICB9CisgICAgCisgICAgdm9pZCBzdG9yZVB0cihS
ZWdpc3RlcklEIHNyYywgdm9pZCogYWRkcmVzcykKKyAgICB7CisgICAgICAgIGlmIChzcmMgPT0g
WDg2UmVnaXN0ZXJzOjplYXgpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci5tb3ZsX0VBWG0oYWRk
cmVzcyk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFk
ZHJlc3MpLCBzY3JhdGNoUmVnaXN0ZXIpOworICAgICAgICAgICAgc3RvcmVQdHIoc3JjLCBzY3Jh
dGNoUmVnaXN0ZXIpOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBzdG9yZVB0cihUcnVz
dGVkSW1tUHRyIGltbSwgQmFzZUluZGV4IGFkZHJlc3MpCisgICAgeworICAgICAgICBtb3ZlKGlt
bSwgc2NyYXRjaFJlZ2lzdGVyKTsKKyAgICAgICAgbV9hc3NlbWJsZXIubW92bF9ybShzY3JhdGNo
UmVnaXN0ZXIsIGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFk
ZHJlc3Muc2NhbGUpOworICAgIH0KKyAgICAKKyAgICBEYXRhTGFiZWwzMiBzdG9yZVB0cldpdGhB
ZGRyZXNzT2Zmc2V0UGF0Y2goUmVnaXN0ZXJJRCBzcmMsIEFkZHJlc3MgYWRkcmVzcykKKyAgICB7
CisgICAgICAgIHBhZEJlZm9yZVBhdGNoKCk7CisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfcm1f
ZGlzcDMyKHNyYywgYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CisgICAgICAgIHJldHVy
biBEYXRhTGFiZWwzMih0aGlzKTsKKyAgICB9CisKKyAgICB2b2lkIGNvbXBhcmVQdHIoUmVsYXRp
b25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxlZnQsIFRydXN0ZWRJbW0zMiByaWdodCwg
UmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgaWYgKCgoY29uZCA9PSBFcXVhbCkgfHwg
KGNvbmQgPT0gTm90RXF1YWwpKSAmJiAhcmlnaHQubV92YWx1ZSkKKyAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLnRlc3RsX3JyKGxlZnQsIGxlZnQpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBt
X2Fzc2VtYmxlci5jbXBsX2lyKHJpZ2h0Lm1fdmFsdWUsIGxlZnQpOworICAgICAgICBtX2Fzc2Vt
Ymxlci5zZXRDQ19yKHg4NkNvbmRpdGlvbihjb25kKSwgZGVzdCk7CisgICAgICAgIG1fYXNzZW1i
bGVyLm1vdnpibF9ycihkZXN0LCBkZXN0KTsKKyAgICB9CisgICAgCisgICAgdm9pZCBjb21wYXJl
UHRyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBSZWdpc3RlcklE
IHJpZ2h0LCBSZWdpc3RlcklEIGRlc3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5jbXBs
X3JyKHJpZ2h0LCBsZWZ0KTsKKyAgICAgICAgbV9hc3NlbWJsZXIuc2V0Q0Nfcih4ODZDb25kaXRp
b24oY29uZCksIGRlc3QpOworICAgICAgICBtX2Fzc2VtYmxlci5tb3Z6YmxfcnIoZGVzdCwgZGVz
dCk7CisgICAgfQorICAgIAorICAgIEp1bXAgYnJhbmNoUHRyKFJlbGF0aW9uYWxDb25kaXRpb24g
Y29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBSZWdpc3RlcklEIHJpZ2h0KQorICAgIHsKKyAgICAgICAg
bV9hc3NlbWJsZXIuY21wbF9ycihyaWdodCwgbGVmdCk7CisgICAgICAgIHJldHVybiBKdW1wKG1f
YXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsKKyAgICB9CisKKyAgICBKdW1wIGJy
YW5jaFB0cihSZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgVHJ1c3Rl
ZEltbVB0ciByaWdodCkKKyAgICB7CisgICAgICAgIGlmICgoKGNvbmQgPT0gRXF1YWwpIHx8IChj
b25kID09IE5vdEVxdWFsKSkgJiYgIXJpZ2h0Lm1fdmFsdWUpIHsKKyAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLnRlc3RsX3JyKGxlZnQsIGxlZnQpOworICAgICAgICAgICAgcmV0dXJuIEp1bXAobV9h
c3NlbWJsZXIuakNDKHg4NkNvbmRpdGlvbihjb25kKSkpOworICAgICAgICB9CisgICAgICAgIG1v
dmUocmlnaHQsIHNjcmF0Y2hSZWdpc3Rlcik7CisgICAgICAgIHJldHVybiBicmFuY2hQdHIoY29u
ZCwgbGVmdCwgc2NyYXRjaFJlZ2lzdGVyKTsKKyAgICB9CisKKyAgICBKdW1wIGJyYW5jaFB0cihS
ZWxhdGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgQWRkcmVzcyByaWdodCkK
KyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLmNtcGxfbXIocmlnaHQub2Zmc2V0LCByaWdodC5i
YXNlLCBsZWZ0KTsKKyAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIuakNDKHg4NkNvbmRp
dGlvbihjb25kKSkpOworICAgIH0KKworICAgIEp1bXAgYnJhbmNoUHRyKFJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgQWRkcmVzcyBsZWZ0LCBSZWdpc3RlcklEIHJpZ2h0KQorICAgIHsKKyAgICAg
ICAgbV9hc3NlbWJsZXIuY21wbF9ybShyaWdodCwgbGVmdC5vZmZzZXQsIGxlZnQuYmFzZSk7Cisg
ICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oY29uZCkpKTsK
KyAgICB9CisKKyAgICBKdW1wIGJyYW5jaFRlc3RQdHIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIFJl
Z2lzdGVySUQgcmVnLCBSZWdpc3RlcklEIG1hc2spCisgICAgeworICAgICAgICBtX2Fzc2VtYmxl
ci50ZXN0bF9ycihyZWcsIG1hc2spOworICAgICAgICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5q
Q0MoeDg2Q29uZGl0aW9uKGNvbmQpKSk7CisgICAgfQorICAgIAorICAgIEp1bXAgYnJhbmNoVGVz
dFB0cihSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCByZWcsIFRydXN0ZWRJbW0zMiBt
YXNrID0gVHJ1c3RlZEltbTMyKC0xKSkKKyAgICB7CisgICAgICAgIC8vIGlmIHdlIGFyZSBvbmx5
IGludGVyZXN0ZWQgaW4gdGhlIGxvdyBzZXZlbiBiaXRzLCB0aGlzIGNhbiBiZSB0ZXN0ZWQgd2l0
aCBhIHRlc3RiCisgICAgICAgIGlmIChtYXNrLm1fdmFsdWUgPT0gLTEpCisgICAgICAgICAgICBt
X2Fzc2VtYmxlci50ZXN0bF9ycihyZWcsIHJlZyk7CisgICAgICAgIGVsc2UgaWYgKChtYXNrLm1f
dmFsdWUgJiB+MHg3ZikgPT0gMCkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RiX2k4ciht
YXNrLm1fdmFsdWUsIHJlZyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fYXNzZW1ibGVy
LnRlc3RsX2kzMnIobWFzay5tX3ZhbHVlLCByZWcpOworICAgICAgICByZXR1cm4gSnVtcChtX2Fz
c2VtYmxlci5qQ0MoeDg2Q29uZGl0aW9uKGNvbmQpKSk7CisgICAgfQorCisgICAgdm9pZCB0ZXN0
UHRyKFJlc3VsdENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIHJlZywgVHJ1c3RlZEltbTMyIG1h
c2ssIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIGlmIChtYXNrLm1fdmFsdWUgPT0g
LTEpCisgICAgICAgICAgICBtX2Fzc2VtYmxlci50ZXN0bF9ycihyZWcsIHJlZyk7CisgICAgICAg
IGVsc2UgaWYgKChtYXNrLm1fdmFsdWUgJiB+MHg3ZikgPT0gMCkKKyAgICAgICAgICAgIG1fYXNz
ZW1ibGVyLnRlc3RiX2k4cihtYXNrLm1fdmFsdWUsIHJlZyk7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLnRlc3RsX2kzMnIobWFzay5tX3ZhbHVlLCByZWcpOworICAgICAg
ICBzZXQzMih4ODZDb25kaXRpb24oY29uZCksIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgdGVz
dFB0cihSZXN1bHRDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCByZWcsIFJlZ2lzdGVySUQgbWFz
aywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgbV9hc3NlbWJsZXIudGVzdGxfcnIo
cmVnLCBtYXNrKTsKKyAgICAgICAgc2V0MzIoeDg2Q29uZGl0aW9uKGNvbmQpLCBkZXN0KTsKKyAg
ICB9CisKKyAgICBKdW1wIGJyYW5jaFRlc3RQdHIoUmVzdWx0Q29uZGl0aW9uIGNvbmQsIEFkZHJl
c3MgYWRkcmVzcywgVHJ1c3RlZEltbTMyIG1hc2sgPSBUcnVzdGVkSW1tMzIoLTEpKQorICAgIHsK
KyAgICAgICAgaWYgKG1hc2subV92YWx1ZSA9PSAtMSkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVy
LmNtcGxfaW0oMCwgYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RsX2kzMm0obWFzay5tX3ZhbHVlLCBhZGRyZXNz
Lm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKKyAgICAgICAgcmV0dXJuIEp1bXAobV9hc3NlbWJsZXIu
akNDKHg4NkNvbmRpdGlvbihjb25kKSkpOworICAgIH0KKworICAgIEp1bXAgYnJhbmNoVGVzdFB0
cihSZXN1bHRDb25kaXRpb24gY29uZCwgQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIHJlZykK
KyAgICB7CisgICAgICAgIG1fYXNzZW1ibGVyLnRlc3RsX3JtKHJlZywgYWRkcmVzcy5vZmZzZXQs
IGFkZHJlc3MuYmFzZSk7CisgICAgICAgIHJldHVybiBKdW1wKG1fYXNzZW1ibGVyLmpDQyh4ODZD
b25kaXRpb24oY29uZCkpKTsKKyAgICB9CisKKyAgICBKdW1wIGJyYW5jaFRlc3RQdHIoUmVzdWx0
Q29uZGl0aW9uIGNvbmQsIEJhc2VJbmRleCBhZGRyZXNzLCBUcnVzdGVkSW1tMzIgbWFzayA9IFRy
dXN0ZWRJbW0zMigtMSkpCisgICAgeworICAgICAgICBpZiAobWFzay5tX3ZhbHVlID09IC0xKQor
ICAgICAgICAgICAgbV9hc3NlbWJsZXIuY21wbF9pbSgwLCBhZGRyZXNzLm9mZnNldCwgYWRkcmVz
cy5iYXNlLCBhZGRyZXNzLmluZGV4LCBhZGRyZXNzLnNjYWxlKTsKKyAgICAgICAgZWxzZQorICAg
ICAgICAgICAgbV9hc3NlbWJsZXIudGVzdGxfaTMybShtYXNrLm1fdmFsdWUsIGFkZHJlc3Mub2Zm
c2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUpOworICAgICAg
ICByZXR1cm4gSnVtcChtX2Fzc2VtYmxlci5qQ0MoeDg2Q29uZGl0aW9uKGNvbmQpKSk7CisgICAg
fQorCisgICAgRGF0YUxhYmVsUHRyIG1vdmVXaXRoUGF0Y2goVHJ1c3RlZEltbVB0ciBpbml0aWFs
VmFsdWUsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIHBhZEJlZm9yZVBhdGNoKCk7
CisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfaTMycihpbml0aWFsVmFsdWUuYXNJbnRwdHIoKSwg
ZGVzdCk7CisgICAgICAgIHJldHVybiBEYXRhTGFiZWxQdHIodGhpcyk7CisgICAgfQorCisjZWxz
ZSAvLyBDUFUoWDMyKQorCiAgICAgdm9pZCBhZGRQdHIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLmFkZHFfcnIoc3JjLCBkZXN0KTsK
QEAgLTQxMiw2ICs2NzcsOCBAQAogICAgICAgICByZXR1cm4gRGF0YUxhYmVsUHRyKHRoaXMpOwog
ICAgIH0KIAorI2VuZGlmCisKICAgICB2b2lkIGFkZFB0cihBYnNvbHV0ZUFkZHJlc3Mgc3JjLCBS
ZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoc3JjLm1f
cHRyKSwgc2NyYXRjaFJlZ2lzdGVyKTsKZGlmZiAtciAtVSAzIEphdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIEphdmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJs
ZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAotLS0gSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgJMjAxMi0xMC0xMiAwOToxOTozMi41Nzk0OTQzMDMg
KzA4MDAKKysrIEphdmFTY3JpcHRDb3JlLXgzMi9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZD
b21tb24uaAkyMDEyLTEwLTEyIDA5OjE4OjU4LjUxMTkyMDIwNiArMDgwMApAQCAtOTkzLDcgKzk5
MywxMSBAQAogCiAgICAgdm9pZCBtb3ZlKFRydXN0ZWRJbW1QdHIgaW1tLCBSZWdpc3RlcklEIGRl
c3QpCiAgICAgeworI2lmIENQVShYMzIpCisgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxfaTMycihp
bW0uYXNJbnRwdHIoKSwgZGVzdCk7CisjZWxzZQogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZxX2k2
NHIoaW1tLmFzSW50cHRyKCksIGRlc3QpOworI2VuZGlmCiAgICAgfQogCiAgICAgdm9pZCBtb3Zl
KFRydXN0ZWRJbW02NCBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKZGlmZiAtciAtVSAzIEphdmFTY3Jp
cHRDb3JlL2RmZy9ERkdOb2RlLmggSmF2YVNjcmlwdENvcmUteDMyL2RmZy9ERkdOb2RlLmgKLS0t
IEphdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJMjAxMi0xMC0xMiAwNjoxODowNi41Njc1ODgx
ODAgKzA4MDAKKysrIEphdmFTY3JpcHRDb3JlLXgzMi9kZmcvREZHTm9kZS5oCTIwMTItMTAtMTIg
MDY6MTE6MjEuMTA0NjU3MTY2ICswODAwCkBAIC02NSw3ICs2NSw3IEBACiBzdHJ1Y3QgT3BJbmZv
IHsKICAgICBleHBsaWNpdCBPcEluZm8oaW50MzJfdCB2YWx1ZSkgOiBtX3ZhbHVlKHN0YXRpY19j
YXN0PHVpbnRwdHJfdD4odmFsdWUpKSB7IH0KICAgICBleHBsaWNpdCBPcEluZm8odWludDMyX3Qg
dmFsdWUpIDogbV92YWx1ZShzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KHZhbHVlKSkgeyB9Ci0jaWYg
T1MoREFSV0lOKSB8fCBVU0UoSlNWQUxVRTY0KQorI2lmICFDUFUoWDMyKSAmJiAoT1MoREFSV0lO
KSB8fCBVU0UoSlNWQUxVRTY0KSkKICAgICBleHBsaWNpdCBPcEluZm8oc2l6ZV90IHZhbHVlKSA6
IG1fdmFsdWUoc3RhdGljX2Nhc3Q8dWludHB0cl90Pih2YWx1ZSkpIHsgfQogI2VuZGlmCiAgICAg
ZXhwbGljaXQgT3BJbmZvKHZvaWQqIHZhbHVlKSA6IG1fdmFsdWUocmVpbnRlcnByZXRfY2FzdDx1
aW50cHRyX3Q+KHZhbHVlKSkgeyB9CmRpZmYgLXIgLVUgMyBKYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQ2NC5jcHAgSmF2YVNjcmlwdENvcmUteDMyL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAotLS0gSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CTIwMTItMTAtMTIgMDg6NDg6NDcuMzU0NTYyNzkxICswODAwCisrKyBKYXZhU2NyaXB0Q29yZS14
MzIvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCTIwMTItMTAtMTIgMDY6MTE6MjEuNzYxNjQ4
OTUyICswODAwCkBAIC0xMDMyLDYgKzEwMzIsOSBAQAogICAgIG1faml0LmFkZFB0cihUcnVzdGVk
SW1tMzIobV9qaXQuY29kZUJsb2NrKCktPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzICogc2l6ZW9mKFJl
Z2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICAKICAgICBzbG93UGF0
aC5hcHBlbmQobV9qaXQuYnJhbmNoUHRyV2l0aFBhdGNoKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVh
bCwgY2FsbGVlR1BSLCB0YXJnZXRUb0NoZWNrLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0
cigwKSkpOworI2lmIENQVShYMzIpCisgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRl
c3Q2NChNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgY2FsbGVlR1BSLCBHUFJJbmZvOjp0YWdNYXNr
UmVnaXN0ZXIpKTsKKyNlbmRpZgogCiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6
QWRkcmVzcyhjYWxsZWVHUFIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSks
IHJlc3VsdEdQUik7CiAgICAgbV9qaXQuc3RvcmU2NChyZXN1bHRHUFIsIE1hY3JvQXNzZW1ibGVy
OjpBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZm
X3Q+KHNpemVvZihSZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVDaGFpbikpOwpkaWZmIC1yIC1V
IDMgSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RodW5rcy5jcHAgSmF2YVNjcmlwdENvcmUteDMyL2Rm
Zy9ERkdUaHVua3MuY3BwCi0tLSBKYXZhU2NyaXB0Q29yZS9kZmcvREZHVGh1bmtzLmNwcAkyMDEy
LTEwLTEyIDA4OjQ4OjQ3LjM2NzU2MjYyOCArMDgwMAorKysgSmF2YVNjcmlwdENvcmUteDMyL2Rm
Zy9ERkdUaHVua3MuY3BwCTIwMTItMTAtMTIgMDY6MTE6MjEuMTA1NjU3MTUzICswODAwCkBAIC04
NCw3ICs4NCwxMyBAQAogI2VuZGlmCiAgICAgfQogICAgIAorI2lmIENQVShYMzIpCisgICAgLy8g
RklYTUU6IGl0IHNlZW1zIHRoYXQgWDMyIGRvZXNuJ3QgbGlrZSBqdW1wL2NhbGwgd2l0aCBhIG1l
bW9yeSBvcGVyYW5kLgorICAgIGppdC5sb2FkUHRyKCZnbG9iYWxEYXRhLT5vc3JFeGl0SnVtcERl
c3RpbmF0aW9uLCBYODZSZWdpc3RlcnM6OnIxMSk7CisgICAgaml0Lmp1bXAoWDg2UmVnaXN0ZXJz
OjpyMTEpOworI2Vsc2UKICAgICBqaXQuanVtcChNYWNyb0Fzc2VtYmxlcjo6QWJzb2x1dGVBZGRy
ZXNzKCZnbG9iYWxEYXRhLT5vc3JFeGl0SnVtcERlc3RpbmF0aW9uKSk7CisjZW5kaWYKICAgICAK
ICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCpnbG9iYWxEYXRhLCAmaml0LCBHTE9CQUxfVEhV
TktfSUQpOwogICAgIApkaWZmIC1yIC1VIDMgSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVB
bGxvY2F0b3IuaCBKYXZhU2NyaXB0Q29yZS14MzIvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAot
LS0gSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3IuaAkyMDEyLTEwLTEyIDA2
OjE0OjMwLjY1NjI4NzQ0MiArMDgwMAorKysgSmF2YVNjcmlwdENvcmUteDMyL2ppdC9FeGVjdXRh
YmxlQWxsb2NhdG9yLmgJMjAxMi0xMC0xMiAwNjoxMToxNS4xMTI3MzIwNzYgKzA4MDAKQEAgLTEw
Niw3ICsxMDYsNyBAQAogI2lmIEVOQUJMRShFWEVDVVRBQkxFX0FMTE9DQVRPUl9GSVhFRCkKICNp
ZiBDUFUoQVJNKQogc3RhdGljIGNvbnN0IHNpemVfdCBmaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29s
U2l6ZSA9IDE2ICogMTAyNCAqIDEwMjQ7Ci0jZWxpZiBDUFUoWDg2XzY0KQorI2VsaWYgQ1BVKFg4
Nl82NCkgJiYgIUNQVShYMzIpCiBzdGF0aWMgY29uc3Qgc2l6ZV90IGZpeGVkRXhlY3V0YWJsZU1l
bW9yeVBvb2xTaXplID0gMTAyNCAqIDEwMjQgKiAxMDI0OwogI2Vsc2UKIHN0YXRpYyBjb25zdCBz
aXplX3QgZml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbFNpemUgPSAzMiAqIDEwMjQgKiAxMDI0Owpk
aWZmIC1yIC1VIDMgSmF2YVNjcmlwdENvcmUvaml0L0pJVENhbGwuY3BwIEphdmFTY3JpcHRDb3Jl
LXgzMi9qaXQvSklUQ2FsbC5jcHAKLS0tIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAky
MDEyLTEwLTEyIDA4OjQ4OjQ3LjM4NzU2MjM3OCArMDgwMAorKysgSmF2YVNjcmlwdENvcmUteDMy
L2ppdC9KSVRDYWxsLmNwcAkyMDEyLTEwLTEyIDA2OjExOjE0LjQxMzc0MDgxMiArMDgwMApAQCAt
MTkxLDkgKzE5MSwxNSBAQAogICAgIERhdGFMYWJlbFB0ciBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlv
bkNoZWNrOwogICAgIEJFR0lOX1VOSU5URVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VPcENhbGwp
OwogICAgIEp1bXAgc2xvd0Nhc2UgPSBicmFuY2hQdHJXaXRoUGF0Y2goTm90RXF1YWwsIHJlZ1Qw
LCBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrLCBUcnVzdGVkSW1tUHRyKDApKTsKKyAgICAv
LyBKdW1wIHNsb3dDYXNlID0gYnJhbmNoNjRXaXRoUGF0Y2goTm90RXF1YWwsIHJlZ1QwLCBhZGRy
ZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrLCBUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKEpT
VmFsdWUoKSkpKTsKICAgICBFTkRfVU5JTlRFUlJVUFRFRF9TRVFVRU5DRShzZXF1ZW5jZU9wQ2Fs
bCk7CiAgICAgYWRkU2xvd0Nhc2Uoc2xvd0Nhc2UpOwogCisjaWYgQ1BVKFgzMikKKyAgICAvLyBU
aGUgYWJvdmUgYnJhbmNoUHRyIGRvZXNuJ3QgY2F0Y2ggdGhlIGNhc2Ugd2hlcmUgdGhlIGNhbGxl
ZSBpc24ndCBhIGNlbGwuCisgICAgYWRkU2xvd0Nhc2UoYnJhbmNoVGVzdDY0KE5vblplcm8sIHJl
Z1QwLCB0YWdNYXNrUmVnaXN0ZXIpKTsKKyNlbmRpZgorCiAgICAgQVNTRVJUKG1fY2FsbFN0cnVj
dHVyZVN0dWJDb21waWxhdGlvbkluZm8uc2l6ZSgpID09IGNhbGxMaW5rSW5mb0luZGV4KTsKICAg
ICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvLmFwcGVuZChTdHJ1Y3R1cmVTdHVi
Q29tcGlsYXRpb25JbmZvKCkpOwogICAgIG1fY2FsbFN0cnVjdHVyZVN0dWJDb21waWxhdGlvbklu
Zm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhCZWdpbiA9IGFkZHJlc3NPZkxpbmtlZEZ1bmN0
aW9uQ2hlY2s7CkBAIC0yMTUsNiArMjIxLDkgQEAKICAgICB9CiAKICAgICBsaW5rU2xvd0Nhc2Uo
aXRlcik7CisjaWYgQ1BVKFgzMikKKyAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisjZW5kaWYKICAg
ICAKICAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0lu
ZGV4XS5jYWxsUmV0dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxsKG9wY29kZUlEID09IG9wX2Nv
bnN0cnVjdCA/IG1fZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aVZpcnR1YWxDb25zdHJ1Y3RMaW5r
KCkgOiBtX2dsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlWaXJ0dWFsQ2FsbExpbmsoKSk7CiAKZGlm
ZiAtciAtVSAzIEphdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcCBKYXZhU2NyaXB0Q29y
ZS14MzIvaml0L0pJVE9wY29kZXMuY3BwCi0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rl
cy5jcHAJMjAxMi0xMC0xMiAwODo0ODo0Ny4zOTU1NjIyNzggKzA4MDAKKysrIEphdmFTY3JpcHRD
b3JlLXgzMi9qaXQvSklUT3Bjb2Rlcy5jcHAJMjAxMi0xMC0xMiAwNjoxMToxNS4xMTI3MzIwNzYg
KzA4MDAKQEAgLTI1Miw4ICsyNTIsMTEgQEAKIAogICAgIGVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVh
ZGVyUHRyKEpTU3RhY2s6OkNhbGxlZSwgWDg2UmVnaXN0ZXJzOjplc2kpOwogICAgIGxvYWRQdHIo
QWRkcmVzcyhYODZSZWdpc3RlcnM6OmVzaSwgT0JKRUNUX09GRlNFVE9GKEpTRnVuY3Rpb24sIG1f
ZXhlY3V0YWJsZSkpLCBYODZSZWdpc3RlcnM6OnI5KTsKKyAgICBsb2FkUHRyKEFkZHJlc3MoWDg2
UmVnaXN0ZXJzOjpyOSwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pLCByZWdUMik7CiAgICAg
bW92ZShyZWdUMCwgY2FsbEZyYW1lUmVnaXN0ZXIpOyAvLyBFYWdlcmx5IHJlc3RvcmUgY2FsbGVy
IGZyYW1lIHJlZ2lzdGVyIHRvIGF2b2lkIGxvYWRpbmcgZnJvbSBzdGFjay4KLSAgICBjYWxsKEFk
ZHJlc3MoWDg2UmVnaXN0ZXJzOjpyOSwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb24pKTsKKyAg
ICAvLyBGSVhNRTogb24gWDMyIHdlIGhhdmUgdG8gbG9hZCB0aGUgY2FsbCB0YXJnZXQgYWRkcmVz
cyB0byBhIHJlZ2lzdGVyIGFuZCB0aGVuIHBlcmZvcm0gdGhlIGNhbGwuIFdIWT8KKyAgICBjYWxs
KHJlZ1QyKTsKKyAgICAvLyBjYWxsKEFkZHJlc3MoWDg2UmVnaXN0ZXJzOjpyOSwgZXhlY3V0YWJs
ZU9mZnNldFRvRnVuY3Rpb24pKTsKIAogICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoMTYgLSBzaXpl
b2YoaW50NjRfdCkpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAKQEAgLTM4Miw3ICszODUsMTAg
QEAKIHsKICAgICBBU1NFUlQocmV0dXJuVmFsdWVSZWdpc3RlciAhPSBjYWxsRnJhbWVSZWdpc3Rl
cik7CiAgICAgZW1pdEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMV0udS5v
cGVyYW5kLCByZXR1cm5WYWx1ZVJlZ2lzdGVyKTsKLSAgICByZXN0b3JlUmV0dXJuQWRkcmVzc0Jl
Zm9yZVJldHVybihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1N0YWNrOjpSZXR1cm5QQyAq
IHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKKyAgICAvLyBGSVhNRTogaXQg
c2VlbXMgdGhhdCBYMzIgZG9lc24ndCBsaWtlIHB1c2ggd2l0aCBhIG1lbW9yeSBvcGVyYW5kLgor
ICAgIGxvYWRQdHIoQWRkcmVzcyhjYWxsRnJhbWVSZWdpc3RlciwgSlNTdGFjazo6UmV0dXJuUEMg
KiBzdGF0aWNfY2FzdDxpbnQ+KHNpemVvZihSZWdpc3RlcikpKSwgcmVnVDEpOworICAgIHJlc3Rv
cmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHJlZ1QxKTsKKyAgICAvLyByZXN0b3JlUmV0dXJu
QWRkcmVzc0JlZm9yZVJldHVybihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBKU1N0YWNrOjpS
ZXR1cm5QQyAqIHN0YXRpY19jYXN0PGludD4oc2l6ZW9mKFJlZ2lzdGVyKSkpKTsKICAgICByZXQo
KTsKIH0KIApkaWZmIC1yIC1VIDMgSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmNwcCBKYXZh
U2NyaXB0Q29yZS14MzIvaml0L0pJVFN0dWJzLmNwcAotLS0gSmF2YVNjcmlwdENvcmUvaml0L0pJ
VFN0dWJzLmNwcAkyMDEyLTEwLTEyIDA2OjE3OjAwLjQ1OTQxNDY0NSArMDgwMAorKysgSmF2YVNj
cmlwdENvcmUteDMyL2ppdC9KSVRTdHVicy5jcHAJMjAxMi0xMC0xMiAwNjoxMToxNC40MTM3NDA4
MTMgKzA4MDAKQEAgLTM2NSw2ICszNjUsNyBAQAogCiAjaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUo
WDg2XzY0KQogCisjaWYgIUNQVShYMzIpCiAvLyBUaGVzZSBBU1NFUlRzIHJlbWluZCB5b3UgdGhh
dCwgaWYgeW91IGNoYW5nZSB0aGUgbGF5b3V0IG9mIEpJVFN0YWNrRnJhbWUsIHlvdQogLy8gbmVl
ZCB0byBjaGFuZ2UgdGhlIGFzc2VtYmx5IHRyYW1wb2xpbmVzIGJlbG93IHRvIG1hdGNoLgogQ09N
UElMRV9BU1NFUlQob2Zmc2V0b2Yoc3RydWN0IEpJVFN0YWNrRnJhbWUsIGNhbGxGcmFtZSkgPT0g
MHg1OCwgSklUU3RhY2tGcmFtZV9jYWxsRnJhbWVfb2Zmc2V0X21hdGNoZXNfY3RpVHJhbXBvbGlu
ZSk7CkBAIC00MzEsNiArNDMyLDcyIEBACiAgICAgInBvcHEgJXJicCIgIlxuIgogICAgICJyZXQi
ICJcbiIKICk7CisjZWxzZQorLy8gQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1l
LCBjYWxsRnJhbWUpID09IDB4NDgpOworLy8gQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFj
a0ZyYW1lLCBjb2RlKSA9PSAweDQwKTsKKy8vIEFTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3Rh
Y2tGcmFtZSwgc2F2ZWRSQlgpID09IDB4NTgpOworCithc20gKAorIi50ZXh0XG4iCisiLmdsb2Js
ICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lKSAiXG4iCitISURFX1NZTUJPTChjdGlUcmFt
cG9saW5lKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCisgICAg
InB1c2hxICVyYnAiICJcbiIKKyAgICAibW92bCAlZXNwLCAlZWJwIiAiXG4iCisgICAgInB1c2hx
ICVyMTIiICJcbiIKKyAgICAicHVzaHEgJXIxMyIgIlxuIgorICAgICJwdXNocSAlcjE0IiAiXG4i
CisgICAgInB1c2hxICVyMTUiICJcbiIKKyAgICAicHVzaHEgJXJieCIgIlxuIgorICAgIC8vIEZv
cm0gdGhlIEpJVCBzdHVicyBhcmVhCisgICAgInN1YmwgJDB4NTgsICVlc3AiICJcbiIKKyAgICAi
bW92bCAlcjlkLCAweDU0KCVlc3ApIiAiXG4iCisgICAgIm1vdmwgJXI4ZCwgMHg1MCglZXNwKSIg
IlxuIgorICAgICJtb3ZsICVlY3gsIDB4NGMoJWVzcCkiICJcbiIKKyAgICAibW92bCAlZWR4LCAw
eDQ4KCVlc3ApIiAiXG4iCisgICAgIm1vdmwgJWVzaSwgMHg0NCglZXNwKSIgIlxuIgorICAgICJt
b3ZsICVlZGksIDB4NDAoJWVzcCkiICJcbiIKKyAgICAibW92cSAkNTEyLCAlcjEyIiAiXG4iCisg
ICAgIm1vdnEgJDB4RkZGRjAwMDAwMDAwMDAwMCwgJXIxNCIgIlxuIgorICAgICJtb3ZxICQweEZG
RkYwMDAwMDAwMDAwMDIsICVyMTUiICJcbiIKKyAgICAibW92bCAlZWR4LCAlcjEzZCIgIlxuIgor
ICAgICJjYWxsIColcmRpIiAiXG4iCisgICAgImFkZGwgJDB4NTgsICVlc3AiICJcbiIKKyAgICAi
cG9wcSAlcmJ4IiAiXG4iCisgICAgInBvcHEgJXIxNSIgIlxuIgorICAgICJwb3BxICVyMTQiICJc
biIKKyAgICAicG9wcSAlcjEzIiAiXG4iCisgICAgInBvcHEgJXIxMiIgIlxuIgorICAgICJwb3Bx
ICVyYnAiICJcbiIKKyAgICAicmV0IiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlU
cmFtcG9saW5lRW5kKSAiXG4iCitISURFX1NZTUJPTChjdGlUcmFtcG9saW5lRW5kKSAiXG4iCitT
WU1CT0xfU1RSSU5HKGN0aVRyYW1wb2xpbmVFbmQpICI6IiAiXG4iCispOworCithc20gKAorIi5n
bG9ibCAiIFNZTUJPTF9TVFJJTkcoY3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKK0hJREVfU1lN
Qk9MKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dU
cmFtcG9saW5lKSAiOiIgIlxuIgorICAgICJtb3ZsICVlc3AsICVlZGkiICJcbiIKKyAgICAiY2Fs
bCAiIExPQ0FMX1JFRkVSRU5DRShjdGlfdm1fdGhyb3cpICJcbiIKKyAgICAiaW50MyIgIlxuIgor
KTsKKworYXNtICgKKyIuZ2xvYmwgIiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQp
ICJcbiIKK0hJREVfU1lNQk9MKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKK1NZTUJPTF9TVFJJ
TkcoY3RpT3BUaHJvd05vdENhdWdodCkgIjoiICJcbiIKKyAgICAiYWRkbCAkMHg1OCwgJWVzcCIg
IlxuIgorICAgICJwb3BxICVyYngiICJcbiIKKyAgICAicG9wcSAlcjE1IiAiXG4iCisgICAgInBv
cHEgJXIxNCIgIlxuIgorICAgICJwb3BxICVyMTMiICJcbiIKKyAgICAicG9wcSAlcjEyIiAiXG4i
CisgICAgInBvcHEgJXJicCIgIlxuIgorICAgICJyZXQiICJcbiIKKyk7CisjZW5kaWYKIAogI2Vs
c2UKICAgICAjZXJyb3IgIkpJVCBub3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIgpkaWZm
IC1yIC1VIDMgSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJzLmggSmF2YVNjcmlwdENvcmUteDMy
L2ppdC9KSVRTdHVicy5oCi0tLSBKYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuaAkyMDEyLTEw
LTEyIDA4OjQ4OjQ3LjQwNzU2MjEyOCArMDgwMAorKysgSmF2YVNjcmlwdENvcmUteDMyL2ppdC9K
SVRTdHVicy5oCTIwMTItMTAtMTIgMDY6MTE6MTUuMTEyNzMyMDc2ICswODAwCkBAIC0xMTYsNyAr
MTE2LDEyIEBACiAgICAgICAgIGludDY0X3Qgc2F2ZWRSSVA7CiAKICAgICAgICAgLy8gV2hlbiBK
SVQgY29kZSBtYWtlcyBhIGNhbGwsIGl0IHB1c2hlcyBpdHMgcmV0dXJuIGFkZHJlc3MganVzdCBi
ZWxvdyB0aGUgcmVzdCBvZiB0aGUgc3RhY2suCisjaWYgQ1BVKFgzMikKKyAgICAgICAgLy8gT24g
WDMyIHRoZSByZXR1cm4gYWRkcmVzcyBvY2N1cGllcyBhIDgtYnl0ZSBzbG90ICh3aXRoIHRoZSBo
aWdoZXIgNCBieXRlcyB6ZXJvJ2VkKQorICAgICAgICBSZXR1cm5BZGRyZXNzUHRyKiByZXR1cm5B
ZGRyZXNzU2xvdCgpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UmV0dXJuQWRkcmVzc1B0cio+
KHRoaXMpIC0gMjsgfQorI2Vsc2UKICAgICAgICAgUmV0dXJuQWRkcmVzc1B0ciogcmV0dXJuQWRk
cmVzc1Nsb3QoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PFJldHVybkFkZHJlc3NQdHIqPih0
aGlzKSAtIDE7IH0KKyNlbmRpZgogICAgIH07CiAjZWxpZiBDUFUoWDg2KQogI2lmIENPTVBJTEVS
KE1TVkMpIHx8IChPUyhXSU5ET1dTKSAmJiBDT01QSUxFUihHQ0MpKQpkaWZmIC1yIC1VIDMgSmF2
YVNjcmlwdENvcmUvcnVudGltZS9NYXRjaFJlc3VsdC5oIEphdmFTY3JpcHRDb3JlLXgzMi9ydW50
aW1lL01hdGNoUmVzdWx0LmgKLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWF0Y2hSZXN1bHQu
aAkyMDEyLTEwLTEyIDA2OjIwOjE5Ljk2ODkyMDQzMyArMDgwMAorKysgSmF2YVNjcmlwdENvcmUt
eDMyL3J1bnRpbWUvTWF0Y2hSZXN1bHQuaAkyMDEyLTEwLTEyIDA2OjExOjE3LjEzMTcwNjgzNCAr
MDgwMApAQCAtNjQsOCArNjQsMTMgQEAKICAgICAgICAgcmV0dXJuIHN0YXJ0ID09IGVuZDsKICAg
ICB9CiAKKyNpZiBDUFUoWDMyKQorICAgIHVpbnQ2NF90IHN0YXJ0OworICAgIHVpbnQ2NF90IGVu
ZDsKKyNlbHNlCiAgICAgc2l6ZV90IHN0YXJ0OwogICAgIHNpemVfdCBlbmQ7CisjZW5kaWYKIH07
CiAKICNlbmRpZgpkaWZmIC1yIC1VIDMgSmF2YVNjcmlwdENvcmUveWFyci9ZYXJySklULmNwcCBK
YXZhU2NyaXB0Q29yZS14MzIveWFyci9ZYXJySklULmNwcAotLS0gSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJySklULmNwcAkyMDEyLTEwLTEyIDA2OjIwOjQ1LjEwNTYwNjE4NCArMDgwMAorKysgSmF2
YVNjcmlwdENvcmUteDMyL3lhcnIvWWFyckpJVC5jcHAJMjAxMi0xMC0xMiAwNjoxMToxNy41MTQ3
MDIwNDcgKzA4MDAKQEAgLTMwOSw3ICszMDksMTAgQEAKIAogICAgIHZvaWQgbG9hZEZyb21GcmFt
ZUFuZEp1bXAodW5zaWduZWQgZnJhbWVMb2NhdGlvbikKICAgICB7Ci0gICAgICAgIGp1bXAoQWRk
cmVzcyhzdGFja1BvaW50ZXJSZWdpc3RlciwgZnJhbWVMb2NhdGlvbiAqIHNpemVvZih2b2lkKikp
KTsKKyAgICAgICAgLy8ganVtcChBZGRyZXNzKHN0YWNrUG9pbnRlclJlZ2lzdGVyLCBmcmFtZUxv
Y2F0aW9uICogc2l6ZW9mKHZvaWQqKSkpOworICAgICAgICAvLyBGSVhNRTogaXQgc2VlbXMgdGhh
dCBYMzIgZG9lc24ndCBsaWtlIGp1bXAvY2FsbCB3aXRoIGEgbWVtb3J5IG9wZXJhbmQhCisgICAg
ICAgIHBlZWsocmVnVDAsIGZyYW1lTG9jYXRpb24pOworICAgICAgICBqdW1wKHJlZ1QwKTsKICAg
ICB9CiAKICAgICB2b2lkIGluaXRDYWxsRnJhbWUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169623</attachid>
            <date>2012-10-19 08:24:09 -0700</date>
            <delta_ts>2012-11-06 16:51:03 -0800</delta_ts>
            <desc>x32 jit patch</desc>
            <filename>x32.jit.clean.2.patch</filename>
            <type>text/plain</type>
            <size>21149</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2Vt
Ymxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJz
dHJhY3RNYWNyb0Fzc2VtYmxlci5oCShyZXZpc2lvbiAxMzE4NzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMjI5LDcgKzIyOSw3IEBAIHB1YmxpYzoKICAgICAgICAgewogICAgICAgICB9CiAKLSNp
ZiAhQ1BVKFg4Nl82NCkKKyNpZiAhQ1BVKFg4Nl82NCkgfHwgQ1BVKFgzMikKICAgICAgICAgZXhw
bGljaXQgVHJ1c3RlZEltbTMyKFRydXN0ZWRJbW1QdHIgcHRyKQogICAgICAgICAgICAgOiBtX3Zh
bHVlKHB0ci5hc0ludHB0cigpKQogICAgICAgICB7CkBAIC0yNTEsNyArMjUxLDcgQEAgcHVibGlj
OgogICAgICAgICAgICAgOiBUcnVzdGVkSW1tMzIodmFsdWUpCiAgICAgICAgIHsKICAgICAgICAg
fQotI2lmICFDUFUoWDg2XzY0KQorI2lmICFDUFUoWDg2XzY0KSB8fCBDUFUoWDMyKQogICAgICAg
ICBleHBsaWNpdCBJbW0zMihUcnVzdGVkSW1tUHRyIHB0cikKICAgICAgICAgICAgIDogVHJ1c3Rl
ZEltbTMyKHB0cikKICAgICAgICAgewpAQCAtMjc1LDcgKzI3NSw3IEBAIHB1YmxpYzoKICAgICAg
ICAgewogICAgICAgICB9CiAKLSNpZiBDUFUoWDg2XzY0KQorI2lmIENQVShYODZfNjQpICYmICFD
UFUoWDMyKQogICAgICAgICBleHBsaWNpdCBUcnVzdGVkSW1tNjQoVHJ1c3RlZEltbVB0ciBwdHIp
CiAgICAgICAgICAgICA6IG1fdmFsdWUocHRyLmFzSW50cHRyKCkpCiAgICAgICAgIHsKQEAgLTI5
Niw3ICsyOTYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICA6IFRydXN0ZWRJbW02NCh2YWx1ZSkK
ICAgICAgICAgewogICAgICAgICB9Ci0jaWYgQ1BVKFg4Nl82NCkKKyNpZiBDUFUoWDg2XzY0KSAm
JiAhQ1BVKFgzMikKICAgICAgICAgZXhwbGljaXQgSW1tNjQoVHJ1c3RlZEltbVB0ciBwdHIpCiAg
ICAgICAgICAgICA6IFRydXN0ZWRJbW02NChwdHIpCiAgICAgICAgIHsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyLmgJKHJldmlzaW9u
IDEzMTg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJs
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzExLDcgKzMxMSw3IEBAIHB1YmxpYzoKICAgICAvLyBQ
dHIgbWV0aG9kcwogICAgIC8vIE9uIDMyLWJpdCBwbGF0Zm9ybXMgKGkuZS4geDg2KSwgdGhlc2Ug
bWV0aG9kcyBkaXJlY3RseSBtYXAgb250byB0aGVpciAzMi1iaXQgZXF1aXZhbGVudHMuCiAgICAg
Ly8gRklYTUU6IHNob3VsZCB0aGlzIHVzZSBhIHRlc3QgZm9yIDMyLWJpdG5lc3MgaW5zdGVhZCBv
ZiB0aGlzIHNwZWNpZmljIGV4Y2VwdGlvbj8KLSNpZiAhQ1BVKFg4Nl82NCkKKyNpZiAhQ1BVKFg4
Nl82NCkgfHwgQ1BVKFgzMikKICAgICB2b2lkIGFkZFB0cihBZGRyZXNzIHNyYywgUmVnaXN0ZXJJ
RCBkZXN0KQogICAgIHsKICAgICAgICAgYWRkMzIoc3JjLCBkZXN0KTsKQEAgLTQzMywxNiArNDMz
LDE2IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGxvYWQzMldpdGhDb21wYWN0QWRkcmVzc09m
ZnNldFBhdGNoKGFkZHJlc3MsIGRlc3QpOwogICAgIH0KIAotICAgIHZvaWQgbW92ZShJbW1QdHIg
aW1tLCBSZWdpc3RlcklEIGRlc3QpCisgICAgdm9pZCBjb21wYXJlUHRyKFJlbGF0aW9uYWxDb25k
aXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQsIFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7Ci0gICAgICAgIG1vdmUoSW1tMzIoaW1tLmFzVHJ1c3RlZEltbVB0cigp
KSwgZGVzdCk7CisgICAgICAgIGNvbXBhcmUzMihjb25kLCBsZWZ0LCByaWdodCwgZGVzdCk7CiAg
ICAgfQogCi0gICAgdm9pZCBjb21wYXJlUHRyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVn
aXN0ZXJJRCBsZWZ0LCBUcnVzdGVkSW1tMzIgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB2
b2lkIGNvbXBhcmVQdHIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxlZnQs
IFJlZ2lzdGVySUQgcmlnaHQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIGNvbXBh
cmUzMihjb25kLCBsZWZ0LCByaWdodCwgZGVzdCk7CiAgICAgfQotCisgICAgCiAgICAgdm9pZCBz
dG9yZVB0cihSZWdpc3RlcklEIHNyYywgSW1wbGljaXRBZGRyZXNzIGFkZHJlc3MpCiAgICAgewog
ICAgICAgICBzdG9yZTMyKHNyYywgYWRkcmVzcyk7CkBAIC00NjMsMTEgKzQ2Myw2IEBAIHB1Ymxp
YzoKICAgICAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoaW1tKSwgYWRkcmVzcyk7CiAgICAgfQog
ICAgIAotICAgIHZvaWQgc3RvcmVQdHIoSW1tUHRyIGltbSwgQWRkcmVzcyBhZGRyZXNzKQotICAg
IHsKLSAgICAgICAgc3RvcmUzMihJbW0zMihpbW0uYXNUcnVzdGVkSW1tUHRyKCkpLCBhZGRyZXNz
KTsKLSAgICB9Ci0KICAgICB2b2lkIHN0b3JlUHRyKFRydXN0ZWRJbW1QdHIgaW1tLCB2b2lkKiBh
ZGRyZXNzKQogICAgIHsKICAgICAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoaW1tKSwgYWRkcmVz
cyk7CkBAIC00ODcsMTEgKzQ4Miw2IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIHJldHVybiBi
cmFuY2gzMihjb25kLCBsZWZ0LCBUcnVzdGVkSW1tMzIocmlnaHQpKTsKICAgICB9Ci0gICAgCi0g
ICAgSnVtcCBicmFuY2hQdHIoUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBSZWdpc3RlcklEIGxl
ZnQsIEltbVB0ciByaWdodCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBs
ZWZ0LCBJbW0zMihyaWdodC5hc1RydXN0ZWRJbW1QdHIoKSkpOwotICAgIH0KIAogICAgIEp1bXAg
YnJhbmNoUHRyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgUmVnaXN0ZXJJRCBsZWZ0LCBBZGRy
ZXNzIHJpZ2h0KQogICAgIHsKQEAgLTU1Nyw2ICs1NDcsMjggQEAgcHVibGljOgogICAgIHsKICAg
ICAgICAgcmV0dXJuIE1hY3JvQXNzZW1ibGVyQmFzZTo6YnJhbmNoVGVzdDgoY29uZCwgQWRkcmVz
cyhhZGRyZXNzLmJhc2UsIGFkZHJlc3Mub2Zmc2V0KSwgbWFzayk7CiAgICAgfQorCisjaWYgIUNQ
VShYMzIpCisgICAgdm9pZCBtb3ZlKEltbVB0ciBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7
CisgICAgICAgIG1vdmUoSW1tMzIoaW1tLmFzVHJ1c3RlZEltbVB0cigpKSwgZGVzdCk7CisgICAg
fQorCisgICAgdm9pZCBzdG9yZVB0cihJbW1QdHIgaW1tLCBBZGRyZXNzIGFkZHJlc3MpCisgICAg
eworICAgICAgICBzdG9yZTMyKEltbTMyKGltbS5hc1RydXN0ZWRJbW1QdHIoKSksIGFkZHJlc3Mp
OworICAgIH0KKworICAgIEp1bXAgYnJhbmNoUHRyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwg
UmVnaXN0ZXJJRCBsZWZ0LCBJbW1QdHIgcmlnaHQpCisgICAgeworICAgICAgICByZXR1cm4gYnJh
bmNoMzIoY29uZCwgbGVmdCwgSW1tMzIocmlnaHQuYXNUcnVzdGVkSW1tUHRyKCkpKTsKKyAgICB9
CisjZWxzZQorICAgIHZvaWQgcm90YXRlUmlnaHRQdHIoVHJ1c3RlZEltbTMyIGltbSwgUmVnaXN0
ZXJJRCBzcmNEc3QpCisgICAgeworICAgICAgICByb3RhdGVSaWdodDMyKGltbSwgc3JjRHN0KTsK
KyAgICB9CisjZW5kaWYKICNlbHNlCiAgICAgdm9pZCBhZGRQdHIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZGVzdCkKICAgICB7CkBAIC04MzIsNiArODQ0LDkgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgcmV0dXJuIGJyYW5jaFN1YjY0KGNvbmQsIHNyYzEsIHNyYzIsIGRlc3QpOwogICAg
IH0KKyNlbmRpZiAvLyAhQ1BVKFg4Nl82NCkgfHwgQ1BVKFgzMikKKworI2lmIENQVShYODZfNjQp
CiAKICNpZiBFTkFCTEUoSklUX0NPTlNUQU5UX0JMSU5ESU5HKQogICAgIHVzaW5nIE1hY3JvQXNz
ZW1ibGVyQmFzZTo6YW5kNjQ7CkBAIC04NzcsMTAgKzg5MiwxMiBAQCBwdWJsaWM6CiAgICAgICAg
IGNhc2UgMHhmZmZmOgogICAgICAgICBjYXNlIDB4ZmZmZmZmOgogICAgICAgICBjYXNlIDB4ZmZm
ZmZmZmZMOgorI2lmICFDUFUoWDMyKQogICAgICAgICBjYXNlIDB4ZmZmZmZmZmZmZkw6CiAgICAg
ICAgIGNhc2UgMHhmZmZmZmZmZmZmZmZMOgogICAgICAgICBjYXNlIDB4ZmZmZmZmZmZmZmZmZmZM
OgogICAgICAgICBjYXNlIDB4ZmZmZmZmZmZmZmZmZmZmZkw6CisjZW5kaWYKICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICAgICAgZGVmYXVsdDogewogICAgICAgICAgICAgaWYgKHZhbHVl
IDw9IDB4ZmYpCkBAIC0xMDQzLDcgKzEwNjAsNyBAQCBwdWJsaWM6CiAKICNlbmRpZgogCi0jZW5k
aWYgLy8gIUNQVShYODZfNjQpCisjZW5kaWYgLy8gQ1BVKFg4Nl82NCkKIAogI2lmIEVOQUJMRShK
SVRfQ09OU1RBTlRfQkxJTkRJTkcpCiAgICAgYm9vbCBzaG91bGRCbGluZChJbW0zMiBpbW0pCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29t
bW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5oCShyZXZpc2lvbiAxMzE4NzApCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTk1OSw3ICs5NTksMTIgQEAgcHVibGljOgogCiAgICAgdm9pZCBwdXNoKEFkZHJlc3Mg
YWRkcmVzcykKICAgICB7CisjaWYgQ1BVKFgzMikKKyAgICAgICAgbV9hc3NlbWJsZXIubW92cV9t
cihhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlLCBzY3JhdGNoUmVnaXN0ZXIpOworICAgICAg
ICBtX2Fzc2VtYmxlci5wdXNoX3Ioc2NyYXRjaFJlZ2lzdGVyKTsKKyNlbHNlCiAgICAgICAgIG1f
YXNzZW1ibGVyLnB1c2hfbShhZGRyZXNzLm9mZnNldCwgYWRkcmVzcy5iYXNlKTsKKyNlbmRpZgog
ICAgIH0KIAogICAgIHZvaWQgcHVzaChUcnVzdGVkSW1tMzIgaW1tKQpAQCAtOTkzLDcgKzk5OCwx
MSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG1vdmUoVHJ1c3RlZEltbVB0ciBpbW0sIFJlZ2lzdGVy
SUQgZGVzdCkKICAgICB7CisjaWYgQ1BVKFgzMikKKyAgICAgICAgbV9hc3NlbWJsZXIubW92bF9p
MzJyKGltbS5hc0ludHB0cigpLCBkZXN0KTsKKyNlbHNlCiAgICAgICAgIG1fYXNzZW1ibGVyLm1v
dnFfaTY0cihpbW0uYXNJbnRwdHIoKSwgZGVzdCk7CisjZW5kaWYKICAgICB9CiAKICAgICB2b2lk
IG1vdmUoVHJ1c3RlZEltbTY0IGltbSwgUmVnaXN0ZXJJRCBkZXN0KQpAQCAtMTE5Miw3ICsxMjAx
LDEyIEBAIHB1YmxpYzoKICAgICAvLyBBZGRyZXNzIGlzIGEgbWVtb3J5IGxvY2F0aW9uIGNvbnRh
aW5pbmcgdGhlIGFkZHJlc3MgdG8ganVtcCB0bwogICAgIHZvaWQganVtcChBZGRyZXNzIGFkZHJl
c3MpCiAgICAgeworI2lmIENQVShYMzIpCisgICAgICAgIGxvYWQzMihhZGRyZXNzLCBzY3JhdGNo
UmVnaXN0ZXIpOworICAgICAgICBtX2Fzc2VtYmxlci5qbXBfcihzY3JhdGNoUmVnaXN0ZXIpOwor
I2Vsc2UKICAgICAgICAgbV9hc3NlbWJsZXIuam1wX20oYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3Mu
YmFzZSk7CisjZW5kaWYKICAgICB9CiAKIApAQCAtMTM1OSw3ICsxMzczLDEyIEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgY2FsbChBZGRyZXNzIGFkZHJlc3MpCiAgICAgeworI2lmIENQVShYMzIpCisg
ICAgICAgIGxvYWQzMihhZGRyZXNzLCBzY3JhdGNoUmVnaXN0ZXIpOworICAgICAgICBtX2Fzc2Vt
Ymxlci5jYWxsKHNjcmF0Y2hSZWdpc3Rlcik7CisjZWxzZQogICAgICAgICBtX2Fzc2VtYmxlci5j
YWxsX20oYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSk7CisjZW5kaWYKICAgICB9CiAKICAg
ICB2b2lkIHJldCgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3Jv
QXNzZW1ibGVyWDg2XzY0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCShyZXZpc2lvbiAxMzE4NzApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTM2LDEwICszNiwxNSBAQCBuYW1lc3BhY2UgSlNDIHsKIAogY2xhc3MgTWFj
cm9Bc3NlbWJsZXJYODZfNjQgOiBwdWJsaWMgTWFjcm9Bc3NlbWJsZXJYODZDb21tb24gewogcHVi
bGljOgorI2lmIENQVShYMzIpCisgICAgc3RhdGljIGNvbnN0IFNjYWxlIFNjYWxlUHRyID0gVGlt
ZXNGb3VyOworI2Vsc2UKICAgICBzdGF0aWMgY29uc3QgU2NhbGUgU2NhbGVQdHIgPSBUaW1lc0Vp
Z2h0OworI2VuZGlmCiAKICAgICB1c2luZyBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6YWRkMzI7
CiAgICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmFuZDMyOworICAgIHVzaW5nIE1h
Y3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpicmFuY2gzMjsKICAgICB1c2luZyBNYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbjo6YnJhbmNoQWRkMzI7CiAgICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJYODZDb21t
b246Om9yMzI7CiAgICAgdXNpbmcgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnN1YjMyOwpAQCAt
MTEwLDEyICsxMTUsMzkgQEAgcHVibGljOgogICAgICAgICBtX2Fzc2VtYmxlci5jdnRzaTJzZF9y
cihzY3JhdGNoUmVnaXN0ZXIsIGRlc3QpOwogICAgIH0KIAorICAgIHZvaWQgcm90YXRlUmlnaHQz
MihUcnVzdGVkSW1tMzIgaW1tLCBSZWdpc3RlcklEIHNyY0RzdCkKKyAgICB7CisgICAgICAgIG1f
YXNzZW1ibGVyLnJvcmxfaThyKGltbS5tX3ZhbHVlLCBzcmNEc3QpOworICAgIH0KKwogICAgIHZv
aWQgc3RvcmUzMihUcnVzdGVkSW1tMzIgaW1tLCB2b2lkKiBhZGRyZXNzKQogICAgIHsKICAgICAg
ICAgbW92ZShUcnVzdGVkSW1tUHRyKGFkZHJlc3MpLCBzY3JhdGNoUmVnaXN0ZXIpOwogICAgICAg
ICBzdG9yZTMyKGltbSwgc2NyYXRjaFJlZ2lzdGVyKTsKICAgICB9CiAgICAgCisgICAgdm9pZCBz
dG9yZTMyKFJlZ2lzdGVySUQgc3JjLCB2b2lkKiBhZGRyZXNzKQorICAgIHsKKyAgICAgICAgaWYg
KHNyYyA9PSBYODZSZWdpc3RlcnM6OmVheCkKKyAgICAgICAgICAgIG1fYXNzZW1ibGVyLm1vdmxf
RUFYbShhZGRyZXNzKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBtb3ZlKFRydXN0ZWRJ
bW1QdHIoYWRkcmVzcyksIHNjcmF0Y2hSZWdpc3Rlcik7CisgICAgICAgICAgICBzdG9yZTMyKHNy
Yywgc2NyYXRjaFJlZ2lzdGVyKTsKKyAgICAgICAgfQorICAgIH0KKyAgICAKKyAgICBKdW1wIGJy
YW5jaDMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWJzb2x1dGVBZGRyZXNzIGxlZnQsIFJl
Z2lzdGVySUQgcmlnaHQpCisgICAgeworICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIobGVmdC5t
X3B0ciksIHNjcmF0Y2hSZWdpc3Rlcik7CisgICAgICAgIHJldHVybiBicmFuY2gzMihjb25kLCBB
ZGRyZXNzKHNjcmF0Y2hSZWdpc3RlciksIHJpZ2h0KTsKKyAgICB9CisKKyAgICBKdW1wIGJyYW5j
aDMyKFJlbGF0aW9uYWxDb25kaXRpb24gY29uZCwgQWJzb2x1dGVBZGRyZXNzIGxlZnQsIFRydXN0
ZWRJbW0zMiByaWdodCkKKyAgICB7CisgICAgICAgIG1vdmUoVHJ1c3RlZEltbVB0cihsZWZ0Lm1f
cHRyKSwgc2NyYXRjaFJlZ2lzdGVyKTsKKyAgICAgICAgcmV0dXJuIGJyYW5jaDMyKGNvbmQsIGxl
ZnQsIHJpZ2h0KTsKKyAgICB9CisKICAgICB2b2lkIHN0b3JlOChUcnVzdGVkSW1tMzIgaW1tLCB2
b2lkKiBhZGRyZXNzKQogICAgIHsKICAgICAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGFkZHJlc3Mp
LCBzY3JhdGNoUmVnaXN0ZXIpOwpAQCAtNTI4LDMzICs1NjAsNTMgQEAgcHVibGljOgogICAgIENv
bnZlcnRpYmxlTG9hZExhYmVsIGNvbnZlcnRpYmxlTG9hZFB0cihBZGRyZXNzIGFkZHJlc3MsIFJl
Z2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIENvbnZlcnRpYmxlTG9hZExhYmVsIHJlc3Vs
dCA9IENvbnZlcnRpYmxlTG9hZExhYmVsKHRoaXMpOworI2lmIENQVShYMzIpCisgICAgICAgIG1f
YXNzZW1ibGVyLm1vdmxfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgZGVzdCk7Cisj
ZWxzZQogICAgICAgICBtX2Fzc2VtYmxlci5tb3ZxX21yKGFkZHJlc3Mub2Zmc2V0LCBhZGRyZXNz
LmJhc2UsIGRlc3QpOworI2VuZGlmCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCiAg
ICAgRGF0YUxhYmVsUHRyIG1vdmVXaXRoUGF0Y2goVHJ1c3RlZEltbVB0ciBpbml0aWFsVmFsdWUs
IFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIHBhZEJlZm9yZVBhdGNoKCk7CisjaWYg
Q1BVKFgzMikKKyAgICAgICAgbV9hc3NlbWJsZXIubW92bF9pMzJyKGluaXRpYWxWYWx1ZS5hc0lu
dHB0cigpLCBkZXN0KTsKKyNlbHNlCiAgICAgICAgIG1fYXNzZW1ibGVyLm1vdnFfaTY0cihpbml0
aWFsVmFsdWUuYXNJbnRwdHIoKSwgZGVzdCk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuIERhdGFM
YWJlbFB0cih0aGlzKTsKICAgICB9CiAKICAgICBKdW1wIGJyYW5jaFB0cldpdGhQYXRjaChSZWxh
dGlvbmFsQ29uZGl0aW9uIGNvbmQsIFJlZ2lzdGVySUQgbGVmdCwgRGF0YUxhYmVsUHRyJiBkYXRh
TGFiZWwsIFRydXN0ZWRJbW1QdHIgaW5pdGlhbFJpZ2h0VmFsdWUgPSBUcnVzdGVkSW1tUHRyKDAp
KQogICAgIHsKICAgICAgICAgZGF0YUxhYmVsID0gbW92ZVdpdGhQYXRjaChpbml0aWFsUmlnaHRW
YWx1ZSwgc2NyYXRjaFJlZ2lzdGVyKTsKKyNpZiBDUFUoWDMyKQorICAgICAgICByZXR1cm4gYnJh
bmNoMzIoY29uZCwgbGVmdCwgc2NyYXRjaFJlZ2lzdGVyKTsKKyNlbHNlCiAgICAgICAgIHJldHVy
biBicmFuY2g2NChjb25kLCBsZWZ0LCBzY3JhdGNoUmVnaXN0ZXIpOworI2VuZGlmCiAgICAgfQog
CiAgICAgSnVtcCBicmFuY2hQdHJXaXRoUGF0Y2goUmVsYXRpb25hbENvbmRpdGlvbiBjb25kLCBB
ZGRyZXNzIGxlZnQsIERhdGFMYWJlbFB0ciYgZGF0YUxhYmVsLCBUcnVzdGVkSW1tUHRyIGluaXRp
YWxSaWdodFZhbHVlID0gVHJ1c3RlZEltbVB0cigwKSkKICAgICB7CiAgICAgICAgIGRhdGFMYWJl
bCA9IG1vdmVXaXRoUGF0Y2goaW5pdGlhbFJpZ2h0VmFsdWUsIHNjcmF0Y2hSZWdpc3Rlcik7Cisj
aWYgQ1BVKFgzMikKKyAgICAgICAgcmV0dXJuIGJyYW5jaDMyKGNvbmQsIGxlZnQsIHNjcmF0Y2hS
ZWdpc3Rlcik7CisjZWxzZQogICAgICAgICByZXR1cm4gYnJhbmNoNjQoY29uZCwgbGVmdCwgc2Ny
YXRjaFJlZ2lzdGVyKTsKKyNlbmRpZgogICAgIH0KIAogICAgIERhdGFMYWJlbFB0ciBzdG9yZVB0
cldpdGhQYXRjaChUcnVzdGVkSW1tUHRyIGluaXRpYWxWYWx1ZSwgSW1wbGljaXRBZGRyZXNzIGFk
ZHJlc3MpCiAgICAgewogICAgICAgICBEYXRhTGFiZWxQdHIgbGFiZWwgPSBtb3ZlV2l0aFBhdGNo
KGluaXRpYWxWYWx1ZSwgc2NyYXRjaFJlZ2lzdGVyKTsKKyNpZiBDUFUoWDMyKQorICAgICAgICBz
dG9yZTMyKHNjcmF0Y2hSZWdpc3RlciwgYWRkcmVzcyk7CisjZWxzZQogICAgICAgICBzdG9yZTY0
KHNjcmF0Y2hSZWdpc3RlciwgYWRkcmVzcyk7CisjZW5kaWYKICAgICAgICAgcmV0dXJuIGxhYmVs
OwogICAgIH0KICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2
QXNzZW1ibGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9YODZBc3NlbWJsZXIuaAkocmV2aXNpb24gMTMxODcwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNjgzLDYgKzY4
MywxNiBAQCBwdWJsaWM6CiAgICAgICAgIH0KICAgICB9CiAKKyAgICB2b2lkIHJvcmxfaThyKGlu
dCBpbW0sIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgaWYgKGltbSA9PSAxKQorICAg
ICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wKE9QX0dST1VQMl9FdjEsIEdST1VQMl9PUF9S
T1IsIGRzdCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0
ZU9wKE9QX0dST1VQMl9FdkliLCBHUk9VUDJfT1BfUk9SLCBkc3QpOworICAgICAgICAgICAgbV9m
b3JtYXR0ZXIuaW1tZWRpYXRlOChpbW0pOworICAgICAgICB9CisgICAgfQorCiAjZW5kaWYKIAog
ICAgIHZvaWQgc2FybF9pOHIoaW50IGltbSwgUmVnaXN0ZXJJRCBkc3QpCkBAIC0xMDA3LDYgKzEw
MTcsMTEgQEAgcHVibGljOgogICAgICAgICBtX2Zvcm1hdHRlci5vbmVCeXRlT3A2NChPUF9URVNU
X0V2R3YsIHNyYywgYmFzZSwgb2Zmc2V0KTsKICAgICB9CiAKKyAgICB2b2lkIHRlc3RsX3JtKFJl
Z2lzdGVySUQgc3JjLCBpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJhc2UpCisgICAgeworICAgICAg
ICBtX2Zvcm1hdHRlci5vbmVCeXRlT3AoT1BfVEVTVF9Fdkd2LCBzcmMsIGJhc2UsIG9mZnNldCk7
CisgICAgfQorCiAgICAgdm9pZCB0ZXN0cV9pMzJyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQog
ICAgIHsKICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfR1JPVVAzX0V2SXosIEdS
T1VQM19PUF9URVNULCBkc3QpOwpAQCAtMTExMSw3ICsxMTI2LDcgQEAgcHVibGljOgogICAgIHsK
ICAgICAgICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wKE9QX01PVl9FQVhPdik7CiAjaWYgQ1BVKFg4
Nl82NCkKLSAgICAgICAgbV9mb3JtYXR0ZXIuaW1tZWRpYXRlNjQocmVpbnRlcnByZXRfY2FzdDxp
bnQ2NF90PihhZGRyKSk7CisgICAgICAgIG1fZm9ybWF0dGVyLmltbWVkaWF0ZTY0KHJlaW50ZXJw
cmV0X2Nhc3Q8dWludHB0cl90PihhZGRyKSk7CiAjZWxzZQogICAgICAgICBtX2Zvcm1hdHRlci5p
bW1lZGlhdGUzMihyZWludGVycHJldF9jYXN0PGludD4oYWRkcikpOwogI2VuZGlmCkBAIC0xMTkz
LDcgKzEyMDgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2Zvcm1hdHRlci5vbmVCeXRl
T3AoT1BfTU9WX092RUFYKTsKICNpZiBDUFUoWDg2XzY0KQotICAgICAgICBtX2Zvcm1hdHRlci5p
bW1lZGlhdGU2NChyZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFkZHIpKTsKKyAgICAgICAgbV9m
b3JtYXR0ZXIuaW1tZWRpYXRlNjQocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGFkZHIpKTsK
ICNlbHNlCiAgICAgICAgIG1fZm9ybWF0dGVyLmltbWVkaWF0ZTMyKHJlaW50ZXJwcmV0X2Nhc3Q8
aW50PihhZGRyKSk7CiAjZW5kaWYKQEAgLTEyMjMsMTMgKzEyMzgsMTMgQEAgcHVibGljOgogICAg
IHZvaWQgbW92cV9tRUFYKGNvbnN0IHZvaWQqIGFkZHIpCiAgICAgewogICAgICAgICBtX2Zvcm1h
dHRlci5vbmVCeXRlT3A2NChPUF9NT1ZfRUFYT3YpOwotICAgICAgICBtX2Zvcm1hdHRlci5pbW1l
ZGlhdGU2NChyZWludGVycHJldF9jYXN0PGludDY0X3Q+KGFkZHIpKTsKKyAgICAgICAgbV9mb3Jt
YXR0ZXIuaW1tZWRpYXRlNjQocmVpbnRlcnByZXRfY2FzdDx1aW50cHRyX3Q+KGFkZHIpKTsKICAg
ICB9CiAKICAgICB2b2lkIG1vdnFfRUFYbShjb25zdCB2b2lkKiBhZGRyKQogICAgIHsKICAgICAg
ICAgbV9mb3JtYXR0ZXIub25lQnl0ZU9wNjQoT1BfTU9WX092RUFYKTsKLSAgICAgICAgbV9mb3Jt
YXR0ZXIuaW1tZWRpYXRlNjQocmVpbnRlcnByZXRfY2FzdDxpbnQ2NF90PihhZGRyKSk7CisgICAg
ICAgIG1fZm9ybWF0dGVyLmltbWVkaWF0ZTY0KHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90Pihh
ZGRyKSk7CiAgICAgfQogCiAgICAgdm9pZCBtb3ZxX21yKGludCBvZmZzZXQsIFJlZ2lzdGVySUQg
YmFzZSwgUmVnaXN0ZXJJRCBkc3QpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUu
aAkocmV2aXNpb24gMTMxODcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2Rl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDcgKzY1LDcgQEAgc3RydWN0IFN0cnVjdHVyZVRyYW5z
aXRpb25EYXRhIHsKIHN0cnVjdCBPcEluZm8gewogICAgIGV4cGxpY2l0IE9wSW5mbyhpbnQzMl90
IHZhbHVlKSA6IG1fdmFsdWUoc3RhdGljX2Nhc3Q8dWludHB0cl90Pih2YWx1ZSkpIHsgfQogICAg
IGV4cGxpY2l0IE9wSW5mbyh1aW50MzJfdCB2YWx1ZSkgOiBtX3ZhbHVlKHN0YXRpY19jYXN0PHVp
bnRwdHJfdD4odmFsdWUpKSB7IH0KLSNpZiBPUyhEQVJXSU4pIHx8IFVTRShKU1ZBTFVFNjQpCisj
aWYgIUNQVShYMzIpICYmIChPUyhEQVJXSU4pIHx8IFVTRShKU1ZBTFVFNjQpKQogICAgIGV4cGxp
Y2l0IE9wSW5mbyhzaXplX3QgdmFsdWUpIDogbV92YWx1ZShzdGF0aWNfY2FzdDx1aW50cHRyX3Q+
KHZhbHVlKSkgeyB9CiAjZW5kaWYKICAgICBleHBsaWNpdCBPcEluZm8odm9pZCogdmFsdWUpIDog
bV92YWx1ZShyZWludGVycHJldF9jYXN0PHVpbnRwdHJfdD4odmFsdWUpKSB7IH0KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3BlcmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkocmV2aXNpb24gMTMx
ODcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTQ2Miw2ICsxNDYyLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICNpZiBD
T01QSUxFUihHQ0MpICYmIENQVShYODZfNjQpCiBhc20gKAorIi50ZXh0IiAiXG4iIFwKICIuZ2xv
YmwgIiBTWU1CT0xfU1RSSU5HKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIEhJREVfU1lN
Qk9MKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpICJcbiIKIFNZTUJPTF9TVFJJTkcoZ2V0SG9zdENh
bGxSZXR1cm5WYWx1ZSkgIjoiICJcbiIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkocmV2aXNpb24gMTMxODcwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMTAzMyw2ICsxMDMzLDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwo
Tm9kZSYgbm9kZQogICAgIG1faml0LmFkZFB0cihUcnVzdGVkSW1tMzIobV9qaXQuY29kZUJsb2Nr
KCktPm1fbnVtQ2FsbGVlUmVnaXN0ZXJzICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyKTsKICAgICAKICAgICBzbG93UGF0aC5hcHBlbmQobV9qaXQuYnJhbmNo
UHRyV2l0aFBhdGNoKE1hY3JvQXNzZW1ibGVyOjpOb3RFcXVhbCwgY2FsbGVlR1BSLCB0YXJnZXRU
b0NoZWNrLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cigwKSkpOworI2lmIENQVShYMzIp
CisgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5jaFRlc3Q2NChNYWNyb0Fzc2VtYmxlcjo6
Tm9uWmVybywgY2FsbGVlR1BSLCBHUFJJbmZvOjp0YWdNYXNrUmVnaXN0ZXIpKTsKKyNlbmRpZgog
CiAgICAgbV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhjYWxsZWVHUFIsIE9C
SkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3BlKSksIHJlc3VsdEdQUik7CiAgICAgbV9q
aXQuc3RvcmU2NChyZXN1bHRHUFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQUkluZm86OmNh
bGxGcmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3Rlcikp
ICogSlNTdGFjazo6U2NvcGVDaGFpbikpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yLmgJKHJldmlzaW9uIDEzMTg3MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDYsNyArMTA2LDcgQEAgY2xhc3MgRGVtYW5kRXhlY3V0YWJsZUFsbG9jYXRvcjsKICNp
ZiBFTkFCTEUoRVhFQ1VUQUJMRV9BTExPQ0FUT1JfRklYRUQpCiAjaWYgQ1BVKEFSTSkKIHN0YXRp
YyBjb25zdCBzaXplX3QgZml4ZWRFeGVjdXRhYmxlTWVtb3J5UG9vbFNpemUgPSAxNiAqIDEwMjQg
KiAxMDI0OwotI2VsaWYgQ1BVKFg4Nl82NCkKKyNlbGlmIENQVShYODZfNjQpICYmICFDUFUoWDMy
KQogc3RhdGljIGNvbnN0IHNpemVfdCBmaXhlZEV4ZWN1dGFibGVNZW1vcnlQb29sU2l6ZSA9IDEw
MjQgKiAxMDI0ICogMTAyNDsKICNlbHNlCiBzdGF0aWMgY29uc3Qgc2l6ZV90IGZpeGVkRXhlY3V0
YWJsZU1lbW9yeVBvb2xTaXplID0gMzIgKiAxMDI0ICogMTAyNDsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklUQ2FsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkocmV2aXNpb24gMTMxODcwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVRDYWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDYgKzE5NCwx
MSBAQCB2b2lkIEpJVDo6Y29tcGlsZU9wQ2FsbChPcGNvZGVJRCBvcGNvZGVJCiAgICAgRU5EX1VO
SU5URVJSVVBURURfU0VRVUVOQ0Uoc2VxdWVuY2VPcENhbGwpOwogICAgIGFkZFNsb3dDYXNlKHNs
b3dDYXNlKTsKIAorI2lmIENQVShYMzIpCisgICAgLy8gVGhlIGFib3ZlIGJyYW5jaFB0ciBkb2Vz
bid0IGNhdGNoIHRoZSBjYXNlIHdoZXJlIHRoZSBjYWxsZWUgaXNuJ3QgYSBjZWxsLgorICAgIGFk
ZFNsb3dDYXNlKGJyYW5jaFRlc3Q2NChOb25aZXJvLCByZWdUMCwgdGFnTWFza1JlZ2lzdGVyKSk7
CisjZW5kaWYKKwogICAgIEFTU0VSVChtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZv
LnNpemUoKSA9PSBjYWxsTGlua0luZm9JbmRleCk7CiAgICAgbV9jYWxsU3RydWN0dXJlU3R1YkNv
bXBpbGF0aW9uSW5mby5hcHBlbmQoU3RydWN0dXJlU3R1YkNvbXBpbGF0aW9uSW5mbygpKTsKICAg
ICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25JbmZvW2NhbGxMaW5rSW5mb0luZGV4XS5o
b3RQYXRoQmVnaW4gPSBhZGRyZXNzT2ZMaW5rZWRGdW5jdGlvbkNoZWNrOwpAQCAtMjE1LDYgKzIy
MCw5IEBAIHZvaWQgSklUOjpjb21waWxlT3BDYWxsU2xvd0Nhc2UoT3Bjb2RlSUQKICAgICB9CiAK
ICAgICBsaW5rU2xvd0Nhc2UoaXRlcik7CisjaWYgQ1BVKFgzMikKKyAgICBsaW5rU2xvd0Nhc2Uo
aXRlcik7CisjZW5kaWYKICAgICAKICAgICBtX2NhbGxTdHJ1Y3R1cmVTdHViQ29tcGlsYXRpb25J
bmZvW2NhbGxMaW5rSW5mb0luZGV4XS5jYWxsUmV0dXJuTG9jYXRpb24gPSBlbWl0TmFrZWRDYWxs
KG9wY29kZUlEID09IG9wX2NvbnN0cnVjdCA/IG1fZ2xvYmFsRGF0YS0+aml0U3R1YnMtPmN0aVZp
cnR1YWxDb25zdHJ1Y3RMaW5rKCkgOiBtX2dsb2JhbERhdGEtPmppdFN0dWJzLT5jdGlWaXJ0dWFs
Q2FsbExpbmsoKSk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUU3R1YnMuY3Bw
CShyZXZpc2lvbiAxMzE4NzApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFN0dWJz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY2LDYgKzM2Niw3IEBAIFNZTUJPTF9TVFJJTkcoY3Rp
T3BUaHJvd05vdENhdWdodCkgIjoiICIKIAogI2lmIENPTVBJTEVSKEdDQykgJiYgQ1BVKFg4Nl82
NCkKIAorI2lmICFDUFUoWDMyKQogLy8gVGhlc2UgQVNTRVJUcyByZW1pbmQgeW91IHRoYXQsIGlm
IHlvdSBjaGFuZ2UgdGhlIGxheW91dCBvZiBKSVRTdGFja0ZyYW1lLCB5b3UKIC8vIG5lZWQgdG8g
Y2hhbmdlIHRoZSBhc3NlbWJseSB0cmFtcG9saW5lcyBiZWxvdyB0byBtYXRjaC4KIENPTVBJTEVf
QVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4NTgs
IEpJVFN0YWNrRnJhbWVfY2FsbEZyYW1lX29mZnNldF9tYXRjaGVzX2N0aVRyYW1wb2xpbmUpOwpA
QCAtNDMyLDYgKzQzMyw3MiBAQCBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICI6
IiAiCiAgICAgInBvcHEgJXJicCIgIlxuIgogICAgICJyZXQiICJcbiIKICk7CisjZWxzZQorLy8g
QVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjYWxsRnJhbWUpID09IDB4NDgp
OworLy8gQVNTRVJUKG9mZnNldG9mKHN0cnVjdCBKSVRTdGFja0ZyYW1lLCBjb2RlKSA9PSAweDQw
KTsKKy8vIEFTU0VSVChvZmZzZXRvZihzdHJ1Y3QgSklUU3RhY2tGcmFtZSwgc2F2ZWRSQlgpID09
IDB4NTgpOworCithc20gKAorIi50ZXh0XG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlU
cmFtcG9saW5lKSAiXG4iCitISURFX1NZTUJPTChjdGlUcmFtcG9saW5lKSAiXG4iCitTWU1CT0xf
U1RSSU5HKGN0aVRyYW1wb2xpbmUpICI6IiAiXG4iCisgICAgInB1c2hxICVyYnAiICJcbiIKKyAg
ICAibW92bCAlZXNwLCAlZWJwIiAiXG4iCisgICAgInB1c2hxICVyMTIiICJcbiIKKyAgICAicHVz
aHEgJXIxMyIgIlxuIgorICAgICJwdXNocSAlcjE0IiAiXG4iCisgICAgInB1c2hxICVyMTUiICJc
biIKKyAgICAicHVzaHEgJXJieCIgIlxuIgorICAgIC8vIEZvcm0gdGhlIEpJVCBzdHVicyBhcmVh
CisgICAgInN1YmwgJDB4NTgsICVlc3AiICJcbiIKKyAgICAibW92bCAlcjlkLCAweDU0KCVlc3Ap
IiAiXG4iCisgICAgIm1vdmwgJXI4ZCwgMHg1MCglZXNwKSIgIlxuIgorICAgICJtb3ZsICVlY3gs
IDB4NGMoJWVzcCkiICJcbiIKKyAgICAibW92bCAlZWR4LCAweDQ4KCVlc3ApIiAiXG4iCisgICAg
Im1vdmwgJWVzaSwgMHg0NCglZXNwKSIgIlxuIgorICAgICJtb3ZsICVlZGksIDB4NDAoJWVzcCki
ICJcbiIKKyAgICAibW92cSAkNTEyLCAlcjEyIiAiXG4iCisgICAgIm1vdnEgJDB4RkZGRjAwMDAw
MDAwMDAwMCwgJXIxNCIgIlxuIgorICAgICJtb3ZxICQweEZGRkYwMDAwMDAwMDAwMDIsICVyMTUi
ICJcbiIKKyAgICAibW92bCAlZWR4LCAlcjEzZCIgIlxuIgorICAgICJjYWxsIColcmRpIiAiXG4i
CisgICAgImFkZGwgJDB4NTgsICVlc3AiICJcbiIKKyAgICAicG9wcSAlcmJ4IiAiXG4iCisgICAg
InBvcHEgJXIxNSIgIlxuIgorICAgICJwb3BxICVyMTQiICJcbiIKKyAgICAicG9wcSAlcjEzIiAi
XG4iCisgICAgInBvcHEgJXIxMiIgIlxuIgorICAgICJwb3BxICVyYnAiICJcbiIKKyAgICAicmV0
IiAiXG4iCisiLmdsb2JsICIgU1lNQk9MX1NUUklORyhjdGlUcmFtcG9saW5lRW5kKSAiXG4iCitI
SURFX1NZTUJPTChjdGlUcmFtcG9saW5lRW5kKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aVRyYW1w
b2xpbmVFbmQpICI6IiAiXG4iCispOworCithc20gKAorIi5nbG9ibCAiIFNZTUJPTF9TVFJJTkco
Y3RpVk1UaHJvd1RyYW1wb2xpbmUpICJcbiIKK0hJREVfU1lNQk9MKGN0aVZNVGhyb3dUcmFtcG9s
aW5lKSAiXG4iCitTWU1CT0xfU1RSSU5HKGN0aVZNVGhyb3dUcmFtcG9saW5lKSAiOiIgIlxuIgor
ICAgICJtb3ZsICVlc3AsICVlZGkiICJcbiIKKyAgICAiY2FsbCAiIExPQ0FMX1JFRkVSRU5DRShj
dGlfdm1fdGhyb3cpICJcbiIKKyAgICAiaW50MyIgIlxuIgorKTsKKworYXNtICgKKyIuZ2xvYmwg
IiBTWU1CT0xfU1RSSU5HKGN0aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKK0hJREVfU1lNQk9MKGN0
aU9wVGhyb3dOb3RDYXVnaHQpICJcbiIKK1NZTUJPTF9TVFJJTkcoY3RpT3BUaHJvd05vdENhdWdo
dCkgIjoiICJcbiIKKyAgICAiYWRkbCAkMHg1OCwgJWVzcCIgIlxuIgorICAgICJwb3BxICVyYngi
ICJcbiIKKyAgICAicG9wcSAlcjE1IiAiXG4iCisgICAgInBvcHEgJXIxNCIgIlxuIgorICAgICJw
b3BxICVyMTMiICJcbiIKKyAgICAicG9wcSAlcjEyIiAiXG4iCisgICAgInBvcHEgJXJicCIgIlxu
IgorICAgICJyZXQiICJcbiIKKyk7CisjZW5kaWYKIAogI2Vsc2UKICAgICAjZXJyb3IgIkpJVCBu
b3Qgc3VwcG9ydGVkIG9uIHRoaXMgcGxhdGZvcm0uIgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRTdHVicy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvSklUU3R1YnMuaAkocmV2aXNpb24gMTMxODcwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRTdHVicy5oCSh3b3JraW5nIGNvcHkpCkBAIC05OSw5ICs5OSw5IEBAIG5hbWVzcGFj
ZSBKU0MgewogCiAjaWYgQ1BVKFg4Nl82NCkKICAgICBzdHJ1Y3QgSklUU3RhY2tGcmFtZSB7Ci0g
ICAgICAgIHZvaWQqIHJlc2VydmVkOyAvLyBVbnVzZWQKKyAgICAgICAgaW50NjRfdCByZXNlcnZl
ZDsgLy8gVW51c2VkCiAgICAgICAgIEpJVFN0dWJBcmcgYXJnc1s2XTsKLSAgICAgICAgdm9pZCog
cGFkZGluZ1syXTsgLy8gTWFpbnRhaW4gMzItYnl0ZSBzdGFjayBhbGlnbm1lbnQgKHBvc3NpYmx5
IG92ZXJraWxsKS4KKyAgICAgICAgdm9pZCogcGFkZGluZ1syXTsgLy8gTWFpbnRhaW4gMzItYnl0
ZSBzdGFjayBhbGlnbm1lbnQgKHBvc3NpYmx5IG92ZXJraWxsKS4gRklYTUU6IFRoZSBjb21tZW50
cyBhcmUgbm90IHZhbGlkIQogCiAgICAgICAgIHZvaWQqIGNvZGU7CiAgICAgICAgIEpTU3RhY2sq
IHN0YWNrOwpAQCAtMTEwLDE2ICsxMTAsMjEgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHZv
aWQqIHVudXNlZDI7CiAgICAgICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YTsKIAotICAgICAg
ICB2b2lkKiBzYXZlZFJCWDsKLSAgICAgICAgdm9pZCogc2F2ZWRSMTU7Ci0gICAgICAgIHZvaWQq
IHNhdmVkUjE0OwotICAgICAgICB2b2lkKiBzYXZlZFIxMzsKLSAgICAgICAgdm9pZCogc2F2ZWRS
MTI7Ci0gICAgICAgIHZvaWQqIHNhdmVkUkJQOwotICAgICAgICB2b2lkKiBzYXZlZFJJUDsKKyAg
ICAgICAgaW50NjRfdCBzYXZlZFJCWDsKKyAgICAgICAgaW50NjRfdCBzYXZlZFIxNTsKKyAgICAg
ICAgaW50NjRfdCBzYXZlZFIxNDsKKyAgICAgICAgaW50NjRfdCBzYXZlZFIxMzsKKyAgICAgICAg
aW50NjRfdCBzYXZlZFIxMjsKKyAgICAgICAgaW50NjRfdCBzYXZlZFJCUDsKKyAgICAgICAgaW50
NjRfdCBzYXZlZFJJUDsKIAogICAgICAgICAvLyBXaGVuIEpJVCBjb2RlIG1ha2VzIGEgY2FsbCwg
aXQgcHVzaGVzIGl0cyByZXR1cm4gYWRkcmVzcyBqdXN0IGJlbG93IHRoZSByZXN0IG9mIHRoZSBz
dGFjay4KKyNpZiBDUFUoWDMyKQorICAgICAgICAvLyBPbiBYMzIgdGhlIHJldHVybiBhZGRyZXNz
IG9jY3VwaWVzIGEgOC1ieXRlIHNsb3QgKHdpdGggdGhlIGhpZ2hlciA0IGJ5dGVzIHplcm8nZWQp
CisgICAgICAgIFJldHVybkFkZHJlc3NQdHIqIHJldHVybkFkZHJlc3NTbG90KCkgeyByZXR1cm4g
cmVpbnRlcnByZXRfY2FzdDxSZXR1cm5BZGRyZXNzUHRyKj4odGhpcykgLSAyOyB9CisjZWxzZQog
ICAgICAgICBSZXR1cm5BZGRyZXNzUHRyKiByZXR1cm5BZGRyZXNzU2xvdCgpIHsgcmV0dXJuIHJl
aW50ZXJwcmV0X2Nhc3Q8UmV0dXJuQWRkcmVzc1B0cio+KHRoaXMpIC0gMTsgfQorI2VuZGlmCiAg
ICAgfTsKICNlbGlmIENQVShYODYpCiAjaWYgQ09NUElMRVIoTVNWQykgfHwgKE9TKFdJTkRPV1Mp
ICYmIENPTVBJTEVSKEdDQykpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9N
YXRjaFJlc3VsdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L01hdGNoUmVzdWx0LmgJKHJldmlzaW9uIDEzMTg3MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL01hdGNoUmVzdWx0LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDggKzY0LDEzIEBA
IHN0cnVjdCBNYXRjaFJlc3VsdCB7CiAgICAgICAgIHJldHVybiBzdGFydCA9PSBlbmQ7CiAgICAg
fQogCisjaWYgQ1BVKFgzMikKKyAgICB1aW50NjRfdCBzdGFydDsKKyAgICB1aW50NjRfdCBlbmQ7
CisjZWxzZQogICAgIHNpemVfdCBzdGFydDsKICAgICBzaXplX3QgZW5kOworI2VuZGlmCiB9Owog
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMTMxODcwKQorKysgU291cmNlL1dU
Ri93dGYvUGxhdGZvcm0uaAkod29ya2luZyBjb3B5KQpAQCAtMTYwLDYgKzE2MCw5IEBACiAjaWYg
ICBkZWZpbmVkKF9feDg2XzY0X18pIFwKICAgICB8fCBkZWZpbmVkKF9NX1g2NCkKICNkZWZpbmUg
V1RGX0NQVV9YODZfNjQgMQorI2lmIGRlZmluZWQoX19JTFAzMl9fKQorI2RlZmluZSBXVEZfQ1BV
X1gzMiAxCisjZW5kaWYKICNlbmRpZgogCiAvKiBDUFUoQVJNKSAtIEFSTSwgYW55IHZlcnNpb24q
Lwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169626</attachid>
            <date>2012-10-19 08:38:37 -0700</date>
            <delta_ts>2012-11-06 16:51:38 -0800</delta_ts>
            <desc>x32 LLInt patch</desc>
            <filename>x32.llint.0.patch</filename>
            <type>text/plain</type>
            <size>83012</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludERhdGEuY3BwCShyZXZpc2lv
biAxMzE4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnREYXRhLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTA3LDcgKzEwNyw3IEBAIHZvaWQgRGF0YTo6cGVyZm9ybUFzc2Vy
dGlvbnMoSlNHbG9iYWxEYXQKICAgICBBU1NFUlQoTWFzcXVlcmFkZXNBc1VuZGVmaW5lZCA9PSAx
KTsKICAgICBBU1NFUlQoSW1wbGVtZW50c0hhc0luc3RhbmNlID09IDIpOwogICAgIEFTU0VSVChJ
bXBsZW1lbnRzRGVmYXVsdEhhc0luc3RhbmNlID09IDgpOwotI2lmIFVTRShKU1ZBTFVFNjQpCisj
aWYgQ1BVKFg4Nl82NCkgJiYgIUNQVShYMzIpCiAgICAgQVNTRVJUKCZnbG9iYWxEYXRhLmhlYXAu
YWxsb2NhdG9yRm9yT2JqZWN0V2l0aG91dERlc3RydWN0b3IoSlNPYmplY3Q6OmFsbG9jYXRpb25T
aXplKElOTElORV9TVE9SQUdFX0NBUEFDSVRZKSkgLSAmZ2xvYmFsRGF0YS5oZWFwLmZpcnN0QWxs
b2NhdG9yV2l0aG91dERlc3RydWN0b3JzKCkgPT0gMSk7CiAjZWxzZQogICAgIEFTU0VSVCgmZ2xv
YmFsRGF0YS5oZWFwLmFsbG9jYXRvckZvck9iamVjdFdpdGhvdXREZXN0cnVjdG9yKEpTT2JqZWN0
OjphbGxvY2F0aW9uU2l6ZShJTkxJTkVfU1RPUkFHRV9DQVBBQ0lUWSkpIC0gJmdsb2JhbERhdGEu
aGVhcC5maXJzdEFsbG9jYXRvcldpdGhvdXREZXN0cnVjdG9ycygpID09IDMpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcu
aAkocmV2aXNpb24gMTMxODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2ZmbGluZUFzbUNvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNyw2ICszNyw3IEBACiAjZGVm
aW5lIE9GRkxJTkVfQVNNX1g4NiAwCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FSTXY3IDAKICNkZWZp
bmUgT0ZGTElORV9BU01fWDg2XzY0IDAKKyNkZWZpbmUgT0ZGTElORV9BU01fWDMyIDAKICNkZWZp
bmUgT0ZGTElORV9BU01fQVJNdjdzIDAKIAogI2Vsc2UgLy8gIUVOQUJMRShMTElOVF9DX0xPT1Ap
CkBAIC02MSw3ICs2MiwxMyBAQAogI2RlZmluZSBPRkZMSU5FX0FTTV9BUk12NyAwCiAjZW5kaWYK
IAotI2lmIENQVShYODZfNjQpCisjaWYgQ1BVKFg4Nl82NCkgJiYgQ1BVKFgzMikKKyNkZWZpbmUg
T0ZGTElORV9BU01fWDMyIDEKKyNlbHNlCisjZGVmaW5lIE9GRkxJTkVfQVNNX1gzMiAwCisjZW5k
aWYKKworI2lmIENQVShYODZfNjQpICYmICFDUFUoWDMyKQogI2RlZmluZSBPRkZMSU5FX0FTTV9Y
ODZfNjQgMQogI2Vsc2UKICNkZWZpbmUgT0ZGTElORV9BU01fWDg2XzY0IDAKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5oCShyZXZpc2lvbiAxMzE4
OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuaAkod29y
a2luZyBjb3B5KQpAQCAtNDMsMjIgKzQzLDIyIEBAIG5hbWVzcGFjZSBMTEludCB7CiAvLyAnZXh0
ZXJuICJDIicpIG5lZWRzIHRvIGJlIFBPRDsgaGVuY2UgcHV0dGluZyBhbnkgY29uc3RydWN0b3Jz
IGludG8gaXQgY291bGQgY2F1c2UgZWl0aGVyIGNvbXBpbGVyCiAvLyB3YXJuaW5ncywgb3Igd29y
c2UsIGEgY2hhbmdlIGluIHRoZSBBQkkgdXNlZCB0byByZXR1cm4gdGhlc2UgdHlwZXMuCiBzdHJ1
Y3QgU2xvd1BhdGhSZXR1cm5UeXBlIHsKLSAgICB2b2lkKiBhOwotICAgIEV4ZWNTdGF0ZSogYjsK
KyAgICBpbnQ2NF90IGE7CisgICAgaW50NjRfdCBiOwogfTsKIAogaW5saW5lIFNsb3dQYXRoUmV0
dXJuVHlwZSBlbmNvZGVSZXN1bHQodm9pZCogYSwgRXhlY1N0YXRlKiBiKQogewogICAgIFNsb3dQ
YXRoUmV0dXJuVHlwZSByZXN1bHQ7Ci0gICAgcmVzdWx0LmEgPSBhOwotICAgIHJlc3VsdC5iID0g
YjsKKyAgICByZXN1bHQuYSA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihhKTsKKyAgICBy
ZXN1bHQuYiA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludHB0cl90PihiKTsKICAgICByZXR1cm4gcmVz
dWx0OwogfQogCiBpbmxpbmUgdm9pZCBkZWNvZGVSZXN1bHQoU2xvd1BhdGhSZXR1cm5UeXBlIHJl
c3VsdCwgdm9pZComIGEsIEV4ZWNTdGF0ZSomIGIpCiB7Ci0gICAgYSA9IHJlc3VsdC5hOwotICAg
IGIgPSByZXN1bHQuYjsKKyAgICBhID0gcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmVzdWx0LmEp
OworICAgIGIgPSByZWludGVycHJldF9jYXN0PEV4ZWNTdGF0ZSo+KHJlc3VsdC5iKTsKIH0KIAog
I2Vsc2UgLy8gVVNFKEpTVkFMVUUzMl82NCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCShyZXZpc2lvbiAxMzE4
OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMzMsMjUgKzMzLDQxIEBAIGNvbnN0IFZhbHVlVW5kZWZp
bmVkICA9IFRhZ0JpdFR5cGVPdGhlciAKIGNvbnN0IFZhbHVlTnVsbCAgICAgICA9IFRhZ0JpdFR5
cGVPdGhlcgogCiAjIFV0aWxpdGllcy4KK21hY3JvIGp1bXBUb0luc3RydWN0aW9uKCkKKyAgICBp
ZiBYMzIKKyAgICAgICAgam1wIFtQQiwgUEMsIDRdCisgICAgZWxzZQorICAgICAgICBqbXAgW1BC
LCBQQywgOF0KKyAgICBlbmQKK2VuZAorCiBtYWNybyBkaXNwYXRjaChhZHZhbmNlKQogICAgIGFk
ZHAgYWR2YW5jZSwgUEMKLSAgICBqbXAgW1BCLCBQQywgOF0KKyAgICBqdW1wVG9JbnN0cnVjdGlv
bigpCiBlbmQKIAogbWFjcm8gZGlzcGF0Y2hJbnQoYWR2YW5jZSkKICAgICBhZGRpIGFkdmFuY2Us
IFBDCi0gICAgam1wIFtQQiwgUEMsIDhdCisgICAganVtcFRvSW5zdHJ1Y3Rpb24oKQorZW5kCisK
K21hY3JvIGRpc3BhdGNoSW50SW5kaXJlY3Qob2Zmc2V0KQorICAgIGlmIFgzMgorICAgICAgICBk
aXNwYXRjaEludChvZmZzZXQgKiA0W1BCLCBQQywgNF0pCisgICAgZWxzZQorICAgICAgICBkaXNw
YXRjaEludChvZmZzZXQgKiA4W1BCLCBQQywgOF0pCisgICAgZW5kCiBlbmQKIAogbWFjcm8gZGlz
cGF0Y2hBZnRlckNhbGwoKQogICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBUYWdPZmZzZXRbY2Zy
XSwgUEMKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKICAgICBsb2FkcCBDb2RlQmxvY2s6
Om1faW5zdHJ1Y3Rpb25zW1BCXSwgUEIKLSAgICBqbXAgW1BCLCBQQywgOF0KKyAgICBqdW1wVG9J
bnN0cnVjdGlvbigpCiBlbmQKIAogbWFjcm8gY0NhbGwyKGZ1bmN0aW9uLCBhcmcxLCBhcmcyKQot
ICAgIGlmIFg4Nl82NAorICAgIGlmIFg4Nl82NCBvciBYMzIKICAgICAgICAgbW92ZSBhcmcxLCB0
NQogICAgICAgICBtb3ZlIGFyZzIsIHQ0CiAgICAgICAgIGNhbGwgZnVuY3Rpb24KQEAgLTY0LDcg
KzgwLDcgQEAgZW5kCiAKICMgVGhpcyBiYXJlbHkgd29ya3MuIGFyZzMgYW5kIGFyZzQgc2hvdWxk
IHByb2JhYmx5IGJlIGltbWVkaWF0ZXMuCiBtYWNybyBjQ2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFy
ZzIsIGFyZzMsIGFyZzQpCi0gICAgaWYgWDg2XzY0CisgICAgaWYgWDg2XzY0IG9yIFgzMgogICAg
ICAgICBtb3ZlIGFyZzEsIHQ1CiAgICAgICAgIG1vdmUgYXJnMiwgdDQKICAgICAgICAgbW92ZSBh
cmczLCB0MQpAQCAtNzgsNyArOTQsMTEgQEAgbWFjcm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBh
cmcyLCBhcmczLAogZW5kCiAKIG1hY3JvIHByZXBhcmVTdGF0ZUZvckNDYWxsKCkKLSAgICBsZWFw
IFtQQiwgUEMsIDhdLCBQQworICAgIGlmIFgzMgorICAgICAgICBsZWFwIFtQQiwgUEMsIDRdLCBQ
QworICAgIGVsc2UKKyAgICAgICAgbGVhcCBbUEIsIFBDLCA4XSwgUEMKKyAgICBlbmQKICAgICBt
b3ZlIFBCLCB0MwogZW5kCiAKQEAgLTg3LDcgKzEwNywxMSBAQCBtYWNybyByZXN0b3JlU3RhdGVB
ZnRlckNDYWxsKCkKICAgICBtb3ZlIHQxLCBjZnIKICAgICBtb3ZlIHQzLCBQQgogICAgIHN1YnAg
UEIsIFBDCi0gICAgdXJzaGlmdHAgMywgUEMKKyAgICBpZiBYMzIKKyAgICAgICAgdXJzaGlmdHAg
MiwgUEMKKyAgICBlbHNlCisgICAgICAgIHVyc2hpZnRwIDMsIFBDCisgICAgZW5kCiBlbmQKIAog
bWFjcm8gY2FsbFNsb3dQYXRoKHNsb3dQYXRoKQpAQCAtMTM3LDI0ICsxNjEsMjQgQEAgZW5kCiAj
IEluZGV4IGFuZCB2YWx1ZSBtdXN0IGJlIGRpZmZlcmVudCByZWdpc3RlcnMuIEluZGV4IG1heSBi
ZSBjbG9iYmVyZWQuCiBtYWNybyBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKGluZGV4LCB2YWx1ZSkK
ICAgICBicGd0ZXEgaW5kZXgsIEZpcnN0Q29uc3RhbnRSZWdpc3RlckluZGV4LCAuY29uc3RhbnQK
LSAgICBsb2FkcCBbY2ZyLCBpbmRleCwgOF0sIHZhbHVlCisgICAgbG9hZHEgW2NmciwgaW5kZXgs
IDhdLCB2YWx1ZQogICAgIGptcCAuZG9uZQogLmNvbnN0YW50OgogICAgIGxvYWRwIENvZGVCbG9j
a1tjZnJdLCB2YWx1ZQogICAgIGxvYWRwIENvZGVCbG9jazo6bV9jb25zdGFudFJlZ2lzdGVycyAr
IFZlY3RvckJ1ZmZlck9mZnNldFt2YWx1ZV0sIHZhbHVlCiAgICAgc3VicCBGaXJzdENvbnN0YW50
UmVnaXN0ZXJJbmRleCwgaW5kZXgKLSAgICBsb2FkcCBbdmFsdWUsIGluZGV4LCA4XSwgdmFsdWUK
KyAgICBsb2FkcSBbdmFsdWUsIGluZGV4LCA4XSwgdmFsdWUKIC5kb25lOgogZW5kCiAKIG1hY3Jv
IGxvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMihpbmRleCwgdmFsdWUsIHNsb3cpCiAgICAgbG9h
ZENvbnN0YW50T3JWYXJpYWJsZShpbmRleCwgdmFsdWUpCi0gICAgYnBiIHZhbHVlLCB0YWdUeXBl
TnVtYmVyLCBzbG93CisgICAgYnFiIHZhbHVlLCB0YWdUeXBlTnVtYmVyLCBzbG93CiBlbmQKIAog
bWFjcm8gbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwoaW5kZXgsIHZhbHVlLCBzbG93KQogICAg
IGxvYWRDb25zdGFudE9yVmFyaWFibGUoaW5kZXgsIHZhbHVlKQotICAgIGJ0cG56IHZhbHVlLCB0
YWdNYXNrLCBzbG93CisgICAgYnRxbnogdmFsdWUsIHRhZ01hc2ssIHNsb3cKIGVuZAogCiBtYWNy
byB3cml0ZUJhcnJpZXIodmFsdWUpCkBAIC0xNjMsNyArMTg3LDcgQEAgZW5kCiAKIG1hY3JvIHZh
bHVlUHJvZmlsZSh2YWx1ZSwgcHJvZmlsZSkKICAgICBpZiBWQUxVRV9QUk9GSUxFUgotICAgICAg
ICBzdG9yZXAgdmFsdWUsIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRzW3Byb2ZpbGVdCisgICAgICAg
IHN0b3JlcSB2YWx1ZSwgVmFsdWVQcm9maWxlOjptX2J1Y2tldHNbcHJvZmlsZV0KICAgICBlbmQK
IGVuZAogCkBAIC0yMDAsNyArMjI0LDcgQEAgX2xsaW50X29wX2VudGVyOgogICAgIG1vdmUgVmFs
dWVVbmRlZmluZWQsIHQwCiAub3BFbnRlckxvb3A6CiAgICAgc3ViaSAxLCB0MgotICAgIHN0b3Jl
cCB0MCwgW2NmciwgdDIsIDhdCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KICAgICBidGlu
eiB0MiwgLm9wRW50ZXJMb29wCiAub3BFbnRlckRvbmU6CiAgICAgZGlzcGF0Y2goMSkKQEAgLTIw
OCw4ICsyMzIsOCBAQCBfbGxpbnRfb3BfZW50ZXI6CiAKIF9sbGludF9vcF9jcmVhdGVfYWN0aXZh
dGlvbjoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDAK
LSAgICBicG5lcSBbY2ZyLCB0MCwgOF0sIFZhbHVlRW1wdHksIC5vcENyZWF0ZUFjdGl2YXRpb25E
b25lCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGJxbmVxIFtjZnIsIHQw
LCA4XSwgVmFsdWVFbXB0eSwgLm9wQ3JlYXRlQWN0aXZhdGlvbkRvbmUKICAgICBjYWxsU2xvd1Bh
dGgoX2xsaW50X3Nsb3dfcGF0aF9jcmVhdGVfYWN0aXZhdGlvbikKIC5vcENyZWF0ZUFjdGl2YXRp
b25Eb25lOgogICAgIGRpc3BhdGNoKDIpCkBAIC0yMTcsMTUgKzI0MSwxNSBAQCBfbGxpbnRfb3Bf
Y3JlYXRlX2FjdGl2YXRpb246CiAKIF9sbGludF9vcF9pbml0X2xhenlfcmVnOgogICAgIHRyYWNl
RXhlY3V0aW9uKCkKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MAotICAgIHN0b3JlcCBWYWx1
ZUVtcHR5LCBbY2ZyLCB0MCwgOF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisg
ICAgc3RvcmVxIFZhbHVlRW1wdHksIFtjZnIsIHQwLCA4XQogICAgIGRpc3BhdGNoKDIpCiAKIAog
X2xsaW50X29wX2NyZWF0ZV9hcmd1bWVudHM6CiAgICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxv
YWRpcyA4W1BCLCBQQywgOF0sIHQwCi0gICAgYnBuZXEgW2NmciwgdDAsIDhdLCBWYWx1ZUVtcHR5
LCAub3BDcmVhdGVBcmd1bWVudHNEb25lCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQw
KQorICAgIGJxbmVxIFtjZnIsIHQwLCA4XSwgVmFsdWVFbXB0eSwgLm9wQ3JlYXRlQXJndW1lbnRz
RG9uZQogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX2NyZWF0ZV9hcmd1bWVudHMp
CiAub3BDcmVhdGVBcmd1bWVudHNEb25lOgogICAgIGRpc3BhdGNoKDIpCkBAIC0yMzcsOCArMjYx
LDggQEAgX2xsaW50X29wX2NyZWF0ZV90aGlzOgogICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fY2Fj
aGVkSW5oZXJpdG9ySURbdDBdLCB0MgogICAgIGJ0cHogdDIsIC5vcENyZWF0ZVRoaXNTbG93CiAg
ICAgYWxsb2NhdGVCYXNpY0pTT2JqZWN0KEpTRmluYWxPYmplY3RTaXplQ2xhc3NJbmRleCwgdDIs
IHQwLCB0MSwgdDMsIC5vcENyZWF0ZVRoaXNTbG93KQotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0s
IHQxCi0gICAgc3RvcmVwIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMSwgdDEpCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KICAgICBkaXNwYXRjaCgyKQog
CiAub3BDcmVhdGVUaGlzU2xvdzoKQEAgLTI0OCwxMiArMjcyLDEyIEBAIF9sbGludF9vcF9jcmVh
dGVfdGhpczoKIAogX2xsaW50X29wX2NvbnZlcnRfdGhpczoKICAgICB0cmFjZUV4ZWN1dGlvbigp
Ci0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDAKLSAgICBsb2FkcCBbY2ZyLCB0MCwgOF0sIHQw
Ci0gICAgYnRwbnogdDAsIHRhZ01hc2ssIC5vcENvbnZlcnRUaGlzU2xvdworICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigxLCB0MCkKKyAgICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRx
bnogdDAsIHRhZ01hc2ssIC5vcENvbnZlcnRUaGlzU2xvdwogICAgIGxvYWRwIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVbdDBdLCB0MAogICAgIGJiYiBTdHJ1Y3R1cmU6Om1fdHlwZUluZm8gKyBUeXBlSW5m
bzo6bV90eXBlW3QwXSwgT2JqZWN0VHlwZSwgLm9wQ29udmVydFRoaXNTbG93Ci0gICAgbG9hZHAg
MTZbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigyLCB0MSkKICAgICB2
YWx1ZVByb2ZpbGUodDAsIHQxKQogICAgIGRpc3BhdGNoKDMpCiAKQEAgLTI2OCw4ICsyOTIsOCBA
QCBfbGxpbnRfb3BfbmV3X29iamVjdDoKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QwXSwgdDAKICAgICBsb2FkcCBKU0dsb2JhbE9iamVjdDo6bV9lbXB0eU9iamVjdFN0cnVj
dHVyZVt0MF0sIHQxCiAgICAgYWxsb2NhdGVCYXNpY0pTT2JqZWN0KEpTRmluYWxPYmplY3RTaXpl
Q2xhc3NJbmRleCwgdDEsIHQwLCB0MiwgdDMsIC5vcE5ld09iamVjdFNsb3cpCi0gICAgbG9hZGlz
IDhbUEIsIFBDLCA4XSwgdDEKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQxLCA4XQorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQxLCA4XQogICAg
IGRpc3BhdGNoKDIpCiAKIC5vcE5ld09iamVjdFNsb3c6CkBAIC0yNzksMjIgKzMwMywyMiBAQCBf
bGxpbnRfb3BfbmV3X29iamVjdDoKIAogX2xsaW50X29wX21vdjoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQxCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4
XSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQwKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQyKQotICAg
IHN0b3JlcCB0MiwgW2NmciwgdDAsIDhdCisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MCwgOF0KICAg
ICBkaXNwYXRjaCgzKQogCiAKIF9sbGludF9vcF9ub3Q6CiAgICAgdHJhY2VFeGVjdXRpb24oKQot
ICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MAotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQx
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MikKLSAgICB4b3Jw
IFZhbHVlRmFsc2UsIHQyCi0gICAgYnRwbnogdDIsIH4xLCAub3BOb3RTbG93Ci0gICAgeG9ycCBW
YWx1ZVRydWUsIHQyCi0gICAgc3RvcmVwIHQyLCBbY2ZyLCB0MSwgOF0KKyAgICB4b3JxIFZhbHVl
RmFsc2UsIHQyCisgICAgYnRxbnogdDIsIH4xLCAub3BOb3RTbG93CisgICAgeG9ycSBWYWx1ZVRy
dWUsIHQyCisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MSwgOF0KICAgICBkaXNwYXRjaCgzKQogCiAu
b3BOb3RTbG93OgpAQCAtMzA0LDE0ICszMjgsMTQgQEAgX2xsaW50X29wX25vdDoKIAogbWFjcm8g
ZXF1YWxpdHlDb21wYXJpc29uKGludGVnZXJDb21wYXJpc29uLCBzbG93UGF0aCkKICAgICB0cmFj
ZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQwCi0gICAgbG9hZGlzIDE2
W1BCLCBQQywgOF0sIHQyCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDMKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oMywgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykKICAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlSW50MzIodDAsIHQxLCAuc2xvdykKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlSW50MzIo
dDIsIHQwLCAuc2xvdykKICAgICBpbnRlZ2VyQ29tcGFyaXNvbih0MCwgdDEsIHQwKQotICAgIG9y
cCBWYWx1ZUZhbHNlLCB0MAotICAgIHN0b3JlcCB0MCwgW2NmciwgdDMsIDhdCisgICAgb3JxIFZh
bHVlRmFsc2UsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MywgOF0KICAgICBkaXNwYXRjaCg0
KQogCiAuc2xvdzoKQEAgLTMzMiw5ICszNTYsOSBAQCBfbGxpbnRfb3BfbmVxOgogCiAKIG1hY3Jv
IGVxdWFsTnVsbENvbXBhcmlzb24oKQotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MAotICAg
IGxvYWRwIFtjZnIsIHQwLCA4XSwgdDAKLSAgICBidHBueiB0MCwgdGFnTWFzaywgLmltbWVkaWF0
ZQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkcSBbY2ZyLCB0MCwg
OF0sIHQwCisgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5pbW1lZGlhdGUKICAgICBsb2FkcCBKU0Nl
bGw6Om1fc3RydWN0dXJlW3QwXSwgdDIKICAgICBidGJueiBTdHJ1Y3R1cmU6Om1fdHlwZUluZm8g
KyBUeXBlSW5mbzo6bV9mbGFnc1t0Ml0sIE1hc3F1ZXJhZGVzQXNVbmRlZmluZWQsIC5tYXNxdWVy
YWRlc0FzVW5kZWZpbmVkCiAgICAgbW92ZSAwLCB0MApAQCAtMzQ1LDQ4ICszNjksNDggQEAgbWFj
cm8gZXF1YWxOdWxsQ29tcGFyaXNvbigpCiAgICAgY3BlcSBTdHJ1Y3R1cmU6Om1fZ2xvYmFsT2Jq
ZWN0W3QyXSwgdDAsIHQwCiAgICAgam1wIC5kb25lCiAuaW1tZWRpYXRlOgotICAgIGFuZHAgflRh
Z0JpdFVuZGVmaW5lZCwgdDAKLSAgICBjcGVxIHQwLCBWYWx1ZU51bGwsIHQwCisgICAgYW5kcSB+
VGFnQml0VW5kZWZpbmVkLCB0MAorICAgIGNxZXEgdDAsIFZhbHVlTnVsbCwgdDAKIC5kb25lOgog
ZW5kCiAKIF9sbGludF9vcF9lcV9udWxsOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBlcXVh
bE51bGxDb21wYXJpc29uKCkKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MQotICAgIG9ycCBW
YWx1ZUZhbHNlLCB0MAotICAgIHN0b3JlcCB0MCwgW2NmciwgdDEsIDhdCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDEsIHQxKQorICAgIG9ycSBWYWx1ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0
MCwgW2NmciwgdDEsIDhdCiAgICAgZGlzcGF0Y2goMykKIAogCiBfbGxpbnRfb3BfbmVxX251bGw6
CiAgICAgdHJhY2VFeGVjdXRpb24oKQogICAgIGVxdWFsTnVsbENvbXBhcmlzb24oKQotICAgIGxv
YWRpcyA4W1BCLCBQQywgOF0sIHQxCi0gICAgeG9ycCBWYWx1ZVRydWUsIHQwCi0gICAgc3RvcmVw
IHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAg
eG9ycSBWYWx1ZVRydWUsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KICAgICBkaXNw
YXRjaCgzKQogCiAKIG1hY3JvIHN0cmljdEVxKGVxdWFsaXR5T3BlcmF0aW9uLCBzbG93UGF0aCkK
ICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQwCi0gICAg
bG9hZGlzIDE2W1BCLCBQQywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQw
KQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQwLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKICAgICBt
b3ZlIHQwLCB0MgotICAgIG9ycCB0MSwgdDIKLSAgICBidHB6IHQyLCB0YWdNYXNrLCAuc2xvdwot
ICAgIGJwYWVxIHQwLCB0YWdUeXBlTnVtYmVyLCAubGVmdE9LCi0gICAgYnRwbnogdDAsIHRhZ1R5
cGVOdW1iZXIsIC5zbG93CisgICAgb3JxIHQxLCB0MgorICAgIGJ0cXogdDIsIHRhZ01hc2ssIC5z
bG93CisgICAgYnFhZXEgdDAsIHRhZ1R5cGVOdW1iZXIsIC5sZWZ0T0sKKyAgICBidHFueiB0MCwg
dGFnVHlwZU51bWJlciwgLnNsb3cKIC5sZWZ0T0s6Ci0gICAgYnBhZXEgdDEsIHRhZ1R5cGVOdW1i
ZXIsIC5yaWdodE9LCi0gICAgYnRwbnogdDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYnFh
ZXEgdDEsIHRhZ1R5cGVOdW1iZXIsIC5yaWdodE9LCisgICAgYnRxbnogdDEsIHRhZ1R5cGVOdW1i
ZXIsIC5zbG93CiAucmlnaHRPSzoKICAgICBlcXVhbGl0eU9wZXJhdGlvbih0MCwgdDEsIHQwKQot
ICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQxCi0gICAgb3JwIFZhbHVlRmFsc2UsIHQwCi0gICAg
c3RvcmVwIHQwLCBbY2ZyLCB0MSwgOF0KKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEp
CisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MSwgOF0KICAg
ICBkaXNwYXRjaCg0KQogCiAuc2xvdzoKQEAgLTM5NiwyNCArNDIwLDI0IEBAIGVuZAogCiBfbGxp
bnRfb3Bfc3RyaWN0ZXE6CiAgICAgc3RyaWN0RXEoCi0gICAgICAgIG1hY3JvIChsZWZ0LCByaWdo
dCwgcmVzdWx0KSBjcGVxIGxlZnQsIHJpZ2h0LCByZXN1bHQgZW5kLAorICAgICAgICBtYWNybyAo
bGVmdCwgcmlnaHQsIHJlc3VsdCkgY3FlcSBsZWZ0LCByaWdodCwgcmVzdWx0IGVuZCwKICAgICAg
ICAgX2xsaW50X3Nsb3dfcGF0aF9zdHJpY3RlcSkKIAogCiBfbGxpbnRfb3BfbnN0cmljdGVxOgog
ICAgIHN0cmljdEVxKAotICAgICAgICBtYWNybyAobGVmdCwgcmlnaHQsIHJlc3VsdCkgY3BuZXEg
bGVmdCwgcmlnaHQsIHJlc3VsdCBlbmQsCisgICAgICAgIG1hY3JvIChsZWZ0LCByaWdodCwgcmVz
dWx0KSBjcW5lcSBsZWZ0LCByaWdodCwgcmVzdWx0IGVuZCwKICAgICAgICAgX2xsaW50X3Nsb3df
cGF0aF9uc3RyaWN0ZXEpCiAKIAogbWFjcm8gcHJlT3AoYXJpdGhtZXRpY09wZXJhdGlvbiwgc2xv
d1BhdGgpCiAgICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQw
Ci0gICAgbG9hZHAgW2NmciwgdDAsIDhdLCB0MQotICAgIGJwYiB0MSwgdGFnVHlwZU51bWJlciwg
LnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZHEgW2Nmciwg
dDAsIDhdLCB0MQorICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKICAgICBhcml0aG1l
dGljT3BlcmF0aW9uKHQxLCAuc2xvdykKLSAgICBvcnAgdGFnVHlwZU51bWJlciwgdDEKLSAgICBz
dG9yZXAgdDEsIFtjZnIsIHQwLCA4XQorICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MQorICAgIHN0
b3JlcSB0MSwgW2NmciwgdDAsIDhdCiAgICAgZGlzcGF0Y2goMikKIAogLnNsb3c6CkBAIC00MzUs
MTYgKzQ1OSwxNiBAQCBfbGxpbnRfb3BfcHJlX2RlYzoKIAogbWFjcm8gcG9zdE9wKGFyaXRobWV0
aWNPcGVyYXRpb24sIHNsb3dQYXRoKQogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaXMg
MTZbUEIsIFBDLCA4XSwgdDAKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MQotICAgIGxvYWRw
IFtjZnIsIHQwLCA4XSwgdDIKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIGxvYWRxIFtjZnIsIHQwLCA4XSwgdDIK
ICAgICBiaWVxIHQwLCB0MSwgLmRvbmUKLSAgICBicGIgdDIsIHRhZ1R5cGVOdW1iZXIsIC5zbG93
CisgICAgYnFiIHQyLCB0YWdUeXBlTnVtYmVyLCAuc2xvdwogICAgIG1vdmUgdDIsIHQzCiAgICAg
YXJpdGhtZXRpY09wZXJhdGlvbih0MywgLnNsb3cpCi0gICAgb3JwIHRhZ1R5cGVOdW1iZXIsIHQz
Ci0gICAgc3RvcmVwIHQyLCBbY2ZyLCB0MSwgOF0KLSAgICBzdG9yZXAgdDMsIFtjZnIsIHQwLCA4
XQorICAgIG9ycSB0YWdUeXBlTnVtYmVyLCB0MworICAgIHN0b3JlcSB0MiwgW2NmciwgdDEsIDhd
CisgICAgc3RvcmVxIHQzLCBbY2ZyLCB0MCwgOF0KIC5kb25lOgogICAgIGRpc3BhdGNoKDMpCiAK
QEAgLTQ2NywxMyArNDkxLDEzIEBAIF9sbGludF9vcF9wb3N0X2RlYzoKIAogX2xsaW50X29wX3Rv
X2pzbnVtYmVyOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaXMgMTZbUEIsIFBDLCA4
XSwgdDAKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MQorICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigyLCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCiAgICAgbG9hZENv
bnN0YW50T3JWYXJpYWJsZSh0MCwgdDIpCi0gICAgYnBhZXEgdDIsIHRhZ1R5cGVOdW1iZXIsIC5v
cFRvSnNudW1iZXJJc0ltbWVkaWF0ZQotICAgIGJ0cHogdDIsIHRhZ1R5cGVOdW1iZXIsIC5vcFRv
SnNudW1iZXJTbG93CisgICAgYnFhZXEgdDIsIHRhZ1R5cGVOdW1iZXIsIC5vcFRvSnNudW1iZXJJ
c0ltbWVkaWF0ZQorICAgIGJ0cXogdDIsIHRhZ1R5cGVOdW1iZXIsIC5vcFRvSnNudW1iZXJTbG93
CiAub3BUb0pzbnVtYmVySXNJbW1lZGlhdGU6Ci0gICAgc3RvcmVwIHQyLCBbY2ZyLCB0MSwgOF0K
KyAgICBzdG9yZXEgdDIsIFtjZnIsIHQxLCA4XQogICAgIGRpc3BhdGNoKDMpCiAKIC5vcFRvSnNu
dW1iZXJTbG93OgpAQCAtNDgzLDE5ICs1MDcsMTkgQEAgX2xsaW50X29wX3RvX2pzbnVtYmVyOgog
CiBfbGxpbnRfb3BfbmVnYXRlOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaXMgMTZb
UEIsIFBDLCA4XSwgdDAKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCiAg
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MCwgdDIpCi0gICAgYnBiIHQyLCB0YWdUeXBlTnVt
YmVyLCAub3BOZWdhdGVOb3RJbnQKKyAgICBicWIgdDIsIHRhZ1R5cGVOdW1iZXIsIC5vcE5lZ2F0
ZU5vdEludAogICAgIGJ0aXogdDIsIDB4N2ZmZmZmZmYsIC5vcE5lZ2F0ZVNsb3cKICAgICBuZWdp
IHQyCi0gICAgb3JwIHRhZ1R5cGVOdW1iZXIsIHQyCi0gICAgc3RvcmVwIHQyLCBbY2ZyLCB0MSwg
OF0KKyAgICBvcnEgdGFnVHlwZU51bWJlciwgdDIKKyAgICBzdG9yZXEgdDIsIFtjZnIsIHQxLCA4
XQogICAgIGRpc3BhdGNoKDMpCiAub3BOZWdhdGVOb3RJbnQ6Ci0gICAgYnRweiB0MiwgdGFnVHlw
ZU51bWJlciwgLm9wTmVnYXRlU2xvdwotICAgIHhvcnAgMHg4MDAwMDAwMDAwMDAwMDAwLCB0Mgot
ICAgIHN0b3JlcCB0MiwgW2NmciwgdDEsIDhdCisgICAgYnRxeiB0MiwgdGFnVHlwZU51bWJlciwg
Lm9wTmVnYXRlU2xvdworICAgIHhvcnEgMHg4MDAwMDAwMDAwMDAwMDAwLCB0MgorICAgIHN0b3Jl
cSB0MiwgW2NmciwgdDEsIDhdCiAgICAgZGlzcGF0Y2goMykKIAogLm9wTmVnYXRlU2xvdzoKQEAg
LTUwNCw0NyArNTI4LDQ3IEBAIF9sbGludF9vcF9uZWdhdGU6CiAKIAogbWFjcm8gYmluYXJ5T3BD
dXN0b21TdG9yZShpbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmUsIGRvdWJsZU9wZXJhdGlvbiwgc2xv
d1BhdGgpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQwCi0gICAgbG9hZGlzIDE2W1BCLCBQ
QywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQwKQorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigyLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQwLCB0MSkK
ICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKLSAgICBicGIgdDAsIHRhZ1R5cGVO
dW1iZXIsIC5vcDFOb3RJbnQKLSAgICBicGIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDJOb3RJbnQK
LSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MgorICAgIGJxYiB0MCwgdGFnVHlwZU51bWJlciwg
Lm9wMU5vdEludAorICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLm9wMk5vdEludAorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKICAgICBpbnRlZ2VyT3BlcmF0aW9uQW5kU3RvcmUo
dDEsIHQwLCAuc2xvdywgdDIpCiAgICAgZGlzcGF0Y2goNSkKIAogLm9wMU5vdEludDoKICAgICAj
IEZpcnN0IG9wZXJhbmQgaXMgZGVmaW5pdGVseSBub3QgYW4gaW50LCB0aGUgc2Vjb25kIG9wZXJh
bmQgY291bGQgYmUgYW55dGhpbmcuCi0gICAgYnRweiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3cK
LSAgICBicGFlcSB0MSwgdGFnVHlwZU51bWJlciwgLm9wMU5vdEludE9wMkludAotICAgIGJ0cHog
dDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93Ci0gICAgYWRkcCB0YWdUeXBlTnVtYmVyLCB0MQotICAg
IGZwMmQgdDEsIGZ0MQorICAgIGJ0cXogdDAsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYnFh
ZXEgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnRPcDJJbnQKKyAgICBidHF6IHQxLCB0YWdU
eXBlTnVtYmVyLCAuc2xvdworICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDEKKyAgICBmcTJkIHQx
LCBmdDEKICAgICBqbXAgLm9wMU5vdEludFJlYWR5CiAub3AxTm90SW50T3AySW50OgogICAgIGNp
MmQgdDEsIGZ0MQogLm9wMU5vdEludFJlYWR5OgotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQy
Ci0gICAgYWRkcCB0YWdUeXBlTnVtYmVyLCB0MAotICAgIGZwMmQgdDAsIGZ0MAorICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBhZGRxIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAg
ZnEyZCB0MCwgZnQwCiAgICAgZG91YmxlT3BlcmF0aW9uKGZ0MSwgZnQwKQotICAgIGZkMnAgZnQw
LCB0MAotICAgIHN1YnAgdGFnVHlwZU51bWJlciwgdDAKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQy
LCA4XQorICAgIGZkMnEgZnQwLCB0MAorICAgIHN1YnEgdGFnVHlwZU51bWJlciwgdDAKKyAgICBz
dG9yZXEgdDAsIFtjZnIsIHQyLCA4XQogICAgIGRpc3BhdGNoKDUpCiAKIC5vcDJOb3RJbnQ6CiAg
ICAgIyBGaXJzdCBvcGVyYW5kIGlzIGRlZmluaXRlbHkgYW4gaW50LCB0aGUgc2Vjb25kIGlzIGRl
ZmluaXRlbHkgbm90LgotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQyCi0gICAgYnRweiB0MSwg
dGFnVHlwZU51bWJlciwgLnNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisg
ICAgYnRxeiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKICAgICBjaTJkIHQwLCBmdDAKLSAgICBh
ZGRwIHRhZ1R5cGVOdW1iZXIsIHQxCi0gICAgZnAyZCB0MSwgZnQxCisgICAgYWRkcSB0YWdUeXBl
TnVtYmVyLCB0MQorICAgIGZxMmQgdDEsIGZ0MQogICAgIGRvdWJsZU9wZXJhdGlvbihmdDEsIGZ0
MCkKLSAgICBmZDJwIGZ0MCwgdDAKLSAgICBzdWJwIHRhZ1R5cGVOdW1iZXIsIHQwCi0gICAgc3Rv
cmVwIHQwLCBbY2ZyLCB0MiwgOF0KKyAgICBmZDJxIGZ0MCwgdDAKKyAgICBzdWJxIHRhZ1R5cGVO
dW1iZXIsIHQwCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KICAgICBkaXNwYXRjaCg1KQog
CiAuc2xvdzoKQEAgLTU1Niw4ICs1ODAsOCBAQCBtYWNybyBiaW5hcnlPcChpbnRlZ2VyT3BlcmF0
aW9uLCBkb3VibGVPCiAgICAgYmluYXJ5T3BDdXN0b21TdG9yZSgKICAgICAgICAgbWFjcm8gKGxl
ZnQsIHJpZ2h0LCBzbG93LCBpbmRleCkKICAgICAgICAgICAgIGludGVnZXJPcGVyYXRpb24obGVm
dCwgcmlnaHQsIHNsb3cpCi0gICAgICAgICAgICBvcnAgdGFnVHlwZU51bWJlciwgcmlnaHQKLSAg
ICAgICAgICAgIHN0b3JlcCByaWdodCwgW2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBvcnEg
dGFnVHlwZU51bWJlciwgcmlnaHQKKyAgICAgICAgICAgIHN0b3JlcSByaWdodCwgW2NmciwgaW5k
ZXgsIDhdCiAgICAgICAgIGVuZCwKICAgICAgICAgZG91YmxlT3BlcmF0aW9uLCBzbG93UGF0aCkK
IGVuZApAQCAtNTgxLDggKzYwNSw4IEBAIF9sbGludF9vcF9tdWw6CiAgICAgICAgICAgICBiaWx0
IGxlZnQsIDAsIHNsb3cKICAgICAgICAgICAgIGJpbHQgcmlnaHQsIDAsIHNsb3cKICAgICAgICAg
LmRvbmU6Ci0gICAgICAgICAgICBvcnAgdGFnVHlwZU51bWJlciwgdDMKLSAgICAgICAgICAgIHN0
b3JlcCB0MywgW2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBvcnEgdGFnVHlwZU51bWJlciwg
dDMKKyAgICAgICAgICAgIHN0b3JlcSB0MywgW2NmciwgaW5kZXgsIDhdCiAgICAgICAgIGVuZCwK
ICAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBtdWxkIGxlZnQsIHJpZ2h0IGVuZCwKICAgICAg
ICAgX2xsaW50X3Nsb3dfcGF0aF9tdWwpCkBAIC02MTMsMjQgKzYzNywyNCBAQCBfbGxpbnRfb3Bf
ZGl2OgogICAgICAgICAgICAgY2RxaQogICAgICAgICAgICAgaWRpdmkgdDMKICAgICAgICAgICAg
IGJ0aW56IHQxLCBzbG93Ci0gICAgICAgICAgICBvcnAgdGFnVHlwZU51bWJlciwgdDAKLSAgICAg
ICAgICAgIHN0b3JlcCB0MCwgW2NmciwgaW5kZXgsIDhdCisgICAgICAgICAgICBvcnEgdGFnVHlw
ZU51bWJlciwgdDAKKyAgICAgICAgICAgIHN0b3JlcSB0MCwgW2NmciwgaW5kZXgsIDhdCiAgICAg
ICAgIGVuZCwKICAgICAgICAgbWFjcm8gKGxlZnQsIHJpZ2h0KSBkaXZkIGxlZnQsIHJpZ2h0IGVu
ZCwKICAgICAgICAgX2xsaW50X3Nsb3dfcGF0aF9kaXYpCiAKIAogbWFjcm8gYml0T3Aob3BlcmF0
aW9uLCBzbG93UGF0aCwgYWR2YW5jZSkKLSAgICBsb2FkaXMgMjRbUEIsIFBDLCA4XSwgdDAKLSAg
ICBsb2FkaXMgMTZbUEIsIFBDLCA4XSwgdDIKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0Mwor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rp
b24oMiwgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQogICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGUodDAsIHQxKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQw
KQotICAgIGJwYiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3cKLSAgICBicGIgdDEsIHRhZ1R5cGVO
dW1iZXIsIC5zbG93CisgICAgYnFiIHQwLCB0YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGJxYiB0
MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKICAgICBvcGVyYXRpb24odDEsIHQwLCAuc2xvdykKLSAg
ICBvcnAgdGFnVHlwZU51bWJlciwgdDAKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQzLCA4XQorICAg
IG9ycSB0YWdUeXBlTnVtYmVyLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDMsIDhdCiAgICAg
ZGlzcGF0Y2goYWR2YW5jZSkKIAogLnNsb3c6CkBAIC02OTEsNyArNzE1LDcgQEAgX2xsaW50X29w
X2JpdG9yOgogCiBfbGxpbnRfb3BfY2hlY2tfaGFzX2luc3RhbmNlOgogICAgIHRyYWNlRXhlY3V0
aW9uKCkKLSAgICBsb2FkaXMgMjRbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMywgdDEpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwodDEsIHQwLCAub3BD
aGVja0hhc0luc3RhbmNlU2xvdykKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3QwXSwg
dDAKICAgICBidGJ6IFN0cnVjdHVyZTo6bV90eXBlSW5mbyArIFR5cGVJbmZvOjptX2ZsYWdzW3Qw
XSwgSW1wbGVtZW50c0RlZmF1bHRIYXNJbnN0YW5jZSwgLm9wQ2hlY2tIYXNJbnN0YW5jZVNsb3cK
QEAgLTcwNSwyNiArNzI5LDI2IEBAIF9sbGludF9vcF9jaGVja19oYXNfaW5zdGFuY2U6CiBfbGxp
bnRfb3BfaW5zdGFuY2VvZjoKICAgICB0cmFjZUV4ZWN1dGlvbigpCiAgICAgIyBBY3R1YWxseSBk
byB0aGUgd29yay4KLSAgICBsb2FkaXMgMjRbUEIsIFBDLCA4XSwgdDAKLSAgICBsb2FkaXMgOFtQ
QiwgUEMsIDhdLCB0MworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MCkKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwo
dDAsIHQxLCAub3BJbnN0YW5jZW9mU2xvdykKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJl
W3QxXSwgdDIKICAgICBiYmIgU3RydWN0dXJlOjptX3R5cGVJbmZvICsgVHlwZUluZm86Om1fdHlw
ZVt0Ml0sIE9iamVjdFR5cGUsIC5vcEluc3RhbmNlb2ZTbG93Ci0gICAgbG9hZGlzIDE2W1BCLCBQ
QywgOF0sIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQogICAgIGxvYWRDb25z
dGFudE9yVmFyaWFibGVDZWxsKHQwLCB0MiwgLm9wSW5zdGFuY2VvZlNsb3cpCiAgICAgCiAgICAg
IyBSZWdpc3RlciBzdGF0ZTogdDEgPSBwcm90b3R5cGUsIHQyID0gdmFsdWUKICAgICBtb3ZlIDEs
IHQwCiAub3BJbnN0YW5jZW9mTG9vcDoKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3Qy
XSwgdDIKLSAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QyXSwgdDIKLSAgICBicGVx
IHQyLCB0MSwgLm9wSW5zdGFuY2VvZkRvbmUKLSAgICBidHB6IHQyLCB0YWdNYXNrLCAub3BJbnN0
YW5jZW9mTG9vcAorICAgIGxvYWRxIFN0cnVjdHVyZTo6bV9wcm90b3R5cGVbdDJdLCB0MgorICAg
IGJxZXEgdDIsIHQxLCAub3BJbnN0YW5jZW9mRG9uZQorICAgIGJ0cXogdDIsIHRhZ01hc2ssIC5v
cEluc3RhbmNlb2ZMb29wCiAKICAgICBtb3ZlIDAsIHQwCiAub3BJbnN0YW5jZW9mRG9uZToKLSAg
ICBvcnAgVmFsdWVGYWxzZSwgdDAKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQzLCA4XQorICAgIG9y
cSBWYWx1ZUZhbHNlLCB0MAorICAgIHN0b3JlcSB0MCwgW2NmciwgdDMsIDhdCiAgICAgZGlzcGF0
Y2goNCkKIAogLm9wSW5zdGFuY2VvZlNsb3c6CkBAIC03MzQsNjUgKzc1OCw2NSBAQCBfbGxpbnRf
b3BfaW5zdGFuY2VvZjoKIAogX2xsaW50X29wX2lzX3VuZGVmaW5lZDoKICAgICB0cmFjZUV4ZWN1
dGlvbigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQxCi0gICAgbG9hZGlzIDhbUEIsIFBD
LCA4XSwgdDIKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDEsIHQyKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwKQot
ICAgIGJ0cHogdDAsIHRhZ01hc2ssIC5vcElzVW5kZWZpbmVkQ2VsbAotICAgIGNwZXEgdDAsIFZh
bHVlVW5kZWZpbmVkLCB0MwotICAgIG9ycCBWYWx1ZUZhbHNlLCB0MwotICAgIHN0b3JlcCB0Mywg
W2NmciwgdDIsIDhdCisgICAgYnRxeiB0MCwgdGFnTWFzaywgLm9wSXNVbmRlZmluZWRDZWxsCisg
ICAgY3FlcSB0MCwgVmFsdWVVbmRlZmluZWQsIHQzCisgICAgb3JxIFZhbHVlRmFsc2UsIHQzCisg
ICAgc3RvcmVxIHQzLCBbY2ZyLCB0MiwgOF0KICAgICBkaXNwYXRjaCgzKQogLm9wSXNVbmRlZmlu
ZWRDZWxsOgogICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbdDBdLCB0MAogICAgIGJ0Ym56
IFN0cnVjdHVyZTo6bV90eXBlSW5mbyArIFR5cGVJbmZvOjptX2ZsYWdzW3QwXSwgTWFzcXVlcmFk
ZXNBc1VuZGVmaW5lZCwgLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQKICAgICBtb3ZlIFZhbHVlRmFs
c2UsIHQxCi0gICAgc3RvcmVwIHQxLCBbY2ZyLCB0MiwgOF0KKyAgICBzdG9yZXEgdDEsIFtjZnIs
IHQyLCA4XQogICAgIGRpc3BhdGNoKDMpCiAubWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoKICAgICBs
b2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QxXSwgdDEKICAgICBjcGVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3RbdDBdLCB0MSwg
dDMKLSAgICBvcnAgVmFsdWVGYWxzZSwgdDMKLSAgICBzdG9yZXAgdDMsIFtjZnIsIHQyLCA4XQor
ICAgIG9ycSBWYWx1ZUZhbHNlLCB0MworICAgIHN0b3JlcSB0MywgW2NmciwgdDIsIDhdCiAgICAg
ZGlzcGF0Y2goMykKIAogCiBfbGxpbnRfb3BfaXNfYm9vbGVhbjoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQxCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4
XSwgdDIKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQyKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDEsIHQwKQotICAg
IHhvcnAgVmFsdWVGYWxzZSwgdDAKLSAgICB0cHogdDAsIH4xLCB0MAotICAgIG9ycCBWYWx1ZUZh
bHNlLCB0MAotICAgIHN0b3JlcCB0MCwgW2NmciwgdDIsIDhdCisgICAgeG9ycSBWYWx1ZUZhbHNl
LCB0MAorICAgIHRxeiB0MCwgfjEsIHQwCisgICAgb3JxIFZhbHVlRmFsc2UsIHQwCisgICAgc3Rv
cmVxIHQwLCBbY2ZyLCB0MiwgOF0KICAgICBkaXNwYXRjaCgzKQogCiAKIF9sbGludF9vcF9pc19u
dW1iZXI6CiAgICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0
MQotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDIsIHQxKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKICAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlKHQxLCB0MCkKLSAgICB0cG56IHQwLCB0YWdUeXBlTnVtYmVyLCB0MQotICAg
IG9ycCBWYWx1ZUZhbHNlLCB0MQotICAgIHN0b3JlcCB0MSwgW2NmciwgdDIsIDhdCisgICAgdHFu
eiB0MCwgdGFnVHlwZU51bWJlciwgdDEKKyAgICBvcnEgVmFsdWVGYWxzZSwgdDEKKyAgICBzdG9y
ZXEgdDEsIFtjZnIsIHQyLCA4XQogICAgIGRpc3BhdGNoKDMpCiAKIAogX2xsaW50X29wX2lzX3N0
cmluZzoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQx
Ci0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDIKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24o
MiwgdDEpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQyKQogICAgIGxvYWRDb25zdGFu
dE9yVmFyaWFibGUodDEsIHQwKQotICAgIGJ0cG56IHQwLCB0YWdNYXNrLCAub3BJc1N0cmluZ05v
dENlbGwKKyAgICBidHFueiB0MCwgdGFnTWFzaywgLm9wSXNTdHJpbmdOb3RDZWxsCiAgICAgbG9h
ZHAgSlNDZWxsOjptX3N0cnVjdHVyZVt0MF0sIHQwCiAgICAgY2JlcSBTdHJ1Y3R1cmU6Om1fdHlw
ZUluZm8gKyBUeXBlSW5mbzo6bV90eXBlW3QwXSwgU3RyaW5nVHlwZSwgdDEKLSAgICBvcnAgVmFs
dWVGYWxzZSwgdDEKLSAgICBzdG9yZXAgdDEsIFtjZnIsIHQyLCA4XQorICAgIG9ycSBWYWx1ZUZh
bHNlLCB0MQorICAgIHN0b3JlcSB0MSwgW2NmciwgdDIsIDhdCiAgICAgZGlzcGF0Y2goMykKIC5v
cElzU3RyaW5nTm90Q2VsbDoKLSAgICBzdG9yZXAgVmFsdWVGYWxzZSwgW2NmciwgdDIsIDhdCisg
ICAgc3RvcmVxIFZhbHVlRmFsc2UsIFtjZnIsIHQyLCA4XQogICAgIGRpc3BhdGNoKDMpCiAKIApA
QCAtODAwLDcgKzgyNCw3IEBAIG1hY3JvIGxvYWRQcm9wZXJ0eUF0VmFyaWFibGVPZmZzZXRLbm93
bk4KICAgICBhc3NlcnQobWFjcm8gKG9rKSBiaWd0ZXEgcHJvcGVydHlPZmZzZXRBc1BvaW50ZXIs
IGZpcnN0T3V0T2ZMaW5lT2Zmc2V0LCBvayBlbmQpCiAgICAgbmVncCBwcm9wZXJ0eU9mZnNldEFz
UG9pbnRlcgogICAgIGxvYWRwIEpTT2JqZWN0OjptX2J1dHRlcmZseVtvYmplY3RBbmRTdG9yYWdl
XSwgb2JqZWN0QW5kU3RvcmFnZQotICAgIGxvYWRwIChmaXJzdE91dE9mTGluZU9mZnNldCAtIDIp
ICogOFtvYmplY3RBbmRTdG9yYWdlLCBwcm9wZXJ0eU9mZnNldEFzUG9pbnRlciwgOF0sIHZhbHVl
CisgICAgbG9hZHEgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29iamVjdEFuZFN0b3Jh
Z2UsIHByb3BlcnR5T2Zmc2V0QXNQb2ludGVyLCA4XSwgdmFsdWUKIGVuZAogCiBtYWNybyBsb2Fk
UHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHByb3BlcnR5T2Zmc2V0QXNJbnQsIG9iamVjdEFuZFN0
b3JhZ2UsIHZhbHVlKQpAQCAtODEyLDI4ICs4MzYsMjggQEAgbWFjcm8gbG9hZFByb3BlcnR5QXRW
YXJpYWJsZU9mZnNldChwcm9wZQogLmlzSW5saW5lOgogICAgIGFkZHAgc2l6ZW9mIEpTT2JqZWN0
IC0gKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4LCBvYmplY3RBbmRTdG9yYWdlCiAucmVh
ZHk6Ci0gICAgbG9hZHAgKGZpcnN0T3V0T2ZMaW5lT2Zmc2V0IC0gMikgKiA4W29iamVjdEFuZFN0
b3JhZ2UsIHByb3BlcnR5T2Zmc2V0QXNJbnQsIDhdLCB2YWx1ZQorICAgIGxvYWRxIChmaXJzdE91
dE9mTGluZU9mZnNldCAtIDIpICogOFtvYmplY3RBbmRTdG9yYWdlLCBwcm9wZXJ0eU9mZnNldEFz
SW50LCA4XSwgdmFsdWUKIGVuZAogCiBfbGxpbnRfb3BfaW5pdF9nbG9iYWxfY29uc3Q6CiAgICAg
dHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MQotICAgIGxvYWRw
IDhbUEIsIFBDLCA4XSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAg
bG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0
MSwgdDIpCiAgICAgd3JpdGVCYXJyaWVyKHQyKQotICAgIHN0b3JlcCB0MiwgW3QwXQorICAgIHN0
b3JlcSB0MiwgW3QwXQogICAgIGRpc3BhdGNoKDMpCiAKIAogX2xsaW50X29wX2luaXRfZ2xvYmFs
X2NvbnN0X2NoZWNrOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkcCAyNFtQQiwgUEMs
IDhdLCB0MgotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MQotICAgIGxvYWRwIDhbUEIsIFBD
LCA4XSwgdDAKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbigzLCB0MikKKyAgICBsb2FkaXNGcm9t
SW5zdHJ1Y3Rpb24oMiwgdDEpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCiAgICAg
YnRibnogW3QyXSwgLm9wSW5pdEdsb2JhbENvbnN0Q2hlY2tTbG93CiAgICAgbG9hZENvbnN0YW50
T3JWYXJpYWJsZSh0MSwgdDIpCiAgICAgd3JpdGVCYXJyaWVyKHQyKQotICAgIHN0b3JlcCB0Miwg
W3QwXQorICAgIHN0b3JlcSB0MiwgW3QwXQogICAgIGRpc3BhdGNoKDUpCiAub3BJbml0R2xvYmFs
Q29uc3RDaGVja1Nsb3c6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfaW5pdF9n
bG9iYWxfY29uc3RfY2hlY2spCkBAIC04NDYsMTkgKzg3MCwxOSBAQCBtYWNybyBnZXRCeUlkKGdl
dFByb3BlcnR5U3RvcmFnZSkKICAgICAjIHBpbmctcG9uZ2luZyBpcyBmcmVlLiBBdCBiZXN0IHdl
IGdldCBsdWNreSBhbmQgdGhlIGdldF9ieV9pZCB3aWxsIGNvbnRpbnVlCiAgICAgIyB0byB0YWtl
IGZhc3QgcGF0aCBvbiB0aGUgbmV3IGNhY2hlLiBBdCB3b3JzdCB3ZSB0YWtlIHNsb3cgcGF0aCwg
d2hpY2ggaXMgd2hhdAogICAgICMgd2Ugd291bGQgaGF2ZSBiZWVuIGRvaW5nIGFueXdheS4KLSAg
ICBsb2FkaXMgMTZbUEIsIFBDLCA4XSwgdDAKLSAgICBsb2FkcCAzMltQQiwgUEMsIDhdLCB0MQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlv
big0LCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MCwgdDMsIC5vcEdldEJ5
SWRTbG93KQotICAgIGxvYWRpcyA0MFtQQiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbig1LCB0MikKICAgICBnZXRQcm9wZXJ0eVN0b3JhZ2UoCiAgICAgICAgIHQzLAogICAg
ICAgICB0MCwKICAgICAgICAgbWFjcm8gKHByb3BlcnR5U3RvcmFnZSwgc2NyYXRjaCkKICAgICAg
ICAgICAgIGJwbmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbdDNdLCB0MSwgLm9wR2V0QnlJZFNsb3cK
LSAgICAgICAgICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQxCi0gICAgICAgICAgICBsb2FkcCBb
cHJvcGVydHlTdG9yYWdlLCB0Ml0sIHNjcmF0Y2gKLSAgICAgICAgICAgIHN0b3JlcCBzY3JhdGNo
LCBbY2ZyLCB0MSwgOF0KLSAgICAgICAgICAgIGxvYWRwIDY0W1BCLCBQQywgOF0sIHQxCisgICAg
ICAgICAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDEpCisgICAgICAgICAgICBsb2FkcSBb
cHJvcGVydHlTdG9yYWdlLCB0Ml0sIHNjcmF0Y2gKKyAgICAgICAgICAgIHN0b3JlcSBzY3JhdGNo
LCBbY2ZyLCB0MSwgOF0KKyAgICAgICAgICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDgsIHQxKQog
ICAgICAgICAgICAgdmFsdWVQcm9maWxlKHNjcmF0Y2gsIHQxKQogICAgICAgICAgICAgZGlzcGF0
Y2goOSkKICAgICAgICAgZW5kKQpAQCAtODc4LDIxICs5MDIsMjEgQEAgX2xsaW50X29wX2dldF9i
eV9pZF9vdXRfb2ZfbGluZToKIAogX2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAgICAgdHJh
Y2VFeGVjdXRpb24oKQotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MAotICAgIGxvYWRwIDMy
W1BCLCBQQywgOF0sIHQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQwKQorICAgIGxv
YWRwRnJvbUluc3RydWN0aW9uKDQsIHQxKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVDZWxs
KHQwLCB0MywgLm9wR2V0QXJyYXlMZW5ndGhTbG93KQogICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1
Y3R1cmVbdDNdLCB0MgogICAgIGFycmF5UHJvZmlsZSh0MiwgdDEsIHQwKQogICAgIGJ0aXogdDIs
IElzQXJyYXksIC5vcEdldEFycmF5TGVuZ3RoU2xvdwogICAgIGJ0aXogdDIsIEluZGV4aW5nU2hh
cGVNYXNrLCAub3BHZXRBcnJheUxlbmd0aFNsb3cKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0
MQotICAgIGxvYWRwIDY0W1BCLCBQQywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQxKQorICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDgsIHQyKQogICAgIGxvYWRwIEpTT2Jq
ZWN0OjptX2J1dHRlcmZseVt0M10sIHQwCiAgICAgbG9hZGkgLXNpemVvZiBJbmRleGluZ0hlYWRl
ciArIEluZGV4aW5nSGVhZGVyOjptX3B1YmxpY0xlbmd0aFt0MF0sIHQwCiAgICAgYmlsdCB0MCwg
MCwgLm9wR2V0QXJyYXlMZW5ndGhTbG93Ci0gICAgb3JwIHRhZ1R5cGVOdW1iZXIsIHQwCisgICAg
b3JxIHRhZ1R5cGVOdW1iZXIsIHQwCiAgICAgdmFsdWVQcm9maWxlKHQwLCB0MikKLSAgICBzdG9y
ZXAgdDAsIFtjZnIsIHQxLCA4XQorICAgIHN0b3JlcSB0MCwgW2NmciwgdDEsIDhdCiAgICAgZGlz
cGF0Y2goOSkKIAogLm9wR2V0QXJyYXlMZW5ndGhTbG93OgpAQCAtOTAyLDEzICs5MjYsMTMgQEAg
X2xsaW50X29wX2dldF9hcnJheV9sZW5ndGg6CiAKIF9sbGludF9vcF9nZXRfYXJndW1lbnRzX2xl
bmd0aDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQw
Ci0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDEKLSAgICBidHBueiBbY2ZyLCB0MCwgOF0sIC5v
cEdldEFyZ3VtZW50c0xlbmd0aFNsb3cKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDAp
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIGJ0cW56IFtjZnIsIHQwLCA4
XSwgLm9wR2V0QXJndW1lbnRzTGVuZ3RoU2xvdwogICAgIGxvYWRpIEFyZ3VtZW50Q291bnQgKyBQ
YXlsb2FkT2Zmc2V0W2Nmcl0sIHQyCiAgICAgc3ViaSAxLCB0MgotICAgIG9ycCB0YWdUeXBlTnVt
YmVyLCB0MgotICAgIHN0b3JlcCB0MiwgW2NmciwgdDEsIDhdCisgICAgb3JxIHRhZ1R5cGVOdW1i
ZXIsIHQyCisgICAgc3RvcmVxIHQyLCBbY2ZyLCB0MSwgOF0KICAgICBkaXNwYXRjaCg0KQogCiAu
b3BHZXRBcmd1bWVudHNMZW5ndGhTbG93OgpAQCAtOTE4LDE5ICs5NDIsMTkgQEAgX2xsaW50X29w
X2dldF9hcmd1bWVudHNfbGVuZ3RoOgogCiBtYWNybyBwdXRCeUlkKGdldFByb3BlcnR5U3RvcmFn
ZSkKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDMKLSAg
ICBsb2FkcCAzMltQQiwgUEMsIDhdLCB0MQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0
MykKKyAgICBsb2FkcEZyb21JbnN0cnVjdGlvbig0LCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlQ2VsbCh0MywgdDAsIC5vcFB1dEJ5SWRTbG93KQotICAgIGxvYWRpcyAyNFtQQiwgUEMs
IDhdLCB0MgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MikKICAgICBnZXRQcm9wZXJ0
eVN0b3JhZ2UoCiAgICAgICAgIHQwLAogICAgICAgICB0MywKICAgICAgICAgbWFjcm8gKHByb3Bl
cnR5U3RvcmFnZSwgc2NyYXRjaCkKICAgICAgICAgICAgIGJwbmVxIEpTQ2VsbDo6bV9zdHJ1Y3R1
cmVbdDBdLCB0MSwgLm9wUHV0QnlJZFNsb3cKLSAgICAgICAgICAgIGxvYWRpcyA0MFtQQiwgUEMs
IDhdLCB0MQorICAgICAgICAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDUsIHQxKQogICAgICAg
ICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0Miwgc2NyYXRjaCkKICAgICAgICAgICAgIHdy
aXRlQmFycmllcih0MCkKLSAgICAgICAgICAgIHN0b3JlcCBzY3JhdGNoLCBbcHJvcGVydHlTdG9y
YWdlLCB0MV0KKyAgICAgICAgICAgIHN0b3JlcSBzY3JhdGNoLCBbcHJvcGVydHlTdG9yYWdlLCB0
MV0KICAgICAgICAgICAgIGRpc3BhdGNoKDkpCiAgICAgICAgIGVuZCkKIGVuZApAQCAtOTQ5LDEz
ICs5NzMsMTMgQEAgX2xsaW50X29wX3B1dF9ieV9pZF9vdXRfb2ZfbGluZToKIAogbWFjcm8gcHV0
QnlJZFRyYW5zaXRpb24oYWRkaXRpb25hbENoZWNrcywgZ2V0UHJvcGVydHlTdG9yYWdlKQogICAg
IHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MwotICAgIGxvYWRw
IDMyW1BCLCBQQywgOF0sIHQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQzKQorICAg
IGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQxKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVD
ZWxsKHQzLCB0MCwgLm9wUHV0QnlJZFNsb3cpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQy
CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQyKQogICAgIGJwbmVxIEpTQ2VsbDo6bV9z
dHJ1Y3R1cmVbdDBdLCB0MSwgLm9wUHV0QnlJZFNsb3cKICAgICBhZGRpdGlvbmFsQ2hlY2tzKHQx
LCB0MykKLSAgICBsb2FkaXMgNDBbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oNSwgdDEpCiAgICAgZ2V0UHJvcGVydHlTdG9yYWdlKAogICAgICAgICB0MCwKICAgICAg
ICAgdDMsCkBAIC05NjMsOCArOTg3LDggQEAgbWFjcm8gcHV0QnlJZFRyYW5zaXRpb24oYWRkaXRp
b25hbENoZWNrcwogICAgICAgICAgICAgYWRkcCB0MSwgcHJvcGVydHlTdG9yYWdlLCB0MwogICAg
ICAgICAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDEpCiAgICAgICAgICAgICB3cml0
ZUJhcnJpZXIodDEpCi0gICAgICAgICAgICBzdG9yZXAgdDEsIFt0M10KLSAgICAgICAgICAgIGxv
YWRwIDQ4W1BCLCBQQywgOF0sIHQxCisgICAgICAgICAgICBzdG9yZXEgdDEsIFt0M10KKyAgICAg
ICAgICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDYsIHQxKQogICAgICAgICAgICAgc3RvcmVwIHQx
LCBKU0NlbGw6Om1fc3RydWN0dXJlW3QwXQogICAgICAgICAgICAgZGlzcGF0Y2goOSkKICAgICAg
ICAgZW5kKQpAQCAtOTc1LDE3ICs5OTksMTcgQEAgZW5kCiAKIG1hY3JvIHN0cnVjdHVyZUNoYWlu
Q2hlY2tzKG9sZFN0cnVjdHVyZSwgc2NyYXRjaCkKICAgICBjb25zdCBwcm90b0NlbGwgPSBvbGRT
dHJ1Y3R1cmUgICAgIyBSZXVzaW5nIHRoZSBvbGRTdHJ1Y3R1cmUgcmVnaXN0ZXIgZm9yIHRoZSBw
cm90bwotICAgIGxvYWRwIDU2W1BCLCBQQywgOF0sIHNjcmF0Y2gKKyAgICBsb2FkcEZyb21JbnN0
cnVjdGlvbig3LCBzY3JhdGNoKQogICAgIGFzc2VydChtYWNybyAob2spIGJ0cG56IHNjcmF0Y2gs
IG9rIGVuZCkKICAgICBsb2FkcCBTdHJ1Y3R1cmVDaGFpbjo6bV92ZWN0b3Jbc2NyYXRjaF0sIHNj
cmF0Y2gKICAgICBhc3NlcnQobWFjcm8gKG9rKSBidHBueiBzY3JhdGNoLCBvayBlbmQpCi0gICAg
YnBlcSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW29sZFN0cnVjdHVyZV0sIFZhbHVlTnVsbCwgLmRv
bmUKKyAgICBicWVxIFN0cnVjdHVyZTo6bV9wcm90b3R5cGVbb2xkU3RydWN0dXJlXSwgVmFsdWVO
dWxsLCAuZG9uZQogLmxvb3A6Ci0gICAgbG9hZHAgU3RydWN0dXJlOjptX3Byb3RvdHlwZVtvbGRT
dHJ1Y3R1cmVdLCBwcm90b0NlbGwKKyAgICBsb2FkcSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW29s
ZFN0cnVjdHVyZV0sIHByb3RvQ2VsbAogICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbcHJv
dG9DZWxsXSwgb2xkU3RydWN0dXJlCiAgICAgYnBuZXEgb2xkU3RydWN0dXJlLCBbc2NyYXRjaF0s
IC5vcFB1dEJ5SWRTbG93CiAgICAgYWRkcCA4LCBzY3JhdGNoCi0gICAgYnBuZXEgU3RydWN0dXJl
OjptX3Byb3RvdHlwZVtvbGRTdHJ1Y3R1cmVdLCBWYWx1ZU51bGwsIC5sb29wCisgICAgYnFuZXEg
U3RydWN0dXJlOjptX3Byb3RvdHlwZVtvbGRTdHJ1Y3R1cmVdLCBWYWx1ZU51bGwsIC5sb29wCiAu
ZG9uZToKIGVuZAogCkBAIC0xMDA3LDEyICsxMDMxLDEyIEBAIF9sbGludF9vcF9wdXRfYnlfaWRf
dHJhbnNpdGlvbl9ub3JtYWxfb3UKIAogX2xsaW50X29wX2dldF9ieV92YWw6CiAgICAgdHJhY2VF
eGVjdXRpb24oKQotICAgIGxvYWRpcyAxNltQQiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zyb21J
bnN0cnVjdGlvbigyLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlQ2VsbCh0MiwgdDAs
IC5vcEdldEJ5VmFsU2xvdykKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3QwXSwgdDIK
LSAgICBsb2FkcCAzMltQQiwgUEMsIDhdLCB0MworICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQs
IHQzKQogICAgIGFycmF5UHJvZmlsZSh0MiwgdDMsIHQxKQotICAgIGxvYWRpcyAyNFtQQiwgUEMs
IDhdLCB0MworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MykKICAgICBsb2FkQ29uc3Rh
bnRPclZhcmlhYmxlSW50MzIodDMsIHQxLCAub3BHZXRCeVZhbFNsb3cpCiAgICAgc3hpMnAgdDEs
IHQxCiAgICAgbG9hZHAgSlNPYmplY3Q6Om1fYnV0dGVyZmx5W3QwXSwgdDMKQEAgLTEwMjAsMjIg
KzEwNDQsMjIgQEAgX2xsaW50X29wX2dldF9ieV92YWw6CiAgICAgYmluZXEgdDIsIENvbnRpZ3Vv
dXNTaGFwZSwgLm9wR2V0QnlWYWxOb3RDb250aWd1b3VzCiAKICAgICBiaWFlcSB0MSwgLXNpemVv
ZiBJbmRleGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjptX3B1YmxpY0xlbmd0aFt0M10sIC5v
cEdldEJ5VmFsU2xvdwotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQwCi0gICAgbG9hZHAgW3Qz
LCB0MSwgOF0sIHQyCi0gICAgYnRweiB0MiwgLm9wR2V0QnlWYWxTbG93CisgICAgbG9hZGlzRnJv
bUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRxIFt0MywgdDEsIDhdLCB0MgorICAgIGJ0cXog
dDIsIC5vcEdldEJ5VmFsU2xvdwogICAgIGptcCAub3BHZXRCeVZhbERvbmUKIAogLm9wR2V0QnlW
YWxOb3RDb250aWd1b3VzOgogICAgIHN1YmkgQXJyYXlTdG9yYWdlU2hhcGUsIHQyCiAgICAgYmlh
IHQyLCBTbG93UHV0QXJyYXlTdG9yYWdlU2hhcGUgLSBBcnJheVN0b3JhZ2VTaGFwZSwgLm9wR2V0
QnlWYWxTbG93CiAgICAgYmlhZXEgdDEsIC1zaXplb2YgSW5kZXhpbmdIZWFkZXIgKyBJbmRleGlu
Z0hlYWRlcjo6bV92ZWN0b3JMZW5ndGhbdDNdLCAub3BHZXRCeVZhbFNsb3cKLSAgICBsb2FkaXMg
OFtQQiwgUEMsIDhdLCB0MAotICAgIGxvYWRwIEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDMsIHQx
LCA4XSwgdDIKLSAgICBidHB6IHQyLCAub3BHZXRCeVZhbFNsb3cKKyAgICBsb2FkaXNGcm9tSW5z
dHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZHEgQXJyYXlTdG9yYWdlOjptX3ZlY3Rvclt0MywgdDEs
IDhdLCB0MgorICAgIGJ0cXogdDIsIC5vcEdldEJ5VmFsU2xvdwogCiAub3BHZXRCeVZhbERvbmU6
Ci0gICAgc3RvcmVwIHQyLCBbY2ZyLCB0MCwgOF0KLSAgICBsb2FkcCA0MFtQQiwgUEMsIDhdLCB0
MAorICAgIHN0b3JlcSB0MiwgW2NmciwgdDAsIDhdCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24o
NSwgdDApCiAgICAgdmFsdWVQcm9maWxlKHQyLCB0MCkKICAgICBkaXNwYXRjaCg2KQogCkBAIC0x
MDQ4LDE5ICsxMDcyLDE5IEBAIF9sbGludF9vcF9nZXRfYXJndW1lbnRfYnlfdmFsOgogICAgICMg
RklYTUU6IEF0IHNvbWUgcG9pbnQgd2Ugc2hvdWxkIGFycmF5IHByb2ZpbGUgdGhpcy4gUmlnaHQg
bm93IGl0IGlzbid0IG5lY2Vzc2FyeQogICAgICMgc2luY2UgdGhlIERGRyB3aWxsIG5ldmVyIHR1
cm4gYSBnZXRfYXJndW1lbnRfYnlfdmFsIGludG8gYSBHZXRCeVZhbC4KICAgICB0cmFjZUV4ZWN1
dGlvbigpCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQwCi0gICAgbG9hZGlzIDI0W1BCLCBQ
QywgOF0sIHQxCi0gICAgYnRwbnogW2NmciwgdDAsIDhdLCAub3BHZXRBcmd1bWVudEJ5VmFsU2xv
dworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MCkKKyAgICBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24oMywgdDEpCisgICAgYnRxbnogW2NmciwgdDAsIDhdLCAub3BHZXRBcmd1bWVudEJ5VmFs
U2xvdwogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGVJbnQzMih0MSwgdDIsIC5vcEdldEFyZ3Vt
ZW50QnlWYWxTbG93KQogICAgIGFkZGkgMSwgdDIKICAgICBsb2FkaSBBcmd1bWVudENvdW50ICsg
UGF5bG9hZE9mZnNldFtjZnJdLCB0MQogICAgIGJpYWVxIHQyLCB0MSwgLm9wR2V0QXJndW1lbnRC
eVZhbFNsb3cKICAgICBuZWdpIHQyCiAgICAgc3hpMnAgdDIsIHQyCi0gICAgbG9hZGlzIDhbUEIs
IFBDLCA4XSwgdDMKLSAgICBsb2FkcCAzMltQQiwgUEMsIDhdLCB0MQotICAgIGxvYWRwIFRoaXNB
cmd1bWVudE9mZnNldFtjZnIsIHQyLCA4XSwgdDAKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQzLCA4
XQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MykKKyAgICBsb2FkcEZyb21JbnN0cnVj
dGlvbig0LCB0MSkKKyAgICBsb2FkcSBUaGlzQXJndW1lbnRPZmZzZXRbY2ZyLCB0MiwgOF0sIHQw
CisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MywgOF0KICAgICB2YWx1ZVByb2ZpbGUodDAsIHQxKQog
ICAgIGRpc3BhdGNoKDYpCiAKQEAgLTEwNzEsMTkgKzEwOTUsMTkgQEAgX2xsaW50X29wX2dldF9h
cmd1bWVudF9ieV92YWw6CiAKIF9sbGludF9vcF9nZXRfYnlfcG5hbWU6CiAgICAgdHJhY2VFeGVj
dXRpb24oKQotICAgIGxvYWRpcyAyNFtQQiwgUEMsIDhdLCB0MQorICAgIGxvYWRpc0Zyb21JbnN0
cnVjdGlvbigzLCB0MSkKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKLSAgICBs
b2FkaXMgMzJbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oNCwgdDEp
CiAgICAgYXNzZXJ0Tm90Q29uc3RhbnQodDEpCi0gICAgYnBuZXEgdDAsIFtjZnIsIHQxLCA4XSwg
Lm9wR2V0QnlQbmFtZVNsb3cKLSAgICBsb2FkaXMgMTZbUEIsIFBDLCA4XSwgdDIKLSAgICBsb2Fk
aXMgNDBbUEIsIFBDLCA4XSwgdDMKKyAgICBicW5lcSB0MCwgW2NmciwgdDEsIDhdLCAub3BHZXRC
eVBuYW1lU2xvdworICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MikKKyAgICBsb2FkaXNG
cm9tSW5zdHJ1Y3Rpb24oNSwgdDMpCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUNlbGwodDIs
IHQwLCAub3BHZXRCeVBuYW1lU2xvdykKICAgICBhc3NlcnROb3RDb25zdGFudCh0MykKLSAgICBs
b2FkcCBbY2ZyLCB0MywgOF0sIHQxCisgICAgbG9hZHEgW2NmciwgdDMsIDhdLCB0MQogICAgIGxv
YWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbdDBdLCB0MgogICAgIGJwbmVxIHQyLCBKU1Byb3BlcnR5
TmFtZUl0ZXJhdG9yOjptX2NhY2hlZFN0cnVjdHVyZVt0MV0sIC5vcEdldEJ5UG5hbWVTbG93Ci0g
ICAgbG9hZGlzIDQ4W1BCLCBQQywgOF0sIHQzCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDYs
IHQzKQogICAgIGxvYWRpIFBheWxvYWRPZmZzZXRbY2ZyLCB0MywgOF0sIHQzCiAgICAgc3ViaSAx
LCB0MwogICAgIGJpYWVxIHQzLCBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjptX251bUNhY2hlYWJs
ZVNsb3RzW3QxXSwgLm9wR2V0QnlQbmFtZVNsb3cKQEAgLTEwOTIsOCArMTExNiw4IEBAIF9sbGlu
dF9vcF9nZXRfYnlfcG5hbWU6CiAgICAgc3ViaSBKU1Byb3BlcnR5TmFtZUl0ZXJhdG9yOjptX2Nh
Y2hlZFN0cnVjdHVyZUlubGluZUNhcGFjaXR5W3QxXSwgdDMKIC5vcEdldEJ5UG5hbWVJbmxpbmVQ
cm9wZXJ0eToKICAgICBsb2FkUHJvcGVydHlBdFZhcmlhYmxlT2Zmc2V0KHQzLCB0MCwgdDApCi0g
ICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDEKLSAgICBzdG9yZXAgdDAsIFtjZnIsIHQxLCA4XQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKKyAgICBzdG9yZXEgdDAsIFtjZnIsIHQx
LCA4XQogICAgIGRpc3BhdGNoKDcpCiAKIC5vcEdldEJ5UG5hbWVTbG93OgpAQCAtMTEwMywxMiAr
MTEyNywxMiBAQCBfbGxpbnRfb3BfZ2V0X2J5X3BuYW1lOgogCiBfbGxpbnRfb3BfcHV0X2J5X3Zh
bDoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDAKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJs
ZUNlbGwodDAsIHQxLCAub3BQdXRCeVZhbFNsb3cpCiAgICAgbG9hZHAgSlNDZWxsOjptX3N0cnVj
dHVyZVt0MV0sIHQyCi0gICAgbG9hZHAgMzJbUEIsIFBDLCA4XSwgdDMKKyAgICBsb2FkcEZyb21J
bnN0cnVjdGlvbig0LCB0MykKICAgICBhcnJheVByb2ZpbGUodDIsIHQzLCB0MCkKLSAgICBsb2Fk
aXMgMTZbUEIsIFBDLCA4XSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMiwgdDApCiAg
ICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZUludDMyKHQwLCB0MywgLm9wUHV0QnlWYWxTbG93KQog
ICAgIHN4aTJwIHQzLCB0MwogICAgIGxvYWRwIEpTT2JqZWN0OjptX2J1dHRlcmZseVt0MV0sIHQw
CkBAIC0xMTE3LDE2ICsxMTQxLDE2IEBAIF9sbGludF9vcF9wdXRfYnlfdmFsOgogICAgIAogICAg
IGJpYWVxIHQzLCAtc2l6ZW9mIEluZGV4aW5nSGVhZGVyICsgSW5kZXhpbmdIZWFkZXI6Om1fcHVi
bGljTGVuZ3RoW3QwXSwgLm9wUHV0QnlWYWxDb250aWd1b3VzT3V0T2ZCb3VuZHMKIC5vcFB1dEJ5
VmFsQ29udGlndW91c1N0b3JlUmVzdWx0OgotICAgIGxvYWRpcyAyNFtQQiwgUEMsIDhdLCB0Mgor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlh
YmxlKHQyLCB0MSkKICAgICB3cml0ZUJhcnJpZXIodDEpCi0gICAgc3RvcmVwIHQxLCBbdDAsIHQz
LCA4XQorICAgIHN0b3JlcSB0MSwgW3QwLCB0MywgOF0KICAgICBkaXNwYXRjaCg1KQogCiAub3BQ
dXRCeVZhbENvbnRpZ3VvdXNPdXRPZkJvdW5kczoKICAgICBiaWFlcSB0MywgLXNpemVvZiBJbmRl
eGluZ0hlYWRlciArIEluZGV4aW5nSGVhZGVyOjptX3ZlY3Rvckxlbmd0aFt0MF0sIC5vcFB1dEJ5
VmFsU2xvdwogICAgIGlmIFZBTFVFX1BST0ZJTEVSCi0gICAgICAgIGxvYWRwIDMyW1BCLCBQQywg
OF0sIHQyCisgICAgICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKDQsIHQyKQogICAgICAgICBzdG9y
ZWIgMSwgQXJyYXlQcm9maWxlOjptX21heVN0b3JlVG9Ib2xlW3QyXQogICAgIGVuZAogICAgIGFk
ZGkgMSwgdDMsIHQyCkBAIC0xMTM2LDE3ICsxMTYwLDE3IEBAIF9sbGludF9vcF9wdXRfYnlfdmFs
OgogLm9wUHV0QnlWYWxOb3RDb250aWd1b3VzOgogICAgIGJpbmVxIHQyLCBBcnJheVN0b3JhZ2VT
aGFwZSwgLm9wUHV0QnlWYWxTbG93CiAgICAgYmlhZXEgdDMsIC1zaXplb2YgSW5kZXhpbmdIZWFk
ZXIgKyBJbmRleGluZ0hlYWRlcjo6bV92ZWN0b3JMZW5ndGhbdDBdLCAub3BQdXRCeVZhbFNsb3cK
LSAgICBidHB6IEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDAsIHQzLCA4XSwgLm9wUHV0QnlWYWxB
cnJheVN0b3JhZ2VFbXB0eQorICAgIGJ0cXogQXJyYXlTdG9yYWdlOjptX3ZlY3Rvclt0MCwgdDMs
IDhdLCAub3BQdXRCeVZhbEFycmF5U3RvcmFnZUVtcHR5CiAub3BQdXRCeVZhbEFycmF5U3RvcmFn
ZVN0b3JlUmVzdWx0OgotICAgIGxvYWRpcyAyNFtQQiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbigzLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MSkK
ICAgICB3cml0ZUJhcnJpZXIodDEpCi0gICAgc3RvcmVwIHQxLCBBcnJheVN0b3JhZ2U6Om1fdmVj
dG9yW3QwLCB0MywgOF0KKyAgICBzdG9yZXEgdDEsIEFycmF5U3RvcmFnZTo6bV92ZWN0b3JbdDAs
IHQzLCA4XQogICAgIGRpc3BhdGNoKDUpCiAKIC5vcFB1dEJ5VmFsQXJyYXlTdG9yYWdlRW1wdHk6
CiAgICAgaWYgVkFMVUVfUFJPRklMRVIKLSAgICAgICAgbG9hZHAgMzJbUEIsIFBDLCA4XSwgdDEK
KyAgICAgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oNCwgdDEpCiAgICAgICAgIHN0b3JlYiAxLCBB
cnJheVByb2ZpbGU6Om1fbWF5U3RvcmVUb0hvbGVbdDFdCiAgICAgZW5kCiAgICAgYWRkaSAxLCBB
cnJheVN0b3JhZ2U6Om1fbnVtVmFsdWVzSW5WZWN0b3JbdDBdCkBAIC0xMTYyLDI0ICsxMTg2LDI0
IEBAIF9sbGludF9vcF9wdXRfYnlfdmFsOgogCiBfbGxpbnRfb3BfbG9vcDoKICAgICB0cmFjZUV4
ZWN1dGlvbigpCi0gICAgZGlzcGF0Y2hJbnQoOFtQQiwgUEMsIDhdKQorICAgIGRpc3BhdGNoSW50
SW5kaXJlY3QoMSkKIAogCiBfbGxpbnRfb3Bfam1wOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAg
ICBkaXNwYXRjaEludCg4W1BCLCBQQywgOF0pCisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgxKQog
CiAKIG1hY3JvIGp1bXBUcnVlT3JGYWxzZShjb25kaXRpb25PcCwgc2xvdykKLSAgICBsb2FkaXMg
OFtQQiwgUEMsIDhdLCB0MQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MSkKICAgICBs
b2FkQ29uc3RhbnRPclZhcmlhYmxlKHQxLCB0MCkKLSAgICB4b3JwIFZhbHVlRmFsc2UsIHQwCi0g
ICAgYnRwbnogdDAsIC0xLCAuc2xvdworICAgIHhvcnEgVmFsdWVGYWxzZSwgdDAKKyAgICBidHFu
eiB0MCwgLTEsIC5zbG93CiAgICAgY29uZGl0aW9uT3AodDAsIC50YXJnZXQpCiAgICAgZGlzcGF0
Y2goMykKIAogLnRhcmdldDoKLSAgICBkaXNwYXRjaEludCgxNltQQiwgUEMsIDhdKQorICAgIGRp
c3BhdGNoSW50SW5kaXJlY3QoMikKIAogLnNsb3c6CiAgICAgY2FsbFNsb3dQYXRoKHNsb3cpCkBA
IC0xMTg4LDE5ICsxMjEyLDE5IEBAIGVuZAogCiAKIG1hY3JvIGVxdWFsTnVsbChjZWxsSGFuZGxl
ciwgaW1tZWRpYXRlSGFuZGxlcikKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MAorICAgIGxv
YWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MCkKICAgICBhc3NlcnROb3RDb25zdGFudCh0MCkKLSAg
ICBsb2FkcCBbY2ZyLCB0MCwgOF0sIHQwCi0gICAgYnRwbnogdDAsIHRhZ01hc2ssIC5pbW1lZGlh
dGUKKyAgICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCisgICAgYnRxbnogdDAsIHRhZ01hc2ssIC5p
bW1lZGlhdGUKICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3QwXSwgdDIKICAgICBjZWxs
SGFuZGxlcih0MiwgU3RydWN0dXJlOjptX3R5cGVJbmZvICsgVHlwZUluZm86Om1fZmxhZ3NbdDJd
LCAudGFyZ2V0KQogICAgIGRpc3BhdGNoKDMpCiAKIC50YXJnZXQ6Ci0gICAgZGlzcGF0Y2goMTZb
UEIsIFBDLCA4XSkKKyAgICBkaXNwYXRjaEludEluZGlyZWN0KDIpCiAKIC5pbW1lZGlhdGU6Ci0g
ICAgYW5kcCB+VGFnQml0VW5kZWZpbmVkLCB0MAorICAgIGFuZHEgflRhZ0JpdFVuZGVmaW5lZCwg
dDAKICAgICBpbW1lZGlhdGVIYW5kbGVyKHQwLCAudGFyZ2V0KQogICAgIGRpc3BhdGNoKDMpCiBl
bmQKQEAgLTEyMTUsNyArMTIzOSw3IEBAIF9sbGludF9vcF9qZXFfbnVsbDoKICAgICAgICAgICAg
IGJwZXEgU3RydWN0dXJlOjptX2dsb2JhbE9iamVjdFtzdHJ1Y3R1cmVdLCB0MCwgdGFyZ2V0CiAu
bm90TWFzcXVlcmFkZXNBc1VuZGVmaW5lZDoKICAgICAgICAgZW5kLAotICAgICAgICBtYWNybyAo
dmFsdWUsIHRhcmdldCkgYnBlcSB2YWx1ZSwgVmFsdWVOdWxsLCB0YXJnZXQgZW5kKQorICAgICAg
ICBtYWNybyAodmFsdWUsIHRhcmdldCkgYnFlcSB2YWx1ZSwgVmFsdWVOdWxsLCB0YXJnZXQgZW5k
KQogCiAKIF9sbGludF9vcF9qbmVxX251bGw6CkBAIC0xMjI3LDU4ICsxMjUxLDYyIEBAIF9sbGlu
dF9vcF9qbmVxX251bGw6CiAgICAgICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2Jq
ZWN0W3QwXSwgdDAKICAgICAgICAgICAgIGJwbmVxIFN0cnVjdHVyZTo6bV9nbG9iYWxPYmplY3Rb
c3RydWN0dXJlXSwgdDAsIHRhcmdldAogICAgICAgICBlbmQsCi0gICAgICAgIG1hY3JvICh2YWx1
ZSwgdGFyZ2V0KSBicG5lcSB2YWx1ZSwgVmFsdWVOdWxsLCB0YXJnZXQgZW5kKQorICAgICAgICBt
YWNybyAodmFsdWUsIHRhcmdldCkgYnFuZXEgdmFsdWUsIFZhbHVlTnVsbCwgdGFyZ2V0IGVuZCkK
IAogCiBfbGxpbnRfb3Bfam5lcV9wdHI6CiAgICAgdHJhY2VFeGVjdXRpb24oKQotICAgIGxvYWRp
cyA4W1BCLCBQQywgOF0sIHQwCi0gICAgbG9hZGkgMTZbUEIsIFBDLCA4XSwgdDEKKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQx
KQogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MgogICAgIGxvYWRwIENvZGVCbG9jazo6bV9n
bG9iYWxPYmplY3RbdDJdLCB0MgotICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX3NwZWNpYWxQ
b2ludGVyc1t0MiwgdDEsIDhdLCB0MQorICAgIGlmIFgzMgorICAgICAgICBsb2FkcCBKU0dsb2Jh
bE9iamVjdDo6bV9zcGVjaWFsUG9pbnRlcnNbdDIsIHQxLCA0XSwgdDEKKyAgICBlbHNlCisgICAg
ICAgIGxvYWRwIEpTR2xvYmFsT2JqZWN0OjptX3NwZWNpYWxQb2ludGVyc1t0MiwgdDEsIDhdLCB0
MQorICAgIGVuZAogICAgIGJwbmVxIHQxLCBbY2ZyLCB0MCwgOF0sIC5vcEpuZXFQdHJUYXJnZXQK
ICAgICBkaXNwYXRjaCg0KQogCiAub3BKbmVxUHRyVGFyZ2V0OgotICAgIGRpc3BhdGNoSW50KDI0
W1BCLCBQQywgOF0pCisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKQogCiAKIG1hY3JvIGNvbXBh
cmUoaW50ZWdlckNvbXBhcmUsIGRvdWJsZUNvbXBhcmUsIHNsb3dQYXRoKQotICAgIGxvYWRpcyA4
W1BCLCBQQywgOF0sIHQyCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQzCisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDEsIHQyKQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigyLCB0MykK
ICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKICAgICBsb2FkQ29uc3RhbnRPclZh
cmlhYmxlKHQzLCB0MSkKLSAgICBicGIgdDAsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnQKLSAg
ICBicGIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDJOb3RJbnQKKyAgICBicWIgdDAsIHRhZ1R5cGVO
dW1iZXIsIC5vcDFOb3RJbnQKKyAgICBicWIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDJOb3RJbnQK
ICAgICBpbnRlZ2VyQ29tcGFyZSh0MCwgdDEsIC5qdW1wVGFyZ2V0KQogICAgIGRpc3BhdGNoKDQp
CiAKIC5vcDFOb3RJbnQ6Ci0gICAgYnRweiB0MCwgdGFnVHlwZU51bWJlciwgLnNsb3cKLSAgICBi
cGIgdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcDFOb3RJbnRPcDJOb3RJbnQKKyAgICBidHF6IHQwLCB0
YWdUeXBlTnVtYmVyLCAuc2xvdworICAgIGJxYiB0MSwgdGFnVHlwZU51bWJlciwgLm9wMU5vdElu
dE9wMk5vdEludAogICAgIGNpMmQgdDEsIGZ0MQogICAgIGptcCAub3AxTm90SW50UmVhZHkKIC5v
cDFOb3RJbnRPcDJOb3RJbnQ6Ci0gICAgYnRweiB0MSwgdGFnVHlwZU51bWJlciwgLnNsb3cKLSAg
ICBhZGRwIHRhZ1R5cGVOdW1iZXIsIHQxCi0gICAgZnAyZCB0MSwgZnQxCisgICAgYnRxeiB0MSwg
dGFnVHlwZU51bWJlciwgLnNsb3cKKyAgICBhZGRxIHRhZ1R5cGVOdW1iZXIsIHQxCisgICAgZnEy
ZCB0MSwgZnQxCiAub3AxTm90SW50UmVhZHk6Ci0gICAgYWRkcCB0YWdUeXBlTnVtYmVyLCB0MAot
ICAgIGZwMmQgdDAsIGZ0MAorICAgIGFkZHEgdGFnVHlwZU51bWJlciwgdDAKKyAgICBmcTJkIHQw
LCBmdDAKICAgICBkb3VibGVDb21wYXJlKGZ0MCwgZnQxLCAuanVtcFRhcmdldCkKICAgICBkaXNw
YXRjaCg0KQogCiAub3AyTm90SW50OgogICAgIGNpMmQgdDAsIGZ0MAotICAgIGJ0cHogdDEsIHRh
Z1R5cGVOdW1iZXIsIC5zbG93Ci0gICAgYWRkcCB0YWdUeXBlTnVtYmVyLCB0MQotICAgIGZwMmQg
dDEsIGZ0MQorICAgIGJ0cXogdDEsIHRhZ1R5cGVOdW1iZXIsIC5zbG93CisgICAgYWRkcSB0YWdU
eXBlTnVtYmVyLCB0MQorICAgIGZxMmQgdDEsIGZ0MQogICAgIGRvdWJsZUNvbXBhcmUoZnQwLCBm
dDEsIC5qdW1wVGFyZ2V0KQogICAgIGRpc3BhdGNoKDQpCiAKIC5qdW1wVGFyZ2V0OgotICAgIGRp
c3BhdGNoSW50KDI0W1BCLCBQQywgOF0pCisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgzKQogCiAu
c2xvdzoKICAgICBjYWxsU2xvd1BhdGgoc2xvd1BhdGgpCkBAIC0xMjg4LDE1ICsxMzE2LDE1IEBA
IGVuZAogCiBfbGxpbnRfb3Bfc3dpdGNoX2ltbToKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAg
bG9hZGlzIDI0W1BCLCBQQywgOF0sIHQyCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDMKKyAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9u
KDEsIHQzKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQxKQogICAgIGxvYWRwIENv
ZGVCbG9ja1tjZnJdLCB0MgogICAgIGxvYWRwIENvZGVCbG9jazo6bV9yYXJlRGF0YVt0Ml0sIHQy
CiAgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRhYmxlLCB0MyAgICAjIEZJWE1FOiB3b3VsZCBi
ZSBuaWNlIHRvIHBlZXBob2xlIHRoaXMhCiAgICAgbG9hZHAgQ29kZUJsb2NrOjpSYXJlRGF0YTo6
bV9pbW1lZGlhdGVTd2l0Y2hKdW1wVGFibGVzICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDIK
ICAgICBhZGRwIHQzLCB0MgotICAgIGJwYiB0MSwgdGFnVHlwZU51bWJlciwgLm9wU3dpdGNoSW1t
Tm90SW50CisgICAgYnFiIHQxLCB0YWdUeXBlTnVtYmVyLCAub3BTd2l0Y2hJbW1Ob3RJbnQKICAg
ICBzdWJpIFNpbXBsZUp1bXBUYWJsZTo6bWluW3QyXSwgdDEKICAgICBiaWFlcSB0MSwgU2ltcGxl
SnVtcFRhYmxlOjpicmFuY2hPZmZzZXRzICsgVmVjdG9yU2l6ZU9mZnNldFt0Ml0sIC5vcFN3aXRj
aEltbUZhbGxUaHJvdWdoCiAgICAgbG9hZHAgU2ltcGxlSnVtcFRhYmxlOjpicmFuY2hPZmZzZXRz
ICsgVmVjdG9yQnVmZmVyT2Zmc2V0W3QyXSwgdDMKQEAgLTEzMDUsOSArMTMzMyw5IEBAIF9sbGlu
dF9vcF9zd2l0Y2hfaW1tOgogICAgIGRpc3BhdGNoKHQxKQogCiAub3BTd2l0Y2hJbW1Ob3RJbnQ6
Ci0gICAgYnRwbnogdDEsIHRhZ1R5cGVOdW1iZXIsIC5vcFN3aXRjaEltbVNsb3cgICAjIEdvIHNs
b3cgaWYgaXQncyBhIGRvdWJsZS4KKyAgICBidHFueiB0MSwgdGFnVHlwZU51bWJlciwgLm9wU3dp
dGNoSW1tU2xvdyAgICMgR28gc2xvdyBpZiBpdCdzIGEgZG91YmxlLgogLm9wU3dpdGNoSW1tRmFs
bFRocm91Z2g6Ci0gICAgZGlzcGF0Y2hJbnQoMTZbUEIsIFBDLCA4XSkKKyAgICBkaXNwYXRjaElu
dEluZGlyZWN0KDIpCiAKIC5vcFN3aXRjaEltbVNsb3c6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGlu
dF9zbG93X3BhdGhfc3dpdGNoX2ltbSkKQEAgLTEzMTYsMTUgKzEzNDQsMTUgQEAgX2xsaW50X29w
X3N3aXRjaF9pbW06CiAKIF9sbGludF9vcF9zd2l0Y2hfY2hhcjoKICAgICB0cmFjZUV4ZWN1dGlv
bigpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQyCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4
XSwgdDMKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpCisgICAgbG9hZGlzRnJvbUlu
c3RydWN0aW9uKDEsIHQzKQogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQxKQogICAg
IGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MgogICAgIGxvYWRwIENvZGVCbG9jazo6bV9yYXJlRGF0
YVt0Ml0sIHQyCiAgICAgbXVsaSBzaXplb2YgU2ltcGxlSnVtcFRhYmxlLCB0MwogICAgIGxvYWRw
IENvZGVCbG9jazo6UmFyZURhdGE6Om1fY2hhcmFjdGVyU3dpdGNoSnVtcFRhYmxlcyArIFZlY3Rv
ckJ1ZmZlck9mZnNldFt0Ml0sIHQyCiAgICAgYWRkcCB0MywgdDIKLSAgICBidHBueiB0MSwgdGFn
TWFzaywgLm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoCisgICAgYnRxbnogdDEsIHRhZ01hc2ssIC5v
cFN3aXRjaENoYXJGYWxsVGhyb3VnaAogICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbdDFd
LCB0MAogICAgIGJibmVxIFN0cnVjdHVyZTo6bV90eXBlSW5mbyArIFR5cGVJbmZvOjptX3R5cGVb
dDBdLCBTdHJpbmdUeXBlLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2gKICAgICBiaW5lcSBKU1N0
cmluZzo6bV9sZW5ndGhbdDFdLCAxLCAub3BTd2l0Y2hDaGFyRmFsbFRocm91Z2gKQEAgLTEzNDUs
NyArMTM3Myw3IEBAIF9sbGludF9vcF9zd2l0Y2hfY2hhcjoKICAgICBkaXNwYXRjaCh0MSkKIAog
Lm9wU3dpdGNoQ2hhckZhbGxUaHJvdWdoOgotICAgIGRpc3BhdGNoSW50KDE2W1BCLCBQQywgOF0p
CisgICAgZGlzcGF0Y2hJbnRJbmRpcmVjdCgyKQogCiAub3BTd2l0Y2hPblJvcGU6CiAgICAgY2Fs
bFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfc3dpdGNoX2NoYXIpCkBAIC0xMzU0LDkgKzEzODIs
MTAgQEAgX2xsaW50X29wX3N3aXRjaF9jaGFyOgogCiBfbGxpbnRfb3BfbmV3X2Z1bmM6CiAgICAg
dHJhY2VFeGVjdXRpb24oKQotICAgIGJ0aXogMjRbUEIsIFBDLCA4XSwgLm9wTmV3RnVuY1VuY2hl
Y2tlZAotICAgIGxvYWRpcyA4W1BCLCBQQywgOF0sIHQxCi0gICAgYnRwbnogW2NmciwgdDEsIDhd
LCAub3BOZXdGdW5jRG9uZQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigzLCB0MikKKyAgICBi
dGl6IHQyLCAub3BOZXdGdW5jVW5jaGVja2VkCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEs
IHQxKQorICAgIGJ0cW56IFtjZnIsIHQxLCA4XSwgLm9wTmV3RnVuY0RvbmUKIC5vcE5ld0Z1bmNV
bmNoZWNrZWQ6CiAgICAgY2FsbFNsb3dQYXRoKF9sbGludF9zbG93X3BhdGhfbmV3X2Z1bmMpCiAu
b3BOZXdGdW5jRG9uZToKQEAgLTEzNjUsMzIgKzEzOTQsMzIgQEAgX2xsaW50X29wX25ld19mdW5j
OgogCiBtYWNybyBhcnJheVByb2ZpbGVGb3JDYWxsKCkKICAgICBpZiBWQUxVRV9QUk9GSUxFUgot
ICAgICAgICBsb2FkaXMgMjRbUEIsIFBDLCA4XSwgdDMKLSAgICAgICAgbG9hZHAgVGhpc0FyZ3Vt
ZW50T2Zmc2V0W2NmciwgdDMsIDhdLCB0MAotICAgICAgICBidHBueiB0MCwgdGFnTWFzaywgLmRv
bmUKKyAgICAgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQzKQorICAgICAgICBsb2FkcSBU
aGlzQXJndW1lbnRPZmZzZXRbY2ZyLCB0MywgOF0sIHQwCisgICAgICAgIGJ0cW56IHQwLCB0YWdN
YXNrLCAuZG9uZQogICAgICAgICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3QwXSwgdDAKLSAg
ICAgICAgbG9hZHAgNDBbUEIsIFBDLCA4XSwgdDEKKyAgICAgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rp
b24oNSwgdDEpCiAgICAgICAgIHN0b3JlcCB0MCwgQXJyYXlQcm9maWxlOjptX2xhc3RTZWVuU3Ry
dWN0dXJlW3QxXQogICAgIC5kb25lOgogICAgIGVuZAogZW5kCiAKIG1hY3JvIGRvQ2FsbChzbG93
UGF0aCkKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MAotICAgIGxvYWRwIDMyW1BCLCBQQywg
OF0sIHQxCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQorICAgIGxvYWRwRnJvbUlu
c3RydWN0aW9uKDQsIHQxKQogICAgIGxvYWRwIExMSW50Q2FsbExpbmtJbmZvOjpjYWxsZWVbdDFd
LCB0MgogICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDAsIHQzKQotICAgIGJwbmVxIHQzLCB0
MiwgLm9wQ2FsbFNsb3cKLSAgICBsb2FkaXMgMjRbUEIsIFBDLCA4XSwgdDMKKyAgICBicW5lcSB0
MywgdDIsIC5vcENhbGxTbG93CisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQzKQogICAg
IGFkZGkgNiwgUEMKICAgICBsc2hpZnRpIDMsIHQzCiAgICAgYWRkcCBjZnIsIHQzCiAgICAgbG9h
ZHAgSlNGdW5jdGlvbjo6bV9zY29wZVt0Ml0sIHQwCi0gICAgc3RvcmVwIHQyLCBDYWxsZWVbdDNd
Ci0gICAgc3RvcmVwIHQwLCBTY29wZUNoYWluW3QzXQotICAgIGxvYWRpcyAxNiAtIDQ4W1BCLCBQ
QywgOF0sIHQyCisgICAgc3RvcmVxIHQyLCBDYWxsZWVbdDNdCisgICAgc3RvcmVxIHQwLCBTY29w
ZUNoYWluW3QzXQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigtNCwgdDIpCiAgICAgc3RvcmVp
IFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBzdG9yZXAgY2ZyLCBDYWxs
ZXJGcmFtZVt0M10KKyAgICBzdG9yZXEgY2ZyLCBDYWxsZXJGcmFtZVt0M10KICAgICBzdG9yZWkg
dDIsIEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQogICAgIG1vdmUgdDMsIGNmcgog
ICAgIGNhbGxUYXJnZXRGdW5jdGlvbih0MSkKQEAgLTE0MDIsOCArMTQzMSw4IEBAIGVuZAogCiBf
bGxpbnRfb3BfdGVhcl9vZmZfYWN0aXZhdGlvbjoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAg
bG9hZGlzIDhbUEIsIFBDLCA4XSwgdDAKLSAgICBidHB6IFtjZnIsIHQwLCA4XSwgLm9wVGVhck9m
ZkFjdGl2YXRpb25Ob3RDcmVhdGVkCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQwKQor
ICAgIGJ0cXogW2NmciwgdDAsIDhdLCAub3BUZWFyT2ZmQWN0aXZhdGlvbk5vdENyZWF0ZWQKICAg
ICBjYWxsU2xvd1BhdGgoX2xsaW50X3Nsb3dfcGF0aF90ZWFyX29mZl9hY3RpdmF0aW9uKQogLm9w
VGVhck9mZkFjdGl2YXRpb25Ob3RDcmVhdGVkOgogICAgIGRpc3BhdGNoKDIpCkBAIC0xNDExLDkg
KzE0NDAsOSBAQCBfbGxpbnRfb3BfdGVhcl9vZmZfYWN0aXZhdGlvbjoKIAogX2xsaW50X29wX3Rl
YXJfb2ZmX2FyZ3VtZW50czoKICAgICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDhbUEIs
IFBDLCA4XSwgdDAKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDApCiAgICAgc3ViaSAx
LCB0MCAgICMgR2V0IHRoZSB1bm1vZGlmaWVkQXJndW1lbnRzUmVnaXN0ZXIKLSAgICBidHB6IFtj
ZnIsIHQwLCA4XSwgLm9wVGVhck9mZkFyZ3VtZW50c05vdENyZWF0ZWQKKyAgICBidHF6IFtjZnIs
IHQwLCA4XSwgLm9wVGVhck9mZkFyZ3VtZW50c05vdENyZWF0ZWQKICAgICBjYWxsU2xvd1BhdGgo
X2xsaW50X3Nsb3dfcGF0aF90ZWFyX29mZl9hcmd1bWVudHMpCiAub3BUZWFyT2ZmQXJndW1lbnRz
Tm90Q3JlYXRlZDoKICAgICBkaXNwYXRjaCgzKQpAQCAtMTQyMiwxNSArMTQ1MSwxNSBAQCBfbGxp
bnRfb3BfdGVhcl9vZmZfYXJndW1lbnRzOgogX2xsaW50X29wX3JldDoKICAgICB0cmFjZUV4ZWN1
dGlvbigpCiAgICAgY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxvZ3VlKCkKLSAgICBsb2FkaXMgOFtQ
QiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKICAgICBsb2Fk
Q29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKICAgICBkb1JldHVybigpCiAKIAogX2xsaW50X29w
X2NhbGxfcHV0X3Jlc3VsdDoKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MgotICAgIGxvYWRw
IDE2W1BCLCBQQywgOF0sIHQzCi0gICAgc3RvcmVwIHQwLCBbY2ZyLCB0MiwgOF0KKyAgICBsb2Fk
aXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDIpCisgICAgbG9hZHBGcm9tSW5zdHJ1Y3Rpb24oMiwgdDMp
CisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MiwgOF0KICAgICB2YWx1ZVByb2ZpbGUodDAsIHQzKQog
ICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBkaXNwYXRjaCgzKQpAQCAtMTQzOSwyOSArMTQ2OCwy
OSBAQCBfbGxpbnRfb3BfY2FsbF9wdXRfcmVzdWx0OgogX2xsaW50X29wX3JldF9vYmplY3Rfb3Jf
dGhpczoKICAgICB0cmFjZUV4ZWN1dGlvbigpCiAgICAgY2hlY2tTd2l0Y2hUb0pJVEZvckVwaWxv
Z3VlKCkKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zyb21JbnN0cnVj
dGlvbigxLCB0MikKICAgICBsb2FkQ29uc3RhbnRPclZhcmlhYmxlKHQyLCB0MCkKLSAgICBidHBu
eiB0MCwgdGFnTWFzaywgLm9wUmV0T2JqZWN0T3JUaGlzTm90T2JqZWN0CisgICAgYnRxbnogdDAs
IHRhZ01hc2ssIC5vcFJldE9iamVjdE9yVGhpc05vdE9iamVjdAogICAgIGxvYWRwIEpTQ2VsbDo6
bV9zdHJ1Y3R1cmVbdDBdLCB0MgogICAgIGJiYiBTdHJ1Y3R1cmU6Om1fdHlwZUluZm8gKyBUeXBl
SW5mbzo6bV90eXBlW3QyXSwgT2JqZWN0VHlwZSwgLm9wUmV0T2JqZWN0T3JUaGlzTm90T2JqZWN0
CiAgICAgZG9SZXR1cm4oKQogCiAub3BSZXRPYmplY3RPclRoaXNOb3RPYmplY3Q6Ci0gICAgbG9h
ZGlzIDE2W1BCLCBQQywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQyKQog
ICAgIGxvYWRDb25zdGFudE9yVmFyaWFibGUodDIsIHQwKQogICAgIGRvUmV0dXJuKCkKIAogCiBf
bGxpbnRfb3BfdG9fcHJpbWl0aXZlOgogICAgIHRyYWNlRXhlY3V0aW9uKCkKLSAgICBsb2FkaXMg
MTZbUEIsIFBDLCA4XSwgdDIKLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MworICAgIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbigyLCB0MikKKyAgICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMSwgdDMp
CiAgICAgbG9hZENvbnN0YW50T3JWYXJpYWJsZSh0MiwgdDApCi0gICAgYnRwbnogdDAsIHRhZ01h
c2ssIC5vcFRvUHJpbWl0aXZlSXNJbW0KKyAgICBidHFueiB0MCwgdGFnTWFzaywgLm9wVG9Qcmlt
aXRpdmVJc0ltbQogICAgIGxvYWRwIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVbdDBdLCB0MgogICAgIGJi
bmVxIFN0cnVjdHVyZTo6bV90eXBlSW5mbyArIFR5cGVJbmZvOjptX3R5cGVbdDJdLCBTdHJpbmdU
eXBlLCAub3BUb1ByaW1pdGl2ZVNsb3dDYXNlCiAub3BUb1ByaW1pdGl2ZUlzSW1tOgotICAgIHN0
b3JlcCB0MCwgW2NmciwgdDMsIDhdCisgICAgc3RvcmVxIHQwLCBbY2ZyLCB0MywgOF0KICAgICBk
aXNwYXRjaCgzKQogCiAub3BUb1ByaW1pdGl2ZVNsb3dDYXNlOgpAQCAtMTQ3MSwzOCArMTUwMCwz
OCBAQCBfbGxpbnRfb3BfdG9fcHJpbWl0aXZlOgogCiBfbGxpbnRfb3BfbmV4dF9wbmFtZToKICAg
ICB0cmFjZUV4ZWN1dGlvbigpCi0gICAgbG9hZGlzIDI0W1BCLCBQQywgOF0sIHQxCi0gICAgbG9h
ZGlzIDMyW1BCLCBQQywgOF0sIHQyCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDMsIHQxKQor
ICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbig0LCB0MikKICAgICBhc3NlcnROb3RDb25zdGFudCh0
MSkKICAgICBhc3NlcnROb3RDb25zdGFudCh0MikKICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W2Nm
ciwgdDEsIDhdLCB0MAogICAgIGJpZXEgdDAsIFBheWxvYWRPZmZzZXRbY2ZyLCB0MiwgOF0sIC5v
cE5leHRQbmFtZUVuZAotICAgIGxvYWRpcyA0MFtQQiwgUEMsIDhdLCB0MgorICAgIGxvYWRpc0Zy
b21JbnN0cnVjdGlvbig1LCB0MikKICAgICBhc3NlcnROb3RDb25zdGFudCh0MikKICAgICBsb2Fk
cCBbY2ZyLCB0MiwgOF0sIHQyCiAgICAgbG9hZHAgSlNQcm9wZXJ0eU5hbWVJdGVyYXRvcjo6bV9q
c1N0cmluZ3NbdDJdLCB0MwotICAgIGxvYWRwIFt0MywgdDAsIDhdLCB0MworICAgIGxvYWRxIFt0
MywgdDAsIDhdLCB0MwogICAgIGFkZGkgMSwgdDAKICAgICBzdG9yZWkgdDAsIFBheWxvYWRPZmZz
ZXRbY2ZyLCB0MSwgOF0KLSAgICBsb2FkaXMgOFtQQiwgUEMsIDhdLCB0MQotICAgIHN0b3JlcCB0
MywgW2NmciwgdDEsIDhdCi0gICAgbG9hZGlzIDE2W1BCLCBQQywgOF0sIHQzCisgICAgbG9hZGlz
RnJvbUluc3RydWN0aW9uKDEsIHQxKQorICAgIHN0b3JlcSB0MywgW2NmciwgdDEsIDhdCisgICAg
bG9hZGlzRnJvbUluc3RydWN0aW9uKDIsIHQzKQogICAgIGFzc2VydE5vdENvbnN0YW50KHQzKQot
ICAgIGxvYWRwIFtjZnIsIHQzLCA4XSwgdDMKKyAgICBsb2FkcSBbY2ZyLCB0MywgOF0sIHQzCiAg
ICAgbG9hZHAgSlNDZWxsOjptX3N0cnVjdHVyZVt0M10sIHQxCiAgICAgYnBuZXEgdDEsIEpTUHJv
cGVydHlOYW1lSXRlcmF0b3I6Om1fY2FjaGVkU3RydWN0dXJlW3QyXSwgLm9wTmV4dFBuYW1lU2xv
dwogICAgIGxvYWRwIEpTUHJvcGVydHlOYW1lSXRlcmF0b3I6Om1fY2FjaGVkUHJvdG90eXBlQ2hh
aW5bdDJdLCB0MAogICAgIGxvYWRwIFN0cnVjdHVyZUNoYWluOjptX3ZlY3Rvclt0MF0sIHQwCiAg
ICAgYnRweiBbdDBdLCAub3BOZXh0UG5hbWVUYXJnZXQKIC5vcE5leHRQbmFtZUNoZWNrUHJvdG90
eXBlTG9vcDoKLSAgICBicGVxIFN0cnVjdHVyZTo6bV9wcm90b3R5cGVbdDFdLCBWYWx1ZU51bGws
IC5vcE5leHRQbmFtZVNsb3cKLSAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwg
dDIKKyAgICBicWVxIFN0cnVjdHVyZTo6bV9wcm90b3R5cGVbdDFdLCBWYWx1ZU51bGwsIC5vcE5l
eHRQbmFtZVNsb3cKKyAgICBsb2FkcSBTdHJ1Y3R1cmU6Om1fcHJvdG90eXBlW3QxXSwgdDIKICAg
ICBsb2FkcCBKU0NlbGw6Om1fc3RydWN0dXJlW3QyXSwgdDEKICAgICBicG5lcSB0MSwgW3QwXSwg
Lm9wTmV4dFBuYW1lU2xvdwogICAgIGFkZHAgOCwgdDAKICAgICBidHBueiBbdDBdLCAub3BOZXh0
UG5hbWVDaGVja1Byb3RvdHlwZUxvb3AKIC5vcE5leHRQbmFtZVRhcmdldDoKLSAgICBkaXNwYXRj
aEludCg0OFtQQiwgUEMsIDhdKQorICAgIGRpc3BhdGNoSW50SW5kaXJlY3QoNikKIAogLm9wTmV4
dFBuYW1lRW5kOgogICAgIGRpc3BhdGNoKDcpCkBAIC0xNTI1LDExICsxNTU0LDE1IEBAIF9sbGlu
dF9vcF9jYXRjaDoKICAgICBsb2FkcCBKSVRTdGFja0ZyYW1lOjpnbG9iYWxEYXRhW3NwXSwgdDMK
ICAgICBsb2FkcCBKU0dsb2JhbERhdGE6OnRhcmdldEludGVycHJldGVyUENGb3JUaHJvd1t0M10s
IFBDCiAgICAgc3VicCBQQiwgUEMKLSAgICB1cnNoaWZ0cCAzLCBQQwotICAgIGxvYWRwIEpTR2xv
YmFsRGF0YTo6ZXhjZXB0aW9uW3QzXSwgdDAKLSAgICBzdG9yZXAgMCwgSlNHbG9iYWxEYXRhOjpl
eGNlcHRpb25bdDNdCi0gICAgbG9hZGlzIDhbUEIsIFBDLCA4XSwgdDIKLSAgICBzdG9yZXAgdDAs
IFtjZnIsIHQyLCA4XQorICAgIGlmIFgzMgorICAgICAgICB1cnNoaWZ0cCAyLCBQQworICAgIGVs
c2UKKyAgICAgICAgdXJzaGlmdHAgMywgUEMKKyAgICBlbmQKKyAgICBsb2FkcSBKU0dsb2JhbERh
dGE6OmV4Y2VwdGlvblt0M10sIHQwCisgICAgc3RvcmVxIDAsIEpTR2xvYmFsRGF0YTo6ZXhjZXB0
aW9uW3QzXQorICAgIGxvYWRpc0Zyb21JbnN0cnVjdGlvbigxLCB0MikKKyAgICBzdG9yZXEgdDAs
IFtjZnIsIHQyLCA4XQogICAgIHRyYWNlRXhlY3V0aW9uKCkKICAgICBkaXNwYXRjaCgyKQogCkBA
IC0xNTM3LDkgKzE1NzAsOSBAQCBfbGxpbnRfb3BfY2F0Y2g6CiBfbGxpbnRfb3BfZW5kOgogICAg
IHRyYWNlRXhlY3V0aW9uKCkKICAgICBjaGVja1N3aXRjaFRvSklURm9yRXBpbG9ndWUoKQotICAg
IGxvYWRpcyA4W1BCLCBQQywgOF0sIHQwCisgICAgbG9hZGlzRnJvbUluc3RydWN0aW9uKDEsIHQw
KQogICAgIGFzc2VydE5vdENvbnN0YW50KHQwKQotICAgIGxvYWRwIFtjZnIsIHQwLCA4XSwgdDAK
KyAgICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCiAgICAgZG9SZXR1cm4oKQogCiAKQEAgLTE1NjEs
MTIgKzE1OTQsMTIgQEAgX2xsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmU6CiAKIG1h
Y3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQogICAg
IHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXQotICAgIGlmIFg4Nl82NAorICAgIGlmIFg4Nl82NCBv
ciBYMzIKICAgICAgICAgbG9hZHAgSklUU3RhY2tGcmFtZTo6Z2xvYmFsRGF0YSArIDhbc3BdLCB0
MAogICAgICAgICBzdG9yZXAgY2ZyLCBKU0dsb2JhbERhdGE6OnRvcENhbGxGcmFtZVt0MF0KICAg
ICAgICAgbG9hZHAgQ2FsbGVyRnJhbWVbY2ZyXSwgdDAKLSAgICAgICAgbG9hZHAgU2NvcGVDaGFp
blt0MF0sIHQxCi0gICAgICAgIHN0b3JlcCB0MSwgU2NvcGVDaGFpbltjZnJdCisgICAgICAgIGxv
YWRxIFNjb3BlQ2hhaW5bdDBdLCB0MQorICAgICAgICBzdG9yZXEgdDEsIFNjb3BlQ2hhaW5bY2Zy
XQogICAgICAgICBwZWVrIDAsIHQxCiAgICAgICAgIHN0b3JlcCB0MSwgUmV0dXJuUENbY2ZyXQog
ICAgICAgICBtb3ZlIGNmciwgdDUgICMgdDUgPSByZGkKQEAgLTE2MDEsNyArMTYzNCw3IEBAIG1h
Y3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmYKICAgICAgICAgZXJyb3IKICAg
ICBlbmQKIAotICAgIGJ0cG56IEpTR2xvYmFsRGF0YTo6ZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlv
bgorICAgIGJ0cW56IEpTR2xvYmFsRGF0YTo6ZXhjZXB0aW9uW3QzXSwgLmV4Y2VwdGlvbgogICAg
IHJldAogLmV4Y2VwdGlvbjoKICAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwodDEp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5h
c20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCShyZXZpc2lvbiAxMzE4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
bGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHdvcmtpbmcgY29weSkKQEAgLTU1LDE4ICs1
NSwzMSBAQCBpZiBKU1ZBTFVFNjQKICAgICBjb25zdCB0YWdUeXBlTnVtYmVyID0gY3NyMQogICAg
IGNvbnN0IHRhZ01hc2sgPSBjc3IyCiAgICAgCi0gICAgbWFjcm8gbG9hZGlzRnJvbUluc3RydWN0
aW9uKG9mZnNldCwgZGVzdCkKLSAgICAgICAgbG9hZGlzIG9mZnNldCAqIDhbUEIsIFBDLCA4XSwg
ZGVzdAotICAgIGVuZAorICAgIGlmIFgzMgorICAgICAgICBtYWNybyBsb2FkaXNGcm9tSW5zdHJ1
Y3Rpb24ob2Zmc2V0LCBkZXN0KQorICAgICAgICAgICAgbG9hZGlzIG9mZnNldCAqIDRbUEIsIFBD
LCA0XSwgZGVzdAorICAgICAgICBlbmQKICAgICAKLSAgICBtYWNybyBsb2FkcEZyb21JbnN0cnVj
dGlvbihvZmZzZXQsIGRlc3QpCi0gICAgICAgIGxvYWRwIG9mZnNldCAqIDhbUEIsIFBDLCA4XSwg
ZGVzdAotICAgIGVuZAorICAgICAgICBtYWNybyBsb2FkcEZyb21JbnN0cnVjdGlvbihvZmZzZXQs
IGRlc3QpCisgICAgICAgICAgICBsb2FkcCBvZmZzZXQgKiA0W1BCLCBQQywgNF0sIGRlc3QKKyAg
ICAgICAgZW5kCisgICAgCisgICAgICAgIG1hY3JvIHN0b3JlcFRvSW5zdHJ1Y3Rpb24odmFsdWUs
IG9mZnNldCkKKyAgICAgICAgICAgIHN0b3JlcCB2YWx1ZSwgb2Zmc2V0ICogNFtQQiwgUEMsIDRd
CisgICAgICAgIGVuZAorICAgIGVsc2UKKyAgICAgICAgbWFjcm8gbG9hZGlzRnJvbUluc3RydWN0
aW9uKG9mZnNldCwgZGVzdCkKKyAgICAgICAgICAgIGxvYWRpcyBvZmZzZXQgKiA4W1BCLCBQQywg
OF0sIGRlc3QKKyAgICAgICAgZW5kCisgICAgCisgICAgICAgIG1hY3JvIGxvYWRwRnJvbUluc3Ry
dWN0aW9uKG9mZnNldCwgZGVzdCkKKyAgICAgICAgICAgIGxvYWRwIG9mZnNldCAqIDhbUEIsIFBD
LCA4XSwgZGVzdAorICAgICAgICBlbmQKICAgICAKLSAgICBtYWNybyBzdG9yZXBUb0luc3RydWN0
aW9uKHZhbHVlLCBvZmZzZXQpCi0gICAgICAgIHN0b3JlcCB2YWx1ZSwgb2Zmc2V0ICogOFtQQiwg
UEMsIDhdCisgICAgICAgIG1hY3JvIHN0b3JlcFRvSW5zdHJ1Y3Rpb24odmFsdWUsIG9mZnNldCkK
KyAgICAgICAgICAgIHN0b3JlcCB2YWx1ZSwgb2Zmc2V0ICogOFtQQiwgUEMsIDhdCisgICAgICAg
IGVuZAogICAgIGVuZAotCiBlbHNlCiAgICAgY29uc3QgUEMgPSB0NAogICAgIG1hY3JvIGxvYWRp
c0Zyb21JbnN0cnVjdGlvbihvZmZzZXQsIGRlc3QpCkBAIC0xNDUsMTcgKzE1OCwyNCBAQCBjb25z
dCBQdXRUb0Jhc2VPcGVyYXRpb25LaW5kVmFyaWFibGVQdXQgCiAKICMgQWxsb2NhdGlvbiBjb25z
dGFudHMKIGlmIEpTVkFMVUU2NAotICAgIGNvbnN0IEpTRmluYWxPYmplY3RTaXplQ2xhc3NJbmRl
eCA9IDEKKyAgICBpZiBYMzIKKyAgICAgICAgY29uc3QgSlNGaW5hbE9iamVjdFNpemVDbGFzc0lu
ZGV4ID0gMworICAgIGVsc2UKKyAgICAgICAgY29uc3QgSlNGaW5hbE9iamVjdFNpemVDbGFzc0lu
ZGV4ID0gMQorICAgIGVuZAogZWxzZQogICAgIGNvbnN0IEpTRmluYWxPYmplY3RTaXplQ2xhc3NJ
bmRleCA9IDMKIGVuZAogCiAjIFRoaXMgbXVzdCBtYXRjaCB3dGYvVmVjdG9yLmgKK2NvbnN0IFZl
Y3RvclNpemVPZmZzZXQgPSAwCiBpZiBKU1ZBTFVFNjQKLSAgICBjb25zdCBWZWN0b3JTaXplT2Zm
c2V0ID0gMAotICAgIGNvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDgKKyAgICBpZiBYMzIKKyAg
ICAgICAgY29uc3QgVmVjdG9yQnVmZmVyT2Zmc2V0ID0gNAorICAgIGVsc2UKKyAgICAgICAgY29u
c3QgVmVjdG9yQnVmZmVyT2Zmc2V0ID0gOAorICAgIGVuZAogZWxzZQotICAgIGNvbnN0IFZlY3Rv
clNpemVPZmZzZXQgPSAwCiAgICAgY29uc3QgVmVjdG9yQnVmZmVyT2Zmc2V0ID0gNAogZW5kCiAK
QEAgLTE4NSw3ICsyMDUsNyBAQCBtYWNybyBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwo
ZGVzCiAgICAgICAgIG1vdmUgbHIsIGRlc3RpbmF0aW9uUmVnaXN0ZXIKICAgICBlbHNpZiBBUk12
NwogICAgICAgICBtb3ZlIGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVyCi0gICAgZWxzaWYgWDg2IG9y
IFg4Nl82NAorICAgIGVsc2lmIFg4NiBvciBYODZfNjQgb3IgWDMyCiAgICAgICAgIHBvcCBkZXN0
aW5hdGlvblJlZ2lzdGVyCiAgICAgZWxzZQogICAgICAgICBlcnJvcgpAQCAtMTk4LDcgKzIxOCw3
IEBAIG1hY3JvIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHMKICAgICAgICAgbW92
ZSBzb3VyY2VSZWdpc3RlciwgbHIKICAgICBlbHNpZiBBUk12NwogICAgICAgICBtb3ZlIHNvdXJj
ZVJlZ2lzdGVyLCBscgotICAgIGVsc2lmIFg4NiBvciBYODZfNjQKKyAgICBlbHNpZiBYODYgb3Ig
WDg2XzY0IG9yIFgzMgogICAgICAgICBwdXNoIHNvdXJjZVJlZ2lzdGVyCiAgICAgZWxzZQogICAg
ICAgICBlcnJvcgpAQCAtMzQ0LDkgKzM2NCw5IEBAIG1hY3JvIGZ1bmN0aW9uSW5pdGlhbGl6YXRp
b24ocHJvZmlsZUFyZ1MKICAgICAgICAgYWRkcCB0MiwgdDMKICAgICAuYXJndW1lbnRQcm9maWxl
TG9vcDoKICAgICAgICAgaWYgSlNWQUxVRTY0Ci0gICAgICAgICAgICBsb2FkcCBUaGlzQXJndW1l
bnRPZmZzZXQgKyA4IC0gcHJvZmlsZUFyZ1NraXAgKiA4W2NmciwgdDBdLCB0MgorICAgICAgICAg
ICAgbG9hZHEgVGhpc0FyZ3VtZW50T2Zmc2V0ICsgOCAtIHByb2ZpbGVBcmdTa2lwICogOFtjZnIs
IHQwXSwgdDIKICAgICAgICAgICAgIHN1YnAgc2l6ZW9mIFZhbHVlUHJvZmlsZSwgdDMKLSAgICAg
ICAgICAgIHN0b3JlcCB0MiwgcHJvZmlsZUFyZ1NraXAgKiBzaXplb2YgVmFsdWVQcm9maWxlICsg
VmFsdWVQcm9maWxlOjptX2J1Y2tldHNbdDNdCisgICAgICAgICAgICBzdG9yZXEgdDIsIHByb2Zp
bGVBcmdTa2lwICogc2l6ZW9mIFZhbHVlUHJvZmlsZSArIFZhbHVlUHJvZmlsZTo6bV9idWNrZXRz
W3QzXQogICAgICAgICBlbHNlCiAgICAgICAgICAgICBsb2FkaSBUaGlzQXJndW1lbnRPZmZzZXQg
KyBUYWdPZmZzZXQgKyA4IC0gcHJvZmlsZUFyZ1NraXAgKiA4W2NmciwgdDBdLCB0MgogICAgICAg
ICAgICAgc3VicCBzaXplb2YgVmFsdWVQcm9maWxlLCB0MwpAQCAtNTQ2LDEzICs1NjYsMTMgQEAg
bWFjcm8gZ2V0UHV0VG9CYXNlT3BlcmF0aW9uRmllbGQoc2NyYXRjaAogZW5kCiAKIG1hY3JvIG1v
dmVKU1ZhbHVlRnJvbVJlZ2lzdGVyV2l0aG91dFByb2ZpbGluZyh2YWx1ZSwgZGVzdEJ1ZmZlciwg
ZGVzdE9mZnNldFJlZykKLSAgICBzdG9yZXAgdmFsdWUsIFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0
UmVnLCA4XQorICAgIHN0b3JlcSB2YWx1ZSwgW2Rlc3RCdWZmZXIsIGRlc3RPZmZzZXRSZWcsIDhd
CiBlbmQKIAogCiBtYWNybyBtb3ZlSlNWYWx1ZUZyb21SZWdpc3RlcnNXaXRob3V0UHJvZmlsaW5n
KHRhZywgcGF5bG9hZCwgZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZykKLSAgICBzdG9yZXAgdGFn
LCBUYWdPZmZzZXRbZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgOF0KLSAgICBzdG9yZXAgcGF5
bG9hZCwgUGF5bG9hZE9mZnNldFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCA4XQorICAgIHN0
b3JlaSB0YWcsIFRhZ09mZnNldFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCA4XQorICAgIHN0
b3JlaSBwYXlsb2FkLCBQYXlsb2FkT2Zmc2V0W2Rlc3RCdWZmZXIsIGRlc3RPZmZzZXRSZWcsIDhd
CiBlbmQKIAogbWFjcm8gcHV0VG9CYXNlVmFyaWFibGVCb2R5KHZhcmlhYmxlT2Zmc2V0LCBzY3Jh
dGNoMSwgc2NyYXRjaDIsIHNjcmF0Y2gzKQpAQCAtNjEzLDE1ICs2MzMsMTUgQEAgZW5kCiAKIG1h
Y3JvIG1vdmVKU1ZhbHVlKHNvdXJjZUJ1ZmZlciwgc291cmNlT2Zmc2V0UmVnLCBkZXN0QnVmZmVy
LCBkZXN0T2Zmc2V0UmVnLCBwcm9maWxlT2Zmc2V0LCBzY3JhdGNoUmVnaXN0ZXIpCiAgICAgaWYg
SlNWQUxVRTY0Ci0gICAgICAgIGxvYWRwIFtzb3VyY2VCdWZmZXIsIHNvdXJjZU9mZnNldFJlZywg
OF0sIHNjcmF0Y2hSZWdpc3RlcgotICAgICAgICBzdG9yZXAgc2NyYXRjaFJlZ2lzdGVyLCBbZGVz
dEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgOF0KKyAgICAgICAgbG9hZHEgW3NvdXJjZUJ1ZmZlciwg
c291cmNlT2Zmc2V0UmVnLCA4XSwgc2NyYXRjaFJlZ2lzdGVyCisgICAgICAgIHN0b3JlcSBzY3Jh
dGNoUmVnaXN0ZXIsIFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCA4XQogICAgICAgICBsb2Fk
cEZyb21JbnN0cnVjdGlvbihwcm9maWxlT2Zmc2V0LCBkZXN0T2Zmc2V0UmVnKQogICAgICAgICB2
YWx1ZVByb2ZpbGUoc2NyYXRjaFJlZ2lzdGVyLCBkZXN0T2Zmc2V0UmVnKQogICAgIGVsc2UKLSAg
ICAgICAgbG9hZHAgUGF5bG9hZE9mZnNldFtzb3VyY2VCdWZmZXIsIHNvdXJjZU9mZnNldFJlZywg
OF0sIHNjcmF0Y2hSZWdpc3RlcgotICAgICAgICBzdG9yZXAgc2NyYXRjaFJlZ2lzdGVyLCBQYXls
b2FkT2Zmc2V0W2Rlc3RCdWZmZXIsIGRlc3RPZmZzZXRSZWcsIDhdCi0gICAgICAgIGxvYWRwIFRh
Z09mZnNldFtzb3VyY2VCdWZmZXIsIHNvdXJjZU9mZnNldFJlZywgOF0sIHNvdXJjZU9mZnNldFJl
ZwotICAgICAgICBzdG9yZXAgc291cmNlT2Zmc2V0UmVnLCBUYWdPZmZzZXRbZGVzdEJ1ZmZlciwg
ZGVzdE9mZnNldFJlZywgOF0KKyAgICAgICAgbG9hZGkgUGF5bG9hZE9mZnNldFtzb3VyY2VCdWZm
ZXIsIHNvdXJjZU9mZnNldFJlZywgOF0sIHNjcmF0Y2hSZWdpc3RlcgorICAgICAgICBzdG9yZWkg
c2NyYXRjaFJlZ2lzdGVyLCBQYXlsb2FkT2Zmc2V0W2Rlc3RCdWZmZXIsIGRlc3RPZmZzZXRSZWcs
IDhdCisgICAgICAgIGxvYWRpIFRhZ09mZnNldFtzb3VyY2VCdWZmZXIsIHNvdXJjZU9mZnNldFJl
ZywgOF0sIHNvdXJjZU9mZnNldFJlZworICAgICAgICBzdG9yZWkgc291cmNlT2Zmc2V0UmVnLCBU
YWdPZmZzZXRbZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgOF0KICAgICAgICAgbG9hZHBGcm9t
SW5zdHJ1Y3Rpb24ocHJvZmlsZU9mZnNldCwgZGVzdE9mZnNldFJlZykKICAgICAgICAgdmFsdWVQ
cm9maWxlKHNvdXJjZU9mZnNldFJlZywgc2NyYXRjaFJlZ2lzdGVyLCBkZXN0T2Zmc2V0UmVnKQog
ICAgIGVuZApAQCAtNjI5LDI5ICs2NDksMjkgQEAgZW5kCiAKIG1hY3JvIG1vdmVKU1ZhbHVlRnJv
bVNsb3Qoc2xvdCwgZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgcHJvZmlsZU9mZnNldCwgc2Ny
YXRjaFJlZ2lzdGVyKQogICAgIGlmIEpTVkFMVUU2NAotICAgICAgICBsb2FkcCBbc2xvdF0sIHNj
cmF0Y2hSZWdpc3RlcgotICAgICAgICBzdG9yZXAgc2NyYXRjaFJlZ2lzdGVyLCBbZGVzdEJ1ZmZl
ciwgZGVzdE9mZnNldFJlZywgOF0KKyAgICAgICAgbG9hZHEgW3Nsb3RdLCBzY3JhdGNoUmVnaXN0
ZXIKKyAgICAgICAgc3RvcmVxIHNjcmF0Y2hSZWdpc3RlciwgW2Rlc3RCdWZmZXIsIGRlc3RPZmZz
ZXRSZWcsIDhdCiAgICAgICAgIGxvYWRwRnJvbUluc3RydWN0aW9uKHByb2ZpbGVPZmZzZXQsIGRl
c3RPZmZzZXRSZWcpCiAgICAgICAgIHZhbHVlUHJvZmlsZShzY3JhdGNoUmVnaXN0ZXIsIGRlc3RP
ZmZzZXRSZWcpCiAgICAgZWxzZQotICAgICAgICBsb2FkcCBQYXlsb2FkT2Zmc2V0W3Nsb3RdLCBz
Y3JhdGNoUmVnaXN0ZXIKLSAgICAgICAgc3RvcmVwIHNjcmF0Y2hSZWdpc3RlciwgUGF5bG9hZE9m
ZnNldFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCA4XQotICAgICAgICBsb2FkcCBUYWdPZmZz
ZXRbc2xvdF0sIHNsb3QKLSAgICAgICAgc3RvcmVwIHNsb3QsIFRhZ09mZnNldFtkZXN0QnVmZmVy
LCBkZXN0T2Zmc2V0UmVnLCA4XQorICAgICAgICBsb2FkaSBQYXlsb2FkT2Zmc2V0W3Nsb3RdLCBz
Y3JhdGNoUmVnaXN0ZXIKKyAgICAgICAgc3RvcmVpIHNjcmF0Y2hSZWdpc3RlciwgUGF5bG9hZE9m
ZnNldFtkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCA4XQorICAgICAgICBsb2FkaSBUYWdPZmZz
ZXRbc2xvdF0sIHNsb3QKKyAgICAgICAgc3RvcmVpIHNsb3QsIFRhZ09mZnNldFtkZXN0QnVmZmVy
LCBkZXN0T2Zmc2V0UmVnLCA4XQogICAgICAgICBsb2FkcEZyb21JbnN0cnVjdGlvbihwcm9maWxl
T2Zmc2V0LCBkZXN0T2Zmc2V0UmVnKQogICAgICAgICB2YWx1ZVByb2ZpbGUoc2xvdCwgc2NyYXRj
aFJlZ2lzdGVyLCBkZXN0T2Zmc2V0UmVnKQogICAgIGVuZAogZW5kCiAKIG1hY3JvIG1vdmVKU1Zh
bHVlRnJvbVJlZ2lzdGVyKHZhbHVlLCBkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCBwcm9maWxl
T2Zmc2V0KQotICAgIHN0b3JlcCB2YWx1ZSwgW2Rlc3RCdWZmZXIsIGRlc3RPZmZzZXRSZWcsIDhd
CisgICAgc3RvcmVxIHZhbHVlLCBbZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgOF0KICAgICBs
b2FkcEZyb21JbnN0cnVjdGlvbihwcm9maWxlT2Zmc2V0LCBkZXN0T2Zmc2V0UmVnKQogICAgIHZh
bHVlUHJvZmlsZSh2YWx1ZSwgZGVzdE9mZnNldFJlZykKIGVuZAogCiBtYWNybyBtb3ZlSlNWYWx1
ZUZyb21SZWdpc3RlcnModGFnLCBwYXlsb2FkLCBkZXN0QnVmZmVyLCBkZXN0T2Zmc2V0UmVnLCBw
cm9maWxlT2Zmc2V0KQotICAgIHN0b3JlcCB0YWcsIFRhZ09mZnNldFtkZXN0QnVmZmVyLCBkZXN0
T2Zmc2V0UmVnLCA4XQotICAgIHN0b3JlcCBwYXlsb2FkLCBQYXlsb2FkT2Zmc2V0W2Rlc3RCdWZm
ZXIsIGRlc3RPZmZzZXRSZWcsIDhdCisgICAgc3RvcmVpIHRhZywgVGFnT2Zmc2V0W2Rlc3RCdWZm
ZXIsIGRlc3RPZmZzZXRSZWcsIDhdCisgICAgc3RvcmVpIHBheWxvYWQsIFBheWxvYWRPZmZzZXRb
ZGVzdEJ1ZmZlciwgZGVzdE9mZnNldFJlZywgOF0KICAgICBsb2FkcEZyb21JbnN0cnVjdGlvbihw
cm9maWxlT2Zmc2V0LCBkZXN0T2Zmc2V0UmVnKQogICAgIHZhbHVlUHJvZmlsZSh0YWcsIHBheWxv
YWQsIGRlc3RPZmZzZXRSZWcpCiBlbmQKQEAgLTg4NiwxMCArOTA2LDExIEBAIG1hY3JvIGludGVy
cHJldFJlc29sdmVXaXRoQmFzZShvcGNvZGVMZW4KICAgICAjIHQxIG5vdyBjb250YWlucyB0aGUg
aW5kZXggZm9yIHRoZSBiYXNlIHJlZ2lzdGVyCiAKICAgICBiaW5lcSB0MiwgUmVzb2x2ZU9wZXJh
dGlvblNldEJhc2VUb1Njb3BlLCAubm90U2V0QmFzZVRvU2NvcGUKLSAgICAgICAgc3RvcmVwIHQz
LCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdCiAgICAgICAgIGlmIEpTVkFMVUU2NAorICAgICAg
ICAgICAgc3RvcmVxIHQzLCBbY2ZyLCB0MSwgOF0KICAgICAgICAgZWxzZQotICAgICAgICAgICAg
c3RvcmVwIENlbGxUYWcsIFRhZ09mZnNldFtjZnIsIHQxLCA4XQorICAgICAgICAgICAgc3RvcmVp
IHQzLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEsIDhdCisgICAgICAgICAgICBzdG9yZWkgQ2VsbFRh
ZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCiAgICAgICAgIGVuZAogICAgICAgICBqbXAgLmhhdmVT
ZXRCYXNlCiAKQEAgLTg5NywxMCArOTE4LDEwIEBAIG1hY3JvIGludGVycHJldFJlc29sdmVXaXRo
QmFzZShvcGNvZGVMZW4KIAogICAgIGJpbmVxIHQyLCBSZXNvbHZlT3BlcmF0aW9uU2V0QmFzZVRv
VW5kZWZpbmVkLCAubm90U2V0QmFzZVRvVW5kZWZpbmVkCiAgICAgICAgIGlmIEpTVkFMVUU2NAot
ICAgICAgICAgICAgc3RvcmVwIFZhbHVlVW5kZWZpbmVkLCBQYXlsb2FkT2Zmc2V0W2NmciwgdDEs
IDhdCisgICAgICAgICAgICBzdG9yZXEgVmFsdWVVbmRlZmluZWQsIFtjZnIsIHQxLCA4XQogICAg
ICAgICBlbHNlCi0gICAgICAgICAgICBzdG9yZXAgMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4
XQotICAgICAgICAgICAgc3RvcmVwIFVuZGVmaW5lZFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhd
CisgICAgICAgICAgICBzdG9yZWkgMCwgUGF5bG9hZE9mZnNldFtjZnIsIHQxLCA4XQorICAgICAg
ICAgICAgc3RvcmVpIFVuZGVmaW5lZFRhZywgVGFnT2Zmc2V0W2NmciwgdDEsIDhdCiAgICAgICAg
IGVuZAogICAgICAgICBqbXAgLmhhdmVTZXRCYXNlCiAKQEAgLTkwOCwxMCArOTI5LDExIEBAIG1h
Y3JvIGludGVycHJldFJlc29sdmVXaXRoQmFzZShvcGNvZGVMZW4KICAgICBiaW5lcSB0MiwgUmVz
b2x2ZU9wZXJhdGlvblNldEJhc2VUb0dsb2JhbCwgLnNsb3dQYXRoCiAgICAgICAgIGxvYWRwIEpT
Q2VsbDo6bV9zdHJ1Y3R1cmVbdDNdLCB0MgogICAgICAgICBsb2FkcCBTdHJ1Y3R1cmU6Om1fZ2xv
YmFsT2JqZWN0W3QyXSwgdDIKLSAgICAgICAgc3RvcmVwIHQyLCBQYXlsb2FkT2Zmc2V0W2Nmciwg
dDEsIDhdCiAgICAgICAgIGlmIEpTVkFMVUU2NAorICAgICAgICAgICAgc3RvcmVxIHQyLCBbY2Zy
LCB0MSwgOF0KICAgICAgICAgZWxzZQotICAgICAgICAgICAgc3RvcmVwIENlbGxUYWcsIFRhZ09m
ZnNldFtjZnIsIHQxLCA4XQorICAgICAgICAgICAgc3RvcmVpIHQyLCBQYXlsb2FkT2Zmc2V0W2Nm
ciwgdDEsIDhdCisgICAgICAgICAgICBzdG9yZWkgQ2VsbFRhZywgVGFnT2Zmc2V0W2NmciwgdDEs
IDhdCiAgICAgICAgIGVuZAogCiAgICAgLmhhdmVTZXRCYXNlOgpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL29mZmxpbmVhc20vYmFja2VuZHMucmIKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL29mZmxpbmVhc20vYmFja2VuZHMucmIJKHJldmlzaW9uIDEzMTg5OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2JhY2tlbmRzLnJiCSh3b3JraW5nIGNv
cHkpCkBAIC0zMSw2ICszMSw3IEBAIEJBQ0tFTkRTID0KICAgICBbCiAgICAgICJYODYiLAogICAg
ICAiWDg2XzY0IiwKKyAgICAgIlgzMiIsCiAgICAgICJBUk12NyIsCiAgICAgICJDX0xPT1AiCiAg
ICAgXQpAQCAtNDQsNiArNDUsNyBAQCBXT1JLSU5HX0JBQ0tFTkRTID0KICAgICBbCiAgICAgICJY
ODYiLAogICAgICAiWDg2XzY0IiwKKyAgICAgIlgzMiIsCiAgICAgICJBUk12NyIsCiAgICAgICJD
X0xPT1AiCiAgICAgXQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xv
b3AucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vY2xv
b3AucmIJKHJldmlzaW9uIDEzMTg5OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5l
YXNtL2Nsb29wLnJiCSh3b3JraW5nIGNvcHkpCkBAIC04OTcsMTQgKzg5NywxNCBAQCBjbGFzcyBJ
bnN0cnVjdGlvbgogICAgICAgICB3aGVuICJmZDJpaSIKICAgICAgICAgICAgICRhc20ucHV0YyAi
RG91YmxlMkludHMoI3tvcGVyYW5kc1swXS5jbFZhbHVlKDpkb3VibGUpfSwgI3tvcGVyYW5kc1sx
XS5jbFZhbHVlfSwgI3tvcGVyYW5kc1syXS5jbFZhbHVlfSk7IgogCi0gICAgICAgICMgNjQtYml0
IGluc3RydWN0aW9uOiBmcDJkIGludDY0T3AgZGJsT3AgKGJhc2VkIG9uIFg2NCkKKyAgICAgICAg
IyA2NC1iaXQgaW5zdHJ1Y3Rpb246IGZxMmQgaW50NjRPcCBkYmxPcCAoYmFzZWQgb24gWDY0KQog
ICAgICAgICAjIENvcHkgYSBiaXQtZW5jb2RlZCBkb3VibGUgaW4gYSA2NC1iaXQgaW50IHJlZ2lz
dGVyIHRvIGEgZG91YmxlIHJlZ2lzdGVyLgotICAgICAgICB3aGVuICJmcDJkIgorICAgICAgICB3
aGVuICJmcTJkIgogICAgICAgICAgICAgJGFzbS5wdXRjICIje29wZXJhbmRzWzFdLmNsVmFsdWUo
OmRvdWJsZSl9ID0gI3tvcGVyYW5kc1swXS5jbFZhbHVlKDpjYXN0VG9Eb3VibGUpfTsiCiAKLSAg
ICAgICAgIyA2NC1iaXQgaW5zdHJ1Y3Rpb246IGZkMnAgZGJsT3AgaW50NjRPcCAoYmFzZWQgb24g
WDY0IGluc3RydWN0aW9uIHNldCkKKyAgICAgICAgIyA2NC1iaXQgaW5zdHJ1Y3Rpb246IGZkMnEg
ZGJsT3AgaW50NjRPcCAoYmFzZWQgb24gWDY0IGluc3RydWN0aW9uIHNldCkKICAgICAgICAgIyBD
b3B5IGEgZG91YmxlIGFzIGEgYml0LWVuY29kZWQgZG91YmxlIGludG8gYSA2NC1iaXQgaW50IHJl
Z2lzdGVyLgotICAgICAgICB3aGVuICJmZDJwIgorICAgICAgICB3aGVuICJmZDJxIgogICAgICAg
ICAgICAgJGFzbS5wdXRjICIje29wZXJhbmRzWzFdLmNsVmFsdWUoOnZvaWRQdHIpfSA9ICN7b3Bl
cmFuZHNbMF0uY2xWYWx1ZSg6Y2FzdFRvVm9pZFB0cil9OyIKIAogICAgICAgICB3aGVuICJsZWFp
IgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxpbmVhc20vaW5zdHJ1Y3Rpb25zLnJi
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9vZmZsaW5lYXNtL2luc3RydWN0
aW9ucy5yYgkocmV2aXNpb24gMTMxODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL29mZmxp
bmVhc20vaW5zdHJ1Y3Rpb25zLnJiCSh3b3JraW5nIGNvcHkpCkBAIC02Myw4ICs2Myw2IEBAIE1B
Q1JPX0lOU1RSVUNUSU9OUyA9CiAgICAgICJjaTJkIiwKICAgICAgImZpaTJkIiwgIyB1c2FnZTog
ZmlpMmQgPGdwciB3aXRoIGxlYXN0IHNpZ25pZmljYW50IGJpdHM+LCA8Z3ByIHdpdGggbW9zdCBz
aWduaWZpY2FudCBiaXRzPiwgPGZwcj4KICAgICAgImZkMmlpIiwgIyB1c2FnZTogZmQyaWkgPGZw
cj4sIDxncHIgd2l0aCBsZWFzdCBzaWduaWZpY2FudCBiaXRzPiwgPGdwciB3aXRoIG1vc3Qgc2ln
bmlmaWNhbnQgYml0cz4KLSAgICAgImZwMmQiLAotICAgICAiZmQycCIsCiAgICAgICJiZGVxIiwK
ICAgICAgImJkbmVxIiwKICAgICAgImJkZ3QiLApAQCAtMjEzLDYgKzIxMSw1NiBAQCBYODZfSU5T
VFJVQ1RJT05TID0KICAgICAgImlkaXZpIgogICAgIF0KIAorWDg2XzY0X0lOU1RSVUNUSU9OUyA9
CisgICAgWworICAgICAibHNoaWZ0cSIsCisgICAgICJuZWdxIiwKKyAgICAgInJzaGlmdHEiLAor
ICAgICAidXJzaGlmdHEiLAorICAgICAidHFzIiwKKyAgICAgInRxeiIsCisgICAgICJ0cW56IiwK
KyAgICAgInBlZWtxIiwKKyAgICAgInBva2VxIiwKKyAgICAgImZxMmQiLAorICAgICAiZmQycSIs
CisgICAgICJicWVxIiwKKyAgICAgImJxbmVxIiwKKyAgICAgImJxYSIsCisgICAgICJicWFlcSIs
CisgICAgICJicWIiLAorICAgICAiYnFiZXEiLAorICAgICAiYnFndCIsCisgICAgICJicWd0ZXEi
LAorICAgICAiYnFsdCIsCisgICAgICJicWx0ZXEiLAorICAgICAiYWRkcSIsCisgICAgICJtdWxx
IiwKKyAgICAgImFuZHEiLAorICAgICAib3JxIiwKKyAgICAgInN1YnEiLAorICAgICAieG9ycSIs
CisgICAgICJsb2FkcSIsCisgICAgICJjcWVxIiwKKyAgICAgImNxbmVxIiwKKyAgICAgImNxYSIs
CisgICAgICJjcWFlcSIsCisgICAgICJjcWIiLAorICAgICAiY3FiZXEiLAorICAgICAiY3FndCIs
CisgICAgICJjcWd0ZXEiLAorICAgICAiY3FsdCIsCisgICAgICJjcWx0ZXEiLAorICAgICAic3Rv
cmVxIiwKKyAgICAgImJ0cXMiLAorICAgICAiYnRxeiIsCisgICAgICJidHFueiIsCisgICAgICJi
YWRkcW8iLAorICAgICAiYmFkZHFzIiwKKyAgICAgImJhZGRxeiIsCisgICAgICJiYWRkcW56Igor
ICAgIF0KKwogQVJNdjdfSU5TVFJVQ1RJT05TID0KICAgICBbCiAgICAgICJzbXVsbGkiLApAQCAt
MjM3LDcgKzI4NSw3IEBAIENYWF9JTlNUUlVDVElPTlMgPQogICAgICAiY2xvb3BEbyIsICAgICAg
ICAgICAgICAjIG5vIG9wZXJhbmRzCiAgICAgXQogCi1JTlNUUlVDVElPTlMgPSBNQUNST19JTlNU
UlVDVElPTlMgKyBYODZfSU5TVFJVQ1RJT05TICsgQVJNdjdfSU5TVFJVQ1RJT05TICsgQ1hYX0lO
U1RSVUNUSU9OUworSU5TVFJVQ1RJT05TID0gTUFDUk9fSU5TVFJVQ1RJT05TICsgWDg2X0lOU1RS
VUNUSU9OUyArIFg4Nl82NF9JTlNUUlVDVElPTlMgKyBBUk12N19JTlNUUlVDVElPTlMgKyBDWFhf
SU5TVFJVQ1RJT05TCiAKIElOU1RSVUNUSU9OX1BBVFRFUk4gPSBSZWdleHAubmV3KCdcXEEoKCcg
KyBJTlNUUlVDVElPTlMuam9pbignKXwoJykgKyAnKSlcXFonKQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL29mZmxpbmVhc20veDg2LnJiCShyZXZpc2lvbiAxMzE4OTkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvb2ZmbGluZWFzbS94ODYucmIJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYg
KzI5LDIxIEBAIGRlZiBpc1g2NAogICAgICAgICBmYWxzZQogICAgIHdoZW4gIlg4Nl82NCIKICAg
ICAgICAgdHJ1ZQorICAgIHdoZW4gIlgzMiIKKyAgICAgICAgdHJ1ZSAjIFgzMiBpcyBhIHNwZWNp
YWwgbW9kZSBvZiBYODZfNjQKKyAgICBlbHNlCisgICAgICAgIHJhaXNlICJiYWQgdmFsdWUgZm9y
ICRhY3RpdmVCYWNrZW5kOiAjeyRhY3RpdmVCYWNrZW5kfSIKKyAgICBlbmQKK2VuZAorCitkZWYg
aXNYMzIKKyAgICBjYXNlICRhY3RpdmVCYWNrZW5kCisgICAgd2hlbiAiWDg2IgorICAgICAgICBm
YWxzZQorICAgIHdoZW4gIlg4Nl82NCIKKyAgICAgICAgZmFsc2UKKyAgICB3aGVuICJYMzIiCisg
ICAgICAgIHRydWUKICAgICBlbHNlCiAgICAgICAgIHJhaXNlICJiYWQgdmFsdWUgZm9yICRhY3Rp
dmVCYWNrZW5kOiAjeyRhY3RpdmVCYWNrZW5kfSIKICAgICBlbmQKQEAgLTQ0LDEzICs1OSwxOCBA
QCBjbGFzcyBTcGVjaWFsUmVnaXN0ZXIgPCBOb0NoaWxkcmVuCiAgICAgICAgIHdoZW4gOmludAog
ICAgICAgICAgICAgIiUiICsgQG5hbWUgKyAiZCIKICAgICAgICAgd2hlbiA6cHRyCisgICAgICAg
ICAgICBpc1gzMiA/ICIlIiArIEBuYW1lICsgImQiIDogIiUiICsgQG5hbWUKKyAgICAgICAgd2hl
biA6cXVhZAogICAgICAgICAgICAgIiUiICsgQG5hbWUKICAgICAgICAgZWxzZQogICAgICAgICAg
ICAgcmFpc2UKICAgICAgICAgZW5kCiAgICAgZW5kCiAgICAgZGVmIHg4NkNhbGxPcGVyYW5kKGtp
bmQpCi0gICAgICAgICIqI3t4ODZPcGVyYW5kKGtpbmQpfSIKKyAgICAgICAgIioje3g4Nk9wZXJh
bmQoOnF1YWQpfSIKKyAgICBlbmQKKyAgICBkZWYgeDg2UHVzaE9wZXJhbmQoa2luZCkKKyAgICAg
ICAgIiN7eDg2T3BlcmFuZCg6cXVhZCl9IgogICAgIGVuZAogZW5kCiAKQEAgLTgxLDcgKzEwMSw5
IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAgICAg
ICAgICIlZWF4IgogICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgaXNYNjQg
PyAiJXJheCIgOiAiJWVheCIKKyAgICAgICAgICAgICAgICBpc1g2NCAmJiAhaXNYMzIgPyAiJXJh
eCIgOiAiJWVheCIKKyAgICAgICAgICAgIHdoZW4gOnF1YWQKKyAgICAgICAgICAgICAgICBpc1g2
NCA/ICIlcmF4IiA6IHJhaXNlCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmFp
c2UKICAgICAgICAgICAgIGVuZApAQCAtOTQsNyArMTE2LDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAog
ICAgICAgICAgICAgd2hlbiA6aW50CiAgICAgICAgICAgICAgICAgIiVlZHgiCiAgICAgICAgICAg
ICB3aGVuIDpwdHIKLSAgICAgICAgICAgICAgICBpc1g2NCA/ICIlcmR4IiA6ICIlZWR4IgorICAg
ICAgICAgICAgICAgIGlzWDY0ICYmICFpc1gzMiA/ICIlcmR4IiA6ICIlZWR4IgorICAgICAgICAg
ICAgd2hlbiA6cXVhZAorICAgICAgICAgICAgICAgIGlzWDY0ID8gIiVyZHgiIDogcmFpc2UKICAg
ICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZW5kCkBA
IC0xMDcsNyArMTMxLDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgd2hlbiA6aW50
CiAgICAgICAgICAgICAgICAgIiVlY3giCiAgICAgICAgICAgICB3aGVuIDpwdHIKLSAgICAgICAg
ICAgICAgICBpc1g2NCA/ICIlcmN4IiA6ICIlZWN4IgorICAgICAgICAgICAgICAgIGlzWDY0ICYm
ICFpc1gzMiA/ICIlcmN4IiA6ICIlZWN4IgorICAgICAgICAgICAgd2hlbiA6cXVhZAorICAgICAg
ICAgICAgICAgIGlzWDY0ID8gIiVyY3giIDogcmFpc2UKICAgICAgICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZW5kCkBAIC0xMjAsNyArMTQ2LDkgQEAgY2xh
c3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgd2hlbiA6aW50CiAgICAgICAgICAgICAgICAgIiVl
YngiCiAgICAgICAgICAgICB3aGVuIDpwdHIKLSAgICAgICAgICAgICAgICBpc1g2NCA/ICIlcmJ4
IiA6ICIlZWJ4IgorICAgICAgICAgICAgICAgIGlzWDY0ICYmICFpc1gzMiA/ICIlcmJ4IiA6ICIl
ZWJ4IgorICAgICAgICAgICAgd2hlbiA6cXVhZAorICAgICAgICAgICAgICAgIGlzWDY0ID8gIiVy
YngiIDogcmFpc2UKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICByYWlzZQogICAg
ICAgICAgICAgZW5kCkBAIC0xMzMsNyArMTYxLDkgQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAg
ICAgICAgd2hlbiA6aW50CiAgICAgICAgICAgICAgICAgIiVlc2kiCiAgICAgICAgICAgICB3aGVu
IDpwdHIKLSAgICAgICAgICAgICAgICBpc1g2NCA/ICIlcnNpIiA6ICIlZXNpIgorICAgICAgICAg
ICAgICAgIGlzWDY0ICYmICFpc1gzMiA/ICIlcnNpIiA6ICIlZXNpIgorICAgICAgICAgICAgd2hl
biA6cXVhZAorICAgICAgICAgICAgICAgIGlzWDY0ID8gIiVyc2kiIDogcmFpc2UKICAgICAgICAg
ICAgIGVsc2UKICAgICAgICAgICAgICAgICByYWlzZQogICAgICAgICAgICAgZW5kCkBAIC0xNDUs
NiArMTc1LDggQEAgY2xhc3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgICAgIHdoZW4gOmludAog
ICAgICAgICAgICAgICAgICAgICAiJXIxM2QiCiAgICAgICAgICAgICAgICAgd2hlbiA6cHRyCisg
ICAgICAgICAgICAgICAgICAgIGlzWDMyID8gIiVyMTNkIiA6ICIlcjEzIgorICAgICAgICAgICAg
ICAgIHdoZW4gOnF1YWQKICAgICAgICAgICAgICAgICAgICAgIiVyMTMiCiAgICAgICAgICAgICAg
ICAgZWxzZQogICAgICAgICAgICAgICAgICAgICByYWlzZQpAQCAtMTcyLDcgKzIwNCw5IEBAIGNs
YXNzIFJlZ2lzdGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAgICAgICAgICIl
ZXNwIgogICAgICAgICAgICAgd2hlbiA6cHRyCi0gICAgICAgICAgICAgICAgaXNYNjQgPyAiJXJz
cCIgOiAiJWVzcCIKKyAgICAgICAgICAgICAgICBpc1g2NCAmJiAhaXNYMzIgPyAiJXJzcCIgOiAi
JWVzcCIKKyAgICAgICAgICAgIHdoZW4gOnF1YWQKKyAgICAgICAgICAgICAgICBpc1g2NCA/ICIl
cnNwIiA6IHJhaXNlCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgcmFpc2UKICAg
ICAgICAgICAgIGVuZApAQCAtMTg2LDYgKzIyMCw4IEBAIGNsYXNzIFJlZ2lzdGVySUQKICAgICAg
ICAgICAgIHdoZW4gOmludAogICAgICAgICAgICAgICAgICIlZWRpIgogICAgICAgICAgICAgd2hl
biA6cHRyCisgICAgICAgICAgICAgICAgaXNYMzIgPyAiJWVkaSIgOiAiJXJkaSIKKyAgICAgICAg
ICAgIHdoZW4gOnF1YWQKICAgICAgICAgICAgICAgICAiJXJkaSIKICAgICAgICAgICAgIGVuZAog
ICAgICAgICB3aGVuICJ0NiIKQEAgLTE5Niw2ICsyMzIsOCBAQCBjbGFzcyBSZWdpc3RlcklECiAg
ICAgICAgICAgICB3aGVuIDppbnQKICAgICAgICAgICAgICAgICAiJXIxMGQiCiAgICAgICAgICAg
ICB3aGVuIDpwdHIKKyAgICAgICAgICAgICAgICBpc1gzMiA/ICIlcjEwZCIgOiAiJXIxMCIKKyAg
ICAgICAgICAgIHdoZW4gOnF1YWQKICAgICAgICAgICAgICAgICAiJXIxMCIKICAgICAgICAgICAg
IGVuZAogICAgICAgICB3aGVuICJjc3IxIgpAQCAtMjA2LDYgKzI0NCw4IEBAIGNsYXNzIFJlZ2lz
dGVySUQKICAgICAgICAgICAgIHdoZW4gOmludAogICAgICAgICAgICAgICAgICIlcjE0ZCIKICAg
ICAgICAgICAgIHdoZW4gOnB0cgorICAgICAgICAgICAgICAgIGlzWDMyID8gIiVyMTRkIiA6ICIl
cjE0IgorICAgICAgICAgICAgd2hlbiA6cXVhZAogICAgICAgICAgICAgICAgICIlcjE0IgogICAg
ICAgICAgICAgZW5kCiAgICAgICAgIHdoZW4gImNzcjIiCkBAIC0yMTYsNiArMjU2LDggQEAgY2xh
c3MgUmVnaXN0ZXJJRAogICAgICAgICAgICAgd2hlbiA6aW50CiAgICAgICAgICAgICAgICAgIiVy
MTVkIgogICAgICAgICAgICAgd2hlbiA6cHRyCisgICAgICAgICAgICAgICAgaXNYMzIgPyAiJXIx
NWQiIDogIiVyMTUiCisgICAgICAgICAgICB3aGVuIDpxdWFkCiAgICAgICAgICAgICAgICAgIiVy
MTUiCiAgICAgICAgICAgICBlbmQKICAgICAgICAgZWxzZQpAQCAtMjIzLDcgKzI2NSwxMCBAQCBj
bGFzcyBSZWdpc3RlcklECiAgICAgICAgIGVuZAogICAgIGVuZAogICAgIGRlZiB4ODZDYWxsT3Bl
cmFuZChraW5kKQotICAgICAgICAiKiN7eDg2T3BlcmFuZChraW5kKX0iCisgICAgICAgIGlzWDY0
ID8gIioje3g4Nk9wZXJhbmQoOnF1YWQpfSIgOiAiKiN7eDg2T3BlcmFuZCg6cHRyKX0iCisgICAg
ZW5kCisgICAgZGVmIHg4NlB1c2hPcGVyYW5kKGtpbmQpCisgICAgICAgIGlzWDY0ID8gIiN7eDg2
T3BlcmFuZCg6cXVhZCl9IiA6ICIje3g4Nk9wZXJhbmQoOnB0cil9IgogICAgIGVuZAogZW5kCiAK
QEAgLTI1MCw2ICsyOTUsOSBAQCBjbGFzcyBGUFJlZ2lzdGVySUQKICAgICBkZWYgeDg2Q2FsbE9w
ZXJhbmQoa2luZCkKICAgICAgICAgIioje3g4Nk9wZXJhbmQoa2luZCl9IgogICAgIGVuZAorICAg
IGRlZiB4ODZQdXNoT3BlcmFuZChraW5kKQorICAgICAgICAiI3t4ODZPcGVyYW5kKGtpbmQpfSIK
KyAgICBlbmQKIGVuZAogCiBjbGFzcyBJbW1lZGlhdGUKQEAgLTI2Niw2ICszMTQsOSBAQCBjbGFz
cyBJbW1lZGlhdGUKICAgICBkZWYgeDg2Q2FsbE9wZXJhbmQoa2luZCkKICAgICAgICAgIiN7dmFs
dWV9IgogICAgIGVuZAorICAgIGRlZiB4ODZQdXNoT3BlcmFuZChraW5kKQorICAgICAgICAiJCN7
dmFsdWV9IgorICAgIGVuZAogZW5kCiAKIGNsYXNzIEFkZHJlc3MKQEAgLTI4Miw2ICszMzMsOSBA
QCBjbGFzcyBBZGRyZXNzCiAgICAgZGVmIHg4NkNhbGxPcGVyYW5kKGtpbmQpCiAgICAgICAgICIq
I3t4ODZPcGVyYW5kKGtpbmQpfSIKICAgICBlbmQKKyAgICBkZWYgeDg2UHVzaE9wZXJhbmQoa2lu
ZCkKKyAgICAgICAgIiN7eDg2T3BlcmFuZChraW5kKX0iCisgICAgZW5kCiBlbmQKIAogY2xhc3Mg
QmFzZUluZGV4CkBAIC0zMDAsNiArMzU0LDkgQEAgY2xhc3MgQmFzZUluZGV4CiAgICAgZGVmIHg4
NkNhbGxPcGVyYW5kKGtpbmQpCiAgICAgICAgICIqI3t4ODZPcGVyYW5kKGtpbmQpfSIKICAgICBl
bmQKKyAgICBkZWYgeDg2UHVzaE9wZXJhbmQoa2luZCkKKyAgICAgICAgIiN7eDg2T3BlcmFuZChr
aW5kKX0iCisgICAgZW5kCiBlbmQKIAogY2xhc3MgQWJzb2x1dGVBZGRyZXNzCkBAIC0zMTgsNiAr
Mzc1LDkgQEAgY2xhc3MgQWJzb2x1dGVBZGRyZXNzCiAgICAgZGVmIHg4NkNhbGxPcGVyYW5kKGtp
bmQpCiAgICAgICAgICIqI3thZGRyZXNzLnZhbHVlfSIKICAgICBlbmQKKyAgICBkZWYgeDg2UHVz
aE9wZXJhbmQoa2luZCkKKyAgICAgICAgIiN7YWRkcmVzcy52YWx1ZX0iCisgICAgZW5kCiBlbmQK
IAogY2xhc3MgTGFiZWxSZWZlcmVuY2UKQEAgLTM3MSw2ICs0MzEsOSBAQCBjbGFzcyBTZXF1ZW5j
ZQogICAgICAgICAKICAgICAgICAgcmV0dXJuIG5ld0xpc3QKICAgICBlbmQKKyAgICBkZWYgZ2V0
TW9kaWZpZWRMaXN0WDMyCisgICAgICAgIHJldHVybiBnZXRNb2RpZmllZExpc3RYODZfNjQKKyAg
ICBlbmQKIGVuZAogCiBjbGFzcyBJbnN0cnVjdGlvbgpAQCAtMzkzLDcgKzQ1Niw5IEBAIGNsYXNz
IEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gOmludAogICAgICAgICAgICAgImwiCiAgICAgICAg
IHdoZW4gOnB0cgotICAgICAgICAgICAgaXNYNjQgPyAicSIgOiAibCIKKyAgICAgICAgICAgIGlz
WDY0ICYmICFpc1gzMiA/ICJxIiA6ICJsIgorICAgICAgICB3aGVuIDpxdWFkCisgICAgICAgICAg
ICBpc1g2NCA/ICJxIiA6IHJhaXNlCiAgICAgICAgIHdoZW4gOmRvdWJsZQogICAgICAgICAgICAg
InNkIgogICAgICAgICBlbHNlCkBAIC00MTAsNyArNDc1LDkgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24K
ICAgICAgICAgd2hlbiA6aW50CiAgICAgICAgICAgICA0CiAgICAgICAgIHdoZW4gOnB0cgotICAg
ICAgICAgICAgaXNYNjQgPyA4IDogNAorICAgICAgICAgICAgaXNYNjQgJiYgIWlzWDMyID8gOCA6
IDQKKyAgICAgICAgd2hlbiA6cXVhZAorICAgICAgICAgICAgaXNYNjQgPyA4IDogcmFpc2UKICAg
ICAgICAgd2hlbiA6ZG91YmxlCiAgICAgICAgICAgICA4CiAgICAgICAgIGVsc2UKQEAgLTQzNyw2
ICs1MDQsMTkgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgaGFuZGxlWDg2T3BXaXRoTnVt
T3BlcmFuZHMob3Bjb2RlLCBraW5kLCBvcGVyYW5kcy5zaXplKQogICAgIGVuZAogICAgIAorICAg
IGRlZiBoYW5kbGVYODZKdW1wKG9wY29kZSwga2luZCkKKyAgICAgICAgaWYgaXNYMzIKKyAgICAg
ICAgICAgIGlmIG9wZXJhbmRzWzBdLmlzX2E/IEFkZHJlc3Mgb3Igb3BlcmFuZHNbMF0uaXNfYT8g
QmFzZUluZGV4IG9yIG9wZXJhbmRzWzBdLmlzX2E/IEFic29sdXRlQWRkcmVzcworICAgICAgICAg
ICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoa2luZCl9ICN7b3BlcmFuZHNbMF0ueDg2
T3BlcmFuZChraW5kKX0sICN7WDY0X1NDUkFUQ0hfUkVHSVNURVIueDg2T3BlcmFuZChraW5kKX0i
CisgICAgICAgICAgICAgICAgJGFzbS5wdXRzICIje29wY29kZX0gI3tYNjRfU0NSQVRDSF9SRUdJ
U1RFUi54ODZDYWxsT3BlcmFuZChraW5kKX0iCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgJGFzbS5wdXRzICIje29wY29kZX0gI3tvcGVyYW5kc1swXS54ODZDYWxsT3BlcmFuZChr
aW5kKX0iCisgICAgICAgICAgICBlbmQKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgJGFzbS5w
dXRzICIje29wY29kZX0gI3tvcGVyYW5kc1swXS54ODZDYWxsT3BlcmFuZChraW5kKX0iCisgICAg
ICAgIGVuZAorICAgIGVuZAorCiAgICAgZGVmIGhhbmRsZVg4NlNoaWZ0KG9wY29kZSwga2luZCkK
ICAgICAgICAgaWYgb3BlcmFuZHNbMF0uaXNfYT8gSW1tZWRpYXRlIG9yIG9wZXJhbmRzWzBdID09
IFJlZ2lzdGVySUQuZm9yTmFtZShuaWwsICJ0MiIpCiAgICAgICAgICAgICAkYXNtLnB1dHMgIiN7
b3Bjb2RlfSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmJ5dGUpfSwgI3tvcGVyYW5kc1sxXS54
ODZPcGVyYW5kKGtpbmQpfSIKQEAgLTYwNyw5ICs2ODcsMTcgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24K
ICAgICAKICAgICBkZWYgaGFuZGxlTW92ZQogICAgICAgICBpZiBJbW1lZGlhdGUubmV3KG5pbCwg
MCkgPT0gb3BlcmFuZHNbMF0gYW5kIG9wZXJhbmRzWzFdLmlzX2E/IFJlZ2lzdGVySUQKLSAgICAg
ICAgICAgICRhc20ucHV0cyAieG9yI3t4ODZTdWZmaXgoOnB0cil9ICN7b3BlcmFuZHNbMV0ueDg2
T3BlcmFuZCg6cHRyKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAg
ICAgICBpZiBpc1g2NAorICAgICAgICAgICAgICAgICRhc20ucHV0cyAieG9yI3t4ODZTdWZmaXgo
OnF1YWQpfSAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnF1YWQpfSwgI3tvcGVyYW5kc1sxXS54
ODZPcGVyYW5kKDpxdWFkKX0iCisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgJGFz
bS5wdXRzICJ4b3Ije3g4NlN1ZmZpeCg6cHRyKX0gI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpw
dHIpfSwgI3tvcGVyYW5kc1sxXS54ODZPcGVyYW5kKDpwdHIpfSIKKyAgICAgICAgICAgIGVuZAog
ICAgICAgICBlbHNpZiBvcGVyYW5kc1swXSAhPSBvcGVyYW5kc1sxXQotICAgICAgICAgICAgJGFz
bS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6cHRyKX0gI3t4ODZPcGVyYW5kcyg6cHRyLCA6cHRyKX0i
CisgICAgICAgICAgICBpZiBpc1g2NAorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4
ODZTdWZmaXgoOnF1YWQpfSAje3g4Nk9wZXJhbmRzKDpxdWFkLCA6cXVhZCl9IgorICAgICAgICAg
ICAgZWxzZQorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOnB0cil9
ICN7eDg2T3BlcmFuZHMoOnB0ciwgOnB0cil9IgorICAgICAgICAgICAgZW5kCiAgICAgICAgIGVu
ZAogICAgIGVuZAogICAgIApAQCAtNjIzLDYgKzcxMSwxMSBAQCBjbGFzcyBJbnN0cnVjdGlvbgog
ICAgICAgICBsb3dlclg4NkNvbW1vbgogICAgIGVuZAogICAgIAorICAgIGRlZiBsb3dlclgzMgor
ICAgICAgICByYWlzZSB1bmxlc3MgJGFjdGl2ZUJhY2tlbmQgPT0gIlgzMiIKKyAgICAgICAgbG93
ZXJYODZDb21tb24KKyAgICBlbmQKKyAgICAKICAgICBkZWYgbG93ZXJYODZDb21tb24KICAgICAg
ICAgJGFzbS5jb2RlT3JpZ2luIGNvZGVPcmlnaW5TdHJpbmcgaWYgJGVuYWJsZUNvZGVPcmlnaW5D
b21tZW50cwogICAgICAgICAkYXNtLmFubm90YXRpb24gYW5ub3RhdGlvbiBpZiAkZW5hYmxlSW5z
dHJBbm5vdGF0aW9ucwpAQCAtNjMyLDU0ICs3MjUsNzYgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAg
ICAgICAgICAgIGhhbmRsZVg4NkFkZCg6aW50KQogICAgICAgICB3aGVuICJhZGRwIgogICAgICAg
ICAgICAgaGFuZGxlWDg2QWRkKDpwdHIpCisgICAgICAgIHdoZW4gImFkZHEiCisgICAgICAgICAg
ICBoYW5kbGVYODZBZGQoOnF1YWQpCiAgICAgICAgIHdoZW4gImFuZGkiCiAgICAgICAgICAgICBo
YW5kbGVYODZPcCgiYW5kbCIsIDppbnQpCiAgICAgICAgIHdoZW4gImFuZHAiCiAgICAgICAgICAg
ICBoYW5kbGVYODZPcCgiYW5kI3t4ODZTdWZmaXgoOnB0cil9IiwgOnB0cikKKyAgICAgICAgd2hl
biAiYW5kcSIKKyAgICAgICAgICAgIGhhbmRsZVg4Nk9wKCJhbmQje3g4NlN1ZmZpeCg6cXVhZCl9
IiwgOnF1YWQpCiAgICAgICAgIHdoZW4gImxzaGlmdGkiCiAgICAgICAgICAgICBoYW5kbGVYODZT
aGlmdCgic2FsbCIsIDppbnQpCiAgICAgICAgIHdoZW4gImxzaGlmdHAiCiAgICAgICAgICAgICBo
YW5kbGVYODZTaGlmdCgic2FsI3t4ODZTdWZmaXgoOnB0cil9IiwgOnB0cikKKyAgICAgICAgd2hl
biAibHNoaWZ0cSIKKyAgICAgICAgICAgIGhhbmRsZVg4NlNoaWZ0KCJzYWwje3g4NlN1ZmZpeCg6
cXVhZCl9IiwgOnF1YWQpCiAgICAgICAgIHdoZW4gIm11bGkiCiAgICAgICAgICAgICBoYW5kbGVY
ODZNdWwoOmludCkKICAgICAgICAgd2hlbiAibXVscCIKICAgICAgICAgICAgIGhhbmRsZVg4Nk11
bCg6cHRyKQorICAgICAgICB3aGVuICJtdWxxIgorICAgICAgICAgICAgaGFuZGxlWDg2TXVsKDpx
dWFkKQogICAgICAgICB3aGVuICJuZWdpIgogICAgICAgICAgICAgJGFzbS5wdXRzICJuZWdsICN7
eDg2T3BlcmFuZHMoOmludCl9IgogICAgICAgICB3aGVuICJuZWdwIgogICAgICAgICAgICAgJGFz
bS5wdXRzICJuZWcje3g4NlN1ZmZpeCg6cHRyKX0gI3t4ODZPcGVyYW5kcyg6cHRyKX0iCisgICAg
ICAgIHdoZW4gIm5lZ3EiCisgICAgICAgICAgICAkYXNtLnB1dHMgIm5lZyN7eDg2U3VmZml4KDpx
dWFkKX0gI3t4ODZPcGVyYW5kcyg6cXVhZCl9IgogICAgICAgICB3aGVuICJub3RpIgogICAgICAg
ICAgICAgJGFzbS5wdXRzICJub3RsICN7eDg2T3BlcmFuZHMoOmludCl9IgogICAgICAgICB3aGVu
ICJvcmkiCiAgICAgICAgICAgICBoYW5kbGVYODZPcCgib3JsIiwgOmludCkKICAgICAgICAgd2hl
biAib3JwIgogICAgICAgICAgICAgaGFuZGxlWDg2T3AoIm9yI3t4ODZTdWZmaXgoOnB0cil9Iiwg
OnB0cikKKyAgICAgICAgd2hlbiAib3JxIgorICAgICAgICAgICAgaGFuZGxlWDg2T3AoIm9yI3t4
ODZTdWZmaXgoOnF1YWQpfSIsIDpxdWFkKQogICAgICAgICB3aGVuICJyc2hpZnRpIgogICAgICAg
ICAgICAgaGFuZGxlWDg2U2hpZnQoInNhcmwiLCA6aW50KQogICAgICAgICB3aGVuICJyc2hpZnRw
IgogICAgICAgICAgICAgaGFuZGxlWDg2U2hpZnQoInNhciN7eDg2U3VmZml4KDpwdHIpfSIsIDpw
dHIpCisgICAgICAgIHdoZW4gInJzaGlmdHEiCisgICAgICAgICAgICBoYW5kbGVYODZTaGlmdCgi
c2FyI3t4ODZTdWZmaXgoOnF1YWQpfSIsIDpxdWFkKQogICAgICAgICB3aGVuICJ1cnNoaWZ0aSIK
ICAgICAgICAgICAgIGhhbmRsZVg4NlNoaWZ0KCJzaHJsIiwgOmludCkKICAgICAgICAgd2hlbiAi
dXJzaGlmdHAiCiAgICAgICAgICAgICBoYW5kbGVYODZTaGlmdCgic2hyI3t4ODZTdWZmaXgoOnB0
cil9IiwgOnB0cikKKyAgICAgICAgd2hlbiAidXJzaGlmdHEiCisgICAgICAgICAgICBoYW5kbGVY
ODZTaGlmdCgic2hyI3t4ODZTdWZmaXgoOnF1YWQpfSIsIDpxdWFkKQogICAgICAgICB3aGVuICJz
dWJpIgogICAgICAgICAgICAgaGFuZGxlWDg2U3ViKDppbnQpCiAgICAgICAgIHdoZW4gInN1YnAi
CiAgICAgICAgICAgICBoYW5kbGVYODZTdWIoOnB0cikKKyAgICAgICAgd2hlbiAic3VicSIKKyAg
ICAgICAgICAgIGhhbmRsZVg4NlN1Yig6cXVhZCkKICAgICAgICAgd2hlbiAieG9yaSIKICAgICAg
ICAgICAgIGhhbmRsZVg4Nk9wKCJ4b3JsIiwgOmludCkKICAgICAgICAgd2hlbiAieG9ycCIKICAg
ICAgICAgICAgIGhhbmRsZVg4Nk9wKCJ4b3Ije3g4NlN1ZmZpeCg6cHRyKX0iLCA6cHRyKQorICAg
ICAgICB3aGVuICJ4b3JxIgorICAgICAgICAgICAgaGFuZGxlWDg2T3AoInhvciN7eDg2U3VmZml4
KDpxdWFkKX0iLCA6cXVhZCkKICAgICAgICAgd2hlbiAibG9hZGkiLCAic3RvcmVpIgogICAgICAg
ICAgICAgJGFzbS5wdXRzICJtb3ZsICN7eDg2T3BlcmFuZHMoOmludCwgOmludCl9IgogICAgICAg
ICB3aGVuICJsb2FkaXMiCiAgICAgICAgICAgICBpZiBpc1g2NAotICAgICAgICAgICAgICAgICRh
c20ucHV0cyAibW92c2xxICN7eDg2T3BlcmFuZHMoOmludCwgOnB0cil9IgorICAgICAgICAgICAg
ICAgICRhc20ucHV0cyAibW92c2xxICN7eDg2T3BlcmFuZHMoOmludCwgOnF1YWQpfSIKICAgICAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdmwgI3t4ODZPcGVyYW5k
cyg6aW50LCA6aW50KX0iCiAgICAgICAgICAgICBlbmQKICAgICAgICAgd2hlbiAibG9hZHAiLCAi
c3RvcmVwIgogICAgICAgICAgICAgJGFzbS5wdXRzICJtb3Yje3g4NlN1ZmZpeCg6cHRyKX0gI3t4
ODZPcGVyYW5kcyg6cHRyLCA6cHRyKX0iCisgICAgICAgIHdoZW4gImxvYWRxIiwgInN0b3JlcSIK
KyAgICAgICAgICAgICRhc20ucHV0cyAibW92I3t4ODZTdWZmaXgoOnF1YWQpfSAje3g4Nk9wZXJh
bmRzKDpxdWFkLCA6cXVhZCl9IgogICAgICAgICB3aGVuICJsb2FkYiIKICAgICAgICAgICAgICRh
c20ucHV0cyAibW92emJsICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6Ynl0ZSl9LCAje29wZXJh
bmRzWzFdLng4Nk9wZXJhbmQoOmludCl9IgogICAgICAgICB3aGVuICJsb2FkYnMiCkBAIC03NTYs
MTQgKzg3MSwxNCBAQCBjbGFzcyBJbnN0cnVjdGlvbgogICAgICAgICB3aGVuICJtb3ZkeiIKICAg
ICAgICAgICAgICRhc20ucHV0cyAieG9ycGQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3Vi
bGUpfSwgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKICAgICAgICAgd2hlbiAi
cG9wIgotICAgICAgICAgICAgJGFzbS5wdXRzICJwb3AgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5k
KDpwdHIpfSIKKyAgICAgICAgICAgICRhc20ucHV0cyAicG9wICN7b3BlcmFuZHNbMF0ueDg2UHVz
aE9wZXJhbmQoOnB0cil9IgogICAgICAgICB3aGVuICJwdXNoIgotICAgICAgICAgICAgJGFzbS5w
dXRzICJwdXNoICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cHRyKX0iCisgICAgICAgICAgICAk
YXNtLnB1dHMgInB1c2ggI3tvcGVyYW5kc1swXS54ODZQdXNoT3BlcmFuZCg6cHRyKX0iCiAgICAg
ICAgIHdoZW4gIm1vdmUiCiAgICAgICAgICAgICBoYW5kbGVNb3ZlCiAgICAgICAgIHdoZW4gInN4
aTJwIgogICAgICAgICAgICAgaWYgaXNYNjQKLSAgICAgICAgICAgICAgICAkYXNtLnB1dHMgIm1v
dnNscSAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmludCl9LCAje29wZXJhbmRzWzFdLng4Nk9w
ZXJhbmQoOnB0cil9IgorICAgICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2xxICN7b3BlcmFu
ZHNbMF0ueDg2T3BlcmFuZCg6aW50KX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cXVhZCl9
IgogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIGhhbmRsZU1vdmUKICAgICAgICAg
ICAgIGVuZApAQCAtNzc5LDQyICs4OTQsNjIgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAg
ICAgIGhhbmRsZVg4NkludEJyYW5jaCgiamUiLCA6aW50KQogICAgICAgICB3aGVuICJicGVxIgog
ICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqZSIsIDpwdHIpCisgICAgICAgIHdoZW4g
ImJxZXEiCisgICAgICAgICAgICBoYW5kbGVYODZJbnRCcmFuY2goImplIiwgOnF1YWQpCiAgICAg
ICAgIHdoZW4gImJpbmVxIgogICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqbmUiLCA6
aW50KQogICAgICAgICB3aGVuICJicG5lcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludEJyYW5j
aCgiam5lIiwgOnB0cikKKyAgICAgICAgd2hlbiAiYnFuZXEiCisgICAgICAgICAgICBoYW5kbGVY
ODZJbnRCcmFuY2goImpuZSIsIDpxdWFkKQogICAgICAgICB3aGVuICJiaWEiCiAgICAgICAgICAg
ICBoYW5kbGVYODZJbnRCcmFuY2goImphIiwgOmludCkKICAgICAgICAgd2hlbiAiYnBhIgogICAg
ICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqYSIsIDpwdHIpCisgICAgICAgIHdoZW4gImJx
YSIKKyAgICAgICAgICAgIGhhbmRsZVg4NkludEJyYW5jaCgiamEiLCA6cXVhZCkKICAgICAgICAg
d2hlbiAiYmlhZXEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRCcmFuY2goImphZSIsIDppbnQp
CiAgICAgICAgIHdoZW4gImJwYWVxIgogICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJq
YWUiLCA6cHRyKQorICAgICAgICB3aGVuICJicWFlcSIKKyAgICAgICAgICAgIGhhbmRsZVg4Nklu
dEJyYW5jaCgiamFlIiwgOnF1YWQpCiAgICAgICAgIHdoZW4gImJpYiIKICAgICAgICAgICAgIGhh
bmRsZVg4NkludEJyYW5jaCgiamIiLCA6aW50KQogICAgICAgICB3aGVuICJicGIiCiAgICAgICAg
ICAgICBoYW5kbGVYODZJbnRCcmFuY2goImpiIiwgOnB0cikKKyAgICAgICAgd2hlbiAiYnFiIgor
ICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqYiIsIDpxdWFkKQogICAgICAgICB3aGVu
ICJiaWJlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludEJyYW5jaCgiamJlIiwgOmludCkKICAg
ICAgICAgd2hlbiAiYnBiZXEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRCcmFuY2goImpiZSIs
IDpwdHIpCisgICAgICAgIHdoZW4gImJxYmVxIgorICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJh
bmNoKCJqYmUiLCA6cXVhZCkKICAgICAgICAgd2hlbiAiYmlndCIKICAgICAgICAgICAgIGhhbmRs
ZVg4NkludEJyYW5jaCgiamciLCA6aW50KQogICAgICAgICB3aGVuICJicGd0IgogICAgICAgICAg
ICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqZyIsIDpwdHIpCisgICAgICAgIHdoZW4gImJxZ3QiCisg
ICAgICAgICAgICBoYW5kbGVYODZJbnRCcmFuY2goImpnIiwgOnF1YWQpCiAgICAgICAgIHdoZW4g
ImJpZ3RlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludEJyYW5jaCgiamdlIiwgOmludCkKICAg
ICAgICAgd2hlbiAiYnBndGVxIgogICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqZ2Ui
LCA6cHRyKQorICAgICAgICB3aGVuICJicWd0ZXEiCisgICAgICAgICAgICBoYW5kbGVYODZJbnRC
cmFuY2goImpnZSIsIDpxdWFkKQogICAgICAgICB3aGVuICJiaWx0IgogICAgICAgICAgICAgaGFu
ZGxlWDg2SW50QnJhbmNoKCJqbCIsIDppbnQpCiAgICAgICAgIHdoZW4gImJwbHQiCiAgICAgICAg
ICAgICBoYW5kbGVYODZJbnRCcmFuY2goImpsIiwgOnB0cikKKyAgICAgICAgd2hlbiAiYnFsdCIK
KyAgICAgICAgICAgIGhhbmRsZVg4NkludEJyYW5jaCgiamwiLCA6cXVhZCkKICAgICAgICAgd2hl
biAiYmlsdGVxIgogICAgICAgICAgICAgaGFuZGxlWDg2SW50QnJhbmNoKCJqbGUiLCA6aW50KQog
ICAgICAgICB3aGVuICJicGx0ZXEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRCcmFuY2goImps
ZSIsIDpwdHIpCisgICAgICAgIHdoZW4gImJxbHRlcSIKKyAgICAgICAgICAgIGhhbmRsZVg4Nklu
dEJyYW5jaCgiamxlIiwgOnF1YWQpCiAgICAgICAgIHdoZW4gImJiZXEiCiAgICAgICAgICAgICBo
YW5kbGVYODZJbnRCcmFuY2goImplIiwgOmJ5dGUpCiAgICAgICAgIHdoZW4gImJibmVxIgpAQCAt
ODM5LDE0ICs5NzQsMjAgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgIGhhbmRsZVg4
NkJyYW5jaFRlc3QoImpzIiwgOmludCkKICAgICAgICAgd2hlbiAiYnRwcyIKICAgICAgICAgICAg
IGhhbmRsZVg4NkJyYW5jaFRlc3QoImpzIiwgOnB0cikKKyAgICAgICAgd2hlbiAiYnRxcyIKKyAg
ICAgICAgICAgIGhhbmRsZVg4NkJyYW5jaFRlc3QoImpzIiwgOnF1YWQpCiAgICAgICAgIHdoZW4g
ImJ0aXoiCiAgICAgICAgICAgICBoYW5kbGVYODZCcmFuY2hUZXN0KCJqeiIsIDppbnQpCiAgICAg
ICAgIHdoZW4gImJ0cHoiCiAgICAgICAgICAgICBoYW5kbGVYODZCcmFuY2hUZXN0KCJqeiIsIDpw
dHIpCisgICAgICAgIHdoZW4gImJ0cXoiCisgICAgICAgICAgICBoYW5kbGVYODZCcmFuY2hUZXN0
KCJqeiIsIDpxdWFkKQogICAgICAgICB3aGVuICJidGlueiIKICAgICAgICAgICAgIGhhbmRsZVg4
NkJyYW5jaFRlc3QoImpueiIsIDppbnQpCiAgICAgICAgIHdoZW4gImJ0cG56IgogICAgICAgICAg
ICAgaGFuZGxlWDg2QnJhbmNoVGVzdCgiam56IiwgOnB0cikKKyAgICAgICAgd2hlbiAiYnRxbnoi
CisgICAgICAgICAgICBoYW5kbGVYODZCcmFuY2hUZXN0KCJqbnoiLCA6cXVhZCkKICAgICAgICAg
d2hlbiAiYnRicyIKICAgICAgICAgICAgIGhhbmRsZVg4NkJyYW5jaFRlc3QoImpzIiwgOmJ5dGUp
CiAgICAgICAgIHdoZW4gImJ0YnoiCkBAIC04NTQsMjMgKzk5NSwzMiBAQCBjbGFzcyBJbnN0cnVj
dGlvbgogICAgICAgICB3aGVuICJidGJueiIKICAgICAgICAgICAgIGhhbmRsZVg4NkJyYW5jaFRl
c3QoImpueiIsIDpieXRlKQogICAgICAgICB3aGVuICJqbXAiCi0gICAgICAgICAgICAkYXNtLnB1
dHMgImptcCAje29wZXJhbmRzWzBdLng4NkNhbGxPcGVyYW5kKDpwdHIpfSIKKyAgICAgICAgICAg
ICMgJGFzbS5wdXRzICJqbXAgI3tvcGVyYW5kc1swXS54ODZDYWxsT3BlcmFuZCg6cHRyKX0iCisg
ICAgICAgICAgICBoYW5kbGVYODZKdW1wKCJqbXAiLCA6cHRyKQogICAgICAgICB3aGVuICJiYWRk
aW8iCiAgICAgICAgICAgICBoYW5kbGVYODZPcEJyYW5jaCgiYWRkbCIsICJqbyIsIDppbnQpCiAg
ICAgICAgIHdoZW4gImJhZGRwbyIKICAgICAgICAgICAgIGhhbmRsZVg4Nk9wQnJhbmNoKCJhZGQj
e3g4NlN1ZmZpeCg6cHRyKX0iLCAiam8iLCA6cHRyKQorICAgICAgICB3aGVuICJiYWRkcW8iCisg
ICAgICAgICAgICBoYW5kbGVYODZPcEJyYW5jaCgiYWRkI3t4ODZTdWZmaXgoOnF1YWQpfSIsICJq
byIsIDpxdWFkKQogICAgICAgICB3aGVuICJiYWRkaXMiCiAgICAgICAgICAgICBoYW5kbGVYODZP
cEJyYW5jaCgiYWRkbCIsICJqcyIsIDppbnQpCiAgICAgICAgIHdoZW4gImJhZGRwcyIKICAgICAg
ICAgICAgIGhhbmRsZVg4Nk9wQnJhbmNoKCJhZGQje3g4NlN1ZmZpeCg6cHRyKX0iLCAianMiLCA6
cHRyKQorICAgICAgICB3aGVuICJiYWRkcXMiCisgICAgICAgICAgICBoYW5kbGVYODZPcEJyYW5j
aCgiYWRkI3t4ODZTdWZmaXgoOnF1YWQpfSIsICJqcyIsIDpxdWFkKQogICAgICAgICB3aGVuICJi
YWRkaXoiCiAgICAgICAgICAgICBoYW5kbGVYODZPcEJyYW5jaCgiYWRkbCIsICJqeiIsIDppbnQp
CiAgICAgICAgIHdoZW4gImJhZGRweiIKICAgICAgICAgICAgIGhhbmRsZVg4Nk9wQnJhbmNoKCJh
ZGQje3g4NlN1ZmZpeCg6cHRyKX0iLCAianoiLCA6cHRyKQorICAgICAgICB3aGVuICJiYWRkcXoi
CisgICAgICAgICAgICBoYW5kbGVYODZPcEJyYW5jaCgiYWRkI3t4ODZTdWZmaXgoOnF1YWQpfSIs
ICJqeiIsIDpxdWFkKQogICAgICAgICB3aGVuICJiYWRkaW56IgogICAgICAgICAgICAgaGFuZGxl
WDg2T3BCcmFuY2goImFkZGwiLCAiam56IiwgOmludCkKICAgICAgICAgd2hlbiAiYmFkZHBueiIK
ICAgICAgICAgICAgIGhhbmRsZVg4Nk9wQnJhbmNoKCJhZGQje3g4NlN1ZmZpeCg6cHRyKX0iLCAi
am56IiwgOnB0cikKKyAgICAgICAgd2hlbiAiYmFkZHFueiIKKyAgICAgICAgICAgIGhhbmRsZVg4
Nk9wQnJhbmNoKCJhZGQje3g4NlN1ZmZpeCg6cXVhZCl9IiwgImpueiIsIDpxdWFkKQogICAgICAg
ICB3aGVuICJic3ViaW8iCiAgICAgICAgICAgICBoYW5kbGVYODZTdWJCcmFuY2goImpvIiwgOmlu
dCkKICAgICAgICAgd2hlbiAiYnN1YmlzIgpAQCAtODk4LDcgKzEwNDgsOCBAQCBjbGFzcyBJbnN0
cnVjdGlvbgogICAgICAgICB3aGVuICJicmVhayIKICAgICAgICAgICAgICRhc20ucHV0cyAiaW50
ICQzIgogICAgICAgICB3aGVuICJjYWxsIgotICAgICAgICAgICAgJGFzbS5wdXRzICJjYWxsICN7
b3BlcmFuZHNbMF0ueDg2Q2FsbE9wZXJhbmQoOnB0cil9IgorICAgICAgICAgICAgIyAkYXNtLnB1
dHMgImNhbGwgI3tvcGVyYW5kc1swXS54ODZDYWxsT3BlcmFuZCg6cHRyKX0iCisgICAgICAgICAg
ICBoYW5kbGVYODZKdW1wKCJjYWxsIiwgOnB0cikKICAgICAgICAgd2hlbiAicmV0IgogICAgICAg
ICAgICAgJGFzbS5wdXRzICJyZXQiCiAgICAgICAgIHdoZW4gImNpZXEiCkBAIC05MDcsNjAgKzEw
NTgsODAgQEAgY2xhc3MgSW5zdHJ1Y3Rpb24KICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBh
cmVTZXQoInNldGUiLCA6Ynl0ZSkKICAgICAgICAgd2hlbiAiY3BlcSIKICAgICAgICAgICAgIGhh
bmRsZVg4NkludENvbXBhcmVTZXQoInNldGUiLCA6cHRyKQorICAgICAgICB3aGVuICJjcWVxIgor
ICAgICAgICAgICAgaGFuZGxlWDg2SW50Q29tcGFyZVNldCgic2V0ZSIsIDpxdWFkKQogICAgICAg
ICB3aGVuICJjaW5lcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldG5l
IiwgOmludCkKICAgICAgICAgd2hlbiAiY2JuZXEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRD
b21wYXJlU2V0KCJzZXRuZSIsIDpieXRlKQogICAgICAgICB3aGVuICJjcG5lcSIKICAgICAgICAg
ICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldG5lIiwgOnB0cikKKyAgICAgICAgd2hlbiAi
Y3FuZXEiCisgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRuZSIsIDpxdWFk
KQogICAgICAgICB3aGVuICJjaWEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0
KCJzZXRhIiwgOmludCkKICAgICAgICAgd2hlbiAiY2JhIgogICAgICAgICAgICAgaGFuZGxlWDg2
SW50Q29tcGFyZVNldCgic2V0YSIsIDpieXRlKQogICAgICAgICB3aGVuICJjcGEiCiAgICAgICAg
ICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRhIiwgOnB0cikKKyAgICAgICAgd2hlbiAi
Y3FhIgorICAgICAgICAgICAgaGFuZGxlWDg2SW50Q29tcGFyZVNldCgic2V0YSIsIDpxdWFkKQog
ICAgICAgICB3aGVuICJjaWFlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQo
InNldGFlIiwgOmludCkKICAgICAgICAgd2hlbiAiY2JhZXEiCiAgICAgICAgICAgICBoYW5kbGVY
ODZJbnRDb21wYXJlU2V0KCJzZXRhZSIsIDpieXRlKQogICAgICAgICB3aGVuICJjcGFlcSIKICAg
ICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldGFlIiwgOnB0cikKKyAgICAgICAg
d2hlbiAiY3FhZXEiCisgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRhZSIs
IDpxdWFkKQogICAgICAgICB3aGVuICJjaWIiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21w
YXJlU2V0KCJzZXRiIiwgOmludCkKICAgICAgICAgd2hlbiAiY2JiIgogICAgICAgICAgICAgaGFu
ZGxlWDg2SW50Q29tcGFyZVNldCgic2V0YiIsIDpieXRlKQogICAgICAgICB3aGVuICJjcGIiCiAg
ICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRiIiwgOnB0cikKKyAgICAgICAg
d2hlbiAiY3FiIgorICAgICAgICAgICAgaGFuZGxlWDg2SW50Q29tcGFyZVNldCgic2V0YiIsIDpx
dWFkKQogICAgICAgICB3aGVuICJjaWJlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBh
cmVTZXQoInNldGJlIiwgOmludCkKICAgICAgICAgd2hlbiAiY2JiZXEiCiAgICAgICAgICAgICBo
YW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRiZSIsIDpieXRlKQogICAgICAgICB3aGVuICJjcGJl
cSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldGJlIiwgOnB0cikKKyAg
ICAgICAgd2hlbiAiY3FiZXEiCisgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJz
ZXRiZSIsIDpxdWFkKQogICAgICAgICB3aGVuICJjaWd0IgogICAgICAgICAgICAgaGFuZGxlWDg2
SW50Q29tcGFyZVNldCgic2V0ZyIsIDppbnQpCiAgICAgICAgIHdoZW4gImNiZ3QiCiAgICAgICAg
ICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRnIiwgOmJ5dGUpCiAgICAgICAgIHdoZW4g
ImNwZ3QiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRnIiwgOnB0cikK
KyAgICAgICAgd2hlbiAiY3FndCIKKyAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQo
InNldGciLCA6cXVhZCkKICAgICAgICAgd2hlbiAiY2lndGVxIgogICAgICAgICAgICAgaGFuZGxl
WDg2SW50Q29tcGFyZVNldCgic2V0Z2UiLCA6aW50KQogICAgICAgICB3aGVuICJjYmd0ZXEiCiAg
ICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRnZSIsIDpieXRlKQogICAgICAg
ICB3aGVuICJjcGd0ZXEiCiAgICAgICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRn
ZSIsIDpwdHIpCisgICAgICAgIHdoZW4gImNxZ3RlcSIKKyAgICAgICAgICAgIGhhbmRsZVg4Nklu
dENvbXBhcmVTZXQoInNldGdlIiwgOnF1YWQpCiAgICAgICAgIHdoZW4gImNpbHQiCiAgICAgICAg
ICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRsIiwgOmludCkKICAgICAgICAgd2hlbiAi
Y2JsdCIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldGwiLCA6Ynl0ZSkK
ICAgICAgICAgd2hlbiAiY3BsdCIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQo
InNldGwiLCA6cHRyKQorICAgICAgICB3aGVuICJjcWx0IgorICAgICAgICAgICAgaGFuZGxlWDg2
SW50Q29tcGFyZVNldCgic2V0bCIsIDpxdWFkKQogICAgICAgICB3aGVuICJjaWx0ZXEiCiAgICAg
ICAgICAgICBoYW5kbGVYODZJbnRDb21wYXJlU2V0KCJzZXRsZSIsIDppbnQpCiAgICAgICAgIHdo
ZW4gImNibHRlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENvbXBhcmVTZXQoInNldGxlIiwg
OmJ5dGUpCiAgICAgICAgIHdoZW4gImNwbHRlcSIKICAgICAgICAgICAgIGhhbmRsZVg4NkludENv
bXBhcmVTZXQoInNldGxlIiwgOnB0cikKKyAgICAgICAgd2hlbiAiY3FsdGVxIgorICAgICAgICAg
ICAgaGFuZGxlWDg2SW50Q29tcGFyZVNldCgic2V0bGUiLCA6cXVhZCkKICAgICAgICAgd2hlbiAi
dGlzIgogICAgICAgICAgICAgaGFuZGxlWDg2U2V0VGVzdCgic2V0cyIsIDppbnQpCiAgICAgICAg
IHdoZW4gInRpeiIKQEAgLTk3Myw2ICsxMTQ0LDEyIEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAg
ICAgICAgICBoYW5kbGVYODZTZXRUZXN0KCJzZXR6IiwgOnB0cikKICAgICAgICAgd2hlbiAidHBu
eiIKICAgICAgICAgICAgIGhhbmRsZVg4NlNldFRlc3QoInNldG56IiwgOnB0cikKKyAgICAgICAg
d2hlbiAidHFzIgorICAgICAgICAgICAgaGFuZGxlWDg2U2V0VGVzdCgic2V0cyIsIDpxdWFkKQor
ICAgICAgICB3aGVuICJ0cXoiCisgICAgICAgICAgICBoYW5kbGVYODZTZXRUZXN0KCJzZXR6Iiwg
OnF1YWQpCisgICAgICAgIHdoZW4gInRxbnoiCisgICAgICAgICAgICBoYW5kbGVYODZTZXRUZXN0
KCJzZXRueiIsIDpxdWFkKQogICAgICAgICB3aGVuICJ0YnMiCiAgICAgICAgICAgICBoYW5kbGVY
ODZTZXRUZXN0KCJzZXRzIiwgOmJ5dGUpCiAgICAgICAgIHdoZW4gInRieiIKQEAgLTk4Miw5ICsx
MTU5LDE1IEBAIGNsYXNzIEluc3RydWN0aW9uCiAgICAgICAgIHdoZW4gInBlZWsiCiAgICAgICAg
ICAgICBzcCA9IFJlZ2lzdGVySUQubmV3KG5pbCwgInNwIikKICAgICAgICAgICAgICRhc20ucHV0
cyAibW92I3t4ODZTdWZmaXgoOnB0cil9ICN7b3BlcmFuZHNbMF0udmFsdWUgKiB4ODZCeXRlcyg6
cHRyKX0oI3tzcC54ODZPcGVyYW5kKDpwdHIpfSksICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6
cHRyKX0iCisgICAgICAgIHdoZW4gInBlZWtxIgorICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklE
Lm5ldyhuaWwsICJzcCIpCisgICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDpx
dWFkKX0gI3tvcGVyYW5kc1swXS52YWx1ZSAqIHg4NkJ5dGVzKDpxdWFkKX0oI3tzcC54ODZPcGVy
YW5kKDpwdHIpfSksICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cXVhZCl9IgogICAgICAgICB3
aGVuICJwb2tlIgogICAgICAgICAgICAgc3AgPSBSZWdpc3RlcklELm5ldyhuaWwsICJzcCIpCiAg
ICAgICAgICAgICAkYXNtLnB1dHMgIm1vdiN7eDg2U3VmZml4KDpwdHIpfSAje29wZXJhbmRzWzBd
Lng4Nk9wZXJhbmQoOnB0cil9LCAje29wZXJhbmRzWzFdLnZhbHVlICogeDg2Qnl0ZXMoOnB0cil9
KCN7c3AueDg2T3BlcmFuZCg6cHRyKX0pIgorICAgICAgICB3aGVuICJwb2tlcSIKKyAgICAgICAg
ICAgIHNwID0gUmVnaXN0ZXJJRC5uZXcobmlsLCAic3AiKQorICAgICAgICAgICAgJGFzbS5wdXRz
ICJtb3Yje3g4NlN1ZmZpeCg6cXVhZCl9ICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9
LCAje29wZXJhbmRzWzFdLnZhbHVlICogeDg2Qnl0ZXMoOnF1YWQpfSgje3NwLng4Nk9wZXJhbmQo
OnB0cil9KSIKICAgICAgICAgd2hlbiAiY2RxaSIKICAgICAgICAgICAgICRhc20ucHV0cyAiY2Rx
IgogICAgICAgICB3aGVuICJpZGl2aSIKQEAgLTk5OSwxMCArMTE4MiwxMCBAQCBjbGFzcyBJbnN0
cnVjdGlvbgogICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZzZCAje29wZXJhbmRzWzBdLng4Nk9w
ZXJhbmQoOmRvdWJsZSl9LCAleG1tNyIKICAgICAgICAgICAgICRhc20ucHV0cyAicHNybHEgJDMy
LCAleG1tNyIKICAgICAgICAgICAgICRhc20ucHV0cyAibW92c2QgJXhtbTcsICN7b3BlcmFuZHNb
Ml0ueDg2T3BlcmFuZCg6aW50KX0iCi0gICAgICAgIHdoZW4gImZwMmQiCi0gICAgICAgICAgICAk
YXNtLnB1dHMgIm1vdmQgI3tvcGVyYW5kc1swXS54ODZPcGVyYW5kKDpwdHIpfSwgI3tvcGVyYW5k
c1sxXS54ODZPcGVyYW5kKDpkb3VibGUpfSIKLSAgICAgICAgd2hlbiAiZmQycCIKLSAgICAgICAg
ICAgICRhc20ucHV0cyAibW92ZCAje29wZXJhbmRzWzBdLng4Nk9wZXJhbmQoOmRvdWJsZSl9LCAj
e29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOnB0cil9IgorICAgICAgICB3aGVuICJmcTJkIgorICAg
ICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6cXVhZCl9
LCAje29wZXJhbmRzWzFdLng4Nk9wZXJhbmQoOmRvdWJsZSl9IgorICAgICAgICB3aGVuICJmZDJx
IgorICAgICAgICAgICAgJGFzbS5wdXRzICJtb3ZkICN7b3BlcmFuZHNbMF0ueDg2T3BlcmFuZCg6
ZG91YmxlKX0sICN7b3BlcmFuZHNbMV0ueDg2T3BlcmFuZCg6cXVhZCl9IgogICAgICAgICB3aGVu
ICJibyIKICAgICAgICAgICAgICRhc20ucHV0cyAiam8gI3tvcGVyYW5kc1swXS5hc21MYWJlbH0i
CiAgICAgICAgIHdoZW4gImJzIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>