<?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>153640</bug_id>
          
          <creation_ts>2016-01-28 21:42:04 -0800</creation_ts>
          <short_desc>Shrink CodeBlock!</short_desc>
          <delta_ts>2016-01-29 12:38:03 -0800</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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kling</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1160016</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-28 21:42:04 -0800</bug_when>
    <thetext>Let&apos;s do some &quot;MEMBER RESHUFFLING&quot; to save memory here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160017</commentid>
    <comment_count>1</comment_count>
      <attachid>270181</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-28 21:46:43 -0800</bug_when>
    <thetext>Created attachment 270181
Patch for EWS

This patch knocks 104 bytes off of CodeBlock (Ha!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160018</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-28 21:47:37 -0800</bug_when>
    <thetext>Attachment 270181 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1813:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1818:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1819:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1820:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1821:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 5 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160174</commentid>
    <comment_count>3</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-01-29 11:09:39 -0800</bug_when>
    <thetext>nice.
r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160183</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-29 11:19:55 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; nice.
&gt; r=me

v.nice
let me shuffle the bitfields around a little more and save 8 additional bytes :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160188</commentid>
    <comment_count>5</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-01-29 11:27:30 -0800</bug_when>
    <thetext>sweet. I&apos;m going to start investigating getting rid of a few fields.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160192</commentid>
    <comment_count>6</comment_count>
      <attachid>270229</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2016-01-29 11:34:18 -0800</bug_when>
    <thetext>Created attachment 270229
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160194</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-29 11:36:16 -0800</bug_when>
    <thetext>Attachment 270229 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1814:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1818:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1819:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1820:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1821:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 5 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160230</commentid>
    <comment_count>8</comment_count>
      <attachid>270229</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-29 12:38:00 -0800</bug_when>
    <thetext>Comment on attachment 270229
Patch for landing

Clearing flags on attachment: 270229

Committed r195836: &lt;http://trac.webkit.org/changeset/195836&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1160231</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-29 12:38:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270181</attachid>
            <date>2016-01-28 21:46:43 -0800</date>
            <delta_ts>2016-01-29 11:34:18 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>ews-153640.diff</filename>
            <type>text/plain</type>
            <size>17279</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3Bw
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKaW5kZXggNTkw
NWU5MS4uZGM1MmZiYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2Rl
L0NvZGVCbG9jay5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5jcHAKQEAgLTE3NDAsMTMgKzE3NDAsMTggQEAgcHJpdmF0ZToKIENvZGVCbG9jazo6Q29k
ZUJsb2NrKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIENvcHlQYXJzZWRCbG9ja1RhZywg
Q29kZUJsb2NrJiBvdGhlcikKICAgICA6IEpTQ2VsbCgqdm0sIHN0cnVjdHVyZSkKICAgICAsIG1f
Z2xvYmFsT2JqZWN0KG90aGVyLm1fZ2xvYmFsT2JqZWN0KQotICAgICwgbV9oZWFwKG90aGVyLm1f
aGVhcCkKICAgICAsIG1fbnVtQ2FsbGVlTG9jYWxzKG90aGVyLm1fbnVtQ2FsbGVlTG9jYWxzKQog
ICAgICwgbV9udW1WYXJzKG90aGVyLm1fbnVtVmFycykKLSAgICAsIG1faXNDb25zdHJ1Y3Rvcihv
dGhlci5tX2lzQ29uc3RydWN0b3IpCisjaWYgRU5BQkxFKEpJVCkKKyAgICAsIG1fY2FwYWJpbGl0
eUxldmVsU3RhdGUoREZHOjpDYXBhYmlsaXR5TGV2ZWxOb3RTZXQpCisjZW5kaWYKICAgICAsIG1f
c2hvdWxkQWx3YXlzQmVJbmxpbmVkKHRydWUpCiAgICAgLCBtX2RpZEZhaWxGVExDb21waWxhdGlv
bihmYWxzZSkKICAgICAsIG1faGFzQmVlbkNvbXBpbGVkV2l0aEZUTChmYWxzZSkKKyAgICAsIG1f
aXNDb25zdHJ1Y3RvcihvdGhlci5tX2lzQ29uc3RydWN0b3IpCisgICAgLCBtX2lzU3RyaWN0TW9k
ZShvdGhlci5tX2lzU3RyaWN0TW9kZSkKKyAgICAsIG1fbmVlZHNBY3RpdmF0aW9uKG90aGVyLm1f
bmVlZHNBY3RpdmF0aW9uKQorICAgICwgbV9jb2RlVHlwZShvdGhlci5tX2NvZGVUeXBlKQogICAg
ICwgbV91bmxpbmtlZENvZGUoKm90aGVyLm1fdm0sIHRoaXMsIG90aGVyLm1fdW5saW5rZWRDb2Rl
LmdldCgpKQogICAgICwgbV9oYXNEZWJ1Z2dlclN0YXRlbWVudChmYWxzZSkKICAgICAsIG1fc3Rl
cHBpbmdNb2RlKFN0ZXBwaW5nTW9kZURpc2FibGVkKQpAQCAtMTc1NywxMiArMTc2MiwxMCBAQCBD
b2RlQmxvY2s6OkNvZGVCbG9jayhWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBDb3B5UGFy
c2VkQmxvY2tUYWcsIENvZGVCbG9jawogICAgICwgbV90aGlzUmVnaXN0ZXIob3RoZXIubV90aGlz
UmVnaXN0ZXIpCiAgICAgLCBtX3Njb3BlUmVnaXN0ZXIob3RoZXIubV9zY29wZVJlZ2lzdGVyKQog
ICAgICwgbV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlcihvdGhlci5tX2xleGljYWxFbnZpcm9u
bWVudFJlZ2lzdGVyKQotICAgICwgbV9pc1N0cmljdE1vZGUob3RoZXIubV9pc1N0cmljdE1vZGUp
Ci0gICAgLCBtX25lZWRzQWN0aXZhdGlvbihvdGhlci5tX25lZWRzQWN0aXZhdGlvbikKKyAgICAs
IG1faGFzaChvdGhlci5tX2hhc2gpCiAgICAgLCBtX3NvdXJjZShvdGhlci5tX3NvdXJjZSkKICAg
ICAsIG1fc291cmNlT2Zmc2V0KG90aGVyLm1fc291cmNlT2Zmc2V0KQogICAgICwgbV9maXJzdExp
bmVDb2x1bW5PZmZzZXQob3RoZXIubV9maXJzdExpbmVDb2x1bW5PZmZzZXQpCi0gICAgLCBtX2Nv
ZGVUeXBlKG90aGVyLm1fY29kZVR5cGUpCiAgICAgLCBtX2NvbnN0YW50UmVnaXN0ZXJzKG90aGVy
Lm1fY29uc3RhbnRSZWdpc3RlcnMpCiAgICAgLCBtX2NvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNl
bnRhdGlvbihvdGhlci5tX2NvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbikKICAgICAs
IG1fZnVuY3Rpb25EZWNscyhvdGhlci5tX2Z1bmN0aW9uRGVjbHMpCkBAIC0xNzcxLDE0ICsxNzc0
LDEwIEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFZNKiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUs
IENvcHlQYXJzZWRCbG9ja1RhZywgQ29kZUJsb2NrCiAgICAgLCBtX29wdGltaXphdGlvbkRlbGF5
Q291bnRlcigwKQogICAgICwgbV9yZW9wdGltaXphdGlvblJldHJ5Q291bnRlcigwKQogICAgICwg
bV9jcmVhdGlvblRpbWUoc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCi0gICAgLCBt
X2hhc2gob3RoZXIubV9oYXNoKQotI2lmIEVOQUJMRShKSVQpCi0gICAgLCBtX2NhcGFiaWxpdHlM
ZXZlbFN0YXRlKERGRzo6Q2FwYWJpbGl0eUxldmVsTm90U2V0KQotI2VuZGlmCiB7CiAgICAgbV92
aXNpdFdlYWtseUhhc0JlZW5DYWxsZWQuc3RvcmUoZmFsc2UsIHN0ZDo6bWVtb3J5X29yZGVyX3Jl
bGF4ZWQpOwogCi0gICAgQVNTRVJUKG1faGVhcC0+aXNEZWZlcnJlZCgpKTsKKyAgICBBU1NFUlQo
aGVhcCgpLT5pc0RlZmVycmVkKCkpOwogICAgIEFTU0VSVChtX3Njb3BlUmVnaXN0ZXIuaXNMb2Nh
bCgpKTsKIAogICAgIHNldE51bVBhcmFtZXRlcnMob3RoZXIubnVtUGFyYW1ldGVycygpKTsKQEAg
LTE4MDEsMjAgKzE4MDAsMjUgQEAgdm9pZCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgQ29weVBhcnNlZEJsb2NrVGFnLCBDb2RlQmxvY2smIG90aGVyKQogICAgICAgICBtX3JhcmVE
YXRhLT5tX2xpdmVDYWxsZWVMb2NhbHNBdFlpZWxkID0gb3RoZXIubV9yYXJlRGF0YS0+bV9saXZl
Q2FsbGVlTG9jYWxzQXRZaWVsZDsKICAgICB9CiAgICAgCi0gICAgbV9oZWFwLT5tX2NvZGVCbG9j
a3MuYWRkKHRoaXMpOworICAgIGhlYXAoKS0+bV9jb2RlQmxvY2tzLmFkZCh0aGlzKTsKIH0KIAog
Q29kZUJsb2NrOjpDb2RlQmxvY2soVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgU2NyaXB0
RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmtlZENvZGVCbG9jayogdW5saW5rZWRD
b2RlQmxvY2ssCiAgICAgSlNTY29wZSogc2NvcGUsIFBhc3NSZWZQdHI8U291cmNlUHJvdmlkZXI+
IHNvdXJjZVByb3ZpZGVyLCB1bnNpZ25lZCBzb3VyY2VPZmZzZXQsIHVuc2lnbmVkIGZpcnN0TGlu
ZUNvbHVtbk9mZnNldCkKICAgICA6IEpTQ2VsbCgqdm0sIHN0cnVjdHVyZSkKICAgICAsIG1fZ2xv
YmFsT2JqZWN0KHNjb3BlLT5nbG9iYWxPYmplY3QoKS0+dm0oKSwgdGhpcywgc2NvcGUtPmdsb2Jh
bE9iamVjdCgpKQotICAgICwgbV9oZWFwKCZtX2dsb2JhbE9iamVjdC0+dm0oKS5oZWFwKQogICAg
ICwgbV9udW1DYWxsZWVMb2NhbHModW5saW5rZWRDb2RlQmxvY2stPm1fbnVtQ2FsbGVlTG9jYWxz
KQogICAgICwgbV9udW1WYXJzKHVubGlua2VkQ29kZUJsb2NrLT5tX251bVZhcnMpCi0gICAgLCBt
X2lzQ29uc3RydWN0b3IodW5saW5rZWRDb2RlQmxvY2stPmlzQ29uc3RydWN0b3IoKSkKKyNpZiBF
TkFCTEUoSklUKQorICAgICwgbV9jYXBhYmlsaXR5TGV2ZWxTdGF0ZShERkc6OkNhcGFiaWxpdHlM
ZXZlbE5vdFNldCkKKyNlbmRpZgogICAgICwgbV9zaG91bGRBbHdheXNCZUlubGluZWQodHJ1ZSkK
ICAgICAsIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uKGZhbHNlKQogICAgICwgbV9oYXNCZWVuQ29t
cGlsZWRXaXRoRlRMKGZhbHNlKQorICAgICwgbV9pc0NvbnN0cnVjdG9yKHVubGlua2VkQ29kZUJs
b2NrLT5pc0NvbnN0cnVjdG9yKCkpCisgICAgLCBtX2lzU3RyaWN0TW9kZSh1bmxpbmtlZENvZGVC
bG9jay0+aXNTdHJpY3RNb2RlKCkpCisgICAgLCBtX25lZWRzQWN0aXZhdGlvbih1bmxpbmtlZENv
ZGVCbG9jay0+aGFzQWN0aXZhdGlvblJlZ2lzdGVyKCkgJiYgdW5saW5rZWRDb2RlQmxvY2stPmNv
ZGVUeXBlKCkgPT0gRnVuY3Rpb25Db2RlKQorICAgICwgbV9jb2RlVHlwZSh1bmxpbmtlZENvZGVC
bG9jay0+Y29kZVR5cGUoKSkKICAgICAsIG1fdW5saW5rZWRDb2RlKG1fZ2xvYmFsT2JqZWN0LT52
bSgpLCB0aGlzLCB1bmxpbmtlZENvZGVCbG9jaykKICAgICAsIG1faGFzRGVidWdnZXJTdGF0ZW1l
bnQoZmFsc2UpCiAgICAgLCBtX3N0ZXBwaW5nTW9kZShTdGVwcGluZ01vZGVEaXNhYmxlZCkKQEAg
LTE4MjQsMjMgKzE4MjgsMTcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0qIHZtLCBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSwgU2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXQKICAgICAsIG1fdGhp
c1JlZ2lzdGVyKHVubGlua2VkQ29kZUJsb2NrLT50aGlzUmVnaXN0ZXIoKSkKICAgICAsIG1fc2Nv
cGVSZWdpc3Rlcih1bmxpbmtlZENvZGVCbG9jay0+c2NvcGVSZWdpc3RlcigpKQogICAgICwgbV9s
ZXhpY2FsRW52aXJvbm1lbnRSZWdpc3Rlcih1bmxpbmtlZENvZGVCbG9jay0+YWN0aXZhdGlvblJl
Z2lzdGVyKCkpCi0gICAgLCBtX2lzU3RyaWN0TW9kZSh1bmxpbmtlZENvZGVCbG9jay0+aXNTdHJp
Y3RNb2RlKCkpCi0gICAgLCBtX25lZWRzQWN0aXZhdGlvbih1bmxpbmtlZENvZGVCbG9jay0+aGFz
QWN0aXZhdGlvblJlZ2lzdGVyKCkgJiYgdW5saW5rZWRDb2RlQmxvY2stPmNvZGVUeXBlKCkgPT0g
RnVuY3Rpb25Db2RlKQogICAgICwgbV9zb3VyY2Uoc291cmNlUHJvdmlkZXIpCiAgICAgLCBtX3Nv
dXJjZU9mZnNldChzb3VyY2VPZmZzZXQpCiAgICAgLCBtX2ZpcnN0TGluZUNvbHVtbk9mZnNldChm
aXJzdExpbmVDb2x1bW5PZmZzZXQpCi0gICAgLCBtX2NvZGVUeXBlKHVubGlua2VkQ29kZUJsb2Nr
LT5jb2RlVHlwZSgpKQogICAgICwgbV9vc3JFeGl0Q291bnRlcigwKQogICAgICwgbV9vcHRpbWl6
YXRpb25EZWxheUNvdW50ZXIoMCkKICAgICAsIG1fcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXIo
MCkKICAgICAsIG1fY3JlYXRpb25UaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygp
KQotI2lmIEVOQUJMRShKSVQpCi0gICAgLCBtX2NhcGFiaWxpdHlMZXZlbFN0YXRlKERGRzo6Q2Fw
YWJpbGl0eUxldmVsTm90U2V0KQotI2VuZGlmCiB7CiAgICAgbV92aXNpdFdlYWtseUhhc0JlZW5D
YWxsZWQuc3RvcmUoZmFsc2UsIHN0ZDo6bWVtb3J5X29yZGVyX3JlbGF4ZWQpOwogCi0gICAgQVNT
RVJUKG1faGVhcC0+aXNEZWZlcnJlZCgpKTsKKyAgICBBU1NFUlQoaGVhcCgpLT5pc0RlZmVycmVk
KCkpOwogICAgIEFTU0VSVChtX3Njb3BlUmVnaXN0ZXIuaXNMb2NhbCgpKTsKIAogICAgIEFTU0VS
VChtX3NvdXJjZSk7CkBAIC0xODk0LDcgKzE4OTIsNyBAQCB2b2lkIENvZGVCbG9jazo6ZmluaXNo
Q3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVubGlu
awogICAgICAgICByZXBsYWNlQ29uc3RhbnQodW5saW5rZWRNb2R1bGVQcm9ncmFtQ29kZUJsb2Nr
LT5tb2R1bGVFbnZpcm9ubWVudFN5bWJvbFRhYmxlQ29uc3RhbnRSZWdpc3Rlck9mZnNldCgpLCBj
bG9uZWRTeW1ib2xUYWJsZSk7CiAgICAgfQogCi0gICAgbV9mdW5jdGlvbkRlY2xzLnJlc2l6ZVRv
Rml0KHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJPZkZ1bmN0aW9uRGVjbHMoKSk7CisgICAgbV9m
dW5jdGlvbkRlY2xzID0gUmVmQ291bnRlZEFycmF5PFdyaXRlQmFycmllcjxGdW5jdGlvbkV4ZWN1
dGFibGU+Pih1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZGdW5jdGlvbkRlY2xzKCkpOwogICAg
IGZvciAoc2l6ZV90IGNvdW50ID0gdW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9mRnVuY3Rpb25E
ZWNscygpLCBpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKICAgICAgICAgVW5saW5rZWRGdW5jdGlv
bkV4ZWN1dGFibGUqIHVubGlua2VkRXhlY3V0YWJsZSA9IHVubGlua2VkQ29kZUJsb2NrLT5mdW5j
dGlvbkRlY2woaSk7CiAgICAgICAgIGlmICh2bS50eXBlUHJvZmlsZXIoKSB8fCB2bS5jb250cm9s
Rmxvd1Byb2ZpbGVyKCkpCkBAIC0xOTAyLDcgKzE5MDAsNyBAQCB2b2lkIENvZGVCbG9jazo6Zmlu
aXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVu
bGluawogICAgICAgICBtX2Z1bmN0aW9uRGVjbHNbaV0uc2V0KCptX3ZtLCB0aGlzLCB1bmxpbmtl
ZEV4ZWN1dGFibGUtPmxpbmsoKm1fdm0sIG93bmVyRXhlY3V0YWJsZS0+c291cmNlKCkpKTsKICAg
ICB9CiAKLSAgICBtX2Z1bmN0aW9uRXhwcnMucmVzaXplVG9GaXQodW5saW5rZWRDb2RlQmxvY2st
Pm51bWJlck9mRnVuY3Rpb25FeHBycygpKTsKKyAgICBtX2Z1bmN0aW9uRXhwcnMgPSBSZWZDb3Vu
dGVkQXJyYXk8V3JpdGVCYXJyaWVyPEZ1bmN0aW9uRXhlY3V0YWJsZT4+KHVubGlua2VkQ29kZUJs
b2NrLT5udW1iZXJPZkZ1bmN0aW9uRXhwcnMoKSk7CiAgICAgZm9yIChzaXplX3QgY291bnQgPSB1
bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZGdW5jdGlvbkV4cHJzKCksIGkgPSAwOyBpIDwgY291
bnQ7ICsraSkgewogICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogdW5saW5rZWRF
eGVjdXRhYmxlID0gdW5saW5rZWRDb2RlQmxvY2stPmZ1bmN0aW9uRXhwcihpKTsKICAgICAgICAg
aWYgKHZtLnR5cGVQcm9maWxlcigpIHx8IHZtLmNvbnRyb2xGbG93UHJvZmlsZXIoKSkKQEAgLTE5
NTgsMTUgKzE5NTYsMTUgQEAgdm9pZCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwg
U2NyaXB0RXhlY3V0YWJsZSogb3duZXJFeGVjdXRhYmxlLCBVbmxpbmsKIAogICAgIC8vIEFsbG9j
YXRlIG1ldGFkYXRhIGJ1ZmZlcnMgZm9yIHRoZSBieXRlY29kZQogICAgIGlmIChzaXplX3Qgc2l6
ZSA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJPZkxMaW50Q2FsbExpbmtJbmZvcygpKQotICAg
ICAgICBtX2xsaW50Q2FsbExpbmtJbmZvcy5yZXNpemVUb0ZpdChzaXplKTsKKyAgICAgICAgbV9s
bGludENhbGxMaW5rSW5mb3MgPSBSZWZDb3VudGVkQXJyYXk8TExJbnRDYWxsTGlua0luZm8+KHNp
emUpOwogICAgIGlmIChzaXplX3Qgc2l6ZSA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJPZkFy
cmF5UHJvZmlsZXMoKSkKICAgICAgICAgbV9hcnJheVByb2ZpbGVzLmdyb3coc2l6ZSk7CiAgICAg
aWYgKHNpemVfdCBzaXplID0gdW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9mQXJyYXlBbGxvY2F0
aW9uUHJvZmlsZXMoKSkKLSAgICAgICAgbV9hcnJheUFsbG9jYXRpb25Qcm9maWxlcy5yZXNpemVU
b0ZpdChzaXplKTsKKyAgICAgICAgbV9hcnJheUFsbG9jYXRpb25Qcm9maWxlcyA9IFJlZkNvdW50
ZWRBcnJheTxBcnJheUFsbG9jYXRpb25Qcm9maWxlPihzaXplKTsKICAgICBpZiAoc2l6ZV90IHNp
emUgPSB1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZWYWx1ZVByb2ZpbGVzKCkpCi0gICAgICAg
IG1fdmFsdWVQcm9maWxlcy5yZXNpemVUb0ZpdChzaXplKTsKKyAgICAgICAgbV92YWx1ZVByb2Zp
bGVzID0gUmVmQ291bnRlZEFycmF5PFZhbHVlUHJvZmlsZT4oc2l6ZSk7CiAgICAgaWYgKHNpemVf
dCBzaXplID0gdW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9mT2JqZWN0QWxsb2NhdGlvblByb2Zp
bGVzKCkpCi0gICAgICAgIG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGVzLnJlc2l6ZVRvRml0KHNp
emUpOworICAgICAgICBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlcyA9IFJlZkNvdW50ZWRBcnJh
eTxPYmplY3RBbGxvY2F0aW9uUHJvZmlsZT4oc2l6ZSk7CiAKICNpZiBFTkFCTEUoSklUKQogICAg
IHNldENhbGxlZVNhdmVSZWdpc3RlcnMoUmVnaXN0ZXJTZXQ6OmxsaW50QmFzZWxpbmVDYWxsZWVT
YXZlUmVnaXN0ZXJzKCkpOwpAQCAtMjMxOCw0NSArMjMxNiw0NCBAQCB2b2lkIENvZGVCbG9jazo6
ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUs
IFVubGluawogICAgIGlmIChPcHRpb25zOjpkdW1wR2VuZXJhdGVkQnl0ZWNvZGVzKCkpCiAgICAg
ICAgIGR1bXBCeXRlY29kZSgpOwogICAgIAotICAgIG1faGVhcC0+bV9jb2RlQmxvY2tzLmFkZCh0
aGlzKTsKLSAgICBtX2hlYXAtPnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKG1faW5zdHJ1Y3Rp
b25zLnNpemUoKSAqIHNpemVvZihJbnN0cnVjdGlvbikpOworICAgIGhlYXAoKS0+bV9jb2RlQmxv
Y2tzLmFkZCh0aGlzKTsKKyAgICBoZWFwKCktPnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKG1f
aW5zdHJ1Y3Rpb25zLnNpemUoKSAqIHNpemVvZihJbnN0cnVjdGlvbikpOwogfQogCiAjaWYgRU5B
QkxFKFdFQkFTU0VNQkxZKQogQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0qIHZtLCBTdHJ1Y3R1cmUq
IHN0cnVjdHVyZSwgV2ViQXNzZW1ibHlFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCiAgICAgOiBKU0NlbGwoKnZtLCBzdHJ1Y3R1cmUpCiAg
ICAgLCBtX2dsb2JhbE9iamVjdChnbG9iYWxPYmplY3QtPnZtKCksIHRoaXMsIGdsb2JhbE9iamVj
dCkKLSAgICAsIG1faGVhcCgmbV9nbG9iYWxPYmplY3QtPnZtKCkuaGVhcCkKICAgICAsIG1fbnVt
Q2FsbGVlTG9jYWxzKDApCiAgICAgLCBtX251bVZhcnMoMCkKLSAgICAsIG1faXNDb25zdHJ1Y3Rv
cihmYWxzZSkKKyNpZiBFTkFCTEUoSklUKQorICAgICwgbV9jYXBhYmlsaXR5TGV2ZWxTdGF0ZShE
Rkc6OkNhbm5vdENvbXBpbGUpCisjZW5kaWYKICAgICAsIG1fc2hvdWxkQWx3YXlzQmVJbmxpbmVk
KGZhbHNlKQogICAgICwgbV9kaWRGYWlsRlRMQ29tcGlsYXRpb24oZmFsc2UpCiAgICAgLCBtX2hh
c0JlZW5Db21waWxlZFdpdGhGVEwoZmFsc2UpCisgICAgLCBtX2lzQ29uc3RydWN0b3IoZmFsc2Up
CisgICAgLCBtX2lzU3RyaWN0TW9kZShmYWxzZSkKKyAgICAsIG1fbmVlZHNBY3RpdmF0aW9uKGZh
bHNlKQorICAgICwgbV9jb2RlVHlwZShGdW5jdGlvbkNvZGUpCiAgICAgLCBtX2hhc0RlYnVnZ2Vy
U3RhdGVtZW50KGZhbHNlKQogICAgICwgbV9zdGVwcGluZ01vZGUoU3RlcHBpbmdNb2RlRGlzYWJs
ZWQpCiAgICAgLCBtX251bUJyZWFrcG9pbnRzKDApCiAgICAgLCBtX293bmVyRXhlY3V0YWJsZSht
X2dsb2JhbE9iamVjdC0+dm0oKSwgdGhpcywgb3duZXJFeGVjdXRhYmxlKQogICAgICwgbV92bSh2
bSkKLSAgICAsIG1faXNTdHJpY3RNb2RlKGZhbHNlKQotICAgICwgbV9uZWVkc0FjdGl2YXRpb24o
ZmFsc2UpCi0gICAgLCBtX2NvZGVUeXBlKEZ1bmN0aW9uQ29kZSkKICAgICAsIG1fb3NyRXhpdENv
dW50ZXIoMCkKICAgICAsIG1fb3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKDApCiAgICAgLCBtX3Jl
b3B0aW1pemF0aW9uUmV0cnlDb3VudGVyKDApCiAgICAgLCBtX2NyZWF0aW9uVGltZShzdGQ6OmNo
cm9ubzo6c3RlYWR5X2Nsb2NrOjpub3coKSkKLSNpZiBFTkFCTEUoSklUKQotICAgICwgbV9jYXBh
YmlsaXR5TGV2ZWxTdGF0ZShERkc6OkNhbm5vdENvbXBpbGUpCi0jZW5kaWYKIHsKLSAgICBBU1NF
UlQobV9oZWFwLT5pc0RlZmVycmVkKCkpOworICAgIEFTU0VSVChoZWFwKCktPmlzRGVmZXJyZWQo
KSk7CiB9CiAKIHZvaWQgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFdlYkFzc2Vt
Ymx5RXhlY3V0YWJsZSosIEpTR2xvYmFsT2JqZWN0KikKIHsKICAgICBCYXNlOjpmaW5pc2hDcmVh
dGlvbih2bSk7CiAKLSAgICBtX2hlYXAtPm1fY29kZUJsb2Nrcy5hZGQodGhpcyk7CisgICAgaGVh
cCgpLT5tX2NvZGVCbG9ja3MuYWRkKHRoaXMpOwogfQogI2VuZGlmCiAKQEAgLTIzOTksNyArMjM5
Niw3IEBAIHZvaWQgQ29kZUJsb2NrOjpzZXROdW1QYXJhbWV0ZXJzKGludCBuZXdWYWx1ZSkKIHsK
ICAgICBtX251bVBhcmFtZXRlcnMgPSBuZXdWYWx1ZTsKIAotICAgIG1fYXJndW1lbnRWYWx1ZVBy
b2ZpbGVzLnJlc2l6ZVRvRml0KG5ld1ZhbHVlKTsKKyAgICBtX2FyZ3VtZW50VmFsdWVQcm9maWxl
cyA9IFJlZkNvdW50ZWRBcnJheTxWYWx1ZVByb2ZpbGU+KG5ld1ZhbHVlKTsKIH0KIAogdm9pZCBF
dmFsQ29kZUNhY2hlOjp2aXNpdEFnZ3JlZ2F0ZShTbG90VmlzaXRvciYgdmlzaXRvcikKQEAgLTMy
OTUsNyArMzI5Miw3IEBAIHZvaWQgQ29kZUJsb2NrOjpqZXR0aXNvbihQcm9maWxlcjo6SmV0dGlz
b25SZWFzb24gcmVhc29uLCBSZW9wdGltaXphdGlvbk1vZGUgbW9kCiAgICAgfQogI2VuZGlmIC8v
IEVOQUJMRShERkdfSklUKQogCi0gICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdDKCptX2hlYXAp
OworICAgIERlZmVyR0NGb3JBV2hpbGUgZGVmZXJHQygqaGVhcCgpKTsKICAgICAKICAgICAvLyBX
ZSB3YW50IHRvIGFjY29tcGxpc2ggdHdvIHRoaW5ncyBoZXJlOgogICAgIC8vIDEpIE1ha2Ugc3Vy
ZSB0aGF0IGlmIHRoaXMgQ29kZUJsb2NrIGlzIG9uIHRoZSBzdGFjayByaWdodCBub3csIHRoZW4g
aWYgd2UgcmV0dXJuIHRvIGl0CkBAIC00MTkzLDggKzQxOTAsMTAgQEAgdW5zaWduZWQgQ29kZUJs
b2NrOjpyYXJlQ2FzZVByb2ZpbGVDb3VudEZvckJ5dGVjb2RlT2Zmc2V0KGludCBieXRlY29kZU9m
ZnNldCkKIAogUmVzdWx0UHJvZmlsZSogQ29kZUJsb2NrOjpyZXN1bHRQcm9maWxlRm9yQnl0ZWNv
ZGVPZmZzZXQoaW50IGJ5dGVjb2RlT2Zmc2V0KQogewotICAgIGF1dG8gaXRlcmF0b3IgPSBtX2J5
dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAuZmluZChieXRlY29kZU9mZnNldCk7
Ci0gICAgaWYgKGl0ZXJhdG9yID09IG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRl
eE1hcC5lbmQoKSkKKyAgICBpZiAoIW1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRl
eE1hcCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0byBpdGVyYXRvciA9IG1fYnl0
ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcC0+ZmluZChieXRlY29kZU9mZnNldCk7
CisgICAgaWYgKGl0ZXJhdG9yID09IG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRl
eE1hcC0+ZW5kKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIHJldHVybiAmbV9yZXN1
bHRQcm9maWxlc1tpdGVyYXRvci0+dmFsdWVdOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDk5YmZiMDQuLjIyN2U1NzggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTEyMiw3ICsxMjIsNiBAQCBwcm90
ZWN0ZWQ6CiAjZW5kaWYKIAogICAgIFdyaXRlQmFycmllcjxKU0dsb2JhbE9iamVjdD4gbV9nbG9i
YWxPYmplY3Q7Ci0gICAgSGVhcCogbV9oZWFwOwogCiBwdWJsaWM6CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgfkNvZGVCbG9jaygpOwpAQCAtMjk2LDggKzI5NSw4IEBAIHB1YmxpYzoKICAgICAKICAg
ICB2b2lkIHNldEpJVENvZGUoUGFzc1JlZlB0cjxKSVRDb2RlPiBjb2RlKQogICAgIHsKLSAgICAg
ICAgQVNTRVJUKG1faGVhcC0+aXNEZWZlcnJlZCgpKTsKLSAgICAgICAgbV9oZWFwLT5yZXBvcnRF
eHRyYU1lbW9yeUFsbG9jYXRlZChjb2RlLT5zaXplKCkpOworICAgICAgICBBU1NFUlQoaGVhcCgp
LT5pc0RlZmVycmVkKCkpOworICAgICAgICBoZWFwKCktPnJlcG9ydEV4dHJhTWVtb3J5QWxsb2Nh
dGVkKGNvZGUtPnNpemUoKSk7CiAgICAgICAgIENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKG1f
bG9jayk7CiAgICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7IC8vIFRoaXMgaXMgcHJvYmFi
bHkgbm90IG5lZWRlZCBiZWNhdXNlIHRoZSBsb2NrIHdpbGwgYWxzbyBkbyBzb21ldGhpbmcgc2lt
aWxhciwgYnV0IGl0J3MgZ29vZCB0byBiZSBwYXJhbm9pZC4KICAgICAgICAgbV9qaXRDb2RlID0g
Y29kZTsKQEAgLTM3Nyw3ICszNzYsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgQ29kZVR5cGUgY29k
ZVR5cGUoKSBjb25zdAogICAgIHsKLSAgICAgICAgcmV0dXJuIG1fY29kZVR5cGU7CisgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxDb2RlVHlwZT4obV9jb2RlVHlwZSk7CiAgICAgfQogCiAgICAg
UHV0UHJvcGVydHlTbG90OjpDb250ZXh0IHB1dEJ5SWRDb250ZXh0KCkgY29uc3QKQEAgLTQ2MCw3
ICs0NTksOSBAQCBwdWJsaWM6CiAgICAgICAgICAgICBtX3Jlc3VsdFByb2ZpbGVzLmFwcGVuZChS
ZXN1bHRQcm9maWxlKGJ5dGVjb2RlT2Zmc2V0KSk7CiAgICAgICAgICAgICBwcm9maWxlID0gJm1f
cmVzdWx0UHJvZmlsZXMubGFzdCgpOwogICAgICAgICAgICAgQVNTRVJUKCZtX3Jlc3VsdFByb2Zp
bGVzLmxhc3QoKSA9PSAmbV9yZXN1bHRQcm9maWxlc1ttX3Jlc3VsdFByb2ZpbGVzLnNpemUoKSAt
IDFdKTsKLSAgICAgICAgICAgIG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1h
cC5hZGQoYnl0ZWNvZGVPZmZzZXQsIG1fcmVzdWx0UHJvZmlsZXMuc2l6ZSgpIC0gMSk7CisgICAg
ICAgICAgICBpZiAoIW1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcCkKKyAg
ICAgICAgICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAgPSBz
dGQ6Om1ha2VfdW5pcXVlPEJ5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXA+KCk7
CisgICAgICAgICAgICBtX2J5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAtPmFk
ZChieXRlY29kZU9mZnNldCwgbV9yZXN1bHRQcm9maWxlcy5zaXplKCkgLSAxKTsKICAgICAgICAg
fQogICAgICAgICByZXR1cm4gcHJvZmlsZTsKICAgICB9CkBAIC02MTAsNyArNjExLDcgQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gY29uc3RhbnRCdWZmZXJBc1ZlY3RvcihpbmRleCkuZGF0YSgp
OwogICAgIH0KIAotICAgIEhlYXAqIGhlYXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXA7IH0KKyAg
ICBIZWFwKiBoZWFwKCkgY29uc3QgeyByZXR1cm4gJm1fdm0tPmhlYXA7IH0KICAgICBKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0KCkgeyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0K
IAogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3RGb3IoQ29kZU9yaWdpbik7CkBAIC04
NjIsMTAgKzg2Myw4IEBAIHB1YmxpYzoKICAgICAKICAgICAvLyBGSVhNRTogTWFrZSB0aGVzZSBy
ZW1haW5pbmcgbWVtYmVycyBwcml2YXRlLgogCi0gICAgaW50IG1fbnVtTG9jYWxSZWdpc3RlcnNG
b3JDYWxsZWVTYXZlczsKICAgICBpbnQgbV9udW1DYWxsZWVMb2NhbHM7CiAgICAgaW50IG1fbnVt
VmFyczsKLSAgICBib29sIG1faXNDb25zdHJ1Y3RvciA6IDE7CiAgICAgCiAgICAgLy8gVGhpcyBp
cyBpbnRlbnRpb25hbGx5IHB1YmxpYzsgaXQncyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgYW55b25l
IGRvaW5nIGFueQogICAgIC8vIG9mIHRoZSBmb2xsb3dpbmcgdG8gaG9sZCB0aGUgbG9jazoKQEAg
LTg4NCwxMiArODgzLDIzIEBAIHB1YmxpYzoKICAgICAvLyB3aXRob3V0IGhvbGRpbmcgYW55IGxv
Y2tzLCBiZWNhdXNlIHRoZSBHQyBpcyBndWFyYW50ZWVkIHRvIHdhaXQgdW50aWwgYW55CiAgICAg
Ly8gY29uY3VycmVudCBjb21waWxhdGlvbiB0aHJlYWRzIGZpbmlzaCB3aGF0IHRoZXkncmUgZG9p
bmcuCiAgICAgbXV0YWJsZSBDb25jdXJyZW50SklUTG9jayBtX2xvY2s7Ci0gICAgCisKKyAgICBB
dG9taWM8Ym9vbD4gbV92aXNpdFdlYWtseUhhc0JlZW5DYWxsZWQ7CisKKyNpZiBFTkFCTEUoSklU
KQorICAgIERGRzo6Q2FwYWJpbGl0eUxldmVsIG1fY2FwYWJpbGl0eUxldmVsU3RhdGU7CisjZW5k
aWYKKwogICAgIGJvb2wgbV9zaG91bGRBbHdheXNCZUlubGluZWQ7IC8vIE5vdCBhIGJpdGZpZWxk
IGJlY2F1c2UgdGhlIEpJVCB3YW50cyB0byBzdG9yZSB0byBpdC4KKwogICAgIGJvb2wgbV9hbGxU
cmFuc2l0aW9uc0hhdmVCZWVuTWFya2VkIDogMTsgLy8gSW5pdGlhbGl6ZWQgYW5kIHVzZWQgb24g
ZXZlcnkgR0MuCi0gICAgCisKICAgICBib29sIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uIDogMTsK
ICAgICBib29sIG1faGFzQmVlbkNvbXBpbGVkV2l0aEZUTCA6IDE7CisgICAgYm9vbCBtX2lzQ29u
c3RydWN0b3IgOiAxOworICAgIGJvb2wgbV9pc1N0cmljdE1vZGUgOiAxOworICAgIGJvb2wgbV9u
ZWVkc0FjdGl2YXRpb24gOiAxOworICAgIHVuc2lnbmVkIG1fY29kZVR5cGUgOiAyOyAvLyBDb2Rl
VHlwZQogCiAgICAgLy8gSW50ZXJuYWwgbWV0aG9kcyBmb3IgdXNlIGJ5IHZhbGlkYXRpb24gY29k
ZS4gSXQgd291bGQgYmUgcHJpdmF0ZSBpZiBpdCB3YXNuJ3QKICAgICAvLyBmb3IgdGhlIGZhY3Qg
dGhhdCB3ZSB1c2UgaXQgZnJvbSBhbm9ueW1vdXMgbmFtZXNwYWNlcy4KQEAgLTEwMzAsMTggKzEw
NDAsMTMgQEAgcHJpdmF0ZToKICAgICBWaXJ0dWFsUmVnaXN0ZXIgbV90aGlzUmVnaXN0ZXI7CiAg
ICAgVmlydHVhbFJlZ2lzdGVyIG1fc2NvcGVSZWdpc3RlcjsKICAgICBWaXJ0dWFsUmVnaXN0ZXIg
bV9sZXhpY2FsRW52aXJvbm1lbnRSZWdpc3RlcjsKLQotICAgIGJvb2wgbV9pc1N0cmljdE1vZGU7
Ci0gICAgYm9vbCBtX25lZWRzQWN0aXZhdGlvbjsKLQotICAgIEF0b21pYzxib29sPiBtX3Zpc2l0
V2Vha2x5SGFzQmVlbkNhbGxlZDsKKyAgICBtdXRhYmxlIENvZGVCbG9ja0hhc2ggbV9oYXNoOwog
CiAgICAgUmVmUHRyPFNvdXJjZVByb3ZpZGVyPiBtX3NvdXJjZTsKICAgICB1bnNpZ25lZCBtX3Nv
dXJjZU9mZnNldDsKICAgICB1bnNpZ25lZCBtX2ZpcnN0TGluZUNvbHVtbk9mZnNldDsKLSAgICBD
b2RlVHlwZSBtX2NvZGVUeXBlOwogCi0gICAgVmVjdG9yPExMSW50Q2FsbExpbmtJbmZvPiBtX2xs
aW50Q2FsbExpbmtJbmZvczsKKyAgICBSZWZDb3VudGVkQXJyYXk8TExJbnRDYWxsTGlua0luZm8+
IG1fbGxpbnRDYWxsTGlua0luZm9zOwogICAgIFNlbnRpbmVsTGlua2VkTGlzdDxMTEludENhbGxM
aW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRDYWxsTGlua0luZm8+PiBtX2luY29t
aW5nTExJbnRDYWxsczsKICAgICBSZWZQdHI8SklUQ29kZT4gbV9qaXRDb2RlOwogI2lmIEVOQUJM
RShKSVQpCkBAIC0xMDU5LDE0ICsxMDY0LDE1IEBAIHByaXZhdGU6CiAgICAgREZHOjpFeGl0UHJv
ZmlsZSBtX2V4aXRQcm9maWxlOwogICAgIENvbXByZXNzZWRMYXp5T3BlcmFuZFZhbHVlUHJvZmls
ZUhvbGRlciBtX2xhenlPcGVyYW5kVmFsdWVQcm9maWxlczsKICNlbmRpZgotICAgIFZlY3RvcjxW
YWx1ZVByb2ZpbGU+IG1fYXJndW1lbnRWYWx1ZVByb2ZpbGVzOwotICAgIFZlY3RvcjxWYWx1ZVBy
b2ZpbGU+IG1fdmFsdWVQcm9maWxlczsKKyAgICBSZWZDb3VudGVkQXJyYXk8VmFsdWVQcm9maWxl
PiBtX2FyZ3VtZW50VmFsdWVQcm9maWxlczsKKyAgICBSZWZDb3VudGVkQXJyYXk8VmFsdWVQcm9m
aWxlPiBtX3ZhbHVlUHJvZmlsZXM7CiAgICAgU2VnbWVudGVkVmVjdG9yPFJhcmVDYXNlUHJvZmls
ZSwgOD4gbV9yYXJlQ2FzZVByb2ZpbGVzOwogICAgIFNlZ21lbnRlZFZlY3RvcjxSZXN1bHRQcm9m
aWxlLCA4PiBtX3Jlc3VsdFByb2ZpbGVzOwotICAgIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVk
LCBJbnRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1
bnNpZ25lZD4+IG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcDsKLSAgICBW
ZWN0b3I8QXJyYXlBbGxvY2F0aW9uUHJvZmlsZT4gbV9hcnJheUFsbG9jYXRpb25Qcm9maWxlczsK
KyAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIHVuc2lnbmVkLCBJbnRIYXNoPHVuc2lnbmVk
PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+IEJ5dGVjb2Rl
T2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXA7CisgICAgc3RkOjp1bmlxdWVfcHRyPEJ5dGVj
b2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXA+IG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3Vs
dFByb2ZpbGVJbmRleE1hcDsKKyAgICBSZWZDb3VudGVkQXJyYXk8QXJyYXlBbGxvY2F0aW9uUHJv
ZmlsZT4gbV9hcnJheUFsbG9jYXRpb25Qcm9maWxlczsKICAgICBBcnJheVByb2ZpbGVWZWN0b3Ig
bV9hcnJheVByb2ZpbGVzOwotICAgIFZlY3RvcjxPYmplY3RBbGxvY2F0aW9uUHJvZmlsZT4gbV9v
YmplY3RBbGxvY2F0aW9uUHJvZmlsZXM7CisgICAgUmVmQ291bnRlZEFycmF5PE9iamVjdEFsbG9j
YXRpb25Qcm9maWxlPiBtX29iamVjdEFsbG9jYXRpb25Qcm9maWxlczsKIAogICAgIC8vIENvbnN0
YW50IFBvb2wKICAgICBDT01QSUxFX0FTU0VSVChzaXplb2YoUmVnaXN0ZXIpID09IHNpemVvZihX
cml0ZUJhcnJpZXI8VW5rbm93bj4pLCBSZWdpc3Rlcl9tdXN0X2JlX3NhbWVfc2l6ZV9hc19Xcml0
ZUJhcnJpZXJfVW5rbm93bik7CkBAIC0xMDc0LDI5ICsxMDgwLDIzIEBAIHByaXZhdGU6CiAgICAg
Ly8gaXQsIHNvIHdlJ3JlIHN0dWNrIHdpdGggaXQgZm9yIG5vdy4KICAgICBWZWN0b3I8V3JpdGVC
YXJyaWVyPFVua25vd24+PiBtX2NvbnN0YW50UmVnaXN0ZXJzOwogICAgIFZlY3RvcjxTb3VyY2VD
b2RlUmVwcmVzZW50YXRpb24+IG1fY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uOwot
ICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8RnVuY3Rpb25FeGVjdXRhYmxlPj4gbV9mdW5jdGlvbkRl
Y2xzOwotICAgIFZlY3RvcjxXcml0ZUJhcnJpZXI8RnVuY3Rpb25FeGVjdXRhYmxlPj4gbV9mdW5j
dGlvbkV4cHJzOworICAgIFJlZkNvdW50ZWRBcnJheTxXcml0ZUJhcnJpZXI8RnVuY3Rpb25FeGVj
dXRhYmxlPj4gbV9mdW5jdGlvbkRlY2xzOworICAgIFJlZkNvdW50ZWRBcnJheTxXcml0ZUJhcnJp
ZXI8RnVuY3Rpb25FeGVjdXRhYmxlPj4gbV9mdW5jdGlvbkV4cHJzOwogCiAgICAgV3JpdGVCYXJy
aWVyPENvZGVCbG9jaz4gbV9hbHRlcm5hdGl2ZTsKICAgICAKICAgICBCYXNlbGluZUV4ZWN1dGlv
bkNvdW50ZXIgbV9sbGludEV4ZWN1dGVDb3VudGVyOwogCiAgICAgQmFzZWxpbmVFeGVjdXRpb25D
b3VudGVyIG1faml0RXhlY3V0ZUNvdW50ZXI7Ci0gICAgaW50MzJfdCBtX3RvdGFsSklURXhlY3V0
aW9uczsKICAgICB1aW50MzJfdCBtX29zckV4aXRDb3VudGVyOwogICAgIHVpbnQxNl90IG1fb3B0
aW1pemF0aW9uRGVsYXlDb3VudGVyOwogICAgIHVpbnQxNl90IG1fcmVvcHRpbWl6YXRpb25SZXRy
eUNvdW50ZXI7CiAKICAgICBzdGQ6OmNocm9ubzo6c3RlYWR5X2Nsb2NrOjp0aW1lX3BvaW50IG1f
Y3JlYXRpb25UaW1lOwogCi0gICAgbXV0YWJsZSBDb2RlQmxvY2tIYXNoIG1faGFzaDsKLQogICAg
IHN0ZDo6dW5pcXVlX3B0cjxCeXRlY29kZUxpdmVuZXNzQW5hbHlzaXM+IG1fbGl2ZW5lc3NBbmFs
eXNpczsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxSYXJlRGF0YT4gbV9yYXJlRGF0YTsKLSNpZiBF
TkFCTEUoSklUKQotICAgIERGRzo6Q2FwYWJpbGl0eUxldmVsIG1fY2FwYWJpbGl0eUxldmVsU3Rh
dGU7Ci0jZW5kaWYKIAogICAgIFVuY29uZGl0aW9uYWxGaW5hbGl6ZXIgbV91bmNvbmRpdGlvbmFs
RmluYWxpemVyOwogICAgIFdlYWtSZWZlcmVuY2VIYXJ2ZXN0ZXIgbV93ZWFrUmVmZXJlbmNlSGFy
dmVzdGVyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>270229</attachid>
            <date>2016-01-29 11:34:18 -0800</date>
            <delta_ts>2016-01-29 12:38:00 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-153640.diff</filename>
            <type>text/plain</type>
            <size>20292</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDkwYmM3MDguLmFiZDM5YjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE2LTAxLTI5ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBTaHJpbmsgQ29kZUJsb2NrIQorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTUzNjQwPgorCisgICAgICAgIFJldmlld2VkIGJ5IFNh
YW0gQmFyYXRpLgorCisgICAgICAgIFNocmluayBDb2RlQmxvY2sgYnkgMTEyIGJ5dGVzIChmcm9t
IDY0MCB0byA1MjgpIGJ5IGVtcGxveWluZworICAgICAgICB0aGVzZSBzb3BoaXN0aWNhdGVkIHRy
aWNrczoKKworICAgICAgICAgICAgLSBSZW1vdmUgbWVtYmVycyB0aGF0IGFyZSBub3QgdXNlZCBi
eSBhbnlvbmUuCisgICAgICAgICAgICAtIERvbid0IGNhY2hlIGJvdGggVk0qIGFuZCBIZWFwKiBp
biBtZW1iZXJzLgorICAgICAgICAgICAgLSBSZW9yZGVyIG1lbWJlcnMgdG8gbWluaW1pemUgc3Ry
dWN0IHBhZGRpbmcuCisgICAgICAgICAgICAtIFVzZSBSZWZDb3VudGVkQXJyYXkgaW5zdGVhZCBv
ZiBWZWN0b3IgZm9yIGFycmF5cyB0aGF0IG5ldmVyIHJlc2l6ZS4KKyAgICAgICAgICAgIC0gUHV0
IGEgbm90LWFsd2F5cy1wcmVzZW50IEhhc2hNYXAgaW4gYSBzdGQ6OnVuaXF1ZV9wdHIuCisKKyAg
ICAgICAgVGhpcyBpbmNyZWFzZXMgQ29kZUJsb2NrIHNwYWNlIGVmZmljaWVuY3kgYnkgMjAlLCBh
cyB3ZSBjYW4gbm93CisgICAgICAgIGZpdCAzMCBvZiB0aGVtIGluIGEgTWFya2VkQmxvY2ssIHVw
IGZyb20gMjUuKQorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoKKyAgICAgICAg
KEpTQzo6Q29kZUJsb2NrOjpDb2RlQmxvY2spOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmZp
bmlzaENyZWF0aW9uKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzZXROdW1QYXJhbWV0ZXJz
KToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpqZXR0aXNvbik6CisgICAgICAgIChKU0M6OkNv
ZGVCbG9jazo6bm90aWNlSW5jb21pbmdDYWxsKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpy
ZXN1bHRQcm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnNldEpJVENvZGUpOgorICAgICAgICAo
SlNDOjpDb2RlQmxvY2s6OmNhcGFiaWxpdHlMZXZlbFN0YXRlKToKKyAgICAgICAgKEpTQzo6Q29k
ZUJsb2NrOjpjb2RlVHlwZSk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZW5zdXJlUmVzdWx0
UHJvZmlsZSk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6aGVhcCk6CisKIDIwMTYtMDEtMjgg
IFl1c3VrZSBTdXp1a2kgIDx1dGF0YW5lLnRlYUBnbWFpbC5jb20+CiAKICAgICAgICAgRml4IHRo
ZSBCMyBidWlsZCB3aXRoIEdDQyA0LjkuMwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcAppbmRleCA1OTA1ZTkxLi4xMmQ0Y2E5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcApAQCAtMTc0MCwxMyArMTc0MCwxOCBA
QCBwcml2YXRlOgogQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0qIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgQ29weVBhcnNlZEJsb2NrVGFnLCBDb2RlQmxvY2smIG90aGVyKQogICAgIDogSlNDZWxs
KCp2bSwgc3RydWN0dXJlKQogICAgICwgbV9nbG9iYWxPYmplY3Qob3RoZXIubV9nbG9iYWxPYmpl
Y3QpCi0gICAgLCBtX2hlYXAob3RoZXIubV9oZWFwKQogICAgICwgbV9udW1DYWxsZWVMb2NhbHMo
b3RoZXIubV9udW1DYWxsZWVMb2NhbHMpCiAgICAgLCBtX251bVZhcnMob3RoZXIubV9udW1WYXJz
KQotICAgICwgbV9pc0NvbnN0cnVjdG9yKG90aGVyLm1faXNDb25zdHJ1Y3RvcikKICAgICAsIG1f
c2hvdWxkQWx3YXlzQmVJbmxpbmVkKHRydWUpCisjaWYgRU5BQkxFKEpJVCkKKyAgICAsIG1fY2Fw
YWJpbGl0eUxldmVsU3RhdGUoREZHOjpDYXBhYmlsaXR5TGV2ZWxOb3RTZXQpCisjZW5kaWYKICAg
ICAsIG1fZGlkRmFpbEZUTENvbXBpbGF0aW9uKGZhbHNlKQogICAgICwgbV9oYXNCZWVuQ29tcGls
ZWRXaXRoRlRMKGZhbHNlKQorICAgICwgbV9pc0NvbnN0cnVjdG9yKG90aGVyLm1faXNDb25zdHJ1
Y3RvcikKKyAgICAsIG1faXNTdHJpY3RNb2RlKG90aGVyLm1faXNTdHJpY3RNb2RlKQorICAgICwg
bV9uZWVkc0FjdGl2YXRpb24ob3RoZXIubV9uZWVkc0FjdGl2YXRpb24pCisgICAgLCBtX2NvZGVU
eXBlKG90aGVyLm1fY29kZVR5cGUpCiAgICAgLCBtX3VubGlua2VkQ29kZSgqb3RoZXIubV92bSwg
dGhpcywgb3RoZXIubV91bmxpbmtlZENvZGUuZ2V0KCkpCiAgICAgLCBtX2hhc0RlYnVnZ2VyU3Rh
dGVtZW50KGZhbHNlKQogICAgICwgbV9zdGVwcGluZ01vZGUoU3RlcHBpbmdNb2RlRGlzYWJsZWQp
CkBAIC0xNzU3LDEyICsxNzYyLDEwIEBAIENvZGVCbG9jazo6Q29kZUJsb2NrKFZNKiB2bSwgU3Ry
dWN0dXJlKiBzdHJ1Y3R1cmUsIENvcHlQYXJzZWRCbG9ja1RhZywgQ29kZUJsb2NrCiAgICAgLCBt
X3RoaXNSZWdpc3RlcihvdGhlci5tX3RoaXNSZWdpc3RlcikKICAgICAsIG1fc2NvcGVSZWdpc3Rl
cihvdGhlci5tX3Njb3BlUmVnaXN0ZXIpCiAgICAgLCBtX2xleGljYWxFbnZpcm9ubWVudFJlZ2lz
dGVyKG90aGVyLm1fbGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIpCi0gICAgLCBtX2lzU3RyaWN0
TW9kZShvdGhlci5tX2lzU3RyaWN0TW9kZSkKLSAgICAsIG1fbmVlZHNBY3RpdmF0aW9uKG90aGVy
Lm1fbmVlZHNBY3RpdmF0aW9uKQorICAgICwgbV9oYXNoKG90aGVyLm1faGFzaCkKICAgICAsIG1f
c291cmNlKG90aGVyLm1fc291cmNlKQogICAgICwgbV9zb3VyY2VPZmZzZXQob3RoZXIubV9zb3Vy
Y2VPZmZzZXQpCiAgICAgLCBtX2ZpcnN0TGluZUNvbHVtbk9mZnNldChvdGhlci5tX2ZpcnN0TGlu
ZUNvbHVtbk9mZnNldCkKLSAgICAsIG1fY29kZVR5cGUob3RoZXIubV9jb2RlVHlwZSkKICAgICAs
IG1fY29uc3RhbnRSZWdpc3RlcnMob3RoZXIubV9jb25zdGFudFJlZ2lzdGVycykKICAgICAsIG1f
Y29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKG90aGVyLm1fY29uc3RhbnRzU291cmNl
Q29kZVJlcHJlc2VudGF0aW9uKQogICAgICwgbV9mdW5jdGlvbkRlY2xzKG90aGVyLm1fZnVuY3Rp
b25EZWNscykKQEAgLTE3NzEsMTQgKzE3NzQsMTAgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0q
IHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQ29weVBhcnNlZEJsb2NrVGFnLCBDb2RlQmxvY2sK
ICAgICAsIG1fb3B0aW1pemF0aW9uRGVsYXlDb3VudGVyKDApCiAgICAgLCBtX3Jlb3B0aW1pemF0
aW9uUmV0cnlDb3VudGVyKDApCiAgICAgLCBtX2NyZWF0aW9uVGltZShzdGQ6OmNocm9ubzo6c3Rl
YWR5X2Nsb2NrOjpub3coKSkKLSAgICAsIG1faGFzaChvdGhlci5tX2hhc2gpCi0jaWYgRU5BQkxF
KEpJVCkKLSAgICAsIG1fY2FwYWJpbGl0eUxldmVsU3RhdGUoREZHOjpDYXBhYmlsaXR5TGV2ZWxO
b3RTZXQpCi0jZW5kaWYKIHsKICAgICBtX3Zpc2l0V2Vha2x5SGFzQmVlbkNhbGxlZC5zdG9yZShm
YWxzZSwgc3RkOjptZW1vcnlfb3JkZXJfcmVsYXhlZCk7CiAKLSAgICBBU1NFUlQobV9oZWFwLT5p
c0RlZmVycmVkKCkpOworICAgIEFTU0VSVChoZWFwKCktPmlzRGVmZXJyZWQoKSk7CiAgICAgQVNT
RVJUKG1fc2NvcGVSZWdpc3Rlci5pc0xvY2FsKCkpOwogCiAgICAgc2V0TnVtUGFyYW1ldGVycyhv
dGhlci5udW1QYXJhbWV0ZXJzKCkpOwpAQCAtMTgwMSwyMCArMTgwMCwyNSBAQCB2b2lkIENvZGVC
bG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBDb3B5UGFyc2VkQmxvY2tUYWcsIENvZGVCbG9j
ayYgb3RoZXIpCiAgICAgICAgIG1fcmFyZURhdGEtPm1fbGl2ZUNhbGxlZUxvY2Fsc0F0WWllbGQg
PSBvdGhlci5tX3JhcmVEYXRhLT5tX2xpdmVDYWxsZWVMb2NhbHNBdFlpZWxkOwogICAgIH0KICAg
ICAKLSAgICBtX2hlYXAtPm1fY29kZUJsb2Nrcy5hZGQodGhpcyk7CisgICAgaGVhcCgpLT5tX2Nv
ZGVCbG9ja3MuYWRkKHRoaXMpOwogfQogCiBDb2RlQmxvY2s6OkNvZGVCbG9jayhWTSogdm0sIFN0
cnVjdHVyZSogc3RydWN0dXJlLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFibGUsIFVu
bGlua2VkQ29kZUJsb2NrKiB1bmxpbmtlZENvZGVCbG9jaywKICAgICBKU1Njb3BlKiBzY29wZSwg
UGFzc1JlZlB0cjxTb3VyY2VQcm92aWRlcj4gc291cmNlUHJvdmlkZXIsIHVuc2lnbmVkIHNvdXJj
ZU9mZnNldCwgdW5zaWduZWQgZmlyc3RMaW5lQ29sdW1uT2Zmc2V0KQogICAgIDogSlNDZWxsKCp2
bSwgc3RydWN0dXJlKQogICAgICwgbV9nbG9iYWxPYmplY3Qoc2NvcGUtPmdsb2JhbE9iamVjdCgp
LT52bSgpLCB0aGlzLCBzY29wZS0+Z2xvYmFsT2JqZWN0KCkpCi0gICAgLCBtX2hlYXAoJm1fZ2xv
YmFsT2JqZWN0LT52bSgpLmhlYXApCiAgICAgLCBtX251bUNhbGxlZUxvY2Fscyh1bmxpbmtlZENv
ZGVCbG9jay0+bV9udW1DYWxsZWVMb2NhbHMpCiAgICAgLCBtX251bVZhcnModW5saW5rZWRDb2Rl
QmxvY2stPm1fbnVtVmFycykKLSAgICAsIG1faXNDb25zdHJ1Y3Rvcih1bmxpbmtlZENvZGVCbG9j
ay0+aXNDb25zdHJ1Y3RvcigpKQogICAgICwgbV9zaG91bGRBbHdheXNCZUlubGluZWQodHJ1ZSkK
KyNpZiBFTkFCTEUoSklUKQorICAgICwgbV9jYXBhYmlsaXR5TGV2ZWxTdGF0ZShERkc6OkNhcGFi
aWxpdHlMZXZlbE5vdFNldCkKKyNlbmRpZgogICAgICwgbV9kaWRGYWlsRlRMQ29tcGlsYXRpb24o
ZmFsc2UpCiAgICAgLCBtX2hhc0JlZW5Db21waWxlZFdpdGhGVEwoZmFsc2UpCisgICAgLCBtX2lz
Q29uc3RydWN0b3IodW5saW5rZWRDb2RlQmxvY2stPmlzQ29uc3RydWN0b3IoKSkKKyAgICAsIG1f
aXNTdHJpY3RNb2RlKHVubGlua2VkQ29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkKKyAgICAsIG1f
bmVlZHNBY3RpdmF0aW9uKHVubGlua2VkQ29kZUJsb2NrLT5oYXNBY3RpdmF0aW9uUmVnaXN0ZXIo
KSAmJiB1bmxpbmtlZENvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpCisgICAg
LCBtX2NvZGVUeXBlKHVubGlua2VkQ29kZUJsb2NrLT5jb2RlVHlwZSgpKQogICAgICwgbV91bmxp
bmtlZENvZGUobV9nbG9iYWxPYmplY3QtPnZtKCksIHRoaXMsIHVubGlua2VkQ29kZUJsb2NrKQog
ICAgICwgbV9oYXNEZWJ1Z2dlclN0YXRlbWVudChmYWxzZSkKICAgICAsIG1fc3RlcHBpbmdNb2Rl
KFN0ZXBwaW5nTW9kZURpc2FibGVkKQpAQCAtMTgyNCwyMyArMTgyOCwxNyBAQCBDb2RlQmxvY2s6
OkNvZGVCbG9jayhWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBTY3JpcHRFeGVjdXRhYmxl
KiBvd25lckV4ZWN1dAogICAgICwgbV90aGlzUmVnaXN0ZXIodW5saW5rZWRDb2RlQmxvY2stPnRo
aXNSZWdpc3RlcigpKQogICAgICwgbV9zY29wZVJlZ2lzdGVyKHVubGlua2VkQ29kZUJsb2NrLT5z
Y29wZVJlZ2lzdGVyKCkpCiAgICAgLCBtX2xleGljYWxFbnZpcm9ubWVudFJlZ2lzdGVyKHVubGlu
a2VkQ29kZUJsb2NrLT5hY3RpdmF0aW9uUmVnaXN0ZXIoKSkKLSAgICAsIG1faXNTdHJpY3RNb2Rl
KHVubGlua2VkQ29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkKLSAgICAsIG1fbmVlZHNBY3RpdmF0
aW9uKHVubGlua2VkQ29kZUJsb2NrLT5oYXNBY3RpdmF0aW9uUmVnaXN0ZXIoKSAmJiB1bmxpbmtl
ZENvZGVCbG9jay0+Y29kZVR5cGUoKSA9PSBGdW5jdGlvbkNvZGUpCiAgICAgLCBtX3NvdXJjZShz
b3VyY2VQcm92aWRlcikKICAgICAsIG1fc291cmNlT2Zmc2V0KHNvdXJjZU9mZnNldCkKICAgICAs
IG1fZmlyc3RMaW5lQ29sdW1uT2Zmc2V0KGZpcnN0TGluZUNvbHVtbk9mZnNldCkKLSAgICAsIG1f
Y29kZVR5cGUodW5saW5rZWRDb2RlQmxvY2stPmNvZGVUeXBlKCkpCiAgICAgLCBtX29zckV4aXRD
b3VudGVyKDApCiAgICAgLCBtX29wdGltaXphdGlvbkRlbGF5Q291bnRlcigwKQogICAgICwgbV9y
ZW9wdGltaXphdGlvblJldHJ5Q291bnRlcigwKQogICAgICwgbV9jcmVhdGlvblRpbWUoc3RkOjpj
aHJvbm86OnN0ZWFkeV9jbG9jazo6bm93KCkpCi0jaWYgRU5BQkxFKEpJVCkKLSAgICAsIG1fY2Fw
YWJpbGl0eUxldmVsU3RhdGUoREZHOjpDYXBhYmlsaXR5TGV2ZWxOb3RTZXQpCi0jZW5kaWYKIHsK
ICAgICBtX3Zpc2l0V2Vha2x5SGFzQmVlbkNhbGxlZC5zdG9yZShmYWxzZSwgc3RkOjptZW1vcnlf
b3JkZXJfcmVsYXhlZCk7CiAKLSAgICBBU1NFUlQobV9oZWFwLT5pc0RlZmVycmVkKCkpOworICAg
IEFTU0VSVChoZWFwKCktPmlzRGVmZXJyZWQoKSk7CiAgICAgQVNTRVJUKG1fc2NvcGVSZWdpc3Rl
ci5pc0xvY2FsKCkpOwogCiAgICAgQVNTRVJUKG1fc291cmNlKTsKQEAgLTE4OTQsNyArMTg5Miw3
IEBAIHZvaWQgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1dGFi
bGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgIHJlcGxhY2VDb25zdGFudCh1bmxp
bmtlZE1vZHVsZVByb2dyYW1Db2RlQmxvY2stPm1vZHVsZUVudmlyb25tZW50U3ltYm9sVGFibGVD
b25zdGFudFJlZ2lzdGVyT2Zmc2V0KCksIGNsb25lZFN5bWJvbFRhYmxlKTsKICAgICB9CiAKLSAg
ICBtX2Z1bmN0aW9uRGVjbHMucmVzaXplVG9GaXQodW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9m
RnVuY3Rpb25EZWNscygpKTsKKyAgICBtX2Z1bmN0aW9uRGVjbHMgPSBSZWZDb3VudGVkQXJyYXk8
V3JpdGVCYXJyaWVyPEZ1bmN0aW9uRXhlY3V0YWJsZT4+KHVubGlua2VkQ29kZUJsb2NrLT5udW1i
ZXJPZkZ1bmN0aW9uRGVjbHMoKSk7CiAgICAgZm9yIChzaXplX3QgY291bnQgPSB1bmxpbmtlZENv
ZGVCbG9jay0+bnVtYmVyT2ZGdW5jdGlvbkRlY2xzKCksIGkgPSAwOyBpIDwgY291bnQ7ICsraSkg
ewogICAgICAgICBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogdW5saW5rZWRFeGVjdXRhYmxl
ID0gdW5saW5rZWRDb2RlQmxvY2stPmZ1bmN0aW9uRGVjbChpKTsKICAgICAgICAgaWYgKHZtLnR5
cGVQcm9maWxlcigpIHx8IHZtLmNvbnRyb2xGbG93UHJvZmlsZXIoKSkKQEAgLTE5MDIsNyArMTkw
MCw3IEBAIHZvaWQgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4ZWN1
dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgICAgIG1fZnVuY3Rpb25EZWNsc1tp
XS5zZXQoKm1fdm0sIHRoaXMsIHVubGlua2VkRXhlY3V0YWJsZS0+bGluaygqbV92bSwgb3duZXJF
eGVjdXRhYmxlLT5zb3VyY2UoKSkpOwogICAgIH0KIAotICAgIG1fZnVuY3Rpb25FeHBycy5yZXNp
emVUb0ZpdCh1bmxpbmtlZENvZGVCbG9jay0+bnVtYmVyT2ZGdW5jdGlvbkV4cHJzKCkpOworICAg
IG1fZnVuY3Rpb25FeHBycyA9IFJlZkNvdW50ZWRBcnJheTxXcml0ZUJhcnJpZXI8RnVuY3Rpb25F
eGVjdXRhYmxlPj4odW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9mRnVuY3Rpb25FeHBycygpKTsK
ICAgICBmb3IgKHNpemVfdCBjb3VudCA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJPZkZ1bmN0
aW9uRXhwcnMoKSwgaSA9IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgIFVubGlua2VkRnVu
Y3Rpb25FeGVjdXRhYmxlKiB1bmxpbmtlZEV4ZWN1dGFibGUgPSB1bmxpbmtlZENvZGVCbG9jay0+
ZnVuY3Rpb25FeHByKGkpOwogICAgICAgICBpZiAodm0udHlwZVByb2ZpbGVyKCkgfHwgdm0uY29u
dHJvbEZsb3dQcm9maWxlcigpKQpAQCAtMTk1OCwxNSArMTk1NiwxNSBAQCB2b2lkIENvZGVCbG9j
azo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTY3JpcHRFeGVjdXRhYmxlKiBvd25lckV4ZWN1dGFi
bGUsIFVubGluawogCiAgICAgLy8gQWxsb2NhdGUgbWV0YWRhdGEgYnVmZmVycyBmb3IgdGhlIGJ5
dGVjb2RlCiAgICAgaWYgKHNpemVfdCBzaXplID0gdW5saW5rZWRDb2RlQmxvY2stPm51bWJlck9m
TExpbnRDYWxsTGlua0luZm9zKCkpCi0gICAgICAgIG1fbGxpbnRDYWxsTGlua0luZm9zLnJlc2l6
ZVRvRml0KHNpemUpOworICAgICAgICBtX2xsaW50Q2FsbExpbmtJbmZvcyA9IFJlZkNvdW50ZWRB
cnJheTxMTEludENhbGxMaW5rSW5mbz4oc2l6ZSk7CiAgICAgaWYgKHNpemVfdCBzaXplID0gdW5s
aW5rZWRDb2RlQmxvY2stPm51bWJlck9mQXJyYXlQcm9maWxlcygpKQogICAgICAgICBtX2FycmF5
UHJvZmlsZXMuZ3JvdyhzaXplKTsKICAgICBpZiAoc2l6ZV90IHNpemUgPSB1bmxpbmtlZENvZGVC
bG9jay0+bnVtYmVyT2ZBcnJheUFsbG9jYXRpb25Qcm9maWxlcygpKQotICAgICAgICBtX2FycmF5
QWxsb2NhdGlvblByb2ZpbGVzLnJlc2l6ZVRvRml0KHNpemUpOworICAgICAgICBtX2FycmF5QWxs
b2NhdGlvblByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PEFycmF5QWxsb2NhdGlvblByb2ZpbGU+
KHNpemUpOwogICAgIGlmIChzaXplX3Qgc2l6ZSA9IHVubGlua2VkQ29kZUJsb2NrLT5udW1iZXJP
ZlZhbHVlUHJvZmlsZXMoKSkKLSAgICAgICAgbV92YWx1ZVByb2ZpbGVzLnJlc2l6ZVRvRml0KHNp
emUpOworICAgICAgICBtX3ZhbHVlUHJvZmlsZXMgPSBSZWZDb3VudGVkQXJyYXk8VmFsdWVQcm9m
aWxlPihzaXplKTsKICAgICBpZiAoc2l6ZV90IHNpemUgPSB1bmxpbmtlZENvZGVCbG9jay0+bnVt
YmVyT2ZPYmplY3RBbGxvY2F0aW9uUHJvZmlsZXMoKSkKLSAgICAgICAgbV9vYmplY3RBbGxvY2F0
aW9uUHJvZmlsZXMucmVzaXplVG9GaXQoc2l6ZSk7CisgICAgICAgIG1fb2JqZWN0QWxsb2NhdGlv
blByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PE9iamVjdEFsbG9jYXRpb25Qcm9maWxlPihzaXpl
KTsKIAogI2lmIEVOQUJMRShKSVQpCiAgICAgc2V0Q2FsbGVlU2F2ZVJlZ2lzdGVycyhSZWdpc3Rl
clNldDo6bGxpbnRCYXNlbGluZUNhbGxlZVNhdmVSZWdpc3RlcnMoKSk7CkBAIC0yMzE4LDQ1ICsy
MzE2LDQ0IEBAIHZvaWQgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFNjcmlwdEV4
ZWN1dGFibGUqIG93bmVyRXhlY3V0YWJsZSwgVW5saW5rCiAgICAgaWYgKE9wdGlvbnM6OmR1bXBH
ZW5lcmF0ZWRCeXRlY29kZXMoKSkKICAgICAgICAgZHVtcEJ5dGVjb2RlKCk7CiAgICAgCi0gICAg
bV9oZWFwLT5tX2NvZGVCbG9ja3MuYWRkKHRoaXMpOwotICAgIG1faGVhcC0+cmVwb3J0RXh0cmFN
ZW1vcnlBbGxvY2F0ZWQobV9pbnN0cnVjdGlvbnMuc2l6ZSgpICogc2l6ZW9mKEluc3RydWN0aW9u
KSk7CisgICAgaGVhcCgpLT5tX2NvZGVCbG9ja3MuYWRkKHRoaXMpOworICAgIGhlYXAoKS0+cmVw
b3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQobV9pbnN0cnVjdGlvbnMuc2l6ZSgpICogc2l6ZW9mKElu
c3RydWN0aW9uKSk7CiB9CiAKICNpZiBFTkFCTEUoV0VCQVNTRU1CTFkpCiBDb2RlQmxvY2s6OkNv
ZGVCbG9jayhWTSogdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBXZWJBc3NlbWJseUV4ZWN1dGFi
bGUqIG93bmVyRXhlY3V0YWJsZSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKICAgICA6
IEpTQ2VsbCgqdm0sIHN0cnVjdHVyZSkKICAgICAsIG1fZ2xvYmFsT2JqZWN0KGdsb2JhbE9iamVj
dC0+dm0oKSwgdGhpcywgZ2xvYmFsT2JqZWN0KQotICAgICwgbV9oZWFwKCZtX2dsb2JhbE9iamVj
dC0+dm0oKS5oZWFwKQogICAgICwgbV9udW1DYWxsZWVMb2NhbHMoMCkKICAgICAsIG1fbnVtVmFy
cygwKQotICAgICwgbV9pc0NvbnN0cnVjdG9yKGZhbHNlKQogICAgICwgbV9zaG91bGRBbHdheXNC
ZUlubGluZWQoZmFsc2UpCisjaWYgRU5BQkxFKEpJVCkKKyAgICAsIG1fY2FwYWJpbGl0eUxldmVs
U3RhdGUoREZHOjpDYW5ub3RDb21waWxlKQorI2VuZGlmCiAgICAgLCBtX2RpZEZhaWxGVExDb21w
aWxhdGlvbihmYWxzZSkKICAgICAsIG1faGFzQmVlbkNvbXBpbGVkV2l0aEZUTChmYWxzZSkKKyAg
ICAsIG1faXNDb25zdHJ1Y3RvcihmYWxzZSkKKyAgICAsIG1faXNTdHJpY3RNb2RlKGZhbHNlKQor
ICAgICwgbV9uZWVkc0FjdGl2YXRpb24oZmFsc2UpCisgICAgLCBtX2NvZGVUeXBlKEZ1bmN0aW9u
Q29kZSkKICAgICAsIG1faGFzRGVidWdnZXJTdGF0ZW1lbnQoZmFsc2UpCiAgICAgLCBtX3N0ZXBw
aW5nTW9kZShTdGVwcGluZ01vZGVEaXNhYmxlZCkKICAgICAsIG1fbnVtQnJlYWtwb2ludHMoMCkK
ICAgICAsIG1fb3duZXJFeGVjdXRhYmxlKG1fZ2xvYmFsT2JqZWN0LT52bSgpLCB0aGlzLCBvd25l
ckV4ZWN1dGFibGUpCiAgICAgLCBtX3ZtKHZtKQotICAgICwgbV9pc1N0cmljdE1vZGUoZmFsc2Up
Ci0gICAgLCBtX25lZWRzQWN0aXZhdGlvbihmYWxzZSkKLSAgICAsIG1fY29kZVR5cGUoRnVuY3Rp
b25Db2RlKQogICAgICwgbV9vc3JFeGl0Q291bnRlcigwKQogICAgICwgbV9vcHRpbWl6YXRpb25E
ZWxheUNvdW50ZXIoMCkKICAgICAsIG1fcmVvcHRpbWl6YXRpb25SZXRyeUNvdW50ZXIoMCkKICAg
ICAsIG1fY3JlYXRpb25UaW1lKHN0ZDo6Y2hyb25vOjpzdGVhZHlfY2xvY2s6Om5vdygpKQotI2lm
IEVOQUJMRShKSVQpCi0gICAgLCBtX2NhcGFiaWxpdHlMZXZlbFN0YXRlKERGRzo6Q2Fubm90Q29t
cGlsZSkKLSNlbmRpZgogewotICAgIEFTU0VSVChtX2hlYXAtPmlzRGVmZXJyZWQoKSk7CisgICAg
QVNTRVJUKGhlYXAoKS0+aXNEZWZlcnJlZCgpKTsKIH0KIAogdm9pZCBDb2RlQmxvY2s6OmZpbmlz
aENyZWF0aW9uKFZNJiB2bSwgV2ViQXNzZW1ibHlFeGVjdXRhYmxlKiwgSlNHbG9iYWxPYmplY3Qq
KQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKIAotICAgIG1faGVhcC0+bV9jb2Rl
QmxvY2tzLmFkZCh0aGlzKTsKKyAgICBoZWFwKCktPm1fY29kZUJsb2Nrcy5hZGQodGhpcyk7CiB9
CiAjZW5kaWYKIApAQCAtMjM5OSw3ICsyMzk2LDcgQEAgdm9pZCBDb2RlQmxvY2s6OnNldE51bVBh
cmFtZXRlcnMoaW50IG5ld1ZhbHVlKQogewogICAgIG1fbnVtUGFyYW1ldGVycyA9IG5ld1ZhbHVl
OwogCi0gICAgbV9hcmd1bWVudFZhbHVlUHJvZmlsZXMucmVzaXplVG9GaXQobmV3VmFsdWUpOwor
ICAgIG1fYXJndW1lbnRWYWx1ZVByb2ZpbGVzID0gUmVmQ291bnRlZEFycmF5PFZhbHVlUHJvZmls
ZT4obmV3VmFsdWUpOwogfQogCiB2b2lkIEV2YWxDb2RlQ2FjaGU6OnZpc2l0QWdncmVnYXRlKFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQpAQCAtMzI5NSw3ICszMjkyLDcgQEAgdm9pZCBDb2RlQmxvY2s6
OmpldHRpc29uKFByb2ZpbGVyOjpKZXR0aXNvblJlYXNvbiByZWFzb24sIFJlb3B0aW1pemF0aW9u
TW9kZSBtb2QKICAgICB9CiAjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCiAKLSAgICBEZWZlckdD
Rm9yQVdoaWxlIGRlZmVyR0MoKm1faGVhcCk7CisgICAgRGVmZXJHQ0ZvckFXaGlsZSBkZWZlckdD
KCpoZWFwKCkpOwogICAgIAogICAgIC8vIFdlIHdhbnQgdG8gYWNjb21wbGlzaCB0d28gdGhpbmdz
IGhlcmU6CiAgICAgLy8gMSkgTWFrZSBzdXJlIHRoYXQgaWYgdGhpcyBDb2RlQmxvY2sgaXMgb24g
dGhlIHN0YWNrIHJpZ2h0IG5vdywgdGhlbiBpZiB3ZSByZXR1cm4gdG8gaXQKQEAgLTM0MjEsNyAr
MzQxOCw3IEBAIHZvaWQgQ29kZUJsb2NrOjpub3RpY2VJbmNvbWluZ0NhbGwoRXhlY1N0YXRlKiBj
YWxsZXJGcmFtZSkKICAgICBpZiAoIURGRzo6bWlnaHRJbmxpbmVGdW5jdGlvbih0aGlzKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgaWYgKCFjYW5JbmxpbmUobV9jYXBhYmlsaXR5TGV2ZWxTdGF0
ZSkpCisgICAgaWYgKCFjYW5JbmxpbmUoY2FwYWJpbGl0eUxldmVsU3RhdGUoKSkpCiAgICAgICAg
IHJldHVybjsKICAgICAKICAgICBpZiAoIURGRzo6aXNTbWFsbEVub3VnaFRvSW5saW5lQ29kZUlu
dG8oY2FsbGVyQ29kZUJsb2NrKSkgewpAQCAtMzQ3MCwxMiArMzQ2NywxMiBAQCB2b2lkIENvZGVC
bG9jazo6bm90aWNlSW5jb21pbmdDYWxsKEV4ZWNTdGF0ZSogY2FsbGVyRnJhbWUpCiAgICAgICAg
IHJldHVybjsKICAgICB9CiAgICAgCi0gICAgaWYgKGNhbGxlckNvZGVCbG9jay0+bV9jYXBhYmls
aXR5TGV2ZWxTdGF0ZSA9PSBERkc6OkNhcGFiaWxpdHlMZXZlbE5vdFNldCkgeworICAgIGlmIChj
YWxsZXJDb2RlQmxvY2stPmNhcGFiaWxpdHlMZXZlbFN0YXRlKCkgPT0gREZHOjpDYXBhYmlsaXR5
TGV2ZWxOb3RTZXQpIHsKICAgICAgICAgZGF0YUxvZygiSW4gY2FsbCBmcm9tICIsICpjYWxsZXJD
b2RlQmxvY2ssICIgIiwgY2FsbGVyRnJhbWUtPmNvZGVPcmlnaW4oKSwgIiB0byAiLCAqdGhpcywg
IjogY2FsbGVyJ3MgREZHIGNhcGFiaWxpdHkgbGV2ZWwgaXMgbm90IHNldC5cbiIpOwogICAgICAg
ICBDUkFTSCgpOwogICAgIH0KICAgICAKLSAgICBpZiAoY2FuQ29tcGlsZShjYWxsZXJDb2RlQmxv
Y2stPm1fY2FwYWJpbGl0eUxldmVsU3RhdGUpKQorICAgIGlmIChjYW5Db21waWxlKGNhbGxlckNv
ZGVCbG9jay0+Y2FwYWJpbGl0eUxldmVsU3RhdGUoKSkpCiAgICAgICAgIHJldHVybjsKICAgICAK
ICAgICBpZiAoT3B0aW9uczo6dmVyYm9zZUNhbGxMaW5rKCkpCkBAIC00MTkzLDggKzQxOTAsMTAg
QEAgdW5zaWduZWQgQ29kZUJsb2NrOjpyYXJlQ2FzZVByb2ZpbGVDb3VudEZvckJ5dGVjb2RlT2Zm
c2V0KGludCBieXRlY29kZU9mZnNldCkKIAogUmVzdWx0UHJvZmlsZSogQ29kZUJsb2NrOjpyZXN1
bHRQcm9maWxlRm9yQnl0ZWNvZGVPZmZzZXQoaW50IGJ5dGVjb2RlT2Zmc2V0KQogewotICAgIGF1
dG8gaXRlcmF0b3IgPSBtX2J5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAuZmlu
ZChieXRlY29kZU9mZnNldCk7Ci0gICAgaWYgKGl0ZXJhdG9yID09IG1fYnl0ZWNvZGVPZmZzZXRU
b1Jlc3VsdFByb2ZpbGVJbmRleE1hcC5lbmQoKSkKKyAgICBpZiAoIW1fYnl0ZWNvZGVPZmZzZXRU
b1Jlc3VsdFByb2ZpbGVJbmRleE1hcCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgYXV0
byBpdGVyYXRvciA9IG1fYnl0ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcC0+Zmlu
ZChieXRlY29kZU9mZnNldCk7CisgICAgaWYgKGl0ZXJhdG9yID09IG1fYnl0ZWNvZGVPZmZzZXRU
b1Jlc3VsdFByb2ZpbGVJbmRleE1hcC0+ZW5kKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwog
ICAgIHJldHVybiAmbV9yZXN1bHRQcm9maWxlc1tpdGVyYXRvci0+dmFsdWVdOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCmluZGV4IDk5YmZiMDQuLjYyN2E3
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgKQEAgLTEy
Miw3ICsxMjIsNiBAQCBwcm90ZWN0ZWQ6CiAjZW5kaWYKIAogICAgIFdyaXRlQmFycmllcjxKU0ds
b2JhbE9iamVjdD4gbV9nbG9iYWxPYmplY3Q7Ci0gICAgSGVhcCogbV9oZWFwOwogCiBwdWJsaWM6
CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgfkNvZGVCbG9jaygpOwpAQCAtMjk2LDggKzI5NSw4IEBA
IHB1YmxpYzoKICAgICAKICAgICB2b2lkIHNldEpJVENvZGUoUGFzc1JlZlB0cjxKSVRDb2RlPiBj
b2RlKQogICAgIHsKLSAgICAgICAgQVNTRVJUKG1faGVhcC0+aXNEZWZlcnJlZCgpKTsKLSAgICAg
ICAgbV9oZWFwLT5yZXBvcnRFeHRyYU1lbW9yeUFsbG9jYXRlZChjb2RlLT5zaXplKCkpOworICAg
ICAgICBBU1NFUlQoaGVhcCgpLT5pc0RlZmVycmVkKCkpOworICAgICAgICBoZWFwKCktPnJlcG9y
dEV4dHJhTWVtb3J5QWxsb2NhdGVkKGNvZGUtPnNpemUoKSk7CiAgICAgICAgIENvbmN1cnJlbnRK
SVRMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgIFdURjo6c3RvcmVTdG9yZUZlbmNlKCk7
IC8vIFRoaXMgaXMgcHJvYmFibHkgbm90IG5lZWRlZCBiZWNhdXNlIHRoZSBsb2NrIHdpbGwgYWxz
byBkbyBzb21ldGhpbmcgc2ltaWxhciwgYnV0IGl0J3MgZ29vZCB0byBiZSBwYXJhbm9pZC4KICAg
ICAgICAgbV9qaXRDb2RlID0gY29kZTsKQEAgLTMyMyw3ICszMjIsNyBAQCBwdWJsaWM6CiAKICAg
ICBERkc6OkNhcGFiaWxpdHlMZXZlbCBjb21wdXRlQ2FwYWJpbGl0eUxldmVsKCk7CiAgICAgREZH
OjpDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKCk7Ci0gICAgREZHOjpDYXBhYmlsaXR5
TGV2ZWwgY2FwYWJpbGl0eUxldmVsU3RhdGUoKSB7IHJldHVybiBtX2NhcGFiaWxpdHlMZXZlbFN0
YXRlOyB9CisgICAgREZHOjpDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsU3RhdGUoKSB7
IHJldHVybiBzdGF0aWNfY2FzdDxERkc6OkNhcGFiaWxpdHlMZXZlbD4obV9jYXBhYmlsaXR5TGV2
ZWxTdGF0ZSk7IH0KIAogICAgIGJvb2wgaGFzT3B0aW1pemVkUmVwbGFjZW1lbnQoSklUQ29kZTo6
SklUVHlwZSB0eXBlVG9SZXBsYWNlKTsKICAgICBib29sIGhhc09wdGltaXplZFJlcGxhY2VtZW50
KCk7IC8vIHRoZSB0eXBlVG9SZXBsYWNlIGlzIG15IEpJVFR5cGUKQEAgLTM3Nyw3ICszNzYsNyBA
QCBwdWJsaWM6CiAgICAgCiAgICAgQ29kZVR5cGUgY29kZVR5cGUoKSBjb25zdAogICAgIHsKLSAg
ICAgICAgcmV0dXJuIG1fY29kZVR5cGU7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDb2Rl
VHlwZT4obV9jb2RlVHlwZSk7CiAgICAgfQogCiAgICAgUHV0UHJvcGVydHlTbG90OjpDb250ZXh0
IHB1dEJ5SWRDb250ZXh0KCkgY29uc3QKQEAgLTQ2MCw3ICs0NTksOSBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICBtX3Jlc3VsdFByb2ZpbGVzLmFwcGVuZChSZXN1bHRQcm9maWxlKGJ5dGVjb2RlT2Zm
c2V0KSk7CiAgICAgICAgICAgICBwcm9maWxlID0gJm1fcmVzdWx0UHJvZmlsZXMubGFzdCgpOwog
ICAgICAgICAgICAgQVNTRVJUKCZtX3Jlc3VsdFByb2ZpbGVzLmxhc3QoKSA9PSAmbV9yZXN1bHRQ
cm9maWxlc1ttX3Jlc3VsdFByb2ZpbGVzLnNpemUoKSAtIDFdKTsKLSAgICAgICAgICAgIG1fYnl0
ZWNvZGVPZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcC5hZGQoYnl0ZWNvZGVPZmZzZXQsIG1f
cmVzdWx0UHJvZmlsZXMuc2l6ZSgpIC0gMSk7CisgICAgICAgICAgICBpZiAoIW1fYnl0ZWNvZGVP
ZmZzZXRUb1Jlc3VsdFByb2ZpbGVJbmRleE1hcCkKKyAgICAgICAgICAgICAgICBtX2J5dGVjb2Rl
T2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAgPSBzdGQ6Om1ha2VfdW5pcXVlPEJ5dGVjb2Rl
T2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXA+KCk7CisgICAgICAgICAgICBtX2J5dGVjb2Rl
T2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXAtPmFkZChieXRlY29kZU9mZnNldCwgbV9yZXN1
bHRQcm9maWxlcy5zaXplKCkgLSAxKTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gcHJvZmls
ZTsKICAgICB9CkBAIC02MTAsNyArNjExLDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gY29u
c3RhbnRCdWZmZXJBc1ZlY3RvcihpbmRleCkuZGF0YSgpOwogICAgIH0KIAotICAgIEhlYXAqIGhl
YXAoKSBjb25zdCB7IHJldHVybiBtX2hlYXA7IH0KKyAgICBIZWFwKiBoZWFwKCkgY29uc3QgeyBy
ZXR1cm4gJm1fdm0tPmhlYXA7IH0KICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KCkg
eyByZXR1cm4gbV9nbG9iYWxPYmplY3QuZ2V0KCk7IH0KIAogICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3RGb3IoQ29kZU9yaWdpbik7CkBAIC04NjIsMTAgKzg2Myw4IEBAIHB1YmxpYzoK
ICAgICAKICAgICAvLyBGSVhNRTogTWFrZSB0aGVzZSByZW1haW5pbmcgbWVtYmVycyBwcml2YXRl
LgogCi0gICAgaW50IG1fbnVtTG9jYWxSZWdpc3RlcnNGb3JDYWxsZWVTYXZlczsKICAgICBpbnQg
bV9udW1DYWxsZWVMb2NhbHM7CiAgICAgaW50IG1fbnVtVmFyczsKLSAgICBib29sIG1faXNDb25z
dHJ1Y3RvciA6IDE7CiAgICAgCiAgICAgLy8gVGhpcyBpcyBpbnRlbnRpb25hbGx5IHB1YmxpYzsg
aXQncyB0aGUgcmVzcG9uc2liaWxpdHkgb2YgYW55b25lIGRvaW5nIGFueQogICAgIC8vIG9mIHRo
ZSBmb2xsb3dpbmcgdG8gaG9sZCB0aGUgbG9jazoKQEAgLTg4NCwxMiArODgzLDIzIEBAIHB1Ymxp
YzoKICAgICAvLyB3aXRob3V0IGhvbGRpbmcgYW55IGxvY2tzLCBiZWNhdXNlIHRoZSBHQyBpcyBn
dWFyYW50ZWVkIHRvIHdhaXQgdW50aWwgYW55CiAgICAgLy8gY29uY3VycmVudCBjb21waWxhdGlv
biB0aHJlYWRzIGZpbmlzaCB3aGF0IHRoZXkncmUgZG9pbmcuCiAgICAgbXV0YWJsZSBDb25jdXJy
ZW50SklUTG9jayBtX2xvY2s7Ci0gICAgCisKKyAgICBBdG9taWM8Ym9vbD4gbV92aXNpdFdlYWts
eUhhc0JlZW5DYWxsZWQ7CisKICAgICBib29sIG1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkOyAvLyBO
b3QgYSBiaXRmaWVsZCBiZWNhdXNlIHRoZSBKSVQgd2FudHMgdG8gc3RvcmUgdG8gaXQuCisKKyNp
ZiBFTkFCTEUoSklUKQorICAgIHVuc2lnbmVkIG1fY2FwYWJpbGl0eUxldmVsU3RhdGUgOiAyOyAv
LyBERkc6OkNhcGFiaWxpdHlMZXZlbAorI2VuZGlmCisKICAgICBib29sIG1fYWxsVHJhbnNpdGlv
bnNIYXZlQmVlbk1hcmtlZCA6IDE7IC8vIEluaXRpYWxpemVkIGFuZCB1c2VkIG9uIGV2ZXJ5IEdD
LgotICAgIAorCiAgICAgYm9vbCBtX2RpZEZhaWxGVExDb21waWxhdGlvbiA6IDE7CiAgICAgYm9v
bCBtX2hhc0JlZW5Db21waWxlZFdpdGhGVEwgOiAxOworICAgIGJvb2wgbV9pc0NvbnN0cnVjdG9y
IDogMTsKKyAgICBib29sIG1faXNTdHJpY3RNb2RlIDogMTsKKyAgICBib29sIG1fbmVlZHNBY3Rp
dmF0aW9uIDogMTsKKyAgICB1bnNpZ25lZCBtX2NvZGVUeXBlIDogMjsgLy8gQ29kZVR5cGUKIAog
ICAgIC8vIEludGVybmFsIG1ldGhvZHMgZm9yIHVzZSBieSB2YWxpZGF0aW9uIGNvZGUuIEl0IHdv
dWxkIGJlIHByaXZhdGUgaWYgaXQgd2Fzbid0CiAgICAgLy8gZm9yIHRoZSBmYWN0IHRoYXQgd2Ug
dXNlIGl0IGZyb20gYW5vbnltb3VzIG5hbWVzcGFjZXMuCkBAIC0xMDMwLDE4ICsxMDQwLDEzIEBA
IHByaXZhdGU6CiAgICAgVmlydHVhbFJlZ2lzdGVyIG1fdGhpc1JlZ2lzdGVyOwogICAgIFZpcnR1
YWxSZWdpc3RlciBtX3Njb3BlUmVnaXN0ZXI7CiAgICAgVmlydHVhbFJlZ2lzdGVyIG1fbGV4aWNh
bEVudmlyb25tZW50UmVnaXN0ZXI7Ci0KLSAgICBib29sIG1faXNTdHJpY3RNb2RlOwotICAgIGJv
b2wgbV9uZWVkc0FjdGl2YXRpb247Ci0KLSAgICBBdG9taWM8Ym9vbD4gbV92aXNpdFdlYWtseUhh
c0JlZW5DYWxsZWQ7CisgICAgbXV0YWJsZSBDb2RlQmxvY2tIYXNoIG1faGFzaDsKIAogICAgIFJl
ZlB0cjxTb3VyY2VQcm92aWRlcj4gbV9zb3VyY2U7CiAgICAgdW5zaWduZWQgbV9zb3VyY2VPZmZz
ZXQ7CiAgICAgdW5zaWduZWQgbV9maXJzdExpbmVDb2x1bW5PZmZzZXQ7Ci0gICAgQ29kZVR5cGUg
bV9jb2RlVHlwZTsKIAotICAgIFZlY3RvcjxMTEludENhbGxMaW5rSW5mbz4gbV9sbGludENhbGxM
aW5rSW5mb3M7CisgICAgUmVmQ291bnRlZEFycmF5PExMSW50Q2FsbExpbmtJbmZvPiBtX2xsaW50
Q2FsbExpbmtJbmZvczsKICAgICBTZW50aW5lbExpbmtlZExpc3Q8TExJbnRDYWxsTGlua0luZm8s
IEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0xMSW50
Q2FsbHM7CiAgICAgUmVmUHRyPEpJVENvZGU+IG1faml0Q29kZTsKICNpZiBFTkFCTEUoSklUKQpA
QCAtMTA1OSwxNCArMTA2NCwxNSBAQCBwcml2YXRlOgogICAgIERGRzo6RXhpdFByb2ZpbGUgbV9l
eGl0UHJvZmlsZTsKICAgICBDb21wcmVzc2VkTGF6eU9wZXJhbmRWYWx1ZVByb2ZpbGVIb2xkZXIg
bV9sYXp5T3BlcmFuZFZhbHVlUHJvZmlsZXM7CiAjZW5kaWYKLSAgICBWZWN0b3I8VmFsdWVQcm9m
aWxlPiBtX2FyZ3VtZW50VmFsdWVQcm9maWxlczsKLSAgICBWZWN0b3I8VmFsdWVQcm9maWxlPiBt
X3ZhbHVlUHJvZmlsZXM7CisgICAgUmVmQ291bnRlZEFycmF5PFZhbHVlUHJvZmlsZT4gbV9hcmd1
bWVudFZhbHVlUHJvZmlsZXM7CisgICAgUmVmQ291bnRlZEFycmF5PFZhbHVlUHJvZmlsZT4gbV92
YWx1ZVByb2ZpbGVzOwogICAgIFNlZ21lbnRlZFZlY3RvcjxSYXJlQ2FzZVByb2ZpbGUsIDg+IG1f
cmFyZUNhc2VQcm9maWxlczsKICAgICBTZWdtZW50ZWRWZWN0b3I8UmVzdWx0UHJvZmlsZSwgOD4g
bV9yZXN1bHRQcm9maWxlczsKLSAgICBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgSW50SGFz
aDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+
PiBtX2J5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxlSW5kZXhNYXA7Ci0gICAgVmVjdG9yPEFy
cmF5QWxsb2NhdGlvblByb2ZpbGU+IG1fYXJyYXlBbGxvY2F0aW9uUHJvZmlsZXM7CisgICAgdHlw
ZWRlZiBIYXNoTWFwPHVuc2lnbmVkLCB1bnNpZ25lZCwgSW50SGFzaDx1bnNpZ25lZD4sIFdURjo6
VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PiBCeXRlY29kZU9mZnNldFRv
UmVzdWx0UHJvZmlsZUluZGV4TWFwOworICAgIHN0ZDo6dW5pcXVlX3B0cjxCeXRlY29kZU9mZnNl
dFRvUmVzdWx0UHJvZmlsZUluZGV4TWFwPiBtX2J5dGVjb2RlT2Zmc2V0VG9SZXN1bHRQcm9maWxl
SW5kZXhNYXA7CisgICAgUmVmQ291bnRlZEFycmF5PEFycmF5QWxsb2NhdGlvblByb2ZpbGU+IG1f
YXJyYXlBbGxvY2F0aW9uUHJvZmlsZXM7CiAgICAgQXJyYXlQcm9maWxlVmVjdG9yIG1fYXJyYXlQ
cm9maWxlczsKLSAgICBWZWN0b3I8T2JqZWN0QWxsb2NhdGlvblByb2ZpbGU+IG1fb2JqZWN0QWxs
b2NhdGlvblByb2ZpbGVzOworICAgIFJlZkNvdW50ZWRBcnJheTxPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZT4gbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZXM7CiAKICAgICAvLyBDb25zdGFudCBQb29s
CiAgICAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJlZ2lzdGVyKSA9PSBzaXplb2YoV3JpdGVCYXJy
aWVyPFVua25vd24+KSwgUmVnaXN0ZXJfbXVzdF9iZV9zYW1lX3NpemVfYXNfV3JpdGVCYXJyaWVy
X1Vua25vd24pOwpAQCAtMTA3NCwyOSArMTA4MCwyMyBAQCBwcml2YXRlOgogICAgIC8vIGl0LCBz
byB3ZSdyZSBzdHVjayB3aXRoIGl0IGZvciBub3cuCiAgICAgVmVjdG9yPFdyaXRlQmFycmllcjxV
bmtub3duPj4gbV9jb25zdGFudFJlZ2lzdGVyczsKICAgICBWZWN0b3I8U291cmNlQ29kZVJlcHJl
c2VudGF0aW9uPiBtX2NvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbjsKLSAgICBWZWN0
b3I8V3JpdGVCYXJyaWVyPEZ1bmN0aW9uRXhlY3V0YWJsZT4+IG1fZnVuY3Rpb25EZWNsczsKLSAg
ICBWZWN0b3I8V3JpdGVCYXJyaWVyPEZ1bmN0aW9uRXhlY3V0YWJsZT4+IG1fZnVuY3Rpb25FeHBy
czsKKyAgICBSZWZDb3VudGVkQXJyYXk8V3JpdGVCYXJyaWVyPEZ1bmN0aW9uRXhlY3V0YWJsZT4+
IG1fZnVuY3Rpb25EZWNsczsKKyAgICBSZWZDb3VudGVkQXJyYXk8V3JpdGVCYXJyaWVyPEZ1bmN0
aW9uRXhlY3V0YWJsZT4+IG1fZnVuY3Rpb25FeHByczsKIAogICAgIFdyaXRlQmFycmllcjxDb2Rl
QmxvY2s+IG1fYWx0ZXJuYXRpdmU7CiAgICAgCiAgICAgQmFzZWxpbmVFeGVjdXRpb25Db3VudGVy
IG1fbGxpbnRFeGVjdXRlQ291bnRlcjsKIAogICAgIEJhc2VsaW5lRXhlY3V0aW9uQ291bnRlciBt
X2ppdEV4ZWN1dGVDb3VudGVyOwotICAgIGludDMyX3QgbV90b3RhbEpJVEV4ZWN1dGlvbnM7CiAg
ICAgdWludDMyX3QgbV9vc3JFeGl0Q291bnRlcjsKICAgICB1aW50MTZfdCBtX29wdGltaXphdGlv
bkRlbGF5Q291bnRlcjsKICAgICB1aW50MTZfdCBtX3Jlb3B0aW1pemF0aW9uUmV0cnlDb3VudGVy
OwogCiAgICAgc3RkOjpjaHJvbm86OnN0ZWFkeV9jbG9jazo6dGltZV9wb2ludCBtX2NyZWF0aW9u
VGltZTsKIAotICAgIG11dGFibGUgQ29kZUJsb2NrSGFzaCBtX2hhc2g7Ci0KICAgICBzdGQ6OnVu
aXF1ZV9wdHI8Qnl0ZWNvZGVMaXZlbmVzc0FuYWx5c2lzPiBtX2xpdmVuZXNzQW5hbHlzaXM7CiAK
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmFyZURhdGE+IG1fcmFyZURhdGE7Ci0jaWYgRU5BQkxFKEpJ
VCkKLSAgICBERkc6OkNhcGFiaWxpdHlMZXZlbCBtX2NhcGFiaWxpdHlMZXZlbFN0YXRlOwotI2Vu
ZGlmCiAKICAgICBVbmNvbmRpdGlvbmFsRmluYWxpemVyIG1fdW5jb25kaXRpb25hbEZpbmFsaXpl
cjsKICAgICBXZWFrUmVmZXJlbmNlSGFydmVzdGVyIG1fd2Vha1JlZmVyZW5jZUhhcnZlc3RlcjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>