<?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>176192</bug_id>
          
          <creation_ts>2017-08-31 15:51:09 -0700</creation_ts>
          <short_desc>WSL should support dereference (^)</short_desc>
          <delta_ts>2018-10-13 20:00:52 -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>WebGPU</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>176199</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>mmaxfield</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1344168</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-31 15:51:09 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344169</commentid>
    <comment_count>1</comment_count>
      <attachid>319535</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-31 15:55:13 -0700</bug_when>
    <thetext>Created attachment 319535
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344170</commentid>
    <comment_count>2</comment_count>
      <attachid>319536</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-31 15:57:15 -0700</bug_when>
    <thetext>Created attachment 319536
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344172</commentid>
    <comment_count>3</comment_count>
      <attachid>319536</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-31 16:00:01 -0700</bug_when>
    <thetext>Comment on attachment 319536
the patch

Myles assures me that he r+&apos;d it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1344173</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2017-08-31 16:00:41 -0700</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/221450/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353673</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:50:10 -0700</bug_when>
    <thetext>&lt;rdar://problem/34694106&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1469010</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-10-13 20:00:52 -0700</bug_when>
    <thetext>Migrated to https://github.com/gpuweb/WHLSL/issues/204</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319535</attachid>
            <date>2017-08-31 15:55:13 -0700</date>
            <delta_ts>2017-08-31 15:57:15 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10381</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMTQ0OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ2IEBACisyMDE3LTA4LTMxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisK
KyAgICAgICAgV1NMIHNob3VsZCBzdXBwb3J0IGRlcmVmZXJlbmNlIChcKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MTkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBUaGlzIGltcGxlbWVu
dHMgRGVyZWZlcmVuY2VFeHByZXNzaW9uLgorICAgICAgICAKKyAgICAgICAgSXQgYWxzbyByZW5h
bWVzIEV2YWx1YXRvci5wcm90b3R5cGUudmlzaXRGdW5jdGlvbkJvZHksIGJlY2F1c2UgdGhhdCBu
YW1lIGNvbmZ1c2luZ2x5IGltcGxpZXMKKyAgICAgICAgdGhhdCB0aGVyZSBpcyBhIGNsYXNzIG5h
bWVkIEZ1bmN0aW9uQm9keS4gSXQncyBub3cgY2FsbGVkIHJ1bkJvZHkuCisgICAgICAgIAorICAg
ICAgICBJIG1hZGUgdGhlIGNoZWNrIHRvIHNlZSBpZiBhIHR5cGUgaXMgYSBwb2ludGVyIHR5cGUg
YmUgdGhlIGlzUHRyIG1ldGhvZCwgc28gdGhhdCB3ZSBjYW4gaGF2ZQorICAgICAgICBvdGhlciBw
b2ludGVyIHR5cGVzIHRoYXQgYXJlIGltcGxlbWVudGVkIHZpYSBzb21ldGhpbmcgb3RoZXIgdGhh
biBQdHJUeXBlLiBXZSBtaWdodCB3YW50IGl0IGlmCisgICAgICAgIGZvciBleGFtcGxlIHdlIHdh
bnRlZCBhIHBvaW50ZXIgdHlwZSB0aGF0IGlzIGdlbmVyaWMgb3ZlciBhZGRyZXNzIHNwYWNlLgor
CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NhbGxGdW5jdGlvbi5qczoKKyAgICAgICAgKGNhbGxGdW5j
dGlvbik6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2hlY2tlci5qczoKKyAg
ICAgICAgKENoZWNrZXIucHJvdG90eXBlLnZpc2l0UHJvdG9jb2xEZWNsLnNldCB0aHJvdyk6Cisg
ICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRGVyZWZlcmVuY2VFeHByZXNzaW9uLmpz
OiBBZGRlZC4KKyAgICAgICAgKERlcmVmZXJlbmNlRXhwcmVzc2lvbik6CisgICAgICAgIChEZXJl
ZmVyZW5jZUV4cHJlc3Npb24ucHJvdG90eXBlLmdldCBwdHIpOgorICAgICAgICAoRGVyZWZlcmVu
Y2VFeHByZXNzaW9uLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgICogV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52
aXNpdEZ1bmN0aW9uTGlrZUJsb2NrKToKKyAgICAgICAgKEV2YWx1YXRvci5wcm90b3R5cGUuX2Rl
cmVmZXJlbmNlKToKKyAgICAgICAgKEV2YWx1YXRvci5wcm90b3R5cGUudmlzaXREZXJlZmVyZW5j
ZUV4cHJlc3Npb24pOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52aXNpdEZ1bmN0aW9u
Qm9keSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUHRyVHlw
ZS5qczoKKyAgICAgICAgKFB0clR5cGUucHJvdG90eXBlLmdldCBpc1B0cik6CisgICAgICAgIChQ
dHJUeXBlLnByb3RvdHlwZS5wb3B1bGF0ZURlZmF1bHRWYWx1ZSk6CisgICAgICAgICogV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanM6CisgICAgICAgIChSZXdyaXRlci5wcm90b3R5
cGUudmlzaXRBc3NpZ25tZW50KToKKyAgICAgICAgKFJld3JpdGVyLnByb3RvdHlwZS52aXNpdERl
cmVmZXJlbmNlRXhwcmVzc2lvbik6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
VGVzdC5qczoKKyAgICAgICAgKFRFU1Rfc2ltcGxlRGVyZWZlcmVuY2UpOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGUuanM6CisgICAgICAgIChUeXBlLnByb3RvdHlwZS5n
ZXQgaXNQdHIpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanM6
CisgICAgICAgIChWaXNpdG9yLnByb3RvdHlwZS52aXNpdERlcmVmZXJlbmNlRXhwcmVzc2lvbik6
CisKIDIwMTctMDgtMzEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgY2FsbEZ1bmN0aW9uIEFQSSBpbiBXU0wKSW5kZXg6
IFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMJKHJldmlzaW9uIDIyMTQ0OCkKKysrIFRv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNDQs
NiArNDQsNyBAQCBsb2FkKCJDaGVjay5qcyIpOwogbG9hZCgiQ2hlY2tlci5qcyIpOwogbG9hZCgi
Q29tbWFFeHByZXNzaW9uLmpzIik7CiBsb2FkKCJDb25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzIik7
Citsb2FkKCJEZXJlZmVyZW5jZUV4cHJlc3Npb24uanMiKTsKIGxvYWQoIkVCdWZmZXIuanMiKTsK
IGxvYWQoIkVCdWZmZXJCdWlsZGVyLmpzIik7CiBsb2FkKCJFUHRyLmpzIik7CkluZGV4OiBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FsbEZ1bmN0aW9uLmpzCShyZXZpc2lvbiAy
MjE0NDkpCisrKyBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgZnVuY3Rpb24gY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sIG5hbWUsIHR5cAogICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcigiPGNhbGxGdW5j
dGlvbj4iLCAiQ2Fubm90IHJlc29sdmUgZnVuY3Rpb24gY2FsbCAiICsgbmFtZSArICI8IiArIHR5
cGVBcmd1bWVudHMgKyAiPigiICsgYXJndW1lbnRMaXN0ICsgIikiKTsKICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IGZ1bmMucGFyYW1ldGVycy5sZW5ndGg7ICsraSkKICAgICAgICAgZnVuYy5wYXJh
bWV0ZXJzW2ldLmVQdHIuY29weUZyb20oYXJndW1lbnRMaXN0W2ldLmVQdHIsIGFyZ3VtZW50VHlw
ZXNbaV0uc2l6ZSk7Ci0gICAgbGV0IHJlc3VsdCA9IG5ldyBFdmFsdWF0b3IocHJvZ3JhbSkudmlz
aXRGdW5jdGlvbkJvZHkoZnVuYy5ib2R5KTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEV2YWx1YXRv
cihwcm9ncmFtKS5ydW5Cb2R5KGZ1bmMuYm9keSk7CiAgICAgcmV0dXJuIG5ldyBUeXBlZFZhbHVl
KGZ1bmMucmV0dXJuVHlwZSwgcmVzdWx0KTsKIH0KIApJbmRleDogVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvQ2hlY2tlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9DaGVja2VyLmpzCShyZXZpc2lvbiAyMjE0NDgpCisrKyBUb29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9DaGVja2VyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNiArMTMy
LDE1IEBAIGNsYXNzIENoZWNrZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgcmV0dXJuIGxo
c1R5cGU7CiAgICAgfQogICAgIAorICAgIHZpc2l0RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUp
CisgICAgeworICAgICAgICBsZXQgdHlwZSA9IG5vZGUucHRyLnZpc2l0KHRoaXMpLnVuaWZ5Tm9k
ZTsKKyAgICAgICAgaWYgKCF0eXBlLmlzUHRyKQorICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBl
RXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiVHlwZSBwYXNzZWQgdG8gZGVyZWZlcmVu
Y2UgaXMgbm90IGEgcG9pbnRlcjogIiArIHR5cGUpOworICAgICAgICBub2RlLnR5cGUgPSB0eXBl
LmVsZW1lbnRUeXBlOworICAgICAgICByZXR1cm4gbm9kZS50eXBlOworICAgIH0KKyAgICAKICAg
ICB2aXNpdFZhcmlhYmxlUmVmKG5vZGUpCiAgICAgewogICAgICAgICByZXR1cm4gbm9kZS52YXJp
YWJsZS50eXBlOwpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRGVyZWZlcmVu
Y2VFeHByZXNzaW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL0RlcmVmZXJlbmNlRXhwcmVzc2lvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBUb29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9EZXJlZmVyZW5jZUV4cHJlc3Npb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworInVzZSBzdHJpY3QiOworCitjbGFzcyBEZXJlZmVyZW5jZUV4cHJlc3Npb24gZXh0
ZW5kcyBFeHByZXNzaW9uIHsKKyAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIHB0cikKKyAgICB7Cisg
ICAgICAgIHN1cGVyKG9yaWdpbik7CisgICAgICAgIHRoaXMuX3B0ciA9IHB0cjsKKyAgICB9Cisg
ICAgCisgICAgZ2V0IHB0cigpIHsgcmV0dXJuIHRoaXMuX3B0cjsgfQorICAgIAorICAgIHRvU3Ry
aW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXigiICsgdGhpcy5wdHIgKyAiKSI7CisgICAg
fQorfQpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcwko
cmV2aXNpb24gMjIxNDQ4KQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVh
dG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIEV2YWx1YXRvciBl
eHRlbmRzIFZpc2l0b3IgewogICAgICAgICB0aGlzLl9wcm9ncmFtID0gcHJvZ3JhbTsKICAgICB9
CiAgICAgCi0gICAgdmlzaXRGdW5jdGlvbkJvZHkoYmxvY2spCisgICAgcnVuQm9keShibG9jaykK
ICAgICB7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICBibG9jay52aXNpdCh0aGlzKTsKQEAg
LTU1LDcgKzU1LDcgQEAgY2xhc3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgICAg
ICAgICAgICAgbm9kZS5hcmd1bWVudExpc3RbaV0udmlzaXQodGhpcyksCiAgICAgICAgICAgICAg
ICAgbm9kZS5wYXJhbWV0ZXJzW2ldLnR5cGUuc2l6ZSk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIHRoaXMudmlzaXRGdW5jdGlvbkJvZHkobm9kZS5ib2R5KTsKKyAgICAgICAgcmV0dXJuIHRo
aXMucnVuQm9keShub2RlLmJvZHkpOwogICAgIH0KICAgICAKICAgICB2aXNpdFJldHVybihub2Rl
KQpAQCAtNzksNiArNzksMTkgQEAgY2xhc3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAorICAgIF9kZXJlZmVyZW5jZShwdHIs
IHR5cGUpCisgICAgeworICAgICAgICBsZXQgc2l6ZSA9IHR5cGUuc2l6ZTsKKyAgICAgICAgbGV0
IHJlc3VsdCA9IG5ldyBFUHRyKG5ldyBFQnVmZmVyKHNpemUpLCAwKTsKKyAgICAgICAgcmVzdWx0
LmNvcHlGcm9tKHB0ci5sb2FkVmFsdWUoKSwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorICAgIAorICAgIHZpc2l0RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fZGVyZWZlcmVuY2Uobm9kZS5wdHIudmlzaXQodGhpcyks
IG5vZGUudHlwZSk7CisgICAgfQorICAgIAogICAgIHZpc2l0Q29tbWFFeHByZXNzaW9uKG5vZGUp
CiAgICAgewogICAgICAgICBsZXQgcmVzdWx0OwpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvUHRyVHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9QdHJUeXBlLmpzCShyZXZpc2lvbiAyMjE0MzUpCisrKyBUb29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9QdHJUeXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSwxMyBA
QAogInVzZSBzdHJpY3QiOwogCiBjbGFzcyBQdHJUeXBlIGV4dGVuZHMgUmVmZXJlbmNlVHlwZSB7
CisgICAgZ2V0IGlzUHRyKCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIAorICAgIHBvcHVsYXRlRGVm
YXVsdFZhbHVlKGJ1ZmZlciwgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgYnVmZmVyLnNldChvZmZz
ZXQsIG51bGwpOworICAgIH0KKyAgICAKICAgICB1bmlmeUltcGwodW5pZmljYXRpb25Db250ZXh0
LCBvdGhlcikKICAgICB7CiAgICAgICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgUHRyVHlwZSkp
CkluZGV4OiBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwkocmV2aXNp
b24gMjIxNDQ4KQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksMTQgQEAgY2xhc3MgUmV3cml0ZXIgewogICAg
IHZpc2l0QXNzaWdubWVudChub2RlKQogICAgIHsKICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBB
c3NpZ25tZW50KG5vZGUub3JpZ2luLCBub2RlLmxocy52aXNpdCh0aGlzKSwgbm9kZS5yaHMudmlz
aXQodGhpcykpOwotICAgICAgICByZXN1bHQudHlwZSA9IG5vZGUudHlwZS52aXNpdCh0aGlzKTsK
KyAgICAgICAgcmVzdWx0LnR5cGUgPSBub2RlLnR5cGUgPyBub2RlLnR5cGUudmlzaXQodGhpcykg
OiBudWxsOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAKKyAgICB2aXNpdERl
cmVmZXJlbmNlRXhwcmVzc2lvbihub2RlKQorICAgIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IG5l
dyBEZXJlZmVyZW5jZUV4cHJlc3Npb24obm9kZS5vcmlnaW4sIG5vZGUucHRyLnZpc2l0KHRoaXMp
KTsKKyAgICAgICAgcmVzdWx0LnR5cGUgPSBub2RlLnR5cGUgPyBub2RlLnR5cGUudmlzaXQodGhp
cykgOiBudWxsOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKSW5kZXg6IFRv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwkocmV2aXNpb24gMjIxNDQ5KQorKysgVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTEx
LDYgKzExMSwxOCBAQCBmdW5jdGlvbiBURVNUX3NpbXBsZURlZmF1bHQoKQogICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgMCk7CiB9CiAK
K2Z1bmN0aW9uIFRFU1Rfc2ltcGxlRGVyZWZlcmVuY2UoKQoreworICAgIGxldCBwcm9ncmFtID0g
ZG9QcmVwKGAKKyAgICAgICAgaW50IGZvbyhkZXZpY2UgaW50XiBwKQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4gXnA7CisgICAgICAgIH1gKTsKKyAgICBsZXQgYnVmZmVyID0gbmV3IEVC
dWZmZXIoMSk7CisgICAgYnVmZmVyLnNldCgwLCAxMyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW1R5cGVkVmFsdWUuYm94KG5ldyBQdHJU
eXBlKG51bGwsICJkZXZpY2UiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpLCBuZXcgRVB0cihi
dWZmZXIsIDApKV0pLCAxMyk7Cit9CisKIGxldCBiZWZvcmUgPSBwcmVjaXNlVGltZSgpOwogCiBs
ZXQgZmlsdGVyID0gLy4qLzsgLy8gcnVuIGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdApJbmRleDogVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlLmpzCShyZXZpc2lvbiAyMjE0MzUpCisrKyBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiBjbGFzcyBUeXBlIGV4dGVuZHMgTm9kZSB7CiAgICAgZ2V0IHR5cGVQYXJhbWV0
ZXJzKCkgeyByZXR1cm4gW107IH0KICAgICBnZXQga2luZCgpIHsgcmV0dXJuIFR5cGU7IH0KKyAg
ICBnZXQgaXNQdHIoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIAogICAgIGluaGVyaXRzKHByb3Rv
Y29sKQogICAgIHsKSW5kZXg6IFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3Iu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5q
cwkocmV2aXNpb24gMjIxNDQyKQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlz
aXRvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYgKzE1MywxMSBAQCBjbGFzcyBWaXNpdG9y
IHsKICAgICAgICAgbm9kZS5yaHMudmlzaXQodGhpcyk7CiAgICAgfQogICAgIAorICAgIHZpc2l0
RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUpCisgICAgeworICAgICAgICBub2RlLnB0ci52aXNp
dCh0aGlzKTsKKyAgICB9CisgICAgCiAgICAgdmlzaXRWYXJpYWJsZVJlZihub2RlKQogICAgIHsK
ICAgICB9Cg==
</data>
<flag name="review"
          id="339803"
          type_id="1"
          status="+"
          setter="mmaxfield"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>319536</attachid>
            <date>2017-08-31 15:57:15 -0700</date>
            <delta_ts>2017-08-31 16:00:01 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10381</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyMTQ0OSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ2IEBACisyMDE3LTA4LTMxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisK
KyAgICAgICAgV1NMIHNob3VsZCBzdXBwb3J0IGRlcmVmZXJlbmNlICheKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc2MTkyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBUaGlzIGltcGxlbWVu
dHMgRGVyZWZlcmVuY2VFeHByZXNzaW9uLgorICAgICAgICAKKyAgICAgICAgSXQgYWxzbyByZW5h
bWVzIEV2YWx1YXRvci5wcm90b3R5cGUudmlzaXRGdW5jdGlvbkJvZHksIGJlY2F1c2UgdGhhdCBu
YW1lIGNvbmZ1c2luZ2x5IGltcGxpZXMKKyAgICAgICAgdGhhdCB0aGVyZSBpcyBhIGNsYXNzIG5h
bWVkIEZ1bmN0aW9uQm9keS4gSXQncyBub3cgY2FsbGVkIHJ1bkJvZHkuCisgICAgICAgIAorICAg
ICAgICBJIG1hZGUgdGhlIGNoZWNrIHRvIHNlZSBpZiBhIHR5cGUgaXMgYSBwb2ludGVyIHR5cGUg
YmUgdGhlIGlzUHRyIG1ldGhvZCwgc28gdGhhdCB3ZSBjYW4gaGF2ZQorICAgICAgICBvdGhlciBw
b2ludGVyIHR5cGVzIHRoYXQgYXJlIGltcGxlbWVudGVkIHZpYSBzb21ldGhpbmcgb3RoZXIgdGhh
biBQdHJUeXBlLiBXZSBtaWdodCB3YW50IGl0IGlmCisgICAgICAgIGZvciBleGFtcGxlIHdlIHdh
bnRlZCBhIHBvaW50ZXIgdHlwZSB0aGF0IGlzIGdlbmVyaWMgb3ZlciBhZGRyZXNzIHNwYWNlLgor
CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL0NhbGxGdW5jdGlvbi5qczoKKyAgICAgICAgKGNhbGxGdW5j
dGlvbik6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2hlY2tlci5qczoKKyAg
ICAgICAgKENoZWNrZXIucHJvdG90eXBlLnZpc2l0UHJvdG9jb2xEZWNsLnNldCB0aHJvdyk6Cisg
ICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRGVyZWZlcmVuY2VFeHByZXNzaW9uLmpz
OiBBZGRlZC4KKyAgICAgICAgKERlcmVmZXJlbmNlRXhwcmVzc2lvbik6CisgICAgICAgIChEZXJl
ZmVyZW5jZUV4cHJlc3Npb24ucHJvdG90eXBlLmdldCBwdHIpOgorICAgICAgICAoRGVyZWZlcmVu
Y2VFeHByZXNzaW9uLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgICogV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52
aXNpdEZ1bmN0aW9uTGlrZUJsb2NrKToKKyAgICAgICAgKEV2YWx1YXRvci5wcm90b3R5cGUuX2Rl
cmVmZXJlbmNlKToKKyAgICAgICAgKEV2YWx1YXRvci5wcm90b3R5cGUudmlzaXREZXJlZmVyZW5j
ZUV4cHJlc3Npb24pOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52aXNpdEZ1bmN0aW9u
Qm9keSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUHRyVHlw
ZS5qczoKKyAgICAgICAgKFB0clR5cGUucHJvdG90eXBlLmdldCBpc1B0cik6CisgICAgICAgIChQ
dHJUeXBlLnByb3RvdHlwZS5wb3B1bGF0ZURlZmF1bHRWYWx1ZSk6CisgICAgICAgICogV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanM6CisgICAgICAgIChSZXdyaXRlci5wcm90b3R5
cGUudmlzaXRBc3NpZ25tZW50KToKKyAgICAgICAgKFJld3JpdGVyLnByb3RvdHlwZS52aXNpdERl
cmVmZXJlbmNlRXhwcmVzc2lvbik6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
VGVzdC5qczoKKyAgICAgICAgKFRFU1Rfc2ltcGxlRGVyZWZlcmVuY2UpOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1R5cGUuanM6CisgICAgICAgIChUeXBlLnByb3RvdHlwZS5n
ZXQgaXNQdHIpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanM6
CisgICAgICAgIChWaXNpdG9yLnByb3RvdHlwZS52aXNpdERlcmVmZXJlbmNlRXhwcmVzc2lvbik6
CisKIDIwMTctMDgtMzEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAg
ICBUaGVyZSBzaG91bGQgb25seSBiZSBvbmUgY2FsbEZ1bmN0aW9uIEFQSSBpbiBXU0wKSW5kZXg6
IFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMJKHJldmlzaW9uIDIyMTQ0OCkKKysrIFRv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcwkod29ya2luZyBjb3B5KQpAQCAtNDQs
NiArNDQsNyBAQCBsb2FkKCJDaGVjay5qcyIpOwogbG9hZCgiQ2hlY2tlci5qcyIpOwogbG9hZCgi
Q29tbWFFeHByZXNzaW9uLmpzIik7CiBsb2FkKCJDb25zdGV4cHJUeXBlUGFyYW1ldGVyLmpzIik7
Citsb2FkKCJEZXJlZmVyZW5jZUV4cHJlc3Npb24uanMiKTsKIGxvYWQoIkVCdWZmZXIuanMiKTsK
IGxvYWQoIkVCdWZmZXJCdWlsZGVyLmpzIik7CiBsb2FkKCJFUHRyLmpzIik7CkluZGV4OiBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
VG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQ2FsbEZ1bmN0aW9uLmpzCShyZXZpc2lvbiAy
MjE0NDkpCisrKyBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMJ
KHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAgZnVuY3Rpb24gY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sIG5hbWUsIHR5cAogICAgICAgICB0aHJvdyBuZXcgV1R5cGVFcnJvcigiPGNhbGxGdW5j
dGlvbj4iLCAiQ2Fubm90IHJlc29sdmUgZnVuY3Rpb24gY2FsbCAiICsgbmFtZSArICI8IiArIHR5
cGVBcmd1bWVudHMgKyAiPigiICsgYXJndW1lbnRMaXN0ICsgIikiKTsKICAgICBmb3IgKGxldCBp
ID0gMDsgaSA8IGZ1bmMucGFyYW1ldGVycy5sZW5ndGg7ICsraSkKICAgICAgICAgZnVuYy5wYXJh
bWV0ZXJzW2ldLmVQdHIuY29weUZyb20oYXJndW1lbnRMaXN0W2ldLmVQdHIsIGFyZ3VtZW50VHlw
ZXNbaV0uc2l6ZSk7Ci0gICAgbGV0IHJlc3VsdCA9IG5ldyBFdmFsdWF0b3IocHJvZ3JhbSkudmlz
aXRGdW5jdGlvbkJvZHkoZnVuYy5ib2R5KTsKKyAgICBsZXQgcmVzdWx0ID0gbmV3IEV2YWx1YXRv
cihwcm9ncmFtKS5ydW5Cb2R5KGZ1bmMuYm9keSk7CiAgICAgcmV0dXJuIG5ldyBUeXBlZFZhbHVl
KGZ1bmMucmV0dXJuVHlwZSwgcmVzdWx0KTsKIH0KIApJbmRleDogVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvQ2hlY2tlci5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9DaGVja2VyLmpzCShyZXZpc2lvbiAyMjE0NDgpCisrKyBUb29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9DaGVja2VyLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0xMzIsNiArMTMy
LDE1IEBAIGNsYXNzIENoZWNrZXIgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICAgICAgcmV0dXJuIGxo
c1R5cGU7CiAgICAgfQogICAgIAorICAgIHZpc2l0RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUp
CisgICAgeworICAgICAgICBsZXQgdHlwZSA9IG5vZGUucHRyLnZpc2l0KHRoaXMpLnVuaWZ5Tm9k
ZTsKKyAgICAgICAgaWYgKCF0eXBlLmlzUHRyKQorICAgICAgICAgICAgdGhyb3cgbmV3IFdUeXBl
RXJyb3Iobm9kZS5vcmlnaW4ub3JpZ2luU3RyaW5nLCAiVHlwZSBwYXNzZWQgdG8gZGVyZWZlcmVu
Y2UgaXMgbm90IGEgcG9pbnRlcjogIiArIHR5cGUpOworICAgICAgICBub2RlLnR5cGUgPSB0eXBl
LmVsZW1lbnRUeXBlOworICAgICAgICByZXR1cm4gbm9kZS50eXBlOworICAgIH0KKyAgICAKICAg
ICB2aXNpdFZhcmlhYmxlUmVmKG5vZGUpCiAgICAgewogICAgICAgICByZXR1cm4gbm9kZS52YXJp
YWJsZS50eXBlOwpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRGVyZWZlcmVu
Y2VFeHByZXNzaW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFn
ZVJJL0RlcmVmZXJlbmNlRXhwcmVzc2lvbi5qcwkobm9uZXhpc3RlbnQpCisrKyBUb29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9EZXJlZmVyZW5jZUV4cHJlc3Npb24uanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworInVzZSBzdHJpY3QiOworCitjbGFzcyBEZXJlZmVyZW5jZUV4cHJlc3Npb24gZXh0
ZW5kcyBFeHByZXNzaW9uIHsKKyAgICBjb25zdHJ1Y3RvcihvcmlnaW4sIHB0cikKKyAgICB7Cisg
ICAgICAgIHN1cGVyKG9yaWdpbik7CisgICAgICAgIHRoaXMuX3B0ciA9IHB0cjsKKyAgICB9Cisg
ICAgCisgICAgZ2V0IHB0cigpIHsgcmV0dXJuIHRoaXMuX3B0cjsgfQorICAgIAorICAgIHRvU3Ry
aW5nKCkKKyAgICB7CisgICAgICAgIHJldHVybiAiXigiICsgdGhpcy5wdHIgKyAiKSI7CisgICAg
fQorfQpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcwko
cmV2aXNpb24gMjIxNDQ4KQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVh
dG9yLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIGNsYXNzIEV2YWx1YXRvciBl
eHRlbmRzIFZpc2l0b3IgewogICAgICAgICB0aGlzLl9wcm9ncmFtID0gcHJvZ3JhbTsKICAgICB9
CiAgICAgCi0gICAgdmlzaXRGdW5jdGlvbkJvZHkoYmxvY2spCisgICAgcnVuQm9keShibG9jaykK
ICAgICB7CiAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICBibG9jay52aXNpdCh0aGlzKTsKQEAg
LTU1LDcgKzU1LDcgQEAgY2xhc3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgICAg
ICAgICAgICAgbm9kZS5hcmd1bWVudExpc3RbaV0udmlzaXQodGhpcyksCiAgICAgICAgICAgICAg
ICAgbm9kZS5wYXJhbWV0ZXJzW2ldLnR5cGUuc2l6ZSk7CiAgICAgICAgIH0KLSAgICAgICAgcmV0
dXJuIHRoaXMudmlzaXRGdW5jdGlvbkJvZHkobm9kZS5ib2R5KTsKKyAgICAgICAgcmV0dXJuIHRo
aXMucnVuQm9keShub2RlLmJvZHkpOwogICAgIH0KICAgICAKICAgICB2aXNpdFJldHVybihub2Rl
KQpAQCAtNzksNiArNzksMTkgQEAgY2xhc3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAorICAgIF9kZXJlZmVyZW5jZShwdHIs
IHR5cGUpCisgICAgeworICAgICAgICBsZXQgc2l6ZSA9IHR5cGUuc2l6ZTsKKyAgICAgICAgbGV0
IHJlc3VsdCA9IG5ldyBFUHRyKG5ldyBFQnVmZmVyKHNpemUpLCAwKTsKKyAgICAgICAgcmVzdWx0
LmNvcHlGcm9tKHB0ci5sb2FkVmFsdWUoKSwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorICAgIAorICAgIHZpc2l0RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy5fZGVyZWZlcmVuY2Uobm9kZS5wdHIudmlzaXQodGhpcyks
IG5vZGUudHlwZSk7CisgICAgfQorICAgIAogICAgIHZpc2l0Q29tbWFFeHByZXNzaW9uKG5vZGUp
CiAgICAgewogICAgICAgICBsZXQgcmVzdWx0OwpJbmRleDogVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvUHRyVHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5nTGFu
Z3VhZ2VSSS9QdHJUeXBlLmpzCShyZXZpc2lvbiAyMjE0MzUpCisrKyBUb29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9QdHJUeXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw2ICsyNSwxMyBA
QAogInVzZSBzdHJpY3QiOwogCiBjbGFzcyBQdHJUeXBlIGV4dGVuZHMgUmVmZXJlbmNlVHlwZSB7
CisgICAgZ2V0IGlzUHRyKCkgeyByZXR1cm4gdHJ1ZTsgfQorICAgIAorICAgIHBvcHVsYXRlRGVm
YXVsdFZhbHVlKGJ1ZmZlciwgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgYnVmZmVyLnNldChvZmZz
ZXQsIG51bGwpOworICAgIH0KKyAgICAKICAgICB1bmlmeUltcGwodW5pZmljYXRpb25Db250ZXh0
LCBvdGhlcikKICAgICB7CiAgICAgICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgUHRyVHlwZSkp
CkluZGV4OiBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwkocmV2aXNp
b24gMjIxNDQ4KQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanMJ
KHdvcmtpbmcgY29weSkKQEAgLTEzOSw3ICsxMzksMTQgQEAgY2xhc3MgUmV3cml0ZXIgewogICAg
IHZpc2l0QXNzaWdubWVudChub2RlKQogICAgIHsKICAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBB
c3NpZ25tZW50KG5vZGUub3JpZ2luLCBub2RlLmxocy52aXNpdCh0aGlzKSwgbm9kZS5yaHMudmlz
aXQodGhpcykpOwotICAgICAgICByZXN1bHQudHlwZSA9IG5vZGUudHlwZS52aXNpdCh0aGlzKTsK
KyAgICAgICAgcmVzdWx0LnR5cGUgPSBub2RlLnR5cGUgPyBub2RlLnR5cGUudmlzaXQodGhpcykg
OiBudWxsOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAKKyAgICB2aXNpdERl
cmVmZXJlbmNlRXhwcmVzc2lvbihub2RlKQorICAgIHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IG5l
dyBEZXJlZmVyZW5jZUV4cHJlc3Npb24obm9kZS5vcmlnaW4sIG5vZGUucHRyLnZpc2l0KHRoaXMp
KTsKKyAgICAgICAgcmVzdWx0LnR5cGUgPSBub2RlLnR5cGUgPyBub2RlLnR5cGUudmlzaXQodGhp
cykgOiBudWxsOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKSW5kZXg6IFRv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwkocmV2aXNpb24gMjIxNDQ5KQorKysgVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMTEx
LDYgKzExMSwxOCBAQCBmdW5jdGlvbiBURVNUX3NpbXBsZURlZmF1bHQoKQogICAgIGNoZWNrSW50
KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgMCk7CiB9CiAK
K2Z1bmN0aW9uIFRFU1Rfc2ltcGxlRGVyZWZlcmVuY2UoKQoreworICAgIGxldCBwcm9ncmFtID0g
ZG9QcmVwKGAKKyAgICAgICAgaW50IGZvbyhkZXZpY2UgaW50XiBwKQorICAgICAgICB7CisgICAg
ICAgICAgICByZXR1cm4gXnA7CisgICAgICAgIH1gKTsKKyAgICBsZXQgYnVmZmVyID0gbmV3IEVC
dWZmZXIoMSk7CisgICAgYnVmZmVyLnNldCgwLCAxMyk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwg
Y2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28iLCBbXSwgW1R5cGVkVmFsdWUuYm94KG5ldyBQdHJU
eXBlKG51bGwsICJkZXZpY2UiLCBwcm9ncmFtLmludHJpbnNpY3MuaW50MzIpLCBuZXcgRVB0cihi
dWZmZXIsIDApKV0pLCAxMyk7Cit9CisKIGxldCBiZWZvcmUgPSBwcmVjaXNlVGltZSgpOwogCiBs
ZXQgZmlsdGVyID0gLy4qLzsgLy8gcnVuIGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdApJbmRleDogVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHlwZS5qcwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlLmpzCShyZXZpc2lvbiAyMjE0MzUpCisrKyBUb29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UeXBlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw2
ICsyNyw3IEBACiBjbGFzcyBUeXBlIGV4dGVuZHMgTm9kZSB7CiAgICAgZ2V0IHR5cGVQYXJhbWV0
ZXJzKCkgeyByZXR1cm4gW107IH0KICAgICBnZXQga2luZCgpIHsgcmV0dXJuIFR5cGU7IH0KKyAg
ICBnZXQgaXNQdHIoKSB7IHJldHVybiBmYWxzZTsgfQogICAgIAogICAgIGluaGVyaXRzKHByb3Rv
Y29sKQogICAgIHsKSW5kZXg6IFRvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3Iu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5q
cwkocmV2aXNpb24gMjIxNDQyKQorKysgVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlz
aXRvci5qcwkod29ya2luZyBjb3B5KQpAQCAtMTUzLDYgKzE1MywxMSBAQCBjbGFzcyBWaXNpdG9y
IHsKICAgICAgICAgbm9kZS5yaHMudmlzaXQodGhpcyk7CiAgICAgfQogICAgIAorICAgIHZpc2l0
RGVyZWZlcmVuY2VFeHByZXNzaW9uKG5vZGUpCisgICAgeworICAgICAgICBub2RlLnB0ci52aXNp
dCh0aGlzKTsKKyAgICB9CisgICAgCiAgICAgdmlzaXRWYXJpYWJsZVJlZihub2RlKQogICAgIHsK
ICAgICB9Cg==
</data>
<flag name="review"
          id="339805"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>