<?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>177110</bug_id>
          
          <creation_ts>2017-09-18 16:27:23 -0700</creation_ts>
          <short_desc>WSL should be able to trap when something fatal happens</short_desc>
          <delta_ts>2018-10-13 19:41:50 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>176199</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1350151</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-18 16:27:23 -0700</bug_when>
    <thetext>WSL should be able to trap when something fatal happens</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350152</commentid>
    <comment_count>1</comment_count>
      <attachid>321149</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-18 16:28:43 -0700</bug_when>
    <thetext>Created attachment 321149
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350656</commentid>
    <comment_count>2</comment_count>
      <attachid>321289</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-19 22:00:17 -0700</bug_when>
    <thetext>Created attachment 321289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350657</commentid>
    <comment_count>3</comment_count>
      <attachid>321290</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2017-09-19 22:03:07 -0700</bug_when>
    <thetext>Created attachment 321290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350667</commentid>
    <comment_count>4</comment_count>
      <attachid>321290</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-19 22:36:30 -0700</bug_when>
    <thetext>Comment on attachment 321290
Patch

Clearing flags on attachment: 321290

Committed r222252: &lt;http://trac.webkit.org/changeset/222252&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1350668</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-09-19 22:36:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1353403</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-09-27 12:27:48 -0700</bug_when>
    <thetext>&lt;rdar://problem/34693323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1468992</commentid>
    <comment_count>7</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2018-10-13 19:41:50 -0700</bug_when>
    <thetext>Migrated to https://github.com/gpuweb/WHLSL/issues/186</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321149</attachid>
            <date>2017-09-18 16:28:43 -0700</date>
            <delta_ts>2017-09-19 22:00:14 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-177110-20170918162846.patch</filename>
            <type>text/plain</type>
            <size>9639</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMTg1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjQwZTNmYWM2NDNkNTRjZjRhZmI0NzNiYzg4OTIxMGMz
MGM0MGMxYi4uZTZiNWM2NDc5MTQ3NzUxNzE0MTIzNGU1YTBlOWMxODBkNzc2MTljZSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMy
IEBACiAyMDE3LTA5LTE4ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKKyAgICAgICAgV1NMIHNob3VsZCBiZSBhYmxlIHRvIHRyYXAgd2hlbiBzb21ldGhpbmcgZmF0
YWwgaGFwcGVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc3MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanM6CisgICAgICAgICogV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvRXZhbHVhdGlvbkNvbW1vbi5qczoKKyAgICAgICAgKiBXZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanM6CisgICAgICAgIChFdmFsdWF0b3IucHJvdG90eXBl
LnZpc2l0VHJhcFN0YXRlbWVudCk6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkv
UGFyc2UuanM6CisgICAgICAgIChwYXJzZVN0YXRlbWVudCk6CisgICAgICAgICogV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvUmV0dXJuQ2hlY2tlci5qczoKKyAgICAgICAgKFJldHVybkNoZWNrZXIu
cHJvdG90eXBlLnZpc2l0VHJhcFN0YXRlbWVudCk6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvUmV3cml0ZXIuanM6CisgICAgICAgIChSZXdyaXRlci5wcm90b3R5cGUudmlzaXRU
cmFwU3RhdGVtZW50KToKKyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGFuZGFy
ZExpYnJhcnkuanM6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5odG1s
OgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanM6CisgICAgICAgICog
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHJhcFN0YXRlbWVudC5qczogQ29waWVkIGZyb20gVG9v
bHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdGlvbkNvbW1vbi5qcy4KKyAgICAgICAg
KFRyYXBTdGF0ZW1lbnQpOgorICAgICAgICAoVHJhcFN0YXRlbWVudC5wcm90b3R5cGUuZ2V0IG9y
aWdpbik6CisgICAgICAgIChUcmFwU3RhdGVtZW50LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAg
ICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5qczoKKyAgICAgICAgKFZpc2l0
b3IucHJvdG90eXBlLnZpc2l0UHJvdG9jb2xEZWNsKToKKworMjAxNy0wOS0xOCAgTXlsZXMgQy4g
TWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIFdTTCBuZWVkcyB0byBh
bm5vdGF0ZSB2ZXJ0ZXggc2hhZGVycyBhbmQgZnJhZ21lbnQgc2hhZGVycwogICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3MDY2CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0FsbC5qcwppbmRleCBlMWE1ZWZiYTQyYWRmYThmZGE0ZWI5NjczMjQ1YTA1
Njk4MzA4ZTA5Li44ZTVkN2U5OWUxYmU0MzZhNGIxMTZjZWRjOTJmZGE1MzRhNTU5ZjI5IDEwMDY0
NAotLS0gYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMKKysrIGIvVG9vbHMv
V2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzCkBAIC0xMzMsNiArMTMzLDcgQEAgbG9hZCgi
U3RydWN0TGF5b3V0QnVpbGRlci5qcyIpOwogbG9hZCgiU3RydWN0VHlwZS5qcyIpOwogbG9hZCgi
U3Vic3RpdHV0aW9uLmpzIik7CiBsb2FkKCJTeW50aGVzaXplU3RydWN0QWNjZXNzb3JzLmpzIik7
Citsb2FkKCJUcmFwU3RhdGVtZW50LmpzIik7CiBsb2FkKCJUeXBlRGVmLmpzIik7CiBsb2FkKCJU
eXBlRGVmUmVzb2x2ZXIuanMiKTsKIGxvYWQoIlR5cGVPclZhcmlhYmxlUmVmLmpzIik7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0aW9uQ29tbW9uLmpz
IGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdGlvbkNvbW1vbi5qcwppbmRl
eCBiYTI0MzA0NjVmNGJjNjg5N2NiZWQ3ZGE5Yjg1MzlkMzk1YzQzYjNjLi40ZTM2OTU0YjI2ZGFk
ODRmNzc5Y2I4YTczYTUwMDAyNDA3Y2NhMWUwIDEwMDY0NAotLS0gYS9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9FdmFsdWF0aW9uQ29tbW9uLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanMKQEAgLTI2LDUgKzI2LDYgQEAKIAogY29u
c3QgQnJlYWtFeGNlcHRpb24gPSBTeW1ib2woIkJyZWFrRXhjZXB0aW9uIik7CiBjb25zdCBDb250
aW51ZUV4Y2VwdGlvbiA9IFN5bWJvbCgiQ29udGludWVFeGNlcHRpb24iKTsKK2NvbnN0IFRyYXBF
eGNlcHRpb24gPSBTeW1ib2woIlRyYXBFeGNlcHRpb24iKTsKIAogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMKaW5kZXggYTU4MDViZGRkMWMwYzEyNjlkMzkzYTk5
OTM3OGQ1N2ZmZmRlNTMwZS4uZWUyYzRkNGMxOWY5ODkxZGQ3NmU5N2I3ZDkyM2U1MTM2Mzg3MmU3
MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpz
CisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcwpAQCAtMjQ4
LDYgKzI0OCwxMSBAQCBjbGFzcyBFdmFsdWF0b3IgZXh0ZW5kcyBWaXNpdG9yIHsKICAgICB7CiAg
ICAgICAgIHRocm93IENvbnRpbnVlRXhjZXB0aW9uOwogICAgIH0KKworICAgIHZpc2l0VHJhcFN0
YXRlbWVudChub2RlKQorICAgIHsKKyAgICAgICAgdGhyb3cgVHJhcEV4Y2VwdGlvbjsKKyAgICB9
CiAgICAgCiAgICAgdmlzaXRBbm9ueW1vdXNWYXJpYWJsZShub2RlKQogICAgIHsKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1BhcnNlLmpzIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvUGFyc2UuanMKaW5kZXggNGRiZDBiOTgyZTcyYTRmZDRhMzQ0YWM0
NmFhMTgxN2E0MDBkYTRmYy4uNmYzZjkyMjIxMWJhZGRiMmJkNTYyNWE3ZjUxOTIzNThjNDg2Njhi
MyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUGFyc2UuanMKKysr
IGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUGFyc2UuanMKQEAgLTczNyw2ICs3Mzcs
MTEgQEAgZnVuY3Rpb24gcGFyc2UocHJvZ3JhbSwgb3JpZ2luLCBvcmlnaW5LaW5kLCBsaW5lTnVt
YmVyT2Zmc2V0LCB0ZXh0KQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlRm9yKCk7CiAgICAgICAg
IGlmICh0b2tlbi50ZXh0ID09ICJpZiIpCiAgICAgICAgICAgICByZXR1cm4gcGFyc2VJZlN0YXRl
bWVudCgpOworICAgICAgICBpZiAodG9rZW4udGV4dCA9PSAidHJhcCIpIHsKKyAgICAgICAgICAg
IGxldCBvcmlnaW4gPSBjb25zdW1lKCJ0cmFwIik7CisgICAgICAgICAgICBjb25zdW1lKCI7Iik7
CisgICAgICAgICAgICByZXR1cm4gbmV3IFRyYXBTdGF0ZW1lbnQob3JpZ2luKTsKKyAgICAgICAg
fQogICAgICAgICBpZiAodG9rZW4udGV4dCA9PSAieyIpCiAgICAgICAgICAgICByZXR1cm4gcGFy
c2VCbG9jaygpOwogICAgICAgICBsZXQgdmFyaWFibGVEZWNsID0gbGV4ZXIuYmFja3RyYWNraW5n
U2NvcGUocGFyc2VWYXJpYWJsZURlY2xzKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3Vh
Z2VSSS9SZXR1cm5DaGVja2VyLmpzCmluZGV4IGI1OGY0YjViOWU4MWJhNmEwMGMzNGI3ZmZhY2Q0
NDEyODIyNzg4ZjIuLjRjYTUzYjg4MDNiMWM4MTNhMDgyOGQ4ODQ0NzljZmNlODY3NDQxZmQgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanMK
KysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV0dXJuQ2hlY2tlci5qcwpAQCAt
MTMzLDYgKzEzMywxMSBAQCBjbGFzcyBSZXR1cm5DaGVja2VyIGV4dGVuZHMgVmlzaXRvciB7CiAg
ICAgewogICAgICAgICByZXR1cm4gdGhpcy5yZXR1cm5TdHlsZS5EZWZpbml0ZWx5UmV0dXJuczsK
ICAgICB9CisgICAgCisgICAgdmlzaXRUcmFwU3RhdGVtZW50KG5vZGUpCisgICAgeworICAgICAg
ICByZXR1cm4gdGhpcy5yZXR1cm5TdHlsZS5EZWZpbml0ZWx5UmV0dXJuczsKKyAgICB9CiAKICAg
ICB2aXNpdEJyZWFrKG5vZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvUmV3cml0ZXIuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9S
ZXdyaXRlci5qcwppbmRleCBkN2I5YTUzY2JhYWZkNWZhNmEwODRmNmEyYTI5OWFiMDk2YmUwNTI5
Li42NWJkMzUzNTQ5ZTFjNDYxYzZmODVmNTczZWU4NTBhZWQ1Yzk1NDFmIDEwMDY0NAotLS0gYS9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcworKysgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXdyaXRlci5qcwpAQCAtMjU5LDYgKzI1OSwxMSBAQCBjbGFz
cyBSZXdyaXRlciB7CiAgICAgewogICAgICAgICByZXR1cm4gbmV3IEJyZWFrKG5vZGUub3JpZ2lu
KTsKICAgICB9CisKKyAgICB2aXNpdFRyYXBTdGF0ZW1lbnQobm9kZSkKKyAgICB7CisgICAgICAg
IHJldHVybiBuZXcgVHJhcFN0YXRlbWVudChub2RlLm9yaWdpbik7CisgICAgfQogICAgIAogICAg
IHZpc2l0R2VuZXJpY0xpdGVyYWwobm9kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGFuZGFyZExpYnJhcnkuanMgYi9Ub29scy9XZWJHUFVTaGFk
aW5nTGFuZ3VhZ2VSSS9TdGFuZGFyZExpYnJhcnkuanMKaW5kZXggOGY2NjA1MmFjZjlkMGJjOWFk
NjM3NTZjNmIxNzM2OWZkMDVlZGVhMC4uNTk0NGIyNzdlODFhZmY5NGM5MDA4NDc4NmYyZjI0ZTA4
OWNmZTE0ZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RhbmRh
cmRMaWJyYXJ5LmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0YW5kYXJk
TGlicmFyeS5qcwpAQCAtMTA3LDYgKzEwNyw3IEBAIGJvb2wgb3BlcmF0b3ImKGJvb2wgYSwgYm9v
bCBiKQogICAgICAgICByZXR1cm4gYjsKICAgICByZXR1cm4gZmFsc2U7CiB9CisKIGJvb2wgb3Bl
cmF0b3J8KGJvb2wgYSwgYm9vbCBiKQogewogICAgIGlmIChhKQpAQCAtMTE1LDEyICsxMTYsMTQg
QEAgYm9vbCBvcGVyYXRvcnwoYm9vbCBhLCBib29sIGIpCiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KKwogYm9vbCBvcGVyYXRvcl4oYm9vbCBhLCBib29sIGIpCiB7
CiAgICAgaWYgKGEpCiAgICAgICAgIHJldHVybiAhYjsKICAgICByZXR1cm4gYjsKIH0KKwogYm9v
bCBvcGVyYXRvcn4oYm9vbCB2YWx1ZSkKIHsKICAgICByZXR1cm4gIXZhbHVlOwpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5odG1sIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5odG1sCmluZGV4IDg0YmFlNWY4MjY5M2E3NDg5MjY5ZjBk
YTg0NTZjOTQ0OWU3NGI2NGQuLmRjMWViZjBhMTdiZjQwNjAzMDMyNjQ0NjE0NTY1MGUwZWZiYWNm
ZjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbAor
KysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0Lmh0bWwKQEAgLTExMSw2ICsx
MTEsNyBAQAogPHNjcmlwdCBzcmM9IlN0cnVjdFR5cGUuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9IlN1YnN0aXR1dGlvbi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZVN0
cnVjdEFjY2Vzc29ycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVHJhcFN0YXRlbWVudC5q
cyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHlwZURlZi5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iVHlwZURlZlJlc29sdmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJUeXBlT3JW
YXJpYWJsZVJlZi5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9UZXN0LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5q
cwppbmRleCA5ZGQzNDJmMjRiZWRiZTA3MTNhYmQwMzUyYjk0MTk4YzA0ZmUwMzJhLi4xODAxYTY1
OWRkNWY3ZDAxOTk2ZDY1YzRlZjgzMjQ5OWI1MDFkMzY0IDEwMDY0NAotLS0gYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1Rlc3QuanMKQEAgLTM3MTIsNiArMzcxMiwyNSBAQCBmdW5jdGlvbiBURVNUX3NoYWRl
clR5cGVzKCkKICAgICAgICAgKGUpID0+IGUgaW5zdGFuY2VvZiBXVHlwZUVycm9yKTsKIH0KIAor
ZnVuY3Rpb24gVEVTVF90cmFwKCkKK3sKKyAgICBsZXQgcHJvZ3JhbSA9IGRvUHJlcChgCisgICAg
ICAgIGludCBmb28oKQorICAgICAgICB7CisgICAgICAgICAgICB0cmFwOworICAgICAgICB9Cisg
ICAgICAgIGludCBmb28yKGludCB4KQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoeCA9PSAz
KQorICAgICAgICAgICAgICAgIHRyYXA7CisgICAgICAgICAgICByZXR1cm4gNDsKKyAgICAgICAg
fQorICAgIGApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAi
Zm9vIiwgW10sIFtdKSwgMCk7CisgICAgY2hlY2tJbnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHBy
b2dyYW0sICJmb28yIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDEpXSksIDQpOworICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCAzKV0pLCAwKTsKK30KKwogbGV0IGZpbHRlciA9IC8uKi87IC8vIHJ1biBldmVyeXRo
aW5nIGJ5IGRlZmF1bHQKIGlmICh0aGlzWyJhcmd1bWVudHMiXSkgewogICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9UcmFwU3RhdGVtZW50LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvVHJhcFN0YXRlbWVudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTkzZjczZTZhOWY3OTY0
Y2NkYmZiMGMyYzczOTdkOGYzMjY3M2ZlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvVHJhcFN0YXRlbWVudC5qcwpAQCAtMCwwICsxLDQxIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisidXNlIHN0cmljdCI7CisK
K2NsYXNzIFRyYXBTdGF0ZW1lbnQgZXh0ZW5kcyBOb2RlIHsKKyAgICBjb25zdHJ1Y3Rvcihvcmln
aW4pCisgICAgeworICAgICAgICBzdXBlcigpOworICAgICAgICB0aGlzLl9vcmlnaW4gPSBvcmln
aW47CisgICAgfQorICAgIAorICAgIGdldCBvcmlnaW4oKSB7IHJldHVybiB0aGlzLl9vcmlnaW47
IH0KKyAgICAKKyAgICB0b1N0cmluZygpCisgICAgeworICAgICAgICByZXR1cm4gInRyYXAiOwor
ICAgIH0KK307CisKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zp
c2l0b3IuanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9WaXNpdG9yLmpzCmluZGV4
IDRjODU2MzczZjFhNjM2YWM0ZmE0NmMwYzY2NzFhNzYzOTUwMTIwN2IuLjdjODUzNGM4YzI3OWVi
MTYwOTBkOGIzMzkwNTBhZTI2NzE5NWFmMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1Zpc2l0b3IuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvVmlzaXRvci5qcwpAQCAtMjc2LDYgKzI3NiwxMCBAQCBjbGFzcyBWaXNpdG9yIHsKICAgICB2
aXNpdEJyZWFrKG5vZGUpCiAgICAgewogICAgIH0KKworICAgIHZpc2l0VHJhcFN0YXRlbWVudChu
b2RlKQorICAgIHsKKyAgICB9CiAgICAgCiAgICAgdmlzaXRHZW5lcmljTGl0ZXJhbChub2RlKQog
ICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321289</attachid>
            <date>2017-09-19 22:00:17 -0700</date>
            <delta_ts>2017-09-19 22:03:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177110-20170919220017.patch</filename>
            <type>text/plain</type>
            <size>11533</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMjQ3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdmMWJkYmI4MTQ0NzgyZjQ5OThjZjU2NWZkOTBkMTE2
MzAxODIzYi4uNmVkODJhNDlhOWY3Mzc3MjYzNzhiNTFjMGU0OTlkYTZiYzJmNGI0NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDE3LTA5LTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgV1NMIHNob3VsZCBiZSBhYmxlIHRvIHRyYXAgd2hlbiBzb21ldGhpbmcgZmF0
YWwgaGFwcGVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc3MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV1NMIHByb2dyYW1zIGNhbiBpbmNsdWRlIGEgc3RhdGVtZW50ICJ0cmFwOyIgd2hpY2ggY2F1
c2VzIHRoZSBlbnRyeQorICAgICAgICBwb2ludCB0byBpbW1lZGlhdGVseSByZXR1cm4gdGhlIGRl
ZmF1bHQgdmFsdWUgb2YgaXRzIHJldHVybiB0eXBlLgorICAgICAgICBUaGlzIGlzIGltcGxlbWVu
dGVkIGJ5IHRocm93L2NhdGNoIGFuZCBwb3B1bGF0ZURlZmF1bHRWYWx1ZSgpLgorCisgICAgICAg
ICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzOgorICAgICAgICAqIFdlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanM6CisgICAgICAgICogV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52
aXNpdFRyYXBTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Bh
cnNlLmpzOgorICAgICAgICAocGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanM6CisgICAgICAgIChSZXR1cm5DaGVja2VyLnBy
b3RvdHlwZS52aXNpdFRyYXBTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1Jld3JpdGVyLmpzOgorICAgICAgICAoUmV3cml0ZXIucHJvdG90eXBlLnZpc2l0VHJh
cFN0YXRlbWVudCk6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RhbmRhcmRM
aWJyYXJ5LmpzOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbDoK
KyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1RyYXBTdGF0ZW1lbnQuanM6IENvcGllZCBmcm9tIFRvb2xz
L1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanMuCisgICAgICAgIChU
cmFwU3RhdGVtZW50KToKKyAgICAgICAgKFRyYXBTdGF0ZW1lbnQucHJvdG90eXBlLmdldCBvcmln
aW4pOgorICAgICAgICAoVHJhcFN0YXRlbWVudC5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAg
ICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanM6CisgICAgICAgIChWaXNpdG9y
LnByb3RvdHlwZS52aXNpdFByb3RvY29sRGVjbCk6CisKIDIwMTctMDktMTkgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgdGlsZWQtZHJhd2luZy90aWxl
ZC1iYWNraW5nLWluLXdpbmRvdy5odG1sIGZhaWxzIG9uIFJldGluYSBkaXNwbGF5cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzCmluZGV4IGU4MTE3NjVkZDE4OTkzOTA4NjEyYmI0MjVi
ODg5NWQ2ZGY4OTdhNDMuLmRlYmZhZmY0NTA0NzRiODI2YzU5NzdhNDI3ZjY0OWQ1YjJiZDhmNzYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcworKysgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMKQEAgLTE0MSw2ICsxNDEsNyBAQCBs
b2FkKCJTdHJ1Y3RUeXBlLmpzIik7CiBsb2FkKCJTdWJzdGl0dXRpb24uanMiKTsKIGxvYWQoIlN5
bnRoZXNpemVFbnVtRnVuY3Rpb25zLmpzIik7CiBsb2FkKCJTeW50aGVzaXplU3RydWN0QWNjZXNz
b3JzLmpzIik7Citsb2FkKCJUcmFwU3RhdGVtZW50LmpzIik7CiBsb2FkKCJUeXBlRGVmLmpzIik7
CiBsb2FkKCJUeXBlRGVmUmVzb2x2ZXIuanMiKTsKIGxvYWQoIlR5cGVPclZhcmlhYmxlUmVmLmpz
Iik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rp
b24uanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMKaW5k
ZXggNDMzMGM5YmJkOThlOTg3Mzk4Y2VkY2IxZDdjZjNlMWI3OGE4ODU1Ny4uNjM3NjE3Y2UxMTgx
OGYyZTQ3YmNiMzQxNTI3NzZhMGVhNDVjZTIxYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvQ2FsbEZ1bmN0aW9uLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0NhbGxGdW5jdGlvbi5qcwpAQCAtMzksNyArMzksMTcgQEAgZnVuY3Rpb24gY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sIG5hbWUsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50TGlzdCkKICAg
ICAgICAgdHlwZS52aXNpdChuZXcgU3RydWN0TGF5b3V0QnVpbGRlcigpKTsKICAgICAgICAgZnVu
Yy5wYXJhbWV0ZXJzW2ldLmVQdHIuY29weUZyb20oYXJndW1lbnRMaXN0W2ldLmVQdHIsIHR5cGUu
c2l6ZSk7CiAgICAgfQotICAgIGxldCByZXN1bHQgPSBuZXcgRXZhbHVhdG9yKHByb2dyYW0pLnJ1
bkZ1bmMoZnVuYyk7CisgICAgbGV0IHJlc3VsdDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQg
PSBuZXcgRXZhbHVhdG9yKHByb2dyYW0pLnJ1bkZ1bmMoZnVuYyk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBpZiAoZSA9PSBUcmFwRXhjZXB0aW9uKSB7CisgICAgICAgICAgICBsZXQgYnVm
ZmVyID0gbmV3IEVCdWZmZXIoZnVuYy5yZXR1cm5UeXBlLnNpemUpOworICAgICAgICAgICAgZnVu
Yy5yZXR1cm5UeXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVlKGJ1ZmZlciwgMCk7CisgICAgICAgICAg
ICByZXN1bHQgPSBuZXcgRVB0cihidWZmZXIsIDApOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIHRocm93IGU7CisgICAgfQogICAgIHJldHVybiBuZXcgVHlwZWRWYWx1ZShmdW5jLnVuaW5z
dGFudGlhdGVkUmV0dXJuVHlwZSwgcmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdGlvbkNvbW1vbi5qcyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanMKaW5kZXggYmEyNDMwNDY1ZjRiYzY4
OTdjYmVkN2RhOWI4NTM5ZDM5NWM0M2IzYy4uNGUzNjk1NGIyNmRhZDg0Zjc3OWNiOGE3M2E1MDAw
MjQwN2NjYTFlMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZh
bHVhdGlvbkNvbW1vbi5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFs
dWF0aW9uQ29tbW9uLmpzCkBAIC0yNiw1ICsyNiw2IEBACiAKIGNvbnN0IEJyZWFrRXhjZXB0aW9u
ID0gU3ltYm9sKCJCcmVha0V4Y2VwdGlvbiIpOwogY29uc3QgQ29udGludWVFeGNlcHRpb24gPSBT
eW1ib2woIkNvbnRpbnVlRXhjZXB0aW9uIik7Citjb25zdCBUcmFwRXhjZXB0aW9uID0gU3ltYm9s
KCJUcmFwRXhjZXB0aW9uIik7CiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvRXZhbHVhdG9yLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZh
bHVhdG9yLmpzCmluZGV4IDhlOWEzMTViMDI4ZTlhNDIwMjMxZWRjZTBlYWEwNWRhYTY1OGVmYjQu
LjJlMDMxM2RhMGFlNjkyMjJjZjY1MDJkZDc3NDE4ZWQzYjZhNTgxMzEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcworKysgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMKQEAgLTI1Myw2ICsyNTMsMTEgQEAgY2xh
c3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgewogICAgICAgICB0aHJvdyBDb250
aW51ZUV4Y2VwdGlvbjsKICAgICB9CisKKyAgICB2aXNpdFRyYXBTdGF0ZW1lbnQobm9kZSkKKyAg
ICB7CisgICAgICAgIHRocm93IFRyYXBFeGNlcHRpb247CisgICAgfQogICAgIAogICAgIHZpc2l0
QW5vbnltb3VzVmFyaWFibGUobm9kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9QYXJzZS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1BhcnNlLmpzCmluZGV4IDNkYzZmZjE3Nzc3M2RjYTUzOTgxOWI4Njg3OTI2OTk4YjZhOGVhYTgu
LjNiZjBlZGQ5MmZjYzFiNWY0MmYxYTRiOWQ3NmY2NjE0NmM2NDIyNjEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1BhcnNlLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1BhcnNlLmpzCkBAIC03NTIsNiArNzUyLDExIEBAIGZ1bmN0aW9uIHBh
cnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkK
ICAgICAgICAgICAgIHJldHVybiBwYXJzZUZvcigpOwogICAgICAgICBpZiAodG9rZW4udGV4dCA9
PSAiaWYiKQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlSWZTdGF0ZW1lbnQoKTsKKyAgICAgICAg
aWYgKHRva2VuLnRleHQgPT0gInRyYXAiKSB7CisgICAgICAgICAgICBsZXQgb3JpZ2luID0gY29u
c3VtZSgidHJhcCIpOworICAgICAgICAgICAgY29uc3VtZSgiOyIpOworICAgICAgICAgICAgcmV0
dXJuIG5ldyBUcmFwU3RhdGVtZW50KG9yaWdpbik7CisgICAgICAgIH0KICAgICAgICAgaWYgKHRv
a2VuLnRleHQgPT0gInsiKQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmxvY2soKTsKICAgICAg
ICAgbGV0IHZhcmlhYmxlRGVjbCA9IGxleGVyLmJhY2t0cmFja2luZ1Njb3BlKHBhcnNlVmFyaWFi
bGVEZWNscyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXR1
cm5DaGVja2VyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV0dXJuQ2hlY2tl
ci5qcwppbmRleCBiNThmNGI1YjllODFiYTZhMDBjMzRiN2ZmYWNkNDQxMjgyMjc4OGYyLi40Y2E1
M2I4ODAzYjFjODEzYTA4MjhkODg0NDc5Y2ZjZTg2NzQ0MWZkIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXR1cm5DaGVja2VyLmpzCisrKyBiL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanMKQEAgLTEzMyw2ICsxMzMsMTEgQEAg
Y2xhc3MgUmV0dXJuQ2hlY2tlciBleHRlbmRzIFZpc2l0b3IgewogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMucmV0dXJuU3R5bGUuRGVmaW5pdGVseVJldHVybnM7CiAgICAgfQorICAgIAorICAg
IHZpc2l0VHJhcFN0YXRlbWVudChub2RlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMucmV0
dXJuU3R5bGUuRGVmaW5pdGVseVJldHVybnM7CisgICAgfQogCiAgICAgdmlzaXRCcmVhayhub2Rl
KQogICAgIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Jld3Jp
dGVyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanMKaW5kZXgg
ZWMyNWQ0MDRkM2MwNGQxOGRhODI4NzRjZDA0Y2Q3N2M2NThjNjAxMy4uM2JlMTA3ZDcxYjU1NGVk
NGY5YTY5OGQ2Y2VhZTE3NmI4ZjEzYmNhMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvUmV3cml0ZXIuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvUmV3cml0ZXIuanMKQEAgLTI3Miw2ICsyNzIsMTEgQEAgY2xhc3MgUmV3cml0ZXIgewogICAg
IHsKICAgICAgICAgcmV0dXJuIG5ldyBCcmVhayhub2RlLm9yaWdpbik7CiAgICAgfQorCisgICAg
dmlzaXRUcmFwU3RhdGVtZW50KG5vZGUpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFRyYXBT
dGF0ZW1lbnQobm9kZS5vcmlnaW4pOworICAgIH0KICAgICAKICAgICB2aXNpdEdlbmVyaWNMaXRl
cmFsKG5vZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvU3RhbmRhcmRMaWJyYXJ5LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3Rh
bmRhcmRMaWJyYXJ5LmpzCmluZGV4IDA4YTU0NDM3MmY4YjIzMDUyNDRjYmJhYWMzYTQ2NGZhYWM0
NzEyMTcuLjU2ZjU2NjFkOTI3YWM2Y2UxN2VlNDYzMDI5N2I0MjY2YzVjZmY1NWIgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0YW5kYXJkTGlicmFyeS5qcworKysg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGFuZGFyZExpYnJhcnkuanMKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBib29sIG9wZXJhdG9yJihib29sIGEsIGJvb2wgYikKICAgICAgICAgcmV0
dXJuIGI7CiAgICAgcmV0dXJuIGZhbHNlOwogfQorCiBib29sIG9wZXJhdG9yfChib29sIGEsIGJv
b2wgYikKIHsKICAgICBpZiAoYSkKQEAgLTExNSwxMiArMTE2LDE0IEBAIGJvb2wgb3BlcmF0b3J8
KGJvb2wgYSwgYm9vbCBiKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CisKIGJvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBiKQogewogICAgIGlmIChhKQogICAg
ICAgICByZXR1cm4gIWI7CiAgICAgcmV0dXJuIGI7CiB9CisKIGJvb2wgb3BlcmF0b3J+KGJvb2wg
dmFsdWUpCiB7CiAgICAgcmV0dXJuICF2YWx1ZTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbCBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1Rlc3QuaHRtbAppbmRleCA2MmRhMjMwMWE5YzE3MzI5ZjkyYTc5ZmNhZGFlMDZmYTk0YWQwOTM4
Li40OGNiNWE1ZTA0ZmY2YjE2N2U5ZWU1OWI3NmNjYmFhMzlmNDBlMDM3IDEwMDY0NAotLS0gYS9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0Lmh0bWwKKysrIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5odG1sCkBAIC03NSw3ICs3NSw2IEBACiA8c2NyaXB0IHNy
Yz0iSW50TGl0ZXJhbC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iSW50TGl0ZXJhbFR5cGUu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkludHJpbnNpY3MuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBzcmM9IkxldEV4cHJlc3Npb24uanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkxleGVy
LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJMZXhlclRva2VuLmpzIj48L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSJMaXRlcmFsVHlwZUNoZWNrZXIuanMiPjwvc2NyaXB0PgpAQCAtMTE5LDYgKzEx
OCw3IEBACiA8c2NyaXB0IHNyYz0iU3Vic3RpdHV0aW9uLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJTeW50aGVzaXplRW51bUZ1bmN0aW9ucy5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
U3ludGhlc2l6ZVN0cnVjdEFjY2Vzc29ycy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iVHJh
cFN0YXRlbWVudC5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iVHlwZURlZi5qcyI+PC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iVHlwZURlZlJlc29sdmVyLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJUeXBlT3JWYXJpYWJsZVJlZi5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1
YWdlUkkvVGVzdC5qcwppbmRleCBhOTk2Yzg4ZGM3ZTk1MzdlNTk4OTA1N2VhMjBhN2EyMDdkNDFh
MzI3Li5lZWE5ODgwMGI2NTA2ZjdjZjI2OTUwOGUyN2NiYzhhMjMyMmQ3YzU5IDEwMDY0NAotLS0g
YS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCisrKyBiL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKQEAgLTQyMTQsNiArNDIxNCwzOCBAQCBmdW5jdGlv
biBURVNUX2VudW1Db25zdGV4cHJHZW5lcmljU3RydWN0KCkKICAgICBjaGVja0ludChwcm9ncmFt
LCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgInRlc3RZIiwgW10sIFtdKSwgMSk7CiB9CiAKK2Z1bmN0
aW9uIFRFU1RfdHJhcCgpCit7CisgICAgbGV0IHByb2dyYW0gPSBkb1ByZXAoYAorICAgICAgICBp
bnQgZm9vKCkKKyAgICAgICAgeworICAgICAgICAgICAgdHJhcDsKKyAgICAgICAgfQorICAgICAg
ICBpbnQgZm9vMihpbnQgeCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKHggPT0gMykKKyAg
ICAgICAgICAgICAgICB0cmFwOworICAgICAgICAgICAgcmV0dXJuIDQ7CisgICAgICAgIH0KKyAg
ICAgICAgc3RydWN0IEJhciB7CisgICAgICAgICAgICBpbnQzIHg7CisgICAgICAgICAgICBmbG9h
dCB5OworICAgICAgICB9CisgICAgICAgIEJhciBmb28zKCkKKyAgICAgICAgeworICAgICAgICAg
ICAgdHJhcDsKKyAgICAgICAgfQorICAgIGApOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vIiwgW10sIFtdKSwgMCk7CisgICAgY2hlY2tJbnQocHJvZ3Jh
bSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJmb28yIiwgW10sIFttYWtlSW50KHByb2dyYW0sIDEp
XSksIDQpOworICAgIGNoZWNrSW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9v
MiIsIFtdLCBbbWFrZUludChwcm9ncmFtLCAzKV0pLCAwKTsKKyAgICBsZXQgZm9vMyA9IGNhbGxG
dW5jdGlvbihwcm9ncmFtLCAiZm9vMyIsIFtdLCBbXSk7CisgICAgZm9yIChsZXQgdmFsdWUgb2Yg
Zm9vMy5lUHRyLmJ1ZmZlci5fYXJyYXkpIHsKKyAgICAgICAgaWYgKHZhbHVlICE9IHVuZGVmaW5l
ZCAmJiB2YWx1ZSAhPSAwKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJUcmFwIHJldHVy
bmVkIGEgbm9uLXplcm8gdmFsdWUiKTsKKyAgICB9Cit9CisKIGxldCBmaWx0ZXIgPSAvLiovOyAv
LyBydW4gZXZlcnl0aGluZyBieSBkZWZhdWx0CiBpZiAodGhpc1siYXJndW1lbnRzIl0pIHsKICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykgewpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVHJhcFN0YXRlbWVudC5qcyBiL1Rvb2xz
L1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1RyYXBTdGF0ZW1lbnQuanMKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTE5
M2Y3M2U2YTlmNzk2NGNjZGJmYjBjMmM3Mzk3ZDhmMzI2NzNmZQotLS0gL2Rldi9udWxsCisrKyBi
L1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1RyYXBTdGF0ZW1lbnQuanMKQEAgLTAsMCAr
MSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworInVz
ZSBzdHJpY3QiOworCitjbGFzcyBUcmFwU3RhdGVtZW50IGV4dGVuZHMgTm9kZSB7CisgICAgY29u
c3RydWN0b3Iob3JpZ2luKQorICAgIHsKKyAgICAgICAgc3VwZXIoKTsKKyAgICAgICAgdGhpcy5f
b3JpZ2luID0gb3JpZ2luOworICAgIH0KKyAgICAKKyAgICBnZXQgb3JpZ2luKCkgeyByZXR1cm4g
dGhpcy5fb3JpZ2luOyB9CisgICAgCisgICAgdG9TdHJpbmcoKQorICAgIHsKKyAgICAgICAgcmV0
dXJuICJ0cmFwIjsKKyAgICB9Cit9OworCmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9WaXNpdG9yLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlz
aXRvci5qcwppbmRleCBhNDA2ZTA3ZmU0YjcyYWJmZDI0ZmFkNDZiZTlmOGQzNDgzZWQzMzAyLi5k
ODA0NWM2MTE0OWFlN2EzOTE3NWI3MzQwNjkxNGU5MzgyYjMxMjFhIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9WaXNpdG9yLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanMKQEAgLTI5Miw2ICsyOTIsMTAgQEAgY2xhc3MgVmlz
aXRvciB7CiAgICAgdmlzaXRCcmVhayhub2RlKQogICAgIHsKICAgICB9CisKKyAgICB2aXNpdFRy
YXBTdGF0ZW1lbnQobm9kZSkKKyAgICB7CisgICAgfQogICAgIAogICAgIHZpc2l0R2VuZXJpY0xp
dGVyYWwobm9kZSkKICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>321290</attachid>
            <date>2017-09-19 22:03:07 -0700</date>
            <delta_ts>2017-09-19 22:36:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-177110-20170919220309.patch</filename>
            <type>text/plain</type>
            <size>12170</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIyMjQ3CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYjdmMWJkYmI4MTQ0NzgyZjQ5OThjZjU2NWZkOTBkMTE2
MzAxODIzYi4uNmVkODJhNDlhOWY3Mzc3MjYzNzhiNTFjMGU0OTlkYTZiYzJmNGI0NyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0
IEBACisyMDE3LTA5LTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CisKKyAgICAgICAgV1NMIHNob3VsZCBiZSBhYmxlIHRvIHRyYXAgd2hlbiBzb21ldGhpbmcgZmF0
YWwgaGFwcGVucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc3MTEwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV1NMIHByb2dyYW1zIGNhbiBpbmNsdWRlIGEgc3RhdGVtZW50ICJ0cmFwOyIgd2hpY2ggY2F1
c2VzIHRoZSBlbnRyeQorICAgICAgICBwb2ludCB0byBpbW1lZGlhdGVseSByZXR1cm4gdGhlIGRl
ZmF1bHQgdmFsdWUgb2YgaXRzIHJldHVybiB0eXBlLgorICAgICAgICBUaGlzIGlzIGltcGxlbWVu
dGVkIGJ5IHRocm93L2NhdGNoIGFuZCBwb3B1bGF0ZURlZmF1bHRWYWx1ZSgpLgorCisgICAgICAg
ICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzOgorICAgICAgICAqIFdlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanM6CisgICAgICAgICogV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvRXZhbHVhdG9yLmpzOgorICAgICAgICAoRXZhbHVhdG9yLnByb3RvdHlwZS52
aXNpdFRyYXBTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Bh
cnNlLmpzOgorICAgICAgICAocGFyc2VTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRp
bmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanM6CisgICAgICAgIChSZXR1cm5DaGVja2VyLnBy
b3RvdHlwZS52aXNpdFRyYXBTdGF0ZW1lbnQpOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1Jld3JpdGVyLmpzOgorICAgICAgICAoUmV3cml0ZXIucHJvdG90eXBlLnZpc2l0VHJh
cFN0YXRlbWVudCk6CisgICAgICAgICogV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3RhbmRhcmRM
aWJyYXJ5LmpzOgorICAgICAgICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbDoK
KyAgICAgICAgKiBXZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzOgorICAgICAgICAqIFdl
YkdQVVNoYWRpbmdMYW5ndWFnZVJJL1RyYXBTdGF0ZW1lbnQuanM6IENvcGllZCBmcm9tIFRvb2xz
L1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanMuCisgICAgICAgIChU
cmFwU3RhdGVtZW50KToKKyAgICAgICAgKFRyYXBTdGF0ZW1lbnQucHJvdG90eXBlLmdldCBvcmln
aW4pOgorICAgICAgICAoVHJhcFN0YXRlbWVudC5wcm90b3R5cGUudG9TdHJpbmcpOgorICAgICAg
ICAqIFdlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Zpc2l0b3IuanM6CisgICAgICAgIChWaXNpdG9y
LnByb3RvdHlwZS52aXNpdFByb3RvY29sRGVjbCk6CisKIDIwMTctMDktMTkgIFNpbW9uIEZyYXNl
ciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgdGlsZWQtZHJhd2luZy90aWxl
ZC1iYWNraW5nLWluLXdpbmRvdy5odG1sIGZhaWxzIG9uIFJldGluYSBkaXNwbGF5cwpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzIGIvVG9vbHMvV2ViR1BV
U2hhZGluZ0xhbmd1YWdlUkkvQWxsLmpzCmluZGV4IGU4MTE3NjVkZDE4OTkzOTA4NjEyYmI0MjVi
ODg5NWQ2ZGY4OTdhNDMuLmRlYmZhZmY0NTA0NzRiODI2YzU5NzdhNDI3ZjY0OWQ1YjJiZDhmNzYg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0FsbC5qcworKysgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9BbGwuanMKQEAgLTE0MSw2ICsxNDEsNyBAQCBs
b2FkKCJTdHJ1Y3RUeXBlLmpzIik7CiBsb2FkKCJTdWJzdGl0dXRpb24uanMiKTsKIGxvYWQoIlN5
bnRoZXNpemVFbnVtRnVuY3Rpb25zLmpzIik7CiBsb2FkKCJTeW50aGVzaXplU3RydWN0QWNjZXNz
b3JzLmpzIik7Citsb2FkKCJUcmFwU3RhdGVtZW50LmpzIik7CiBsb2FkKCJUeXBlRGVmLmpzIik7
CiBsb2FkKCJUeXBlRGVmUmVzb2x2ZXIuanMiKTsKIGxvYWQoIlR5cGVPclZhcmlhYmxlUmVmLmpz
Iik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rp
b24uanMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9DYWxsRnVuY3Rpb24uanMKaW5k
ZXggNDMzMGM5YmJkOThlOTg3Mzk4Y2VkY2IxZDdjZjNlMWI3OGE4ODU1Ny4uNjM3NjE3Y2UxMTgx
OGYyZTQ3YmNiMzQxNTI3NzZhMGVhNDVjZTIxYiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hh
ZGluZ0xhbmd1YWdlUkkvQ2FsbEZ1bmN0aW9uLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdM
YW5ndWFnZVJJL0NhbGxGdW5jdGlvbi5qcwpAQCAtMzksNyArMzksMTcgQEAgZnVuY3Rpb24gY2Fs
bEZ1bmN0aW9uKHByb2dyYW0sIG5hbWUsIHR5cGVBcmd1bWVudHMsIGFyZ3VtZW50TGlzdCkKICAg
ICAgICAgdHlwZS52aXNpdChuZXcgU3RydWN0TGF5b3V0QnVpbGRlcigpKTsKICAgICAgICAgZnVu
Yy5wYXJhbWV0ZXJzW2ldLmVQdHIuY29weUZyb20oYXJndW1lbnRMaXN0W2ldLmVQdHIsIHR5cGUu
c2l6ZSk7CiAgICAgfQotICAgIGxldCByZXN1bHQgPSBuZXcgRXZhbHVhdG9yKHByb2dyYW0pLnJ1
bkZ1bmMoZnVuYyk7CisgICAgbGV0IHJlc3VsdDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQg
PSBuZXcgRXZhbHVhdG9yKHByb2dyYW0pLnJ1bkZ1bmMoZnVuYyk7CisgICAgfSBjYXRjaCAoZSkg
eworICAgICAgICBpZiAoZSA9PSBUcmFwRXhjZXB0aW9uKSB7CisgICAgICAgICAgICBsZXQgYnVm
ZmVyID0gbmV3IEVCdWZmZXIoZnVuYy5yZXR1cm5UeXBlLnNpemUpOworICAgICAgICAgICAgZnVu
Yy5yZXR1cm5UeXBlLnBvcHVsYXRlRGVmYXVsdFZhbHVlKGJ1ZmZlciwgMCk7CisgICAgICAgICAg
ICByZXN1bHQgPSBuZXcgRVB0cihidWZmZXIsIDApOworICAgICAgICB9IGVsc2UKKyAgICAgICAg
ICAgIHRocm93IGU7CisgICAgfQogICAgIHJldHVybiBuZXcgVHlwZWRWYWx1ZShmdW5jLnVuaW5z
dGFudGlhdGVkUmV0dXJuVHlwZSwgcmVzdWx0KTsKIH0KIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZhbHVhdGlvbkNvbW1vbi5qcyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRpb25Db21tb24uanMKaW5kZXggYmEyNDMwNDY1ZjRiYzY4
OTdjYmVkN2RhOWI4NTM5ZDM5NWM0M2IzYy4uNGUzNjk1NGIyNmRhZDg0Zjc3OWNiOGE3M2E1MDAw
MjQwN2NjYTFlMCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZh
bHVhdGlvbkNvbW1vbi5qcworKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFs
dWF0aW9uQ29tbW9uLmpzCkBAIC0yNiw1ICsyNiw2IEBACiAKIGNvbnN0IEJyZWFrRXhjZXB0aW9u
ID0gU3ltYm9sKCJCcmVha0V4Y2VwdGlvbiIpOwogY29uc3QgQ29udGludWVFeGNlcHRpb24gPSBT
eW1ib2woIkNvbnRpbnVlRXhjZXB0aW9uIik7Citjb25zdCBUcmFwRXhjZXB0aW9uID0gU3ltYm9s
KCJUcmFwRXhjZXB0aW9uIik7CiAKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xh
bmd1YWdlUkkvRXZhbHVhdG9yLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvRXZh
bHVhdG9yLmpzCmluZGV4IDhlOWEzMTViMDI4ZTlhNDIwMjMxZWRjZTBlYWEwNWRhYTY1OGVmYjQu
LjJlMDMxM2RhMGFlNjkyMjJjZjY1MDJkZDc3NDE4ZWQzYjZhNTgxMzEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL0V2YWx1YXRvci5qcworKysgYi9Ub29scy9XZWJH
UFVTaGFkaW5nTGFuZ3VhZ2VSSS9FdmFsdWF0b3IuanMKQEAgLTI1Myw2ICsyNTMsMTEgQEAgY2xh
c3MgRXZhbHVhdG9yIGV4dGVuZHMgVmlzaXRvciB7CiAgICAgewogICAgICAgICB0aHJvdyBDb250
aW51ZUV4Y2VwdGlvbjsKICAgICB9CisKKyAgICB2aXNpdFRyYXBTdGF0ZW1lbnQobm9kZSkKKyAg
ICB7CisgICAgICAgIHRocm93IFRyYXBFeGNlcHRpb247CisgICAgfQogICAgIAogICAgIHZpc2l0
QW5vbnltb3VzVmFyaWFibGUobm9kZSkKICAgICB7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVT
aGFkaW5nTGFuZ3VhZ2VSSS9QYXJzZS5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJ
L1BhcnNlLmpzCmluZGV4IDNkYzZmZjE3Nzc3M2RjYTUzOTgxOWI4Njg3OTI2OTk4YjZhOGVhYTgu
LjNiZjBlZGQ5MmZjYzFiNWY0MmYxYTRiOWQ3NmY2NjE0NmM2NDIyNjEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1BhcnNlLmpzCisrKyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1BhcnNlLmpzCkBAIC03NTIsNiArNzUyLDExIEBAIGZ1bmN0aW9uIHBh
cnNlKHByb2dyYW0sIG9yaWdpbiwgb3JpZ2luS2luZCwgbGluZU51bWJlck9mZnNldCwgdGV4dCkK
ICAgICAgICAgICAgIHJldHVybiBwYXJzZUZvcigpOwogICAgICAgICBpZiAodG9rZW4udGV4dCA9
PSAiaWYiKQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlSWZTdGF0ZW1lbnQoKTsKKyAgICAgICAg
aWYgKHRva2VuLnRleHQgPT0gInRyYXAiKSB7CisgICAgICAgICAgICBsZXQgb3JpZ2luID0gY29u
c3VtZSgidHJhcCIpOworICAgICAgICAgICAgY29uc3VtZSgiOyIpOworICAgICAgICAgICAgcmV0
dXJuIG5ldyBUcmFwU3RhdGVtZW50KG9yaWdpbik7CisgICAgICAgIH0KICAgICAgICAgaWYgKHRv
a2VuLnRleHQgPT0gInsiKQogICAgICAgICAgICAgcmV0dXJuIHBhcnNlQmxvY2soKTsKICAgICAg
ICAgbGV0IHZhcmlhYmxlRGVjbCA9IGxleGVyLmJhY2t0cmFja2luZ1Njb3BlKHBhcnNlVmFyaWFi
bGVEZWNscyk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXR1
cm5DaGVja2VyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV0dXJuQ2hlY2tl
ci5qcwppbmRleCBiNThmNGI1YjllODFiYTZhMDBjMzRiN2ZmYWNkNDQxMjgyMjc4OGYyLi40Y2E1
M2I4ODAzYjFjODEzYTA4MjhkODg0NDc5Y2ZjZTg2NzQ0MWZkIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9SZXR1cm5DaGVja2VyLmpzCisrKyBiL1Rvb2xzL1dlYkdQ
VVNoYWRpbmdMYW5ndWFnZVJJL1JldHVybkNoZWNrZXIuanMKQEAgLTEzMyw2ICsxMzMsMTEgQEAg
Y2xhc3MgUmV0dXJuQ2hlY2tlciBleHRlbmRzIFZpc2l0b3IgewogICAgIHsKICAgICAgICAgcmV0
dXJuIHRoaXMucmV0dXJuU3R5bGUuRGVmaW5pdGVseVJldHVybnM7CiAgICAgfQorICAgIAorICAg
IHZpc2l0VHJhcFN0YXRlbWVudChub2RlKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMucmV0
dXJuU3R5bGUuRGVmaW5pdGVseVJldHVybnM7CisgICAgfQogCiAgICAgdmlzaXRCcmVhayhub2Rl
KQogICAgIHsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Jld3Jp
dGVyLmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvUmV3cml0ZXIuanMKaW5kZXgg
ZWMyNWQ0MDRkM2MwNGQxOGRhODI4NzRjZDA0Y2Q3N2M2NThjNjAxMy4uM2JlMTA3ZDcxYjU1NGVk
NGY5YTY5OGQ2Y2VhZTE3NmI4ZjEzYmNhMSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGlu
Z0xhbmd1YWdlUkkvUmV3cml0ZXIuanMKKysrIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvUmV3cml0ZXIuanMKQEAgLTI3Miw2ICsyNzIsMTEgQEAgY2xhc3MgUmV3cml0ZXIgewogICAg
IHsKICAgICAgICAgcmV0dXJuIG5ldyBCcmVhayhub2RlLm9yaWdpbik7CiAgICAgfQorCisgICAg
dmlzaXRUcmFwU3RhdGVtZW50KG5vZGUpCisgICAgeworICAgICAgICByZXR1cm4gbmV3IFRyYXBT
dGF0ZW1lbnQobm9kZS5vcmlnaW4pOworICAgIH0KICAgICAKICAgICB2aXNpdEdlbmVyaWNMaXRl
cmFsKG5vZGUpCiAgICAgewpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdl
UkkvU3RhbmRhcmRMaWJyYXJ5LmpzIGIvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvU3Rh
bmRhcmRMaWJyYXJ5LmpzCmluZGV4IDA4YTU0NDM3MmY4YjIzMDUyNDRjYmJhYWMzYTQ2NGZhYWM0
NzEyMTcuLjQyYjZlZjkzNDg5OTM0MzgzODMyZjhkZjRkMzA2MzZiZTQwZmQ0NTkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1N0YW5kYXJkTGlicmFyeS5qcworKysg
Yi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9TdGFuZGFyZExpYnJhcnkuanMKQEAgLTEw
Nyw2ICsxMDcsNyBAQCBib29sIG9wZXJhdG9yJihib29sIGEsIGJvb2wgYikKICAgICAgICAgcmV0
dXJuIGI7CiAgICAgcmV0dXJuIGZhbHNlOwogfQorCiBib29sIG9wZXJhdG9yfChib29sIGEsIGJv
b2wgYikKIHsKICAgICBpZiAoYSkKQEAgLTExNSwxMiArMTE2LDE0IEBAIGJvb2wgb3BlcmF0b3J8
KGJvb2wgYSwgYm9vbCBiKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICByZXR1cm4gZmFsc2U7
CiB9CisKIGJvb2wgb3BlcmF0b3JeKGJvb2wgYSwgYm9vbCBiKQogewogICAgIGlmIChhKQogICAg
ICAgICByZXR1cm4gIWI7CiAgICAgcmV0dXJuIGI7CiB9CisKIGJvb2wgb3BlcmF0b3J+KGJvb2wg
dmFsdWUpCiB7CiAgICAgcmV0dXJuICF2YWx1ZTsKQEAgLTE3OSw3ICsxODIsNyBAQCB0aHJlYWQg
VF4gb3BlcmF0b3ImW108VD4odGhyZWFkIHZlYzI8VD5eIGZvbywgdWludCBpbmRleCkKICAgICAg
ICAgcmV0dXJuICZmb28tPng7CiAgICAgaWYgKGluZGV4ID09IDEpCiAgICAgICAgIHJldHVybiAm
Zm9vLT55OwotICAgIHJldHVybiBudWxsOworICAgIHRyYXA7CiB9CiAKIHN0cnVjdCB2ZWMzPFQ+
IHsKQEAgLTIzMyw3ICsyMzYsNyBAQCB0aHJlYWQgVF4gb3BlcmF0b3ImW108VD4odGhyZWFkIHZl
YzM8VD5eIGZvbywgdWludCBpbmRleCkKICAgICAgICAgcmV0dXJuICZmb28tPnk7CiAgICAgaWYg
KGluZGV4ID09IDIpCiAgICAgICAgIHJldHVybiAmZm9vLT56OwotICAgIHJldHVybiBudWxsOwor
ICAgIHRyYXA7CiB9CiAKIHN0cnVjdCB2ZWM0PFQ+IHsKQEAgLTMzMyw3ICszMzYsNyBAQCB0aHJl
YWQgVF4gb3BlcmF0b3ImW108VD4odGhyZWFkIHZlYzQ8VD5eIGZvbywgdWludCBpbmRleCkKICAg
ICAgICAgcmV0dXJuICZmb28tPno7CiAgICAgaWYgKGluZGV4ID09IDMpCiAgICAgICAgIHJldHVy
biAmZm9vLT53OwotICAgIHJldHVybiBudWxsOworICAgIHRyYXA7CiB9CiAKIG5hdGl2ZSB0aHJl
YWQgVF4gb3BlcmF0b3ImW108VD4odGhyZWFkIFRbXSwgdWludCk7CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0Lmh0bWwgYi9Ub29scy9XZWJHUFVTaGFkaW5n
TGFuZ3VhZ2VSSS9UZXN0Lmh0bWwKaW5kZXggNjJkYTIzMDFhOWMxNzMyOWY5MmE3OWZjYWRhZTA2
ZmE5NGFkMDkzOC4uNDhjYjVhNWUwNGZmNmIxNjdlOWVlNTliNzZjY2JhYTM5ZjQwZTAzNyAxMDA2
NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5odG1sCisrKyBiL1Rv
b2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1Rlc3QuaHRtbApAQCAtNzUsNyArNzUsNiBAQAog
PHNjcmlwdCBzcmM9IkludExpdGVyYWwuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IkludExp
dGVyYWxUeXBlLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSJJbnRyaW5zaWNzLmpzIj48L3Nj
cmlwdD4KLTxzY3JpcHQgc3JjPSJMZXRFeHByZXNzaW9uLmpzIj48L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSJMZXhlci5qcyI+PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iTGV4ZXJUb2tlbi5qcyI+PC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iTGl0ZXJhbFR5cGVDaGVja2VyLmpzIj48L3NjcmlwdD4KQEAg
LTExOSw2ICsxMTgsNyBAQAogPHNjcmlwdCBzcmM9IlN1YnN0aXR1dGlvbi5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iU3ludGhlc2l6ZUVudW1GdW5jdGlvbnMuanMiPjwvc2NyaXB0PgogPHNj
cmlwdCBzcmM9IlN5bnRoZXNpemVTdHJ1Y3RBY2Nlc3NvcnMuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9IlRyYXBTdGF0ZW1lbnQuanMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlR5cGVEZWYu
anMiPjwvc2NyaXB0PgogPHNjcmlwdCBzcmM9IlR5cGVEZWZSZXNvbHZlci5qcyI+PC9zY3JpcHQ+
CiA8c2NyaXB0IHNyYz0iVHlwZU9yVmFyaWFibGVSZWYuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcyBiL1Rvb2xzL1dlYkdQVVNo
YWRpbmdMYW5ndWFnZVJJL1Rlc3QuanMKaW5kZXggYTk5NmM4OGRjN2U5NTM3ZTU5ODkwNTdlYTIw
YTdhMjA3ZDQxYTMyNy4uZWVhOTg4MDBiNjUwNmY3Y2YyNjk1MDhlMjdjYmM4YTIzMjJkN2M1OSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVGVzdC5qcworKysgYi9U
b29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UZXN0LmpzCkBAIC00MjE0LDYgKzQyMTQsMzgg
QEAgZnVuY3Rpb24gVEVTVF9lbnVtQ29uc3RleHByR2VuZXJpY1N0cnVjdCgpCiAgICAgY2hlY2tJ
bnQocHJvZ3JhbSwgY2FsbEZ1bmN0aW9uKHByb2dyYW0sICJ0ZXN0WSIsIFtdLCBbXSksIDEpOwog
fQogCitmdW5jdGlvbiBURVNUX3RyYXAoKQoreworICAgIGxldCBwcm9ncmFtID0gZG9QcmVwKGAK
KyAgICAgICAgaW50IGZvbygpCisgICAgICAgIHsKKyAgICAgICAgICAgIHRyYXA7CisgICAgICAg
IH0KKyAgICAgICAgaW50IGZvbzIoaW50IHgpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh4
ID09IDMpCisgICAgICAgICAgICAgICAgdHJhcDsKKyAgICAgICAgICAgIHJldHVybiA0OworICAg
ICAgICB9CisgICAgICAgIHN0cnVjdCBCYXIgeworICAgICAgICAgICAgaW50MyB4OworICAgICAg
ICAgICAgZmxvYXQgeTsKKyAgICAgICAgfQorICAgICAgICBCYXIgZm9vMygpCisgICAgICAgIHsK
KyAgICAgICAgICAgIHRyYXA7CisgICAgICAgIH0KKyAgICBgKTsKKyAgICBjaGVja0ludChwcm9n
cmFtLCBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbyIsIFtdLCBbXSksIDApOworICAgIGNoZWNr
SW50KHByb2dyYW0sIGNhbGxGdW5jdGlvbihwcm9ncmFtLCAiZm9vMiIsIFtdLCBbbWFrZUludChw
cm9ncmFtLCAxKV0pLCA0KTsKKyAgICBjaGVja0ludChwcm9ncmFtLCBjYWxsRnVuY3Rpb24ocHJv
Z3JhbSwgImZvbzIiLCBbXSwgW21ha2VJbnQocHJvZ3JhbSwgMyldKSwgMCk7CisgICAgbGV0IGZv
bzMgPSBjYWxsRnVuY3Rpb24ocHJvZ3JhbSwgImZvbzMiLCBbXSwgW10pOworICAgIGZvciAobGV0
IHZhbHVlIG9mIGZvbzMuZVB0ci5idWZmZXIuX2FycmF5KSB7CisgICAgICAgIGlmICh2YWx1ZSAh
PSB1bmRlZmluZWQgJiYgdmFsdWUgIT0gMCkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigi
VHJhcCByZXR1cm5lZCBhIG5vbi16ZXJvIHZhbHVlIik7CisgICAgfQorfQorCiBsZXQgZmlsdGVy
ID0gLy4qLzsgLy8gcnVuIGV2ZXJ5dGhpbmcgYnkgZGVmYXVsdAogaWYgKHRoaXNbImFyZ3VtZW50
cyJdKSB7CiAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5ndWFnZVJJL1RyYXBTdGF0ZW1lbnQu
anMgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UcmFwU3RhdGVtZW50LmpzCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmExOTNmNzNlNmE5Zjc5NjRjY2RiZmIwYzJjNzM5N2Q4ZjMyNjczZmUKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9UcmFwU3RhdGVtZW50Lmpz
CkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKyJ1c2Ugc3RyaWN0IjsKKworY2xhc3MgVHJhcFN0YXRlbWVudCBleHRlbmRzIE5vZGUg
eworICAgIGNvbnN0cnVjdG9yKG9yaWdpbikKKyAgICB7CisgICAgICAgIHN1cGVyKCk7CisgICAg
ICAgIHRoaXMuX29yaWdpbiA9IG9yaWdpbjsKKyAgICB9CisgICAgCisgICAgZ2V0IG9yaWdpbigp
IHsgcmV0dXJuIHRoaXMuX29yaWdpbjsgfQorICAgIAorICAgIHRvU3RyaW5nKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiAidHJhcCI7CisgICAgfQorfTsKKwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
R1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5qcyBiL1Rvb2xzL1dlYkdQVVNoYWRpbmdMYW5n
dWFnZVJJL1Zpc2l0b3IuanMKaW5kZXggYTQwNmUwN2ZlNGI3MmFiZmQyNGZhZDQ2YmU5ZjhkMzQ4
M2VkMzMwMi4uZDgwNDVjNjExNDlhZTdhMzkxNzViNzM0MDY5MTRlOTM4MmIzMTIxYSAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViR1BVU2hhZGluZ0xhbmd1YWdlUkkvVmlzaXRvci5qcworKysgYi9Ub29s
cy9XZWJHUFVTaGFkaW5nTGFuZ3VhZ2VSSS9WaXNpdG9yLmpzCkBAIC0yOTIsNiArMjkyLDEwIEBA
IGNsYXNzIFZpc2l0b3IgewogICAgIHZpc2l0QnJlYWsobm9kZSkKICAgICB7CiAgICAgfQorCisg
ICAgdmlzaXRUcmFwU3RhdGVtZW50KG5vZGUpCisgICAgeworICAgIH0KICAgICAKICAgICB2aXNp
dEdlbmVyaWNMaXRlcmFsKG5vZGUpCiAgICAgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>