<?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>151043</bug_id>
          
          <creation_ts>2015-11-09 12:00:06 -0800</creation_ts>
          <short_desc>B3-&gt;Air lowering should support CCall</short_desc>
          <delta_ts>2015-11-09 16:27:52 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          <blocked>151052</blocked>
    
    <blocked>150279</blocked>
    
    <blocked>151045</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1140452</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-09 12:00:06 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140542</commentid>
    <comment_count>1</comment_count>
      <attachid>265098</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-09 14:37:12 -0800</bug_when>
    <thetext>Created attachment 265098
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140545</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-11-09 14:40:39 -0800</bug_when>
    <thetext>Attachment 265098 did not pass style-queue:


ERROR: Source/JavaScriptCore/b3/testb3.cpp:2674:  l is incorrectly named. Don&apos;t use the single letter &apos;l&apos; as an identifier name.  [readability/naming] [4]
Total errors found: 1 in 7 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>1140556</commentid>
    <comment_count>3</comment_count>
      <attachid>265098</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-11-09 15:07:03 -0800</bug_when>
    <thetext>Comment on attachment 265098
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=265098&amp;action=review

r=me

&gt; Source/JavaScriptCore/b3/B3LowerToAir.cpp:1164
&gt; +        // Compute the place that this goes onto the stack. On X86_64 and probably other calling

ARMv7 and ARM64 too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140572</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-09 15:51:18 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Comment on attachment 265098 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=265098&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/b3/B3LowerToAir.cpp:1164
&gt; &gt; +        // Compute the place that this goes onto the stack. On X86_64 and probably other calling
&gt; 
&gt; ARMv7 and ARM64 too?

Probably, but I haven&apos;t checked yet. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1140589</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-11-09 16:27:52 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/192187</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>265098</attachid>
            <date>2015-11-09 14:37:12 -0800</date>
            <delta_ts>2015-11-09 15:07:03 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>17736</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkyMTgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM1IEBA
CisyMDE1LTExLTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
QjMtPkFpciBsb3dlcmluZyBzaG91bGQgc3VwcG9ydCBDQ2FsbAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDQzCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcyBzdXBwb3J0IGZvciBsb3dlcmluZyBD
Q2FsbCB0byBBaXIsIGFuZCBhZGRzIGEgdGVzdCB0aGF0IG1ha2VzIGNhbGxzLiBJIGNhbm5vdCB0
ZXN0IGRvdWJsZXMKKyAgICAgICAgdW50aWwgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE1MTAwMiBsYW5kcywgYnV0IHRoaXMgZG9lcyB0ZXN0IGludGVnZXIKKyAgICAg
ICAgYXJndW1lbnRzIHByZXR0eSB0aG9yb3VnaGx5IGluY2x1ZGluZyBhIHRlc3QgZm9yIGxvdHMg
b2YgYXJndW1lbnRzLiBUaGF0IHRlc3QgZW5zdXJlcyB0aGF0IHRoZQorICAgICAgICBhcmd1bWVu
dHMgZ28gdG8gcmVnaXN0ZXJzIGFuZCB0aGUgc3RhY2sgaW4gdGhlIHJpZ2h0IG9yZGVyIGFuZCBz
dWNoLgorCisgICAgICAgICogYjMvQjNMb3dlclRvQWlyLmNwcDoKKyAgICAgICAgKEpTQzo6QjM6
OkFpcjo6TG93ZXJUb0Fpcjo6Y3JlYXRlQ29tcGFyZSk6CisgICAgICAgIChKU0M6OkIzOjpBaXI6
Okxvd2VyVG9BaXI6Om1hcnNoYWxsQ0NhbGxBcmd1bWVudCk6CisgICAgICAgIChKU0M6OkIzOjpB
aXI6Okxvd2VyVG9BaXI6Omxvd2VyKToKKyAgICAgICAgKiBiMy9CM09wY29kZS5oOgorICAgICAg
ICAqIGIzL2Fpci9BaXJDQ2FsbFNwZWNpYWwuY3BwOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpD
Q2FsbFNwZWNpYWw6OmZvckVhY2hBcmcpOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpDQ2FsbFNw
ZWNpYWw6OmlzVmFsaWQpOgorICAgICAgICAoSlNDOjpCMzo6QWlyOjpDQ2FsbFNwZWNpYWw6OmFk
bWl0c1N0YWNrKToKKyAgICAgICAgKEpTQzo6QjM6OkFpcjo6Q0NhbGxTcGVjaWFsOjpnZW5lcmF0
ZSk6CisgICAgICAgICogYjMvYWlyL0FpckNDYWxsU3BlY2lhbC5oOgorICAgICAgICAqIGIzL3Rl
c3RiMy5jcHA6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0Q29tcGFyZSk6CisgICAgICAgIChKU0M6
OkIzOjpzaW1wbGVGdW5jdGlvbik6CisgICAgICAgIChKU0M6OkIzOjp0ZXN0Q2FsbFNpbXBsZSk6
CisgICAgICAgIChKU0M6OkIzOjpmdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50cyk6CisgICAgICAg
IChKU0M6OkIzOjp0ZXN0Q2FsbEZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKToKKyAgICAgICAg
KEpTQzo6QjM6OnJ1bik6CisgICAgICAgICogaml0L0ZQUkluZm8uaDoKKwogMjAxNS0xMS0wOSAg
TWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBOZWVkIGEgZnVu
Y3Rpb24gdGhhdCB3aWxsIHByb3ZpZGUgTnRoIGFyZ3VtZW50IHJlZ2lzdGVyCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYjMvQjNMb3dlclRvQWlyLmNwcAkocmV2aXNpb24gMTkyMTc3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzTG93ZXJUb0Fpci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDEyICsyOCwxNCBAQAogCiAjaWYgRU5BQkxFKEIzX0pJVCkKIAorI2luY2x1ZGUg
IkFpckNDYWxsU3BlY2lhbC5oIgogI2luY2x1ZGUgIkFpckNvZGUuaCIKICNpbmNsdWRlICJBaXJJ
bnNlcnRpb25TZXQuaCIKICNpbmNsdWRlICJBaXJJbnN0SW5saW5lcy5oIgogI2luY2x1ZGUgIkFp
clN0YWNrU2xvdC5oIgogI2luY2x1ZGUgIkIzQXJndW1lbnRSZWdWYWx1ZS5oIgogI2luY2x1ZGUg
IkIzQmFzaWNCbG9ja0lubGluZXMuaCIKKyNpbmNsdWRlICJCM0NDYWxsVmFsdWUuaCIKICNpbmNs
dWRlICJCM0NoZWNrU3BlY2lhbC5oIgogI2luY2x1ZGUgIkIzQ29tbXV0YXRpdml0eS5oIgogI2lu
Y2x1ZGUgIkIzSW5kZXhNYXAuaCIKQEAgLTExNDksNiArMTE1MSwyNyBAQCBwcml2YXRlOgogICAg
ICAgICAgICAgaW52ZXJ0ZWQpOwogICAgIH0KIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEJhbmtJ
bmZvPgorICAgIEFyZyBtYXJzaGFsbENDYWxsQXJndW1lbnQodW5zaWduZWQmIGFyZ3VtZW50Q291
bnQsIHVuc2lnbmVkJiBzdGFja0NvdW50LCBWYWx1ZSogY2hpbGQpCisgICAgeworICAgICAgICB1
bnNpZ25lZCBhcmd1bWVudEluZGV4ID0gYXJndW1lbnRDb3VudCsrOworICAgICAgICBpZiAoYXJn
dW1lbnRJbmRleCA8IEJhbmtJbmZvOjpudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzKSB7CisgICAg
ICAgICAgICBUbXAgcmVzdWx0ID0gVG1wKEJhbmtJbmZvOjp0b0FyZ3VtZW50UmVnaXN0ZXIoYXJn
dW1lbnRJbmRleCkpOworICAgICAgICAgICAgYXBwZW5kKHJlbGF4ZWRNb3ZlRm9yVHlwZShjaGls
ZC0+dHlwZSgpKSwgaW1tT3JUbXBGb3JNb3ZlKGNoaWxkKSwgcmVzdWx0KTsKKyAgICAgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgICAgIH0KKworICAgICAgICAvLyBDb21wdXRlIHRoZSBwbGFj
ZSB0aGF0IHRoaXMgZ29lcyBvbnRvIHRoZSBzdGFjay4gT24gWDg2XzY0IGFuZCBwcm9iYWJseSBv
dGhlciBjYWxsaW5nCisgICAgICAgIC8vIGNvbnZlbnRpb25zIHRoYXQgZG9uJ3QgaW52b2x2ZSBv
YnNvbGV0ZSBjb21wdXRlcnMgYW5kIG9wZXJhdGluZyBzeXN0ZW1zLCBzdWItcG9pbnRlci1zaXpl
CisgICAgICAgIC8vIGFyZ3VtZW50cyBhcmUgc3RpbGwgZ2l2ZW4gYSBmdWxsIHBvaW50ZXItc2l6
ZWQgc3RhY2sgc2xvdC4gSGVuY2Ugd2UgZG9uJ3QgaGF2ZSB0byBjb25zaWRlcgorICAgICAgICAv
LyB0aGUgdHlwZSBvZiB0aGUgYXJndW1lbnQgd2hlbiBkZWR1Y2luZyB0aGUgc3RhY2sgaW5kZXgu
CisgICAgICAgIHVuc2lnbmVkIHN0YWNrSW5kZXggPSBzdGFja0NvdW50Kys7CisKKyAgICAgICAg
QXJnIHJlc3VsdCA9IEFyZzo6Y2FsbEFyZyhzdGFja0luZGV4ICogc2l6ZW9mKHZvaWQqKSk7Cisg
ICAgICAgIGFwcGVuZFN0b3JlKGNoaWxkLCByZXN1bHQpOworICAgICAgICByZXR1cm4gcmVzdWx0
OworICAgIH0KKwogICAgIHZvaWQgbG93ZXIoKQogICAgIHsKICAgICAgICAgc3dpdGNoIChtX3Zh
bHVlLT5vcGNvZGUoKSkgewpAQCAtMTMxOCw2ICsxMzQxLDcwIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIH0KIAorICAgICAgICBjYXNlIENDYWxsOiB7CisgICAgICAg
ICAgICBDQ2FsbFZhbHVlKiBjQ2FsbCA9IG1fdmFsdWUtPmFzPENDYWxsVmFsdWU+KCk7CisgICAg
ICAgICAgICBJbnN0IGluc3QoUGF0Y2gsIGNDYWxsLCBBcmc6OnNwZWNpYWwobV9jb2RlLmNDYWxs
U3BlY2lhbCgpKSk7CisKKyAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBiaXQgd2VpcmQgLSB3ZSBo
YXZlIGEgc3VwZXIgaW50ZW5zZSBjb250cmFjdCB3aXRoIEFyZzo6Q0NhbGxTcGVjaWFsLiBJdCBt
aWdodAorICAgICAgICAgICAgLy8gYmUgYmV0dGVyIGlmIHdlIGZhY3RvcmVkIEFpcjo6Q0NhbGxT
cGVjaWFsIG91dCBvZiB0aGUgQWlyIG5hbWVzcGFjZSBhbmQgbWFkZSBpdCBhIEIzCisgICAgICAg
ICAgICAvLyB0aGluZy4KKyAgICAgICAgICAgIC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDQ1CisKKyAgICAgICAgICAgIC8vIFdlIGhhdmUgYSB0
b24gb2YgZmxleGliaWxpdHkgcmVnYXJkaW5nIHRoZSBjYWxsZWUgYXJndW1lbnQsIGJ1dCBjdXJy
ZW50bHksIHdlIGRvbid0CisgICAgICAgICAgICAvLyB1c2UgaXQgeWV0LiBJdCBnZXRzIHdlaXJk
IGZvciByZWFzb25zOgorICAgICAgICAgICAgLy8gMSkgV2UgcHJvYmFibHkgd2lsbCBuZXZlciB0
YWtlIGFkdmFudGFnZSBvZiB0aGlzLiBXZSBkb24ndCBoYXZlIEMgY2FsbHMgdG8gbG9jYXRpb25z
CisgICAgICAgICAgICAvLyAgICBsb2FkZWQgZnJvbSBhZGRyZXNzZXMuIFdlIGhhdmUgSlMgY2Fs
bHMgbGlrZSB0aGF0LCBidXQgdGhvc2UgdXNlIFBhdGNocG9pbnRzLgorICAgICAgICAgICAgLy8g
MikgT24gWDg2XzY0IHdlIHN0aWxsIGRvbid0IHN1cHBvcnQgY2FsbCB3aXRoIEJhc2VJbmRleC4K
KyAgICAgICAgICAgIC8vIDMpIE9uIG5vbi1YODYsIHdlIGRvbid0IG5hdGl2ZWx5IHN1cHBvcnQg
YW55IGtpbmQgb2YgbG9hZGluZyBmcm9tIGFkZHJlc3MuCisgICAgICAgICAgICAvLyA0KSBXZSBk
b24ndCBoYXZlIGFuIGlzVmFsaWRGb3JtKCkgZm9yIHRoZSBDQ2FsbFNwZWNpYWwgc28gd2UgaGF2
ZSBubyBzbWFydCB3YXkgdG8KKyAgICAgICAgICAgIC8vICAgIGRlY2lkZS4KKyAgICAgICAgICAg
IC8vIEZJWE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxMDUy
CisgICAgICAgICAgICBpbnN0LmFyZ3MuYXBwZW5kKHRtcChjQ2FsbC0+Y2hpbGQoMCkpKTsKKwor
ICAgICAgICAgICAgLy8gV2UgbmVlZCB0byB0ZWxsIEFpciB3aGF0IHJlZ2lzdGVycyB0aGlzIGRl
ZmluZXMuCisgICAgICAgICAgICBpbnN0LmFyZ3MuYXBwZW5kKFRtcChHUFJJbmZvOjpyZXR1cm5W
YWx1ZUdQUikpOworICAgICAgICAgICAgaW5zdC5hcmdzLmFwcGVuZChUbXAoR1BSSW5mbzo6cmV0
dXJuVmFsdWVHUFIyKSk7CisgICAgICAgICAgICBpbnN0LmFyZ3MuYXBwZW5kKFRtcChGUFJJbmZv
OjpyZXR1cm5WYWx1ZUZQUikpOworCisgICAgICAgICAgICAvLyBOb3cgbWFyc2hhbGwgdGhlIGFy
Z3VtZW50cy4gVGhpcyBpcyB3aGVyZSB3ZSBpbXBsZW1lbnQgdGhlIEMgY2FsbGluZyBjb252ZW50
aW9uLiBBZnRlcgorICAgICAgICAgICAgLy8gdGhpcywgQWlyIGRvZXMgbm90IGtub3cgd2hhdCB0
aGUgY29udmVudGlvbiBpczsgaXQganVzdCB0YWtlcyBvdXIgd29yZCBmb3IgaXQuCisgICAgICAg
ICAgICB1bnNpZ25lZCBncEFyZ3VtZW50Q291bnQgPSAwOworICAgICAgICAgICAgdW5zaWduZWQg
ZnBBcmd1bWVudENvdW50ID0gMDsKKyAgICAgICAgICAgIHVuc2lnbmVkIHN0YWNrQ291bnQgPSAw
OworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IGNDYWxsLT5udW1DaGlsZHJl
bigpOyArK2kpIHsKKyAgICAgICAgICAgICAgICBWYWx1ZSogYXJnQ2hpbGQgPSBjQ2FsbC0+Y2hp
bGQoaSk7CisgICAgICAgICAgICAgICAgQXJnIGFyZzsKKyAgICAgICAgICAgICAgICAKKyAgICAg
ICAgICAgICAgICBzd2l0Y2ggKEFyZzo6dHlwZUZvckIzVHlwZShhcmdDaGlsZC0+dHlwZSgpKSkg
eworICAgICAgICAgICAgICAgIGNhc2UgQXJnOjpHUDoKKyAgICAgICAgICAgICAgICAgICAgYXJn
ID0gbWFyc2hhbGxDQ2FsbEFyZ3VtZW50PEdQUkluZm8+KGdwQXJndW1lbnRDb3VudCwgc3RhY2tD
b3VudCwgYXJnQ2hpbGQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAg
ICAgICAgIGNhc2UgQXJnOjpGUDoKKyAgICAgICAgICAgICAgICAgICAgYXJnID0gbWFyc2hhbGxD
Q2FsbEFyZ3VtZW50PEZQUkluZm8+KGZwQXJndW1lbnRDb3VudCwgc3RhY2tDb3VudCwgYXJnQ2hp
bGQpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgICAgICBpZiAoYXJnLmlzVG1wKCkpCisgICAgICAgICAgICAgICAgICAgIGluc3Qu
YXJncy5hcHBlbmQoYXJnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAg
ICAgbV9pbnN0cy5sYXN0KCkuYXBwZW5kKFdURjo6bW92ZShpbnN0KSk7CisKKyAgICAgICAgICAg
IHN3aXRjaCAoY0NhbGwtPnR5cGUoKSkgeworICAgICAgICAgICAgY2FzZSBWb2lkOgorICAgICAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSBJbnQzMjoKKyAgICAgICAgICAgIGNh
c2UgSW50NjQ6CisgICAgICAgICAgICAgICAgYXBwZW5kKE1vdmUsIFRtcChHUFJJbmZvOjpyZXR1
cm5WYWx1ZUdQUiksIHRtcChjQ2FsbCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSBEb3VibGU6CisgICAgICAgICAgICAgICAgYXBwZW5kKE1vdmVEb3VibGUsIFRt
cChGUFJJbmZvOjpyZXR1cm5WYWx1ZUZQUiksIHRtcChjQ2FsbCkpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisK
ICAgICAgICAgY2FzZSBQYXRjaHBvaW50OiB7CiAgICAgICAgICAgICBQYXRjaHBvaW50VmFsdWUq
IHBhdGNocG9pbnRWYWx1ZSA9IG1fdmFsdWUtPmFzPFBhdGNocG9pbnRWYWx1ZT4oKTsKICAgICAg
ICAgICAgIGVuc3VyZVNwZWNpYWwobV9wYXRjaHBvaW50U3BlY2lhbCk7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYjMvQjNPcGNvZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYjMvQjNPcGNvZGUuaAkocmV2aXNpb24gMTkyMTc3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2IzL0IzT3Bjb2RlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMsNyBA
QCBlbnVtIE9wY29kZSA6IGludDE2X3QgewogICAgIFN0b3JlLAogCiAgICAgLy8gVGhpcyBpcyBh
IHJlZ3VsYXIgb3JkaW5hcnkgQyBmdW5jdGlvbiBjYWxsLCB1c2luZyB0aGUgc3lzdGVtIEMgY2Fs
bGluZyBjb252ZW50aW9uLiBNYWtlIHN1cmUKLSAgICAvLyB0aGF0IHRoZSBhcmd1bWVudHMgYXJl
IHBhc3NlZCB1c2luZyB0aGUgcmlnaHQgdHlwZXMuCisgICAgLy8gdGhhdCB0aGUgYXJndW1lbnRz
IGFyZSBwYXNzZWQgdXNpbmcgdGhlIHJpZ2h0IHR5cGVzLiBUaGUgZmlyc3QgYXJndW1lbnQgaXMg
dGhlIGNhbGxlZS4KICAgICBDQ2FsbCwKIAogICAgIC8vIFRoaXMgaXMgYSBwYXRjaHBvaW50LiBV
c2UgdGhlIFBhdGNocG9pbnRWYWx1ZSBjbGFzcy4gVGhpcyBpcyB2aWV3ZWQgYXMgYmVoYXZpbmcg
bGlrZSBhIGNhbGwsCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvdGVzdGIzLmNwcAkocmV2aXNp
b24gMTkyMTc3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIkIzQXJndW1lbnRSZWdWYWx1
ZS5oIgogI2luY2x1ZGUgIkIzQmFzaWNCbG9ja0lubGluZXMuaCIKKyNpbmNsdWRlICJCM0NDYWxs
VmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0MzJWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29uc3RQ
dHJWYWx1ZS5oIgogI2luY2x1ZGUgIkIzQ29udHJvbFZhbHVlLmgiCkBAIC0yNjUwLDYgKzI2NTEs
NTAgQEAgdm9pZCB0ZXN0Q29tcGFyZShCMzo6T3Bjb2RlIG9wY29kZSwgaW50IAogICAgIHZhcmlh
bnRzKC1sZWZ0LCAtcmlnaHQpOwogfQogCitpbnQgc2ltcGxlRnVuY3Rpb24oaW50IGEsIGludCBi
KQoreworICAgIHJldHVybiBhICsgYjsKK30KKwordm9pZCB0ZXN0Q2FsbFNpbXBsZShpbnQgYSwg
aW50IGIpCit7CisgICAgUHJvY2VkdXJlIHByb2M7CisgICAgQmFzaWNCbG9jayogcm9vdCA9IHBy
b2MuYWRkQmxvY2soKTsKKyAgICByb290LT5hcHBlbmROZXc8Q29udHJvbFZhbHVlPigKKyAgICAg
ICAgcHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAgICAgcm9vdC0+YXBwZW5kTmV3PENDYWxs
VmFsdWU+KAorICAgICAgICAgICAgcHJvYywgSW50MzIsIE9yaWdpbigpLAorICAgICAgICAgICAg
cm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCBiaXR3aXNlX2Nh
c3Q8dm9pZCo+KHNpbXBsZUZ1bmN0aW9uKSksCisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8
QXJndW1lbnRSZWdWYWx1ZT4ocHJvYywgT3JpZ2luKCksIEdQUkluZm86OmFyZ3VtZW50R1BSMCks
CisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8QXJndW1lbnRSZWdWYWx1ZT4ocHJvYywgT3Jp
Z2luKCksIEdQUkluZm86OmFyZ3VtZW50R1BSMSkpKTsKKworICAgIENIRUNLKGNvbXBpbGVBbmRS
dW48aW50Pihwcm9jLCBhLCBiKSA9PSBhICsgYik7Cit9CisKK2ludCBmdW5jdGlvbldpdGhIZWxs
YUFyZ3VtZW50cyhpbnQgYSwgaW50IGIsIGludCBjLCBpbnQgZCwgaW50IGUsIGludCBmLCBpbnQg
ZywgaW50IGgsIGludCBpLCBpbnQgaiwgaW50IGssIGludCBsLCBpbnQgbSwgaW50IG4sIGludCBv
LCBpbnQgcCwgaW50IHEsIGludCByLCBpbnQgcywgaW50IHQsIGludCB1LCBpbnQgdiwgaW50IHcs
IGludCB4LCBpbnQgeSwgaW50IHopCit7CisgICAgcmV0dXJuIChhIDw8IDApICsgKGIgPDwgMSkg
KyAoYyA8PCAyKSArIChkIDw8IDMpICsgKGUgPDwgNCkgKyAoZiA8PCA1KSArIChnIDw8IDYpICsg
KGggPDwgNykgKyAoaSA8PCA4KSArIChqIDw8IDkpICsgKGsgPDwgMTApICsgKGwgPDwgMTEpICsg
KG0gPDwgMTIpICsgKG4gPDwgMTMpICsgKG8gPDwgMTQpICsgKHAgPDwgMTUpICsgKHEgPDwgMTYp
ICsgKHIgPDwgMTcpICsgKHMgPDwgMTgpICsgKHQgPDwgMTkpICsgKHUgPDwgMjApICsgKHYgPDwg
MjEpICsgKHcgPDwgMjIpICsgKHggPDwgMjMpICsgKHkgPDwgMjQpICsgKHogPDwgMjUpOworfQor
Cit2b2lkIHRlc3RDYWxsRnVuY3Rpb25XaXRoSGVsbGFBcmd1bWVudHMoKQoreworICAgIFByb2Nl
ZHVyZSBwcm9jOworICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2NrKCk7CisKKyAg
ICBWZWN0b3I8VmFsdWUqPiBhcmdzOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAyNjsg
KytpKQorICAgICAgICBhcmdzLmFwcGVuZChyb290LT5hcHBlbmROZXc8Q29uc3QzMlZhbHVlPihw
cm9jLCBPcmlnaW4oKSwgaSArIDEpKTsKKworICAgIENDYWxsVmFsdWUqIGNhbGwgPSByb290LT5h
cHBlbmROZXc8Q0NhbGxWYWx1ZT4oCisgICAgICAgIHByb2MsIEludDMyLCBPcmlnaW4oKSwKKyAg
ICAgICAgcm9vdC0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KHByb2MsIE9yaWdpbigpLCBiaXR3
aXNlX2Nhc3Q8dm9pZCo+KGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRzKSkpOworICAgIGNhbGwt
PmNoaWxkcmVuKCkuYXBwZW5kVmVjdG9yKGFyZ3MpOworICAgIAorICAgIHJvb3QtPmFwcGVuZE5l
dzxDb250cm9sVmFsdWU+KHByb2MsIFJldHVybiwgT3JpZ2luKCksIGNhbGwpOworCisgICAgQ0hF
Q0soY29tcGlsZUFuZFJ1bjxpbnQ+KHByb2MpID09IGZ1bmN0aW9uV2l0aEhlbGxhQXJndW1lbnRz
KDEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAx
NywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywgMjQsIDI1LCAyNikpOworfQorCiAjZGVmaW5lIFJV
Tih0ZXN0KSBkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIGlmICghc2hv
dWxkUnVuKCN0ZXN0KSkgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICBicmVhazsgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcCkBAIC0zMTE0LDYgKzMxNTksOSBAQCB2b2lkIHJ1
bihjb25zdCBjaGFyKiBmaWx0ZXIpCiAgICAgUlVOKHRlc3RMb2FkPHVpbnQxNl90PihMb2FkMTZa
LCAxMDAwMDAwMDAwKSk7CiAgICAgUlVOKHRlc3RMb2FkPHVpbnQxNl90PihMb2FkMTZaLCAtMTAw
MDAwMDAwMCkpOwogCisgICAgUlVOKHRlc3RDYWxsU2ltcGxlKDEsIDIpKTsKKyAgICBSVU4odGVz
dENhbGxGdW5jdGlvbldpdGhIZWxsYUFyZ3VtZW50cygpKTsKKwogICAgIGlmICh0YXNrcy5pc0Vt
cHR5KCkpCiAgICAgICAgIHVzYWdlKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvQWlyQ0NhbGxTcGVjaWFsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYjMvYWlyL0FpckNDYWxsU3BlY2lhbC5jcHAJKHJldmlzaW9uIDE5MjE3NykKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyQ0NhbGxTcGVjaWFsLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDQsOSArNDQsMTQgQEAgQ0NhbGxTcGVjaWFsOjp+Q0NhbGxTcGVjaWFsKCkKIAog
dm9pZCBDQ2FsbFNwZWNpYWw6OmZvckVhY2hBcmcoSW5zdCYgaW5zdCwgY29uc3QgU2NvcGVkTGFt
YmRhPEluc3Q6OkVhY2hBcmdDYWxsYmFjaz4mIGNhbGxiYWNrKQogewotICAgIGNhbGxiYWNrKGlu
c3QuYXJnc1sxXSwgQXJnOjpVc2UsIEFyZzo6R1ApOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7
IGkgPCBudW1DYWxsZWVBcmdzOyArK2kpCisgICAgICAgIGNhbGxiYWNrKGluc3QuYXJnc1tjYWxs
ZWVBcmdPZmZzZXQgKyBpXSwgQXJnOjpVc2UsIEFyZzo6R1ApOworICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBudW1SZXR1cm5HUEFyZ3M7ICsraSkKKyAgICAgICAgY2FsbGJhY2soaW5zdC5h
cmdzW3JldHVybkdQQXJnT2Zmc2V0ICsgaV0sIEFyZzo6RGVmLCBBcmc6OkdQKTsKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtUmV0dXJuRlBBcmdzOyArK2kpCisgICAgICAgIGNhbGxi
YWNrKGluc3QuYXJnc1tyZXR1cm5GUEFyZ09mZnNldCArIGldLCBBcmc6OkRlZiwgQXJnOjpGUCk7
CiAgICAgCi0gICAgZm9yICh1bnNpZ25lZCBpID0gMjsgaSA8IGluc3QuYXJncy5zaXplKCk7ICsr
aSkgeworICAgIGZvciAodW5zaWduZWQgaSA9IGFyZ0FyZ09mZnNldDsgaSA8IGluc3QuYXJncy5z
aXplKCk7ICsraSkgewogICAgICAgICAvLyBGb3IgdGhlIHR5cGUsIHdlIGNhbiBqdXN0IHF1ZXJ5
IHRoZSBhcmcncyB0eXBlLiBUaGUgYXJnIHdpbGwgaGF2ZSBhIHR5cGUsIGJlY2F1c2Ugd2UKICAg
ICAgICAgLy8gcmVxdWlyZSB0aGVzZSBhcmdzIHRvIGJlIGFyZ3VtZW50IHJlZ2lzdGVycy4KICAg
ICAgICAgY2FsbGJhY2soaW5zdC5hcmdzW2ldLCBBcmc6OlVzZSwgaW5zdC5hcmdzW2ldLnR5cGUo
KSk7CkBAIC01NSwzMSArNjAsNDEgQEAgdm9pZCBDQ2FsbFNwZWNpYWw6OmZvckVhY2hBcmcoSW5z
dCYgaW5zdAogCiBib29sIENDYWxsU3BlY2lhbDo6aXNWYWxpZChJbnN0JiBpbnN0KQogewotICAg
IGlmIChpbnN0LmFyZ3Muc2l6ZSgpIDwgMikKKyAgICBpZiAoaW5zdC5hcmdzLnNpemUoKSA8IGFy
Z0FyZ09mZnNldCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgc3dpdGNoIChpbnN0LmFy
Z3NbMV0ua2luZCgpKSB7Ci0gICAgY2FzZSBBcmc6OkltbToKLSAgICAgICAgaWYgKGlzMzJCaXQo
KSkKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY2FzZSBB
cmc6OkltbTY0OgotICAgICAgICBpZiAoaXM2NEJpdCgpKQorICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBudW1DYWxsZWVBcmdzOyArK2kpIHsKKyAgICAgICAgQXJnJiBhcmcgPSBpbnN0LmFy
Z3NbaSArIGNhbGxlZUFyZ09mZnNldF07CisgICAgICAgIGlmICghYXJnLmlzR1AoKSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgc3dpdGNoIChhcmcua2luZCgpKSB7CisgICAg
ICAgIGNhc2UgQXJnOjpJbW06CisgICAgICAgICAgICBpZiAoaXMzMkJpdCgpKQorICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjYXNlIEFy
Zzo6SW1tNjQ6CisgICAgICAgICAgICBpZiAoaXM2NEJpdCgpKQorICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBjYXNlIEFyZzo6VG1wOgor
ICAgICAgICBjYXNlIEFyZzo6QWRkcjoKKyAgICAgICAgY2FzZSBBcmc6OlN0YWNrOgorICAgICAg
ICBjYXNlIEFyZzo6Q2FsbEFyZzoKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgY2FzZSBBcmc6OlRtcDoKLSAgICBjYXNlIEFyZzo6QWRkcjoKLSAgICBjYXNl
IEFyZzo6U3RhY2s6Ci0gICAgY2FzZSBBcmc6OkNhbGxBcmc6Ci0gICAgICAgIGJyZWFrOwotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQogICAgIH0KIAotICAgIGlmICghaW5zdC5h
cmdzWzFdLmlzR1AoKSkKKyAgICAvLyBSZXR1cm4gYXJncyBuZWVkIHRvIGJlIGV4YWN0LgorICAg
IGlmIChpbnN0LmFyZ3NbcmV0dXJuR1BBcmdPZmZzZXQgKyAwXSAhPSBUbXAoR1BSSW5mbzo6cmV0
dXJuVmFsdWVHUFIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGluc3QuYXJnc1ty
ZXR1cm5HUEFyZ09mZnNldCArIDFdICE9IFRtcChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUjIpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGluc3QuYXJnc1tyZXR1cm5GUEFyZ09mZnNl
dCArIDBdICE9IFRtcChGUFJJbmZvOjpyZXR1cm5WYWx1ZUZQUikpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKIAotICAgIGZvciAodW5zaWduZWQgaSA9IDI7IGkgPCBpbnN0LmFyZ3Muc2l6ZSgpOyAr
K2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSBhcmdBcmdPZmZzZXQ7IGkgPCBpbnN0LmFyZ3Mu
c2l6ZSgpOyArK2kpIHsKICAgICAgICAgaWYgKCFpbnN0LmFyZ3NbaV0uaXNSZWcoKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKIApAQCAtOTEsOCArMTA2LDggQEAgYm9vbCBDQ2FsbFNwZWNp
YWw6OmlzVmFsaWQoSW5zdCYgaW5zdCkKIAogYm9vbCBDQ2FsbFNwZWNpYWw6OmFkbWl0c1N0YWNr
KEluc3QmLCB1bnNpZ25lZCBhcmdJbmRleCkKIHsKLSAgICAvLyBBcmcgMSBjYW4gYmUgYSBzdGFj
ayBhZGRyZXNzIGZvciBzdXJlLgotICAgIGlmIChhcmdJbmRleCA9PSAxKQorICAgIC8vIFRoZSBj
YWxsZWUgY2FuIGJlIG9uIHRoZSBzdGFjay4KKyAgICBpZiAoYXJnSW5kZXggPT0gY2FsbGVlQXJn
T2Zmc2V0KQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0xMDQsMTcgKzExOSwxNyBAQCB2b2lkIENDYWxsU3BlY2lhbDo6cmVwb3J0VXNlZFJlZ2lzdGVy
cyhJCiAKIENDYWxsSGVscGVyczo6SnVtcCBDQ2FsbFNwZWNpYWw6OmdlbmVyYXRlKEluc3QmIGlu
c3QsIENDYWxsSGVscGVycyYgaml0LCBHZW5lcmF0aW9uQ29udGV4dCYpCiB7Ci0gICAgc3dpdGNo
IChpbnN0LmFyZ3NbMV0ua2luZCgpKSB7CisgICAgc3dpdGNoIChpbnN0LmFyZ3NbY2FsbGVlQXJn
T2Zmc2V0XS5raW5kKCkpIHsKICAgICBjYXNlIEFyZzo6SW1tOgogICAgIGNhc2UgQXJnOjpJbW02
NDoKLSAgICAgICAgaml0Lm1vdmUoaW5zdC5hcmdzWzFdLmFzVHJ1c3RlZEltbVB0cigpLCBzY3Jh
dGNoUmVnaXN0ZXIpOworICAgICAgICBqaXQubW92ZShpbnN0LmFyZ3NbY2FsbGVlQXJnT2Zmc2V0
XS5hc1RydXN0ZWRJbW1QdHIoKSwgc2NyYXRjaFJlZ2lzdGVyKTsKICAgICAgICAgaml0LmNhbGwo
c2NyYXRjaFJlZ2lzdGVyKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBBcmc6OlRtcDoKLSAg
ICAgICAgaml0LmNhbGwoaW5zdC5hcmdzWzFdLmdwcigpKTsKKyAgICAgICAgaml0LmNhbGwoaW5z
dC5hcmdzW2NhbGxlZUFyZ09mZnNldF0uZ3ByKCkpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IEFyZzo6QWRkcjoKLSAgICAgICAgaml0LmNhbGwoaW5zdC5hcmdzWzFdLmFzQWRkcmVzcygpKTsK
KyAgICAgICAgaml0LmNhbGwoaW5zdC5hcmdzW2NhbGxlZUFyZ09mZnNldF0uYXNBZGRyZXNzKCkp
OwogICAgICAgICBicmVhazsKICAgICBkZWZhdWx0OgogICAgICAgICBSRUxFQVNFX0FTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJDQ2Fs
bFNwZWNpYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fp
ckNDYWxsU3BlY2lhbC5oCShyZXZpc2lvbiAxOTIxNzcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvYWlyL0FpckNDYWxsU3BlY2lhbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMiArMzQs
MTMgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBCMyB7IG5hbWVzcGFjZQogCiAvLyBVc2Ug
dGhpcyBzcGVjaWFsIGZvciBjb25zdHJ1Y3RpbmcgYSBDIGNhbGwuIEFyZyAwIGlzIG9mIGNvdXJz
ZSBhIFNwZWNpYWwgYXJnIHRoYXQgcmVmZXJzIHRvIHRoZQogLy8gQ0NhbGxTcGVjaWFsIG9iamVj
dC4gQXJnIDEgaXMgdGhlIGNhbGxlZSwgYW5kIGl0IGNhbiBiZSBhbiBJbW1QdHIsIGEgcmVnaXN0
ZXIsIG9yIGFuIGFkZHJlc3MuIFRoZQotLy8gcmVtYWluaW5nIGFyZ3MgYXJlIGp1c3QgdGhlIHNl
dCBvZiBhcmd1bWVudCByZWdpc3RlcnMgdXNlZCBieSB0aGlzIGNhbGwuIEZvciBhcmd1bWVudHMg
dGhhdCBnbyB0bwotLy8gdGhlIHN0YWNrLCB5b3UgaGF2ZSB0byBkbyB0aGUgZ3J1bnQgd29yayBv
ZiBkb2luZyB0aG9zZSBzdGFjayBzdG9yZXMuIEluIGZhY3QsIHRoZSBvbmx5IHJlYXNvbiB3aHkK
LS8vIHdlIHNwZWNpZnkgdGhlIGFyZ3VtZW50IHJlZ2lzdGVycyBhcyBhcmd1bWVudHMgdG8gYSBj
YWxsIGlzIHNvIHRoYXQgdGhlIGxpdmVuZXNzIGFuYWx5c2lzIGNhbiBzZWUKLS8vIHRoYXQgdGhl
eSBnZXQgdXNlZCBoZXJlLiBJdCB3b3VsZCBiZSB3cm9uZyB0byBhdXRvbWFnaWNhbGx5IHJlcG9y
dCBhbGwgYXJndW1lbnQgcmVnaXN0ZXJzIGFzIGJlaW5nCi0vLyB1c2VkIGJlY2F1c2UgaWYgd2Ug
aGFkIGEgY2FsbCB0aGF0IGRpZG4ndCBwYXNzIHRoZW0sIHRoZW4gdGhleSdkIGFwcGVhciB0byBi
ZSBsaXZlIHVudGlsIHNvbWUKLS8vIGNsb2JiZXIgcG9pbnQgb3IgdGhlIHByb2xvZ3VlLCB3aGlj
aGV2ZXIgaGFwcGVuZWQgc29vbmVyLgorLy8gbmV4dCB0aHJlZSBhcmdzIC0gYXJnIDIsIGFyZyAz
LCBhbmQgYXJnIDQgLSBob2xkIHRoZSByZXR1cm4gdmFsdWUgR1BScyBhbmQgRlBSLiBUaGUgcmVt
YWluaW5nIGFyZ3MKKy8vIGFyZSBqdXN0IHRoZSBzZXQgb2YgYXJndW1lbnQgcmVnaXN0ZXJzIHVz
ZWQgYnkgdGhpcyBjYWxsLiBGb3IgYXJndW1lbnRzIHRoYXQgZ28gdG8gdGhlIHN0YWNrLCB5b3UK
Ky8vIGhhdmUgdG8gZG8gdGhlIGdydW50IHdvcmsgb2YgZG9pbmcgdGhvc2Ugc3RhY2sgc3RvcmVz
LiBJbiBmYWN0LCB0aGUgb25seSByZWFzb24gd2h5IHdlIHNwZWNpZnkgdGhlCisvLyBhcmd1bWVu
dCByZWdpc3RlcnMgYXMgYXJndW1lbnRzIHRvIGEgY2FsbCBpcyBzbyB0aGF0IHRoZSBsaXZlbmVz
cyBhbmFseXNpcyBjYW4gc2VlIHRoYXQgdGhleSBnZXQKKy8vIHVzZWQgaGVyZS4gSXQgd291bGQg
YmUgd3JvbmcgdG8gYXV0b21hZ2ljYWxseSByZXBvcnQgYWxsIGFyZ3VtZW50IHJlZ2lzdGVycyBh
cyBiZWluZyB1c2VkIGJlY2F1c2UKKy8vIGlmIHdlIGhhZCBhIGNhbGwgdGhhdCBkaWRuJ3QgcGFz
cyB0aGVtLCB0aGVuIHRoZXknZCBhcHBlYXIgdG8gYmUgbGl2ZSB1bnRpbCBzb21lIGNsb2JiZXIg
cG9pbnQgb3IKKy8vIHRoZSBwcm9sb2d1ZSwgd2hpY2hldmVyIGhhcHBlbmVkIHNvb25lci4KIAog
Y2xhc3MgQ0NhbGxTcGVjaWFsIDogcHVibGljIFNwZWNpYWwgewogcHVibGljOgpAQCAtNjMsNiAr
NjQsMTcgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGVlcER1bXBJbXBsKFByaW50U3RyZWFtJikg
Y29uc3Qgb3ZlcnJpZGU7CiAKIHByaXZhdGU6CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHNw
ZWNpYWxBcmdPZmZzZXQgPSAwOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1TcGVjaWFs
QXJncyA9IDE7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNhbGxlZUFyZ09mZnNldCA9IG51
bVNwZWNpYWxBcmdzOworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1DYWxsZWVBcmdzID0g
MTsKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgcmV0dXJuR1BBcmdPZmZzZXQgPSBudW1TcGVj
aWFsQXJncyArIG51bUNhbGxlZUFyZ3M7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG51bVJl
dHVybkdQQXJncyA9IDI7CisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIHJldHVybkZQQXJnT2Zm
c2V0ID0gbnVtU3BlY2lhbEFyZ3MgKyBudW1DYWxsZWVBcmdzICsgbnVtUmV0dXJuR1BBcmdzOwor
ICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBudW1SZXR1cm5GUEFyZ3MgPSAxOworICAgIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBhcmdBcmdPZmZzZXQgPQorICAgICAgICBudW1TcGVjaWFsQXJncyAr
IG51bUNhbGxlZUFyZ3MgKyBudW1SZXR1cm5HUEFyZ3MgKyBudW1SZXR1cm5GUEFyZ3M7CisgICAg
CiAgICAgUmVnaXN0ZXJTZXQgbV9jbG9iYmVyZWRSZWdzOwogfTsKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9GUFJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9GUFJJbmZvLmgJKHJldmlzaW9uIDE5MjE3NykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvRlBSSW5mby5oCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBAIGNs
YXNzIEZQUkluZm8gewogcHVibGljOgogICAgIHR5cGVkZWYgRlBSUmVnIFJlZ2lzdGVyVHlwZTsK
ICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgbnVtYmVyT2ZSZWdpc3RlcnMgPSA2OworICAgIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBudW1iZXJPZkFyZ3VtZW50UmVnaXN0ZXJzID0gODsKIAogICAg
IC8vIFRlbXBvcmFyeSByZWdpc3RlcnMuCiAgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBmcFJlZ1Qw
ID0gWDg2UmVnaXN0ZXJzOjp4bW0wOwpAQCAtNTYsNiArNTcsMTAgQEAgcHVibGljOgogICAgIHN0
YXRpYyBjb25zdCBGUFJSZWcgYXJndW1lbnRGUFIxID0gWDg2UmVnaXN0ZXJzOjp4bW0xOyAvLyBm
cFJlZ1QxCiAgICAgc3RhdGljIGNvbnN0IEZQUlJlZyBhcmd1bWVudEZQUjIgPSBYODZSZWdpc3Rl
cnM6OnhtbTI7IC8vIGZwUmVnVDIKICAgICBzdGF0aWMgY29uc3QgRlBSUmVnIGFyZ3VtZW50RlBS
MyA9IFg4NlJlZ2lzdGVyczo6eG1tMzsgLy8gZnBSZWdUMworICAgIHN0YXRpYyBjb25zdCBGUFJS
ZWcgYXJndW1lbnRGUFI0ID0gWDg2UmVnaXN0ZXJzOjp4bW00OyAvLyBmcFJlZ1Q0CisgICAgc3Rh
dGljIGNvbnN0IEZQUlJlZyBhcmd1bWVudEZQUjUgPSBYODZSZWdpc3RlcnM6OnhtbTU7IC8vIGZw
UmVnVDUKKyAgICBzdGF0aWMgY29uc3QgRlBSUmVnIGFyZ3VtZW50RlBSNiA9IFg4NlJlZ2lzdGVy
czo6eG1tNjsKKyAgICBzdGF0aWMgY29uc3QgRlBSUmVnIGFyZ3VtZW50RlBSNyA9IFg4NlJlZ2lz
dGVyczo6eG1tNzsKICNlbmRpZgogICAgIC8vIE9uIFg4NiB0aGUgcmV0dXJuIHdpbGwgYWN0dWFs
bHkgYmUgb24gdGhlIHg4NyBzdGFjaywKICAgICAvLyBzbyB3ZSdsbCBjb3B5IHRvIHhtbTAgZm9y
IHNhbml0eSEK
</data>
<flag name="review"
          id="290190"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>