<?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>218291</bug_id>
          
          <creation_ts>2020-10-28 09:57:15 -0700</creation_ts>
          <short_desc>[Testing] Remove requirement of adding new SPI for each preference that needs testing (WebKitLegacy Windows)</short_desc>
          <delta_ts>2020-12-24 17:59:49 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>fujii</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1702351</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 09:57:15 -0700</bug_when>
    <thetext>[Testing] Remove requirement of adding new SPI for each preference that needs testing (WebKitLegacy Windows)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702352</commentid>
    <comment_count>1</comment_count>
      <attachid>412539</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 09:57:32 -0700</bug_when>
    <thetext>Created attachment 412539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702356</commentid>
    <comment_count>2</comment_count>
      <attachid>412541</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 10:10:17 -0700</bug_when>
    <thetext>Created attachment 412541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702401</commentid>
    <comment_count>3</comment_count>
      <attachid>412549</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 11:25:08 -0700</bug_when>
    <thetext>Created attachment 412549
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702440</commentid>
    <comment_count>4</comment_count>
      <attachid>412559</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 12:27:10 -0700</bug_when>
    <thetext>Created attachment 412559
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702478</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 13:53:03 -0700</bug_when>
    <thetext>Brent, any idea why the Apple Windows bot has this error:

error C2039: &apos;setBoolPreferenceForTesting&apos;: is not a member of &apos;IWebPreferencesPrivate8.

Is there something else I need to do to add functions to IWebPreferencesPrivate8 other than what I am doing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702521</commentid>
    <comment_count>6</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-10-28 15:33:03 -0700</bug_when>
    <thetext>I don&apos;t see any problems with your code. I suspect we need to force a clean build because of some dependency issue in the Windows build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702525</commentid>
    <comment_count>7</comment_count>
      <attachid>412559</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-10-28 15:42:51 -0700</bug_when>
    <thetext>Comment on attachment 412559
Patch

r=me. The Windows build failure is not because of this change, but is a symptom of a dependency problem in the IDL generation on Windows. We may need to force a clean build once this lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702534</commentid>
    <comment_count>8</comment_count>
      <attachid>412580</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 15:54:54 -0700</bug_when>
    <thetext>Created attachment 412580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702588</commentid>
    <comment_count>9</comment_count>
      <attachid>412600</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2020-10-28 19:02:48 -0700</bug_when>
    <thetext>Created attachment 412600
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702789</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-10-29 11:18:15 -0700</bug_when>
    <thetext>Committed r269157: &lt;https://trac.webkit.org/changeset/269157&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 412600.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1702790</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-10-29 11:19:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/70817654&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716587</commentid>
    <comment_count>12</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2020-12-24 17:59:49 -0800</bug_when>
    <thetext>Filed: Bug 220145 – [WinCairo][DumpRenderTree] Some JS tests are timing out only in Debug builds since r269157</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412539</attachid>
            <date>2020-10-28 09:57:32 -0700</date>
            <delta_ts>2020-10-28 10:55:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028095731.patch</filename>
            <type>text/plain</type>
            <size>4639</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTEwNikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE4IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0
aW5nKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVz
dGluZyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RG91YmxlUHJlZmVyZW5jZUZvclRl
c3RpbmcpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldFN0cmluZ1ByZWZlcmVuY2VGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorCiAyMDIwLTEwLTI3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWly
b11bV0sxXSBJbXBsZW1lbnQgV2ViVmlldzo6bGF5ZXJUcmVlQXNTdHJpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2OTEwNSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjMyOCw2ICsyMzI4LDY3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENv
bnRhY3RQaWNrZXIKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQk9PTCB2
YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9G
QUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIHZhbHVl
ID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOworI2VuZGlmCisKKyAgICBwb3N0
UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30K
KworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3Rpbmco
X0luXyBCU1RSIGtleSwgX0luXyBVSW50MzIgdmFsdWUpCit7CisgICAgaWYgKCFTeXNTdHJpbmdM
ZW4oa2V5KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworI2lmIFVTRShDRikKKyAgICBhdXRv
IGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgc2V0VmFsdWVG
b3JLZXkoa2V5U3RyaW5nLmdldCgpLCBjZk51bWJlcih2YWx1ZSkuZ2V0KCkpOworI2VuZGlmCisK
KyAgICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4g
U19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0RG91YmxlUHJlZmVyZW5jZUZv
clRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBkb3VibGUgdmFsdWUpCit7CisgICAgaWYgKCFT
eXNTdHJpbmdMZW4oa2V5KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworI2lmIFVTRShDRikK
KyAgICBhdXRvIGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAg
c2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdldCgpLCBjZk51bWJlcih2YWx1ZSkuZ2V0KCkpOwor
I2VuZGlmCisKKyAgICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAg
ICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U3RyaW5nUHJl
ZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBCU1RSIHZhbHVlKQoreworICAg
IGlmICghU3lzU3RyaW5nTGVuKGtleSkgfHwgIVN5c1N0cmluZ0xlbih2YWx1ZSkpCisgICAgICAg
IHJldHVybiBFX0ZBSUw7CisKKyNpZiBVU0UoQ0YpCisgICAgYXV0byBrZXlTdHJpbmcgPSBTdHJp
bmcoa2V5KS5jcmVhdGVDRlN0cmluZygpOworICAgIGF1dG8gdmFsdWVTdHJpbmcgPSBTdHJpbmco
dmFsdWUpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgc2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdl
dCgpLCB2YWx1ZVN0cmluZy5nZXQoKSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVmZXJlbmNlc0No
YW5nZXNOb3RpZmljYXRpb24oKTsKKworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdl
YlByZWZlcmVuY2VzOjpzZXRBcHBsaWNhdGlvbklkKEJTVFIgYXBwbGljYXRpb25JZCkKIHsKICNp
ZiBVU0UoQ0YpCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJ
KHJldmlzaW9uIDI2OTEwNSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVu
Y2VzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMwNyw2ICszMDcsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRNb2Rlcm5VbnByZWZpeGVkV2ViQXVk
aW9FbmFibGVkKEJPT0wpOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBj
b250YWN0UGlja2VyQVBJRW5hYmxlZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxU
IFNURE1FVEhPRENBTExUWVBFIHNldENvbnRhY3RQaWNrZXJBUElFbmFibGVkKEJPT0wpOworICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRCb29sUHJlZmVyZW5jZUZvclRl
c3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtl
eSwgX0luXyBVSW50MzIpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBz
ZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRvdWJsZSk7
CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFN0cmluZ1ByZWZlcmVu
Y2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQlNUUik7CiAKICAgICAvLyBXZWJQcmVm
ZXJlbmNlcwogCkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kv
d2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI2OTEw
NSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZS5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2OSw0ICsyNjksOCBAQCBpbnRlcmZhY2Ug
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZTggOiBJV2ViCiAgICAgSFJFU1VMVCBzZXRNb2Rlcm5VbnBy
ZWZpeGVkV2ViQXVkaW9FbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGNv
bnRhY3RQaWNrZXJBUElFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAg
SFJFU1VMVCBzZXRDb250YWN0UGlja2VyQVBJRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7Cisg
ICAgSFJFU1VMVCBzZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2lu
XSBCT09MIHZhbHVlKTsKKyAgICBIUkVTVUxUIHNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5n
KFtpbl0gQlNUUiBrZXksIFtpbl0gVUludDMyIHZhbHVlKTsKKyAgICBIUkVTVUxUIHNldERvdWJs
ZVByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXksIFtpbl0gZG91YmxlIHZhbHVlKTsK
KyAgICBIUkVTVUxUIHNldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXks
IFtpbl0gQlNUUiB2YWx1ZSk7CiB9Cg==
</data>
<flag name="commit-queue"
          id="429022"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412541</attachid>
            <date>2020-10-28 10:10:17 -0700</date>
            <delta_ts>2020-10-28 11:25:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028101016.patch</filename>
            <type>text/plain</type>
            <size>4645</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTEwNikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE4IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0
aW5nKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVz
dGluZyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RG91YmxlUHJlZmVyZW5jZUZvclRl
c3RpbmcpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldFN0cmluZ1ByZWZlcmVuY2VGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorCiAyMDIwLTEwLTI3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWly
b11bV0sxXSBJbXBsZW1lbnQgV2ViVmlldzo6bGF5ZXJUcmVlQXNTdHJpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2OTEwNSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjMyOCw2ICsyMzI4LDY3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENv
bnRhY3RQaWNrZXIKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQk9PTCB2
YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9G
QUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIHZhbHVl
ID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOworI2VuZGlmCisKKyAgICBwb3N0
UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30K
KworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3Rpbmco
X0luXyBCU1RSIGtleSwgX0luXyB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmlu
Z0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisjaWYgVVNFKENGKQorICAgIGF1
dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1
ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNmTnVtYmVyKHZhbHVlKS5nZXQoKSk7CisjZW5kaWYK
KworICAgIHBvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsKKworICAgIHJldHVy
biBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXREb3VibGVQcmVmZXJlbmNl
Rm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRvdWJsZSB2YWx1ZSkKK3sKKyAgICBpZiAo
IVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisjaWYgVVNFKENG
KQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAg
ICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNmTnVtYmVyKHZhbHVlKS5nZXQoKSk7
CisjZW5kaWYKKworICAgIHBvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsKKwor
ICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQ
cmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIEJTVFIgdmFsdWUpCit7Cisg
ICAgaWYgKCFTeXNTdHJpbmdMZW4oa2V5KSB8fCAhU3lzU3RyaW5nTGVuKHZhbHVlKSkKKyAgICAg
ICAgcmV0dXJuIEVfRkFJTDsKKworI2lmIFVTRShDRikKKyAgICBhdXRvIGtleVN0cmluZyA9IFN0
cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgYXV0byB2YWx1ZVN0cmluZyA9IFN0cmlu
Zyh2YWx1ZSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcu
Z2V0KCksIHZhbHVlU3RyaW5nLmdldCgpKTsKKyNlbmRpZgorCisgICAgcG9zdFByZWZlcmVuY2Vz
Q2hhbmdlc05vdGlmaWNhdGlvbigpOworCisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQg
V2ViUHJlZmVyZW5jZXM6OnNldEFwcGxpY2F0aW9uSWQoQlNUUiBhcHBsaWNhdGlvbklkKQogewog
I2lmIFVTRShDRikKSW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2Vz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMu
aAkocmV2aXNpb24gMjY5MTA1KQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVy
ZW5jZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzA3LDYgKzMwNywxMCBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldE1vZGVyblVucHJlZml4ZWRXZWJB
dWRpb0VuYWJsZWQoQk9PTCk7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBF
IGNvbnRhY3RQaWNrZXJBUElFbmFibGVkKF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Q29udGFjdFBpY2tlckFQSUVuYWJsZWQoQk9PTCk7Cisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldEJvb2xQcmVmZXJlbmNlRm9y
VGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBT
VERNRVRIT0RDQUxMVFlQRSBzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIg
a2V5LCBfSW5fIHVuc2lnbmVkKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZ
UEUgc2V0RG91YmxlUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBkb3Vi
bGUpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRTdHJpbmdQcmVm
ZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIEJTVFIpOwogCiAgICAgLy8gV2Vi
UHJlZmVyZW5jZXMKIApJbmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9J
V2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVn
YWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAy
NjkxMDUpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yNjksNCArMjY5LDggQEAgaW50ZXJm
YWNlIElXZWJQcmVmZXJlbmNlc1ByaXZhdGU4IDogSVdlYgogICAgIEhSRVNVTFQgc2V0TW9kZXJu
VW5wcmVmaXhlZFdlYkF1ZGlvRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VM
VCBjb250YWN0UGlja2VyQVBJRW5hYmxlZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwog
ICAgIEhSRVNVTFQgc2V0Q29udGFjdFBpY2tlckFQSUVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQp
OworICAgIEhSRVNVTFQgc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXks
IFtpbl0gQk9PTCB2YWx1ZSk7CisgICAgSFJFU1VMVCBzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVz
dGluZyhbaW5dIEJTVFIga2V5LCBbaW5dIHVuc2lnbmVkIHZhbHVlKTsKKyAgICBIUkVTVUxUIHNl
dERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXksIFtpbl0gZG91YmxlIHZh
bHVlKTsKKyAgICBIUkVTVUxUIHNldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNU
UiBrZXksIFtpbl0gQlNUUiB2YWx1ZSk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412549</attachid>
            <date>2020-10-28 11:25:08 -0700</date>
            <delta_ts>2020-10-28 12:27:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028112507.patch</filename>
            <type>text/plain</type>
            <size>4683</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTEwNikKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE4IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogSW50ZXJm
YWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbDoKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNl
cy5jcHA6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0
aW5nKToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVz
dGluZyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0RG91YmxlUHJlZmVyZW5jZUZvclRl
c3RpbmcpOgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldFN0cmluZ1ByZWZlcmVuY2VGb3JU
ZXN0aW5nKToKKyAgICAgICAgKiBXZWJQcmVmZXJlbmNlcy5oOgorCiAyMDIwLTEwLTI3ICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5DYWly
b11bV0sxXSBJbXBsZW1lbnQgV2ViVmlldzo6bGF5ZXJUcmVlQXNTdHJpbmcKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2OTEwNSkK
KysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjMyOCw2ICsyMzI4LDY3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldENv
bnRhY3RQaWNrZXIKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQk9PTCB2
YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9G
QUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIHZhbHVl
ID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOworI2VuZGlmCisKKyAgICBwb3N0
UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30K
KworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3Rpbmco
X0luXyBCU1RSIGtleSwgX0luXyB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmlu
Z0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisjaWYgVVNFKENGKQorICAgIGF1
dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1
ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNmTnVtYmVyKHN0YXRpY19jYXN0PGludD4odmFsdWUp
KS5nZXQoKSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRp
b24oKTsKKworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpz
ZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRvdWJsZSB2
YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9G
QUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNmTnVt
YmVyKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSkpLmdldCgpKTsKKyNlbmRpZgorCisgICAgcG9z
dFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigpOworCisgICAgcmV0dXJuIFNfT0s7Cit9
CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5n
KF9Jbl8gQlNUUiBrZXksIF9Jbl8gQlNUUiB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xl
bihrZXkpIHx8ICFTeXNTdHJpbmdMZW4odmFsdWUpKQorICAgICAgICByZXR1cm4gRV9GQUlMOwor
CisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3JlYXRlQ0ZT
dHJpbmcoKTsKKyAgICBhdXRvIHZhbHVlU3RyaW5nID0gU3RyaW5nKHZhbHVlKS5jcmVhdGVDRlN0
cmluZygpOworICAgIHNldFZhbHVlRm9yS2V5KGtleVN0cmluZy5nZXQoKSwgdmFsdWVTdHJpbmcu
Z2V0KCkpOworI2VuZGlmCisKKyAgICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9u
KCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0
QXBwbGljYXRpb25JZChCU1RSIGFwcGxpY2F0aW9uSWQpCiB7CiAjaWYgVVNFKENGKQpJbmRleDog
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAyNjkxMDUp
CisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zMDcsNiArMzA3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RE
TUVUSE9EQ0FMTFRZUEUgc2V0TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvRW5hYmxlZChCT09MKTsK
ICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY29udGFjdFBpY2tlckFQSUVu
YWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBzZXRDb250YWN0UGlja2VyQVBJRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBr
ZXksIF9Jbl8gQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNl
dFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gdW5zaWduZWQp
OworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXREb3VibGVQcmVmZXJl
bmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRvdWJsZSk7CisgICAgdmlydHVhbCBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nKF9J
bl8gQlNUUiBrZXksIF9Jbl8gQlNUUik7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwogCkluZGV4
OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZh
dGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI2OTEwNSkKKysrIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI2OSw0ICsyNjksOCBAQCBpbnRlcmZhY2UgSVdlYlByZWZlcmVuY2Vz
UHJpdmF0ZTggOiBJV2ViCiAgICAgSFJFU1VMVCBzZXRNb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9F
bmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGNvbnRhY3RQaWNrZXJBUElF
bmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBzZXRDb250
YWN0UGlja2VyQVBJRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VMVCBzZXRC
b29sUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBCT09MIHZhbHVlKTsK
KyAgICBIUkVTVUxUIHNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXks
IFtpbl0gdW5zaWduZWQgdmFsdWUpOworICAgIEhSRVNVTFQgc2V0RG91YmxlUHJlZmVyZW5jZUZv
clRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBkb3VibGUgdmFsdWUpOworICAgIEhSRVNVTFQg
c2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBCU1RSIHZh
bHVlKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412559</attachid>
            <date>2020-10-28 12:27:10 -0700</date>
            <delta_ts>2020-10-28 15:54:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028122709.patch</filename>
            <type>text/plain</type>
            <size>13616</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTExMSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIxIEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSBh
IHNldCBvZiBzZXR0ZXJzIGZvciBEdW1wUmVuZGVyVHJlZSB0byB1c2Ugd2hlbiBzZXR0aW5nIHBy
ZWZlcmVuY2VzCisgICAgICAgIGJ5IHN0cmluZywgbWF0Y2hpbmcgV2ViS2l0TGVnYWN5IGZvciBj
b2NvYSBwbGF0Zm9ybXMgYW5kIG1vZGVybiBXZWJLaXQuCisKKyAgICAgICAgKiBJbnRlcmZhY2Vz
L0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmNw
cDoKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRCb29sUHJlZmVyZW5jZUZvclRlc3Rpbmcp
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5n
KToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGlu
Zyk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3Rp
bmcpOgorICAgICAgICAqIFdlYlByZWZlcmVuY2VzLmg6CisKIDIwMjAtMTAtMjcgIEZ1amlpIEhp
cm9ub3JpICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXVtX
SzFdIEltcGxlbWVudCBXZWJWaWV3OjpsYXllclRyZWVBc1N0cmluZwpJbmRleDogU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMjY5MTExKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMzI4LDYgKzIzMjgsNjcgQEAgSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0Q29udGFj
dFBpY2tlcgogICAgIHJldHVybiBTX09LOwogfQogCitIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpz
ZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBCT09MIHZhbHVl
KQoreworICAgIGlmICghU3lzU3RyaW5nTGVuKGtleSkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7
CisKKyNpZiBVU0UoQ0YpCisgICAgYXV0byBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5jcmVhdGVD
RlN0cmluZygpOworICAgIHNldFZhbHVlRm9yS2V5KGtleVN0cmluZy5nZXQoKSwgdmFsdWUgPyBr
Q0ZCb29sZWFuVHJ1ZSA6IGtDRkJvb2xlYW5GYWxzZSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVm
ZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsKKworICAgIHJldHVybiBTX09LOworfQorCitI
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5f
IEJTVFIga2V5LCBfSW5fIHVuc2lnbmVkIHZhbHVlKQoreworICAgIGlmICghU3lzU3RyaW5nTGVu
KGtleSkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyNpZiBVU0UoQ0YpCisgICAgYXV0byBr
ZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5jcmVhdGVDRlN0cmluZygpOworICAgIHNldFZhbHVlRm9y
S2V5KGtleVN0cmluZy5nZXQoKSwgY2ZOdW1iZXIoc3RhdGljX2Nhc3Q8aW50Pih2YWx1ZSkpLmdl
dCgpKTsKKyNlbmRpZgorCisgICAgcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigp
OworCisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldERv
dWJsZVByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gZG91YmxlIHZhbHVl
KQoreworICAgIGlmICghU3lzU3RyaW5nTGVuKGtleSkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7
CisKKyNpZiBVU0UoQ0YpCisgICAgYXV0byBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5jcmVhdGVD
RlN0cmluZygpOworICAgIHNldFZhbHVlRm9yS2V5KGtleVN0cmluZy5nZXQoKSwgY2ZOdW1iZXIo
c3RhdGljX2Nhc3Q8ZmxvYXQ+KHZhbHVlKSkuZ2V0KCkpOworI2VuZGlmCisKKyAgICBwb3N0UHJl
ZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KKwor
SFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmcoX0lu
XyBCU1RSIGtleSwgX0luXyBCU1RSIHZhbHVlKQoreworICAgIGlmICghU3lzU3RyaW5nTGVuKGtl
eSkgfHwgIVN5c1N0cmluZ0xlbih2YWx1ZSkpCisgICAgICAgIHJldHVybiBFX0ZBSUw7CisKKyNp
ZiBVU0UoQ0YpCisgICAgYXV0byBrZXlTdHJpbmcgPSBTdHJpbmcoa2V5KS5jcmVhdGVDRlN0cmlu
ZygpOworICAgIGF1dG8gdmFsdWVTdHJpbmcgPSBTdHJpbmcodmFsdWUpLmNyZWF0ZUNGU3RyaW5n
KCk7CisgICAgc2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdldCgpLCB2YWx1ZVN0cmluZy5nZXQo
KSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsK
KworICAgIHJldHVybiBTX09LOworfQorCiBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRBcHBs
aWNhdGlvbklkKEJTVFIgYXBwbGljYXRpb25JZCkKIHsKICNpZiBVU0UoQ0YpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHJldmlzaW9uIDI2OTExMSkKKysr
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMwNyw2ICszMDcsMTAgQEAgcHVibGljOgogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRI
T0RDQUxMVFlQRSBzZXRNb2Rlcm5VbnByZWZpeGVkV2ViQXVkaW9FbmFibGVkKEJPT0wpOwogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBjb250YWN0UGlja2VyQVBJRW5hYmxl
ZChfT3V0XyBCT09MKik7CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNl
dENvbnRhY3RQaWNrZXJBUElFbmFibGVkKEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBzZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwg
X0luXyBCT09MKTsKKyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0VUlu
dDMyUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyB1bnNpZ25lZCk7Cisg
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldERvdWJsZVByZWZlcmVuY2VG
b3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gZG91YmxlKTsKKyAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBC
U1RSIGtleSwgX0luXyBCU1RSKTsKIAogICAgIC8vIFdlYlByZWZlcmVuY2VzCiAKSW5kZXg6IFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmlkbAkocmV2aXNpb24gMjY5MTExKQorKysgU291cmNlL1dlYktp
dExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMjY5LDQgKzI2OSw4IEBAIGludGVyZmFjZSBJV2ViUHJlZmVyZW5jZXNQcml2
YXRlOCA6IElXZWIKICAgICBIUkVTVUxUIHNldE1vZGVyblVucHJlZml4ZWRXZWJBdWRpb0VuYWJs
ZWQoW2luXSBCT09MIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgY29udGFjdFBpY2tlckFQSUVuYWJs
ZWQoW291dCwgcmV0dmFsXSBCT09MKiBlbmFibGVkKTsKICAgICBIUkVTVUxUIHNldENvbnRhY3RQ
aWNrZXJBUElFbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKKyAgICBIUkVTVUxUIHNldEJvb2xQ
cmVmZXJlbmNlRm9yVGVzdGluZyhbaW5dIEJTVFIga2V5LCBbaW5dIEJPT0wgdmFsdWUpOworICAg
IEhSRVNVTFQgc2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2lu
XSB1bnNpZ25lZCB2YWx1ZSk7CisgICAgSFJFU1VMVCBzZXREb3VibGVQcmVmZXJlbmNlRm9yVGVz
dGluZyhbaW5dIEJTVFIga2V5LCBbaW5dIGRvdWJsZSB2YWx1ZSk7CisgICAgSFJFU1VMVCBzZXRT
dHJpbmdQcmVmZXJlbmNlRm9yVGVzdGluZyhbaW5dIEJTVFIga2V5LCBbaW5dIEJTVFIgdmFsdWUp
OwogfQpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMjY5MTE0KQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMjAtMTAtMjggIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29t
PgorCisgICAgICAgIFtUZXN0aW5nXSBSZW1vdmUgcmVxdWlyZW1lbnQgb2YgYWRkaW5nIG5ldyBT
UEkgZm9yIGVhY2ggcHJlZmVyZW5jZSB0aGF0IG5lZWRzIHRlc3RpbmcgKFdlYktpdExlZ2FjeSBX
aW5kb3dzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjE4MjkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRvcHQgc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5nIGZ1bmN0aW9ucyB0byBtYXRjaCBEdW1wUmVu
ZGVyVHJlZSBmb3IgY29jb2EgcGxhdGZvcm1zLCBhbmQKKyAgICAgICAgbWFrZSBpdCBzbyB0aGF0
IG9ubHkgVGVzdE9wdGlvbnMuY3BwIG5lZWRzIHRvIGJlIHRvdWNoZWQgdG8gYWRkIHN1cHBvcnQg
Zm9yIG5ldyBwcmVmZXJlbmNlCisgICAgICAgIGluIHRlc3RzLgorICAgICAgICAKKyAgICAgICAg
QWxzbyBhZGRzIHNvbWUgaGVscGVycyB0byBjb252ZXJ0IGJldHdlZW4gc3RyaW5nIHR5cGVzIGFu
ZCB1c2UgUmV0YWluUHRyIGluIGEgZmV3IG1vcmUgcGxhY2VzLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHRvVVRGOCk6CisgICAg
ICAgICh0b0JTVFIpOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgIChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSk6CisgICAgICAg
IChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKToKKyAgICAgICAgKHJ1blRlc3QpOgor
CiAyMDIwLTEwLTI4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbd2Via2l0Zmxhc2tweV0gQ3JlYXRlIHNoYXJlZCBsaWJyYXJ5IGZvciBXZWJLaXQncyBm
bGFzayB0b29saW5nCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVtcFJlbmRlclRy
ZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVy
VHJlZS5jcHAJKHJldmlzaW9uIDI2OTExMSkKKysrIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMiwxNiArMjMyLDI1IEBAIHN0
YXRpYyBTdHJpbmcgbGlicmFyeVBhdGhGb3JEdW1wUmVuZGVyVHIKIH0KICNlbmRpZgogCi1zdHJp
bmcgdG9VVEY4KEJTVFIgYnN0cikKK3N0ZDo6c3RyaW5nIHRvVVRGOChCU1RSIGJzdHIpCiB7CiAg
ICAgcmV0dXJuIHRvVVRGOChic3RyLCBTeXNTdHJpbmdMZW4oYnN0cikpOwogfQogCi1zdHJpbmcg
dG9VVEY4KGNvbnN0IHdzdHJpbmcmIHdpZGVTdHJpbmcpCitzdGQ6OnN0cmluZyB0b1VURjgoY29u
c3Qgd3N0cmluZyYgd2lkZVN0cmluZykKIHsKICAgICByZXR1cm4gdG9VVEY4KHdpZGVTdHJpbmcu
Y19zdHIoKSwgd2lkZVN0cmluZy5sZW5ndGgoKSk7CiB9CiAKK3N0YXRpYyBzdGQ6OnN0cmluZyB0
b1VURjgoQ0ZTdHJpbmdSZWYgaW5wdXQpCit7CisgICAgQ0ZJbmRleCBtYXhpbXVtVVJMTGVuZ3Ro
QXNVVEY4ID0gQ0ZTdHJpbmdHZXRNYXhpbXVtU2l6ZUZvckVuY29kaW5nKENGU3RyaW5nR2V0TGVu
Z3RoKGlucHV0KSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSArIDE7CisgICAgVmVjdG9yPGNoYXI+
IGJ1ZmZlcihtYXhpbXVtVVJMTGVuZ3RoQXNVVEY4ICsgMSwgMCk7CisgICAgQ0ZTdHJpbmdHZXRD
U3RyaW5nKGlucHV0LCBidWZmZXIuZGF0YSgpLCBtYXhpbXVtVVJMTGVuZ3RoQXNVVEY4LCBrQ0ZT
dHJpbmdFbmNvZGluZ1VURjgpOworCisgICAgcmV0dXJuIGJ1ZmZlci5kYXRhKCk7Cit9CisKIHdz
dHJpbmcgY2ZTdHJpbmdSZWZUb1dTdHJpbmcoQ0ZTdHJpbmdSZWYgY2ZTdHIpCiB7CiAgICAgVmVj
dG9yPHdjaGFyX3Q+IHYoQ0ZTdHJpbmdHZXRMZW5ndGgoY2ZTdHIpKTsKQEAgLTI1MCw2ICsyNTks
MTkgQEAgd3N0cmluZyBjZlN0cmluZ1JlZlRvV1N0cmluZyhDRlN0cmluZ1JlZgogICAgIHJldHVy
biB3c3RyaW5nKHYuZGF0YSgpLCB2LnNpemUoKSk7CiB9CiAKK3N0YXRpYyBfYnN0cl90IHRvQlNU
Uihjb25zdCBzdGQ6OnN0cmluZyYgaW5wdXQpCit7CisgICAgcmV0dXJuIGlucHV0LmNfc3RyKCk7
Cit9CisKK3N0YXRpYyBfYnN0cl90IHRvQlNUUihDRlN0cmluZ1JlZiBpbnB1dCkKK3sKKyAgICBz
aXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgoaW5wdXQpOworICAgIFZlY3Rv
cjxVbmlDaGFyPiBidWZmZXIoc3RyaW5nTGVuZ3RoICsgMSwgMCk7CisgICAgQ0ZTdHJpbmdHZXRD
aGFyYWN0ZXJzKGlucHV0LCBDRlJhbmdlTWFrZSgwLCBzdHJpbmdMZW5ndGgpLCBidWZmZXIuZGF0
YSgpKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx3Y2hhcl90Kj4oYnVmZmVyLmRhdGEo
KSk7Cit9CisKIHN0YXRpYyBMUkVTVUxUIENBTExCQUNLIER1bXBSZW5kZXJUcmVlV25kUHJvYyhI
V05EIGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKQogewogICAg
IHN3aXRjaCAobXNnKSB7CkBAIC04ODQsMTEgKzkwNiw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRzU2l0ZUljb25z
SWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICBwcmVmc1ByaXZhdGUt
PnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFMU0UpOwogICAgIGlmIChwZXJzaXN0ZW50VXNl
clN0eWxlU2hlZXRMb2NhdGlvbikgewotICAgICAgICBzaXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZT
dHJpbmdHZXRMZW5ndGgocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24uZ2V0KCkpOwot
ICAgICAgICBWZWN0b3I8VW5pQ2hhcj4gdXJsQ2hhcmFjdGVycyhzdHJpbmdMZW5ndGggKyAxLCAw
KTsKLSAgICAgICAgQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVl
dExvY2F0aW9uLmdldCgpLCBDRlJhbmdlTWFrZSgwLCBzdHJpbmdMZW5ndGgpLCB1cmxDaGFyYWN0
ZXJzLmRhdGEoKSk7Ci0gICAgICAgIF9ic3RyX3QgdXJsKHJlaW50ZXJwcmV0X2Nhc3Q8d2NoYXJf
dCo+KHVybENoYXJhY3RlcnMuZGF0YSgpKSk7Ci0gICAgICAgIHByZWZlcmVuY2VzLT5zZXRVc2Vy
U3R5bGVTaGVldExvY2F0aW9uKHVybCk7CisgICAgICAgIHByZWZlcmVuY2VzLT5zZXRVc2VyU3R5
bGVTaGVldExvY2F0aW9uKHRvQlNUUihwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbi5n
ZXQoKSkpOwogICAgICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKFRS
VUUpOwogICAgIH0gZWxzZQogICAgICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlclN0eWxlU2hlZXRF
bmFibGVkKEZBTFNFKTsKQEAgLTkxMiwxMiArOTMwLDExIEBAIHN0YXRpYyB2b2lkIHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVzKGZhbHNlKTsK
IH0KIAotc3RhdGljIGJvb2wgYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoc3RkOjpzdHJp
bmcga2V5LCBib29sIGRlZmF1bHRWYWx1ZSwgY29uc3QgV1RSOjpUZXN0T3B0aW9ucyYgb3B0aW9u
cykKK3N0YXRpYyBib29sIGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKHN0ZDo6c3RyaW5n
IGtleSwgY29uc3QgV1RSOjpUZXN0T3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBhdXRvIGl0ID0g
b3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkuZmluZChrZXkpOwotICAgIGlmIChp
dCAhPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKS5lbmQoKSkKLSAgICAgICAg
cmV0dXJuIGl0LT5zZWNvbmQ7Ci0gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsKKyAgICBBU1NFUlQo
aXQgIT0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkuZW5kKCkpOworICAgIHJl
dHVybiBpdC0+c2Vjb25kOwogfQogCiBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRl
c3RPcHRpb25zKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMsIGNvbnN0IFdUUjo6VGVzdE9w
dGlvbnMmIG9wdGlvbnMpCkBAIC05MjYsMTggKzk0MywxMCBAQCBzdGF0aWMgdm9pZCBzZXRXZWJQ
cmVmZXJlbmNlc0ZvclRlc3RPcHRpCiAKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKSk7CiAKLSAgICBwcmVmZXJl
bmNlcy0+c2V0VXNlc1BhZ2VDYWNoZShib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiVXNl
c0JhY2tGb3J3YXJkQ2FjaGUiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+
c2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgi
TWVudUl0ZW1FbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7Ci0gICAgcHJlZnNQcml2
YXRlLT5zZXRLZXlnZW5FbGVtZW50RW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1
ZSgiS2V5Z2VuRWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJp
dmF0ZS0+c2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIiwgdHJ1ZSwgb3B0aW9ucykpOwot
ICAgIHByZWZzUHJpdmF0ZS0+c2V0SW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZChib29sV2ViUHJl
ZmVyZW5jZUZlYXR1cmVWYWx1ZSgiSW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCIsIGZhbHNlLCBv
cHRpb25zKSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRSZXF1ZXN0SWRsZUNhbGxiYWNrRW5hYmxl
ZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVxdWVzdElkbGVDYWxsYmFja0VuYWJs
ZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0QXN5bmNDbGlwYm9h
cmRBUElFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBc3luY0NsaXBib2Fy
ZEFQSUVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0Q29u
dGFjdFBpY2tlckFQSUVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkNvbnRh
Y3RQaWNrZXJBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1ByaXZhdGUt
PnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
VmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0cnVlLCBvcHRpb25zKSk7Ci0g
ICAgcHJlZnNQcml2YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVkKGJvb2xX
ZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFibGVk
IiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1ByaXZhdGUtPnNldFNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU3BhdGlhbE5hdmlnYXRp
b25FbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmZXJlbmNlcy0+c2V0VGFic1Rv
TGlua3MoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlRhYnNUb0xpbmtzIiwgZmFsc2Us
IG9wdGlvbnMpKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB0aGVyZSBpcyBhIHZp
YWJsZSBtZWNoYW5pc20gZm9yIHJlc2V0aW5nIFdlYlByZWZlcmVuY2VzIGJldHdlZW4gdGVzdHMs
CisgICAgLy8gYXQgd2hpY2ggcG9pbnQsIHdlIHdpbGwgbm90IG5lZWQgdG8gbWFudWFsbHkgcmVz
ZXQgZXZlcnkgc3VwcG9ydGVkIHByZWZlcmVuY2UgZm9yIGVhY2ggdGVzdC4KKyAgICBmb3IgKGNv
bnN0IGF1dG8mIGtleSA6IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
cygpKQorICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZyh0
b0JTVFIoV1RSOjpUZXN0T3B0aW9uczo6dG9XZWJLaXRMZWdhY3lQcmVmZXJlbmNlS2V5KGtleSkp
LCBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9wdGlvbnMpKTsKIH0KIAogc3Rh
dGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKQEAgLTExOTUsNDkgKzEyMDQsMzQgQEAgc3RhdGlj
IHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIGlucHV0TAogCiAgICAgc3RhdGljIF9ic3RyX3Qg
bWV0aG9kQlN0cihURVhUKCJHRVQiKSk7CiAKLSAgICBDRlN0cmluZ1JlZiBzdHIgPSBDRlN0cmlu
Z0NyZWF0ZVdpdGhDU3RyaW5nKDAsIHBhdGhPclVSTC5jX3N0cigpLCBrQ0ZTdHJpbmdFbmNvZGlu
Z1dpbmRvd3NMYXRpbjEpOworICAgIGF1dG8gc3RyID0gYWRvcHRDRihDRlN0cmluZ0NyZWF0ZVdp
dGhDU3RyaW5nKDAsIHBhdGhPclVSTC5jX3N0cigpLCBrQ0ZTdHJpbmdFbmNvZGluZ1dpbmRvd3NM
YXRpbjEpKTsKICAgICBpZiAoIXN0cikgewogICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxl
ZCB0byBwYXJzZSBcIiVzXCIgYXMgVVRGLThcbiIsIHBhdGhPclVSTC5jX3N0cigpKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAotICAgIENGVVJMUmVmIHVybCA9IENGVVJMQ3JlYXRlV2l0aFN0
cmluZygwLCBzdHIsIDApOwotCisgICAgYXV0byB1cmwgPSBhZG9wdENGKENGVVJMQ3JlYXRlV2l0
aFN0cmluZygwLCBzdHIuZ2V0KCksIDApKTsKICAgICBpZiAoIXVybCkKLSAgICAgICAgdXJsID0g
Q0ZVUkxDcmVhdGVXaXRoRmlsZVN5c3RlbVBhdGgoMCwgc3RyLCBrQ0ZVUkxXaW5kb3dzUGF0aFN0
eWxlLCBmYWxzZSk7Ci0KLSAgICBDRlJlbGVhc2Uoc3RyKTsKKyAgICAgICAgdXJsID0gYWRvcHRD
RihDRlVSTENyZWF0ZVdpdGhGaWxlU3lzdGVtUGF0aCgwLCBzdHIuZ2V0KCksIGtDRlVSTFdpbmRv
d3NQYXRoU3R5bGUsIGZhbHNlKSk7CiAKICAgICBpZiAoIXVybCkgewogICAgICAgICBmcHJpbnRm
KHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSBcIiVzXCIgYXMgYSBVUkxcbiIsIHBhdGhPclVSTC5j
X3N0cigpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFN0cmluZyBob3N0TmFtZSA9
IFN0cmluZyhhZG9wdENGKENGVVJMQ29weUhvc3ROYW1lKHVybCkpLmdldCgpKTsKLQorICAgIFN0
cmluZyBob3N0TmFtZSA9IFN0cmluZyhhZG9wdENGKENGVVJMQ29weUhvc3ROYW1lKHVybC5nZXQo
KSkpLmdldCgpKTsKICAgICBTdHJpbmcgZmFsbGJhY2tQYXRoID0gZmluZEZvbnRGYWxsYmFjayhw
YXRoT3JVUkwuY19zdHIoKSk7CiAKLSAgICBzdHIgPSBDRlVSTEdldFN0cmluZyh1cmwpOwotCi0g
ICAgQ0ZJbmRleCBsZW5ndGggPSBDRlN0cmluZ0dldExlbmd0aChzdHIpOwotCi0gICAgVmVjdG9y
PFVuaUNoYXI+IGJ1ZmZlcihsZW5ndGggKyAxLCAwKTsKLSAgICBDRlN0cmluZ0dldENoYXJhY3Rl
cnMoc3RyLCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCBidWZmZXIuZGF0YSgpKTsKLQotICAgIF9i
c3RyX3QgdXJsQlN0cihyZWludGVycHJldF9jYXN0PHdjaGFyX3QqPihidWZmZXIuZGF0YSgpKSk7
Ci0gICAgQVNTRVJUKHVybEJTdHIubGVuZ3RoKCkgPT0gbGVuZ3RoKTsKLQotICAgIENGSW5kZXgg
bWF4aW11bVVSTExlbmd0aEFzVVRGOCA9IENGU3RyaW5nR2V0TWF4aW11bVNpemVGb3JFbmNvZGlu
ZyhsZW5ndGgsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkgKyAxOwotICAgIFZlY3RvcjxjaGFyPiB0
ZXN0VVJMKG1heGltdW1VUkxMZW5ndGhBc1VURjggKyAxLCAwKTsKLSAgICBDRlN0cmluZ0dldENT
dHJpbmcoc3RyLCB0ZXN0VVJMLmRhdGEoKSwgbWF4aW11bVVSTExlbmd0aEFzVVRGOCwga0NGU3Ry
aW5nRW5jb2RpbmdVVEY4KTsKKyAgICBhdXRvIHVybENGU3RyaW5nID0gQ0ZVUkxHZXRTdHJpbmco
dXJsLmdldCgpKTsKIAotICAgIENGUmVsZWFzZSh1cmwpOworICAgIGF1dG8gdXJsQlN0ciA9IHRv
QlNUUih1cmxDRlN0cmluZyk7CisgICAgQVNTRVJUKHVybEJTdHIubGVuZ3RoKCkgPT0gQ0ZTdHJp
bmdHZXRMZW5ndGgodXJsQ0ZTdHJpbmcpKTsKIAogICAgIGF1dG8gb3B0aW9ucyA9IHRlc3RPcHRp
b25zRm9yVGVzdChjb21tYW5kKTsKIAogICAgIHJlc2V0V2ViVmlld1RvQ29uc2lzdGVudFN0YXRl
QmVmb3JlVGVzdGluZyhvcHRpb25zKTsKIAotICAgIDo6Z1Rlc3RSdW5uZXIgPSBUZXN0UnVubmVy
OjpjcmVhdGUodGVzdFVSTC5kYXRhKCksIGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOworICAg
IDo6Z1Rlc3RSdW5uZXIgPSBUZXN0UnVubmVyOjpjcmVhdGUodG9VVEY4KHVybENGU3RyaW5nKSwg
Y29tbWFuZC5leHBlY3RlZFBpeGVsSGFzaCk7CiAgICAgOjpnVGVzdFJ1bm5lci0+c2V0Q3VzdG9t
VGltZW91dChjb21tYW5kLnRpbWVvdXQubWlsbGlzZWNvbmRzKCkpOwogICAgIDo6Z1Rlc3RSdW5u
ZXItPnNldER1bXBKU0NvbnNvbGVMb2dJblN0ZEVycihjb21tYW5kLmR1bXBKU0NvbnNvbGVMb2dJ
blN0ZEVyciB8fCBvcHRpb25zLmR1bXBKU0NvbnNvbGVMb2dJblN0ZEVycigpKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412580</attachid>
            <date>2020-10-28 15:54:54 -0700</date>
            <delta_ts>2020-10-28 19:02:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028155454.patch</filename>
            <type>text/plain</type>
            <size>13965</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTExMSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIxIEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgRXhwb3NlIGEg
c2V0IG9mIHNldHRlcnMgZm9yIER1bXBSZW5kZXJUcmVlIHRvIHVzZSB3aGVuIHNldHRpbmcgcHJl
ZmVyZW5jZXMKKyAgICAgICAgYnkgc3RyaW5nLCBtYXRjaGluZyBXZWJLaXRMZWdhY3kgZm9yIGNv
Y29hIHBsYXRmb3JtcyBhbmQgbW9kZXJuIFdlYktpdC4KKworICAgICAgICAqIEludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZyk6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3Rpbmcp
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5n
KToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGlu
Zyk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKwogMjAyMC0xMC0yNyAgRnVqaWkgSGly
b25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dW1dL
MV0gSW1wbGVtZW50IFdlYlZpZXc6OmxheWVyVHJlZUFzU3RyaW5nCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuY3BwCShyZXZpc2lvbiAyNjkxMTEpCisrKyBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIzMjgsNiArMjMyOCw2NyBAQCBIUkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRDb250YWN0
UGlja2VyCiAgICAgcmV0dXJuIFNfT0s7CiB9CiAKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNl
dEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIEJPT0wgdmFsdWUp
Cit7CisgICAgaWYgKCFTeXNTdHJpbmdMZW4oa2V5KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsK
KworI2lmIFVTRShDRikKKyAgICBhdXRvIGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNG
U3RyaW5nKCk7CisgICAgc2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdldCgpLCB2YWx1ZSA/IGtD
RkJvb2xlYW5UcnVlIDoga0NGQm9vbGVhbkZhbHNlKTsKKyNlbmRpZgorCisgICAgcG9zdFByZWZl
cmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigpOworCisgICAgcmV0dXJuIFNfT0s7Cit9CisKK0hS
RVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8g
QlNUUiBrZXksIF9Jbl8gdW5zaWduZWQgdmFsdWUpCit7CisgICAgaWYgKCFTeXNTdHJpbmdMZW4o
a2V5KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworI2lmIFVTRShDRikKKyAgICBhdXRvIGtl
eVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5nKCk7CisgICAgc2V0VmFsdWVGb3JL
ZXkoa2V5U3RyaW5nLmdldCgpLCBjZk51bWJlcihzdGF0aWNfY2FzdDxpbnQ+KHZhbHVlKSkuZ2V0
KCkpOworI2VuZGlmCisKKyAgICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7
CisKKyAgICByZXR1cm4gU19PSzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0RG91
YmxlUHJlZmVyZW5jZUZvclRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBkb3VibGUgdmFsdWUp
Cit7CisgICAgaWYgKCFTeXNTdHJpbmdMZW4oa2V5KSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsK
KworI2lmIFVTRShDRikKKyAgICBhdXRvIGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNG
U3RyaW5nKCk7CisgICAgc2V0VmFsdWVGb3JLZXkoa2V5U3RyaW5nLmdldCgpLCBjZk51bWJlcihz
dGF0aWNfY2FzdDxmbG9hdD4odmFsdWUpKS5nZXQoKSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVm
ZXJlbmNlc0NoYW5nZXNOb3RpZmljYXRpb24oKTsKKworICAgIHJldHVybiBTX09LOworfQorCitI
UkVTVUxUIFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5f
IEJTVFIga2V5LCBfSW5fIEJTVFIgdmFsdWUpCit7CisgICAgaWYgKCFTeXNTdHJpbmdMZW4oa2V5
KSB8fCAhU3lzU3RyaW5nTGVuKHZhbHVlKSkKKyAgICAgICAgcmV0dXJuIEVfRkFJTDsKKworI2lm
IFVTRShDRikKKyAgICBhdXRvIGtleVN0cmluZyA9IFN0cmluZyhrZXkpLmNyZWF0ZUNGU3RyaW5n
KCk7CisgICAgYXV0byB2YWx1ZVN0cmluZyA9IFN0cmluZyh2YWx1ZSkuY3JlYXRlQ0ZTdHJpbmco
KTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIHZhbHVlU3RyaW5nLmdldCgp
KTsKKyNlbmRpZgorCisgICAgcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigpOwor
CisgICAgcmV0dXJuIFNfT0s7Cit9CisKIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldEFwcGxp
Y2F0aW9uSWQoQlNUUiBhcHBsaWNhdGlvbklkKQogewogI2lmIFVTRShDRikKSW5kZXg6IFNvdXJj
ZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkocmV2aXNpb24gMjY5MTExKQorKysg
U291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAkod29ya2luZyBjb3B5KQpA
QCAtMzA3LDYgKzMwNywxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhP
RENBTExUWVBFIHNldE1vZGVyblVucHJlZml4ZWRXZWJBdWRpb0VuYWJsZWQoQk9PTCk7CiAgICAg
dmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGNvbnRhY3RQaWNrZXJBUElFbmFibGVk
KF9PdXRfIEJPT0wqKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0
Q29udGFjdFBpY2tlckFQSUVuYWJsZWQoQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIHNldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBf
SW5fIEJPT0wpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRVSW50
MzJQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIHVuc2lnbmVkKTsKKyAg
ICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0RG91YmxlUHJlZmVyZW5jZUZv
clRlc3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyBkb3VibGUpOworICAgIHZpcnR1YWwgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBzZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJT
VFIga2V5LCBfSW5fIEJTVFIpOwogCiAgICAgLy8gV2ViUHJlZmVyZW5jZXMKIApJbmRleDogU291
cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9JV2ViUHJlZmVyZW5jZXNQcml2YXRlLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaWRsCShyZXZpc2lvbiAyNjkxMTEpCisrKyBTb3VyY2UvV2ViS2l0
TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNlc1ByaXZhdGUuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yNjksNCArMjY5LDggQEAgaW50ZXJmYWNlIElXZWJQcmVmZXJlbmNlc1ByaXZh
dGU4IDogSVdlYgogICAgIEhSRVNVTFQgc2V0TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvRW5hYmxl
ZChbaW5dIEJPT0wgZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBjb250YWN0UGlja2VyQVBJRW5hYmxl
ZChbb3V0LCByZXR2YWxdIEJPT0wqIGVuYWJsZWQpOwogICAgIEhSRVNVTFQgc2V0Q29udGFjdFBp
Y2tlckFQSUVuYWJsZWQoW2luXSBCT09MIGVuYWJsZWQpOworICAgIEhSRVNVTFQgc2V0Qm9vbFBy
ZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXksIFtpbl0gQk9PTCB2YWx1ZSk7CisgICAg
SFJFU1VMVCBzZXRVSW50MzJQcmVmZXJlbmNlRm9yVGVzdGluZyhbaW5dIEJTVFIga2V5LCBbaW5d
IHVuc2lnbmVkIHZhbHVlKTsKKyAgICBIUkVTVUxUIHNldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0
aW5nKFtpbl0gQlNUUiBrZXksIFtpbl0gZG91YmxlIHZhbHVlKTsKKyAgICBIUkVTVUxUIHNldFN0
cmluZ1ByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNUUiBrZXksIFtpbl0gQlNUUiB2YWx1ZSk7
CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdExlZ2FjeS93aW4vSW50ZXJmYWNlcy9XZWJLaXQu
aWRsCShyZXZpc2lvbiAyNjkxMTEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZh
Y2VzL1dlYktpdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxMCwzICszMTAsNCBAQCBsaWJyYXJ5
IFdlYktpdAogICAgICAgICBbZGVmYXVsdF0gaW50ZXJmYWNlIElXZWJLaXRNZXNzYWdlTG9vcDsK
ICAgICB9OwogfQorCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAyNjkxMTQpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAyMC0xMC0yOCAgU2FtIFdlaW5pZyAgPHdlaW5pZ0Bh
cHBsZS5jb20+CisKKyAgICAgICAgW1Rlc3RpbmddIFJlbW92ZSByZXF1aXJlbWVudCBvZiBhZGRp
bmcgbmV3IFNQSSBmb3IgZWFjaCBwcmVmZXJlbmNlIHRoYXQgbmVlZHMgdGVzdGluZyAoV2ViS2l0
TGVnYWN5IFdpbmRvd3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMTgyOTEKKworICAgICAgICBSZXZpZXdlZCBieSBCcmVudCBGdWxnaGFtLgorCisg
ICAgICAgIEFkb3B0IHNldCpQcmVmZXJlbmNlRm9yVGVzdGluZyBmdW5jdGlvbnMgdG8gbWF0Y2gg
RHVtcFJlbmRlclRyZWUgZm9yIGNvY29hIHBsYXRmb3JtcywgYW5kCisgICAgICAgIG1ha2UgaXQg
c28gdGhhdCBvbmx5IFRlc3RPcHRpb25zLmNwcCBuZWVkcyB0byBiZSB0b3VjaGVkIHRvIGFkZCBz
dXBwb3J0IGZvciBuZXcgcHJlZmVyZW5jZQorICAgICAgICBpbiB0ZXN0cy4KKyAgICAgICAgCisg
ICAgICAgIEFsc28gYWRkcyBzb21lIGhlbHBlcnMgdG8gY29udmVydCBiZXR3ZWVuIHN0cmluZyB0
eXBlcyBhbmQgdXNlIFJldGFpblB0ciBpbiBhIGZldyBtb3JlIHBsYWNlcy4KKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHA6CisgICAgICAgICh0b1VURjgp
OgorICAgICAgICAodG9CU1RSKToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNp
c3RlbnRWYWx1ZXMpOgorICAgICAgICAoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUpOgor
ICAgICAgICAoc2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aW9ucyk6CisgICAgICAgIChydW5U
ZXN0KToKKwogMjAyMC0xMC0yOCAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW3dlYmtpdGZsYXNrcHldIENyZWF0ZSBzaGFyZWQgbGlicmFyeSBmb3IgV2Vi
S2l0J3MgZmxhc2sgdG9vbGluZwpJbmRleDogVG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1bXBS
ZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAyNjkxMTEpCisrKyBUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzIsMTYgKzIzMiwy
NSBAQCBzdGF0aWMgU3RyaW5nIGxpYnJhcnlQYXRoRm9yRHVtcFJlbmRlclRyCiB9CiAjZW5kaWYK
IAotc3RyaW5nIHRvVVRGOChCU1RSIGJzdHIpCitzdGQ6OnN0cmluZyB0b1VURjgoQlNUUiBic3Ry
KQogewogICAgIHJldHVybiB0b1VURjgoYnN0ciwgU3lzU3RyaW5nTGVuKGJzdHIpKTsKIH0KIAot
c3RyaW5nIHRvVVRGOChjb25zdCB3c3RyaW5nJiB3aWRlU3RyaW5nKQorc3RkOjpzdHJpbmcgdG9V
VEY4KGNvbnN0IHdzdHJpbmcmIHdpZGVTdHJpbmcpCiB7CiAgICAgcmV0dXJuIHRvVVRGOCh3aWRl
U3RyaW5nLmNfc3RyKCksIHdpZGVTdHJpbmcubGVuZ3RoKCkpOwogfQogCitzdGF0aWMgc3RkOjpz
dHJpbmcgdG9VVEY4KENGU3RyaW5nUmVmIGlucHV0KQoreworICAgIENGSW5kZXggbWF4aW11bVVS
TExlbmd0aEFzVVRGOCA9IENGU3RyaW5nR2V0TWF4aW11bVNpemVGb3JFbmNvZGluZyhDRlN0cmlu
Z0dldExlbmd0aChpbnB1dCksIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkgKyAxOworICAgIFZlY3Rv
cjxjaGFyPiBidWZmZXIobWF4aW11bVVSTExlbmd0aEFzVVRGOCArIDEsIDApOworICAgIENGU3Ry
aW5nR2V0Q1N0cmluZyhpbnB1dCwgYnVmZmVyLmRhdGEoKSwgbWF4aW11bVVSTExlbmd0aEFzVVRG
OCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KTsKKworICAgIHJldHVybiBidWZmZXIuZGF0YSgpOwor
fQorCiB3c3RyaW5nIGNmU3RyaW5nUmVmVG9XU3RyaW5nKENGU3RyaW5nUmVmIGNmU3RyKQogewog
ICAgIFZlY3Rvcjx3Y2hhcl90PiB2KENGU3RyaW5nR2V0TGVuZ3RoKGNmU3RyKSk7CkBAIC0yNTAs
NiArMjU5LDE5IEBAIHdzdHJpbmcgY2ZTdHJpbmdSZWZUb1dTdHJpbmcoQ0ZTdHJpbmdSZWYKICAg
ICByZXR1cm4gd3N0cmluZyh2LmRhdGEoKSwgdi5zaXplKCkpOwogfQogCitzdGF0aWMgX2JzdHJf
dCB0b0JTVFIoY29uc3Qgc3RkOjpzdHJpbmcmIGlucHV0KQoreworICAgIHJldHVybiBpbnB1dC5j
X3N0cigpOworfQorCitzdGF0aWMgX2JzdHJfdCB0b0JTVFIoQ0ZTdHJpbmdSZWYgaW5wdXQpCit7
CisgICAgc2l6ZV90IHN0cmluZ0xlbmd0aCA9IENGU3RyaW5nR2V0TGVuZ3RoKGlucHV0KTsKKyAg
ICBWZWN0b3I8VW5pQ2hhcj4gYnVmZmVyKHN0cmluZ0xlbmd0aCArIDEsIDApOworICAgIENGU3Ry
aW5nR2V0Q2hhcmFjdGVycyhpbnB1dCwgQ0ZSYW5nZU1ha2UoMCwgc3RyaW5nTGVuZ3RoKSwgYnVm
ZmVyLmRhdGEoKSk7CisgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8d2NoYXJfdCo+KGJ1ZmZl
ci5kYXRhKCkpOworfQorCiBzdGF0aWMgTFJFU1VMVCBDQUxMQkFDSyBEdW1wUmVuZGVyVHJlZVdu
ZFByb2MoSFdORCBoV25kLCBVSU5UIG1zZywgV1BBUkFNIHdQYXJhbSwgTFBBUkFNIGxQYXJhbSkK
IHsKICAgICBzd2l0Y2ggKG1zZykgewpAQCAtODg0LDExICs5MDYsNyBAQCBzdGF0aWMgdm9pZCBy
ZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgcHJlZnNQcml2YXRlLT5zZXRMb2Fkc1Np
dGVJY29uc0lnbm9yaW5nSW1hZ2VMb2FkaW5nUHJlZmVyZW5jZShGQUxTRSk7CiAgICAgcHJlZnNQ
cml2YXRlLT5zZXRGcmFtZUZsYXR0ZW5pbmdFbmFibGVkKEZBTFNFKTsKICAgICBpZiAocGVyc2lz
dGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24pIHsKLSAgICAgICAgc2l6ZV90IHN0cmluZ0xlbmd0
aCA9IENGU3RyaW5nR2V0TGVuZ3RoKHBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uLmdl
dCgpKTsKLSAgICAgICAgVmVjdG9yPFVuaUNoYXI+IHVybENoYXJhY3RlcnMoc3RyaW5nTGVuZ3Ro
ICsgMSwgMCk7Ci0gICAgICAgIENGU3RyaW5nR2V0Q2hhcmFjdGVycyhwZXJzaXN0ZW50VXNlclN0
eWxlU2hlZXRMb2NhdGlvbi5nZXQoKSwgQ0ZSYW5nZU1ha2UoMCwgc3RyaW5nTGVuZ3RoKSwgdXJs
Q2hhcmFjdGVycy5kYXRhKCkpOwotICAgICAgICBfYnN0cl90IHVybChyZWludGVycHJldF9jYXN0
PHdjaGFyX3QqPih1cmxDaGFyYWN0ZXJzLmRhdGEoKSkpOwotICAgICAgICBwcmVmZXJlbmNlcy0+
c2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbih1cmwpOworICAgICAgICBwcmVmZXJlbmNlcy0+c2V0
VXNlclN0eWxlU2hlZXRMb2NhdGlvbih0b0JTVFIocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9j
YXRpb24uZ2V0KCkpKTsKICAgICAgICAgcHJlZmVyZW5jZXMtPnNldFVzZXJTdHlsZVNoZWV0RW5h
YmxlZChUUlVFKTsKICAgICB9IGVsc2UKICAgICAgICAgcHJlZmVyZW5jZXMtPnNldFVzZXJTdHls
ZVNoZWV0RW5hYmxlZChGQUxTRSk7CkBAIC05MTIsMTIgKzkzMCwxMSBAQCBzdGF0aWMgdm9pZCBy
ZXNldFdlYlByZWZlcmVuY2VzVG9Db25zaXN0CiAgICAgc2V0QWx3YXlzQWNjZXB0Q29va2llcyhm
YWxzZSk7CiB9CiAKLXN0YXRpYyBib29sIGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKHN0
ZDo6c3RyaW5nIGtleSwgYm9vbCBkZWZhdWx0VmFsdWUsIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMm
IG9wdGlvbnMpCitzdGF0aWMgYm9vbCBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShzdGQ6
OnN0cmluZyBrZXksIGNvbnN0IFdUUjo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCiB7CiAgICAgYXV0
byBpdCA9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygpLmZpbmQoa2V5KTsKLSAg
ICBpZiAoaXQgIT0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkuZW5kKCkpCi0g
ICAgICAgIHJldHVybiBpdC0+c2Vjb25kOwotICAgIHJldHVybiBkZWZhdWx0VmFsdWU7CisgICAg
QVNTRVJUKGl0ICE9IG9wdGlvbnMuYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlcygpLmVuZCgpKTsK
KyAgICByZXR1cm4gaXQtPnNlY29uZDsKIH0KIAogc3RhdGljIHZvaWQgc2V0V2ViUHJlZmVyZW5j
ZXNGb3JUZXN0T3B0aW9ucyhJV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzLCBjb25zdCBXVFI6
OlRlc3RPcHRpb25zJiBvcHRpb25zKQpAQCAtOTI2LDE4ICs5NDMsMTAgQEAgc3RhdGljIHZvaWQg
c2V0V2ViUHJlZmVyZW5jZXNGb3JUZXN0T3B0aQogCiAgICAgcHJlZmVyZW5jZXMtPnNldFByaXZh
dGVCcm93c2luZ0VuYWJsZWQob3B0aW9ucy51c2VFcGhlbWVyYWxTZXNzaW9uKCkpOwogCi0gICAg
cHJlZmVyZW5jZXMtPnNldFVzZXNQYWdlQ2FjaGUoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFs
dWUoIlVzZXNCYWNrRm9yd2FyZENhY2hlIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1By
aXZhdGUtPnNldE1lbnVJdGVtRWxlbWVudEVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJl
VmFsdWUoIk1lbnVJdGVtRWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHBy
ZWZzUHJpdmF0ZS0+c2V0S2V5Z2VuRWxlbWVudEVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0
dXJlVmFsdWUoIktleWdlbkVsZW1lbnRFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBw
cmVmc1ByaXZhdGUtPnNldE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkKGJvb2xXZWJQcmVmZXJl
bmNlRmVhdHVyZVZhbHVlKCJNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIsIHRydWUsIG9wdGlv
bnMpKTsKLSAgICBwcmVmc1ByaXZhdGUtPnNldEluc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQoYm9v
bFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIkluc3BlY3RvckFkZGl0aW9uc0VuYWJsZWQiLCBm
YWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0UmVxdWVzdElkbGVDYWxsYmFj
a0VuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlJlcXVlc3RJZGxlQ2FsbGJh
Y2tFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1ByaXZhdGUtPnNldEFzeW5j
Q2xpcGJvYXJkQVBJRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQXN5bmND
bGlwYm9hcmRBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1ByaXZhdGUt
PnNldENvbnRhY3RQaWNrZXJBUElFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVl
KCJDb250YWN0UGlja2VyQVBJRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7Ci0gICAgcHJlZnNQ
cml2YXRlLT5zZXRBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzKGJvb2xXZWJQcmVmZXJlbmNl
RmVhdHVyZVZhbHVlKCJBbGxvd1RvcE5hdmlnYXRpb25Ub0RhdGFVUkxzIiwgdHJ1ZSwgb3B0aW9u
cykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0Q1NTT01WaWV3U21vb3RoU2Nyb2xsaW5nRW5hYmxl
ZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiQ1NTT01WaWV3U21vb3RoU2Nyb2xsaW5n
RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRTcGF0aWFs
TmF2aWdhdGlvbkVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlNwYXRpYWxO
YXZpZ2F0aW9uRW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7Ci0gICAgcHJlZmVyZW5jZXMtPnNl
dFRhYnNUb0xpbmtzKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJUYWJzVG9MaW5rcyIs
IGZhbHNlLCBvcHRpb25zKSk7CisgICAgLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgdGhlcmUg
aXMgYSB2aWFibGUgbWVjaGFuaXNtIGZvciByZXNldGluZyBXZWJQcmVmZXJlbmNlcyBiZXR3ZWVu
IHRlc3RzLAorICAgIC8vIGF0IHdoaWNoIHBvaW50LCB3ZSB3aWxsIG5vdCBuZWVkIHRvIG1hbnVh
bGx5IHJlc2V0IGV2ZXJ5IHN1cHBvcnRlZCBwcmVmZXJlbmNlIGZvciBlYWNoIHRlc3QuCisgICAg
Zm9yIChjb25zdCBhdXRvJiBrZXkgOiBvcHRpb25zLnN1cHBvcnRlZEJvb2xXZWJQcmVmZXJlbmNl
RmVhdHVyZXMoKSkKKyAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRCb29sUHJlZmVyZW5jZUZvclRl
c3RpbmcodG9CU1RSKFdUUjo6VGVzdE9wdGlvbnM6OnRvV2ViS2l0TGVnYWN5UHJlZmVyZW5jZUtl
eShrZXkpKSwgYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoa2V5LCBvcHRpb25zKSk7CiB9
CiAKIHN0YXRpYyBTdHJpbmcgYXBwbGljYXRpb25JZCgpCkBAIC0xMTk1LDQ5ICsxMjA0LDM0IEBA
IHN0YXRpYyB2b2lkIHJ1blRlc3QoY29uc3Qgc3RyaW5nJiBpbnB1dEwKIAogICAgIHN0YXRpYyBf
YnN0cl90IG1ldGhvZEJTdHIoVEVYVCgiR0VUIikpOwogCi0gICAgQ0ZTdHJpbmdSZWYgc3RyID0g
Q0ZTdHJpbmdDcmVhdGVXaXRoQ1N0cmluZygwLCBwYXRoT3JVUkwuY19zdHIoKSwga0NGU3RyaW5n
RW5jb2RpbmdXaW5kb3dzTGF0aW4xKTsKKyAgICBhdXRvIHN0ciA9IGFkb3B0Q0YoQ0ZTdHJpbmdD
cmVhdGVXaXRoQ1N0cmluZygwLCBwYXRoT3JVUkwuY19zdHIoKSwga0NGU3RyaW5nRW5jb2RpbmdX
aW5kb3dzTGF0aW4xKSk7CiAgICAgaWYgKCFzdHIpIHsKICAgICAgICAgZnByaW50ZihzdGRlcnIs
ICJGYWlsZWQgdG8gcGFyc2UgXCIlc1wiIGFzIFVURi04XG4iLCBwYXRoT3JVUkwuY19zdHIoKSk7
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBDRlVSTFJlZiB1cmwgPSBDRlVSTENyZWF0
ZVdpdGhTdHJpbmcoMCwgc3RyLCAwKTsKLQorICAgIGF1dG8gdXJsID0gYWRvcHRDRihDRlVSTENy
ZWF0ZVdpdGhTdHJpbmcoMCwgc3RyLmdldCgpLCAwKSk7CiAgICAgaWYgKCF1cmwpCi0gICAgICAg
IHVybCA9IENGVVJMQ3JlYXRlV2l0aEZpbGVTeXN0ZW1QYXRoKDAsIHN0ciwga0NGVVJMV2luZG93
c1BhdGhTdHlsZSwgZmFsc2UpOwotCi0gICAgQ0ZSZWxlYXNlKHN0cik7CisgICAgICAgIHVybCA9
IGFkb3B0Q0YoQ0ZVUkxDcmVhdGVXaXRoRmlsZVN5c3RlbVBhdGgoMCwgc3RyLmdldCgpLCBrQ0ZV
UkxXaW5kb3dzUGF0aFN0eWxlLCBmYWxzZSkpOwogCiAgICAgaWYgKCF1cmwpIHsKICAgICAgICAg
ZnByaW50ZihzdGRlcnIsICJGYWlsZWQgdG8gcGFyc2UgXCIlc1wiIGFzIGEgVVJMXG4iLCBwYXRo
T3JVUkwuY19zdHIoKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBTdHJpbmcgaG9z
dE5hbWUgPSBTdHJpbmcoYWRvcHRDRihDRlVSTENvcHlIb3N0TmFtZSh1cmwpKS5nZXQoKSk7Ci0K
KyAgICBTdHJpbmcgaG9zdE5hbWUgPSBTdHJpbmcoYWRvcHRDRihDRlVSTENvcHlIb3N0TmFtZSh1
cmwuZ2V0KCkpKS5nZXQoKSk7CiAgICAgU3RyaW5nIGZhbGxiYWNrUGF0aCA9IGZpbmRGb250RmFs
bGJhY2socGF0aE9yVVJMLmNfc3RyKCkpOwogCi0gICAgc3RyID0gQ0ZVUkxHZXRTdHJpbmcodXJs
KTsKLQotICAgIENGSW5kZXggbGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgoc3RyKTsKLQotICAg
IFZlY3RvcjxVbmlDaGFyPiBidWZmZXIobGVuZ3RoICsgMSwgMCk7Ci0gICAgQ0ZTdHJpbmdHZXRD
aGFyYWN0ZXJzKHN0ciwgQ0ZSYW5nZU1ha2UoMCwgbGVuZ3RoKSwgYnVmZmVyLmRhdGEoKSk7Ci0K
LSAgICBfYnN0cl90IHVybEJTdHIocmVpbnRlcnByZXRfY2FzdDx3Y2hhcl90Kj4oYnVmZmVyLmRh
dGEoKSkpOwotICAgIEFTU0VSVCh1cmxCU3RyLmxlbmd0aCgpID09IGxlbmd0aCk7Ci0KLSAgICBD
RkluZGV4IG1heGltdW1VUkxMZW5ndGhBc1VURjggPSBDRlN0cmluZ0dldE1heGltdW1TaXplRm9y
RW5jb2RpbmcobGVuZ3RoLCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpICsgMTsKLSAgICBWZWN0b3I8
Y2hhcj4gdGVzdFVSTChtYXhpbXVtVVJMTGVuZ3RoQXNVVEY4ICsgMSwgMCk7Ci0gICAgQ0ZTdHJp
bmdHZXRDU3RyaW5nKHN0ciwgdGVzdFVSTC5kYXRhKCksIG1heGltdW1VUkxMZW5ndGhBc1VURjgs
IGtDRlN0cmluZ0VuY29kaW5nVVRGOCk7CisgICAgYXV0byB1cmxDRlN0cmluZyA9IENGVVJMR2V0
U3RyaW5nKHVybC5nZXQoKSk7CiAKLSAgICBDRlJlbGVhc2UodXJsKTsKKyAgICBhdXRvIHVybEJT
dHIgPSB0b0JTVFIodXJsQ0ZTdHJpbmcpOworICAgIEFTU0VSVCh1cmxCU3RyLmxlbmd0aCgpID09
IENGU3RyaW5nR2V0TGVuZ3RoKHVybENGU3RyaW5nKSk7CiAKICAgICBhdXRvIG9wdGlvbnMgPSB0
ZXN0T3B0aW9uc0ZvclRlc3QoY29tbWFuZCk7CiAKICAgICByZXNldFdlYlZpZXdUb0NvbnNpc3Rl
bnRTdGF0ZUJlZm9yZVRlc3Rpbmcob3B0aW9ucyk7CiAKLSAgICA6OmdUZXN0UnVubmVyID0gVGVz
dFJ1bm5lcjo6Y3JlYXRlKHRlc3RVUkwuZGF0YSgpLCBjb21tYW5kLmV4cGVjdGVkUGl4ZWxIYXNo
KTsKKyAgICA6OmdUZXN0UnVubmVyID0gVGVzdFJ1bm5lcjo6Y3JlYXRlKHRvVVRGOCh1cmxDRlN0
cmluZyksIGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhhc2gpOwogICAgIDo6Z1Rlc3RSdW5uZXItPnNl
dEN1c3RvbVRpbWVvdXQoY29tbWFuZC50aW1lb3V0Lm1pbGxpc2Vjb25kcygpKTsKICAgICA6OmdU
ZXN0UnVubmVyLT5zZXREdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIoY29tbWFuZC5kdW1wSlNDb25z
b2xlTG9nSW5TdGRFcnIgfHwgb3B0aW9ucy5kdW1wSlNDb25zb2xlTG9nSW5TdGRFcnIoKSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>412600</attachid>
            <date>2020-10-28 19:02:48 -0700</date>
            <delta_ts>2020-10-29 11:18:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218291-20201028190247.patch</filename>
            <type>text/plain</type>
            <size>14252</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTExMSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDIxIEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAg
ICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFkZGluZyBuZXcgU1BJIGZvciBl
YWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJLaXRMZWdhY3kgV2luZG93cykK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxODI5MQor
CisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisKKyAgICAgICAgRXhwb3NlIGEg
c2V0IG9mIHNldHRlcnMgZm9yIER1bXBSZW5kZXJUcmVlIHRvIHVzZSB3aGVuIHNldHRpbmcgcHJl
ZmVyZW5jZXMKKyAgICAgICAgYnkgc3RyaW5nLCBtYXRjaGluZyBXZWJLaXRMZWdhY3kgZm9yIGNv
Y29hIHBsYXRmb3JtcyBhbmQgbW9kZXJuIFdlYktpdC4KKworICAgICAgICAqIEludGVyZmFjZXMv
SVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGw6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuY3Bw
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldEJvb2xQcmVmZXJlbmNlRm9yVGVzdGluZyk6
CisgICAgICAgIChXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRlc3Rpbmcp
OgorICAgICAgICAoV2ViUHJlZmVyZW5jZXM6OnNldERvdWJsZVByZWZlcmVuY2VGb3JUZXN0aW5n
KToKKyAgICAgICAgKFdlYlByZWZlcmVuY2VzOjpzZXRTdHJpbmdQcmVmZXJlbmNlRm9yVGVzdGlu
Zyk6CisgICAgICAgICogV2ViUHJlZmVyZW5jZXMuaDoKKwogMjAyMC0xMC0yNyAgRnVqaWkgSGly
b25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNvbT4KIAogICAgICAgICBbV2luQ2Fpcm9dW1dL
MV0gSW1wbGVtZW50IFdlYlZpZXc6OmxheWVyVHJlZUFzU3RyaW5nCkluZGV4OiBTb3VyY2UvV2Vi
S2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAkocmV2aXNp
b24gMjY5MTExKQorKysgU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZUtleXNQ
cml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NCw3ICsxODQsNyBAQAogCiAjZGVmaW5lIFdl
YktpdE1lbnVJdGVtRWxlbWVudEVuYWJsZWRQcmVmZXJlbmNlS2V5ICJXZWJLaXRNZW51SXRlbUVs
ZW1lbnRFbmFibGVkIgogCi0jZGVmaW5lIFdlYktpdEtleWdlbkVsZW1lbnRFbmFibGVkUHJlZmVy
ZW5jZUtleSAiV2ViS2l0S2V5Z2VuRWxlbWVudEVuYWJsZWQiCisjZGVmaW5lIFdlYktpdEtleWdl
bkVsZW1lbnRFbmFibGVkUHJlZmVyZW5jZUtleSAiV2ViS2l0S2V5Z2VuRWxlbWVudEVuYWJsZWRQ
cmVmZXJlbmNlS2V5IgogCiAjZGVmaW5lIFdlYktpdE1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVk
UHJlZmVyZW5jZUtleSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQiCiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5jcHAJKHJldmlzaW9uIDI2
OTExMSkKKysrIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL1dlYlByZWZlcmVuY2VzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjMyOCw2ICsyMzI4LDY3IEBAIEhSRVNVTFQgV2ViUHJlZmVyZW5jZXM6
OnNldENvbnRhY3RQaWNrZXIKICAgICByZXR1cm4gU19PSzsKIH0KIAorSFJFU1VMVCBXZWJQcmVm
ZXJlbmNlczo6c2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8g
Qk9PTCB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1
cm4gRV9GQUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtl
eSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCks
IHZhbHVlID8ga0NGQm9vbGVhblRydWUgOiBrQ0ZCb29sZWFuRmFsc2UpOworI2VuZGlmCisKKyAg
ICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZpY2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19P
SzsKK30KKworSFJFU1VMVCBXZWJQcmVmZXJlbmNlczo6c2V0VUludDMyUHJlZmVyZW5jZUZvclRl
c3RpbmcoX0luXyBCU1RSIGtleSwgX0luXyB1bnNpZ25lZCB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5
c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1cm4gRV9GQUlMOworCisjaWYgVVNFKENGKQor
ICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBz
ZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCksIGNmTnVtYmVyKHN0YXRpY19jYXN0PGludD4o
dmFsdWUpKS5nZXQoKSk7CisjZW5kaWYKKworICAgIHBvc3RQcmVmZXJlbmNlc0NoYW5nZXNOb3Rp
ZmljYXRpb24oKTsKKworICAgIHJldHVybiBTX09LOworfQorCitIUkVTVUxUIFdlYlByZWZlcmVu
Y2VzOjpzZXREb3VibGVQcmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRv
dWJsZSB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0cmluZ0xlbihrZXkpKQorICAgICAgICByZXR1
cm4gRV9GQUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtl
eSkuY3JlYXRlQ0ZTdHJpbmcoKTsKKyAgICBzZXRWYWx1ZUZvcktleShrZXlTdHJpbmcuZ2V0KCks
IGNmTnVtYmVyKHN0YXRpY19jYXN0PGZsb2F0Pih2YWx1ZSkpLmdldCgpKTsKKyNlbmRpZgorCisg
ICAgcG9zdFByZWZlcmVuY2VzQ2hhbmdlc05vdGlmaWNhdGlvbigpOworCisgICAgcmV0dXJuIFNf
T0s7Cit9CisKK0hSRVNVTFQgV2ViUHJlZmVyZW5jZXM6OnNldFN0cmluZ1ByZWZlcmVuY2VGb3JU
ZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQlNUUiB2YWx1ZSkKK3sKKyAgICBpZiAoIVN5c1N0
cmluZ0xlbihrZXkpIHx8ICFTeXNTdHJpbmdMZW4odmFsdWUpKQorICAgICAgICByZXR1cm4gRV9G
QUlMOworCisjaWYgVVNFKENGKQorICAgIGF1dG8ga2V5U3RyaW5nID0gU3RyaW5nKGtleSkuY3Jl
YXRlQ0ZTdHJpbmcoKTsKKyAgICBhdXRvIHZhbHVlU3RyaW5nID0gU3RyaW5nKHZhbHVlKS5jcmVh
dGVDRlN0cmluZygpOworICAgIHNldFZhbHVlRm9yS2V5KGtleVN0cmluZy5nZXQoKSwgdmFsdWVT
dHJpbmcuZ2V0KCkpOworI2VuZGlmCisKKyAgICBwb3N0UHJlZmVyZW5jZXNDaGFuZ2VzTm90aWZp
Y2F0aW9uKCk7CisKKyAgICByZXR1cm4gU19PSzsKK30KKwogSFJFU1VMVCBXZWJQcmVmZXJlbmNl
czo6c2V0QXBwbGljYXRpb25JZChCU1RSIGFwcGxpY2F0aW9uSWQpCiB7CiAjaWYgVVNFKENGKQpJ
bmRleDogU291cmNlL1dlYktpdExlZ2FjeS93aW4vV2ViUHJlZmVyZW5jZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCShyZXZpc2lvbiAy
NjkxMTEpCisrKyBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9XZWJQcmVmZXJlbmNlcy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMDcsNiArMzA3LDEwIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0TW9kZXJuVW5wcmVmaXhlZFdlYkF1ZGlvRW5hYmxlZChC
T09MKTsKICAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgY29udGFjdFBpY2tl
ckFQSUVuYWJsZWQoX091dF8gQk9PTCopOwogICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RD
QUxMVFlQRSBzZXRDb250YWN0UGlja2VyQVBJRW5hYmxlZChCT09MKTsKKyAgICB2aXJ0dWFsIEhS
RVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgc2V0Qm9vbFByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8g
QlNUUiBrZXksIF9Jbl8gQk9PTCk7CisgICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExU
WVBFIHNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gdW5z
aWduZWQpOworICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXREb3VibGVQ
cmVmZXJlbmNlRm9yVGVzdGluZyhfSW5fIEJTVFIga2V5LCBfSW5fIGRvdWJsZSk7CisgICAgdmly
dHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIHNldFN0cmluZ1ByZWZlcmVuY2VGb3JUZXN0
aW5nKF9Jbl8gQlNUUiBrZXksIF9Jbl8gQlNUUik7CiAKICAgICAvLyBXZWJQcmVmZXJlbmNlcwog
CkluZGV4OiBTb3VyY2UvV2ViS2l0TGVnYWN5L3dpbi9JbnRlcmZhY2VzL0lXZWJQcmVmZXJlbmNl
c1ByaXZhdGUuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVy
ZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5pZGwJKHJldmlzaW9uIDI2OTExMSkKKysrIFNv
dXJjZS9XZWJLaXRMZWdhY3kvd2luL0ludGVyZmFjZXMvSVdlYlByZWZlcmVuY2VzUHJpdmF0ZS5p
ZGwJKHdvcmtpbmcgY29weSkKQEAgLTI2OSw0ICsyNjksOCBAQCBpbnRlcmZhY2UgSVdlYlByZWZl
cmVuY2VzUHJpdmF0ZTggOiBJV2ViCiAgICAgSFJFU1VMVCBzZXRNb2Rlcm5VbnByZWZpeGVkV2Vi
QXVkaW9FbmFibGVkKFtpbl0gQk9PTCBlbmFibGVkKTsKICAgICBIUkVTVUxUIGNvbnRhY3RQaWNr
ZXJBUElFbmFibGVkKFtvdXQsIHJldHZhbF0gQk9PTCogZW5hYmxlZCk7CiAgICAgSFJFU1VMVCBz
ZXRDb250YWN0UGlja2VyQVBJRW5hYmxlZChbaW5dIEJPT0wgZW5hYmxlZCk7CisgICAgSFJFU1VM
VCBzZXRCb29sUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBCT09MIHZh
bHVlKTsKKyAgICBIUkVTVUxUIHNldFVJbnQzMlByZWZlcmVuY2VGb3JUZXN0aW5nKFtpbl0gQlNU
UiBrZXksIFtpbl0gdW5zaWduZWQgdmFsdWUpOworICAgIEhSRVNVTFQgc2V0RG91YmxlUHJlZmVy
ZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBkb3VibGUgdmFsdWUpOworICAgIEhS
RVNVTFQgc2V0U3RyaW5nUHJlZmVyZW5jZUZvclRlc3RpbmcoW2luXSBCU1RSIGtleSwgW2luXSBC
U1RSIHZhbHVlKTsKIH0KSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDI2OTExNCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIwLTEwLTI4ICBTYW0gV2VpbmlnICA8d2Vpbmln
QGFwcGxlLmNvbT4KKworICAgICAgICBbVGVzdGluZ10gUmVtb3ZlIHJlcXVpcmVtZW50IG9mIGFk
ZGluZyBuZXcgU1BJIGZvciBlYWNoIHByZWZlcmVuY2UgdGhhdCBuZWVkcyB0ZXN0aW5nIChXZWJL
aXRMZWdhY3kgV2luZG93cykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxODI5MQorCisgICAgICAgIFJldmlld2VkIGJ5IEJyZW50IEZ1bGdoYW0uCisK
KyAgICAgICAgQWRvcHQgc2V0KlByZWZlcmVuY2VGb3JUZXN0aW5nIGZ1bmN0aW9ucyB0byBtYXRj
aCBEdW1wUmVuZGVyVHJlZSBmb3IgY29jb2EgcGxhdGZvcm1zLCBhbmQKKyAgICAgICAgbWFrZSBp
dCBzbyB0aGF0IG9ubHkgVGVzdE9wdGlvbnMuY3BwIG5lZWRzIHRvIGJlIHRvdWNoZWQgdG8gYWRk
IHN1cHBvcnQgZm9yIG5ldyBwcmVmZXJlbmNlCisgICAgICAgIGluIHRlc3RzLgorICAgICAgICAK
KyAgICAgICAgQWxzbyBhZGRzIHNvbWUgaGVscGVycyB0byBjb252ZXJ0IGJldHdlZW4gc3RyaW5n
IHR5cGVzIGFuZCB1c2UgUmV0YWluUHRyIGluIGEgZmV3IG1vcmUgcGxhY2VzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL0R1bXBSZW5kZXJUcmVlLmNwcDoKKyAgICAgICAgKHRvVVRG
OCk6CisgICAgICAgICh0b0JTVFIpOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29u
c2lzdGVudFZhbHVlcyk6CisgICAgICAgIChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSk6
CisgICAgICAgIChzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpb25zKToKKyAgICAgICAgKHJ1
blRlc3QpOgorCiAyMDIwLTEwLTI4ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KIAogICAgICAgICBbd2Via2l0Zmxhc2tweV0gQ3JlYXRlIHNoYXJlZCBsaWJyYXJ5IGZvciBX
ZWJLaXQncyBmbGFzayB0b29saW5nCkluZGV4OiBUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vRHVt
cFJlbmRlclRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9E
dW1wUmVuZGVyVHJlZS5jcHAJKHJldmlzaW9uIDI2OTExMSkKKysrIFRvb2xzL0R1bXBSZW5kZXJU
cmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIzMiwxNiArMjMy
LDI1IEBAIHN0YXRpYyBTdHJpbmcgbGlicmFyeVBhdGhGb3JEdW1wUmVuZGVyVHIKIH0KICNlbmRp
ZgogCi1zdHJpbmcgdG9VVEY4KEJTVFIgYnN0cikKK3N0ZDo6c3RyaW5nIHRvVVRGOChCU1RSIGJz
dHIpCiB7CiAgICAgcmV0dXJuIHRvVVRGOChic3RyLCBTeXNTdHJpbmdMZW4oYnN0cikpOwogfQog
Ci1zdHJpbmcgdG9VVEY4KGNvbnN0IHdzdHJpbmcmIHdpZGVTdHJpbmcpCitzdGQ6OnN0cmluZyB0
b1VURjgoY29uc3Qgd3N0cmluZyYgd2lkZVN0cmluZykKIHsKICAgICByZXR1cm4gdG9VVEY4KHdp
ZGVTdHJpbmcuY19zdHIoKSwgd2lkZVN0cmluZy5sZW5ndGgoKSk7CiB9CiAKK3N0YXRpYyBzdGQ6
OnN0cmluZyB0b1VURjgoQ0ZTdHJpbmdSZWYgaW5wdXQpCit7CisgICAgQ0ZJbmRleCBtYXhpbXVt
VVJMTGVuZ3RoQXNVVEY4ID0gQ0ZTdHJpbmdHZXRNYXhpbXVtU2l6ZUZvckVuY29kaW5nKENGU3Ry
aW5nR2V0TGVuZ3RoKGlucHV0KSwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KSArIDE7CisgICAgVmVj
dG9yPGNoYXI+IGJ1ZmZlcihtYXhpbXVtVVJMTGVuZ3RoQXNVVEY4ICsgMSwgMCk7CisgICAgQ0ZT
dHJpbmdHZXRDU3RyaW5nKGlucHV0LCBidWZmZXIuZGF0YSgpLCBtYXhpbXVtVVJMTGVuZ3RoQXNV
VEY4LCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgpOworCisgICAgcmV0dXJuIGJ1ZmZlci5kYXRhKCk7
Cit9CisKIHdzdHJpbmcgY2ZTdHJpbmdSZWZUb1dTdHJpbmcoQ0ZTdHJpbmdSZWYgY2ZTdHIpCiB7
CiAgICAgVmVjdG9yPHdjaGFyX3Q+IHYoQ0ZTdHJpbmdHZXRMZW5ndGgoY2ZTdHIpKTsKQEAgLTI1
MCw2ICsyNTksMTkgQEAgd3N0cmluZyBjZlN0cmluZ1JlZlRvV1N0cmluZyhDRlN0cmluZ1JlZgog
ICAgIHJldHVybiB3c3RyaW5nKHYuZGF0YSgpLCB2LnNpemUoKSk7CiB9CiAKK3N0YXRpYyBfYnN0
cl90IHRvQlNUUihjb25zdCBzdGQ6OnN0cmluZyYgaW5wdXQpCit7CisgICAgcmV0dXJuIGlucHV0
LmNfc3RyKCk7Cit9CisKK3N0YXRpYyBfYnN0cl90IHRvQlNUUihDRlN0cmluZ1JlZiBpbnB1dCkK
K3sKKyAgICBzaXplX3Qgc3RyaW5nTGVuZ3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgoaW5wdXQpOwor
ICAgIFZlY3RvcjxVbmlDaGFyPiBidWZmZXIoc3RyaW5nTGVuZ3RoICsgMSwgMCk7CisgICAgQ0ZT
dHJpbmdHZXRDaGFyYWN0ZXJzKGlucHV0LCBDRlJhbmdlTWFrZSgwLCBzdHJpbmdMZW5ndGgpLCBi
dWZmZXIuZGF0YSgpKTsKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx3Y2hhcl90Kj4oYnVm
ZmVyLmRhdGEoKSk7Cit9CisKIHN0YXRpYyBMUkVTVUxUIENBTExCQUNLIER1bXBSZW5kZXJUcmVl
V25kUHJvYyhIV05EIGhXbmQsIFVJTlQgbXNnLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFt
KQogewogICAgIHN3aXRjaCAobXNnKSB7CkBAIC04ODQsMTEgKzkwNiw3IEBAIHN0YXRpYyB2b2lk
IHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBwcmVmc1ByaXZhdGUtPnNldExvYWRz
U2l0ZUljb25zSWdub3JpbmdJbWFnZUxvYWRpbmdQcmVmZXJlbmNlKEZBTFNFKTsKICAgICBwcmVm
c1ByaXZhdGUtPnNldEZyYW1lRmxhdHRlbmluZ0VuYWJsZWQoRkFMU0UpOwogICAgIGlmIChwZXJz
aXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbikgewotICAgICAgICBzaXplX3Qgc3RyaW5nTGVu
Z3RoID0gQ0ZTdHJpbmdHZXRMZW5ndGgocGVyc2lzdGVudFVzZXJTdHlsZVNoZWV0TG9jYXRpb24u
Z2V0KCkpOwotICAgICAgICBWZWN0b3I8VW5pQ2hhcj4gdXJsQ2hhcmFjdGVycyhzdHJpbmdMZW5n
dGggKyAxLCAwKTsKLSAgICAgICAgQ0ZTdHJpbmdHZXRDaGFyYWN0ZXJzKHBlcnNpc3RlbnRVc2Vy
U3R5bGVTaGVldExvY2F0aW9uLmdldCgpLCBDRlJhbmdlTWFrZSgwLCBzdHJpbmdMZW5ndGgpLCB1
cmxDaGFyYWN0ZXJzLmRhdGEoKSk7Ci0gICAgICAgIF9ic3RyX3QgdXJsKHJlaW50ZXJwcmV0X2Nh
c3Q8d2NoYXJfdCo+KHVybENoYXJhY3RlcnMuZGF0YSgpKSk7Ci0gICAgICAgIHByZWZlcmVuY2Vz
LT5zZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKHVybCk7CisgICAgICAgIHByZWZlcmVuY2VzLT5z
ZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKHRvQlNUUihwZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRM
b2NhdGlvbi5nZXQoKSkpOwogICAgICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlclN0eWxlU2hlZXRF
bmFibGVkKFRSVUUpOwogICAgIH0gZWxzZQogICAgICAgICBwcmVmZXJlbmNlcy0+c2V0VXNlclN0
eWxlU2hlZXRFbmFibGVkKEZBTFNFKTsKQEAgLTkxMiwxMiArOTMwLDExIEBAIHN0YXRpYyB2b2lk
IHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3QKICAgICBzZXRBbHdheXNBY2NlcHRDb29raWVz
KGZhbHNlKTsKIH0KIAotc3RhdGljIGJvb2wgYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUo
c3RkOjpzdHJpbmcga2V5LCBib29sIGRlZmF1bHRWYWx1ZSwgY29uc3QgV1RSOjpUZXN0T3B0aW9u
cyYgb3B0aW9ucykKK3N0YXRpYyBib29sIGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKHN0
ZDo6c3RyaW5nIGtleSwgY29uc3QgV1RSOjpUZXN0T3B0aW9ucyYgb3B0aW9ucykKIHsKICAgICBh
dXRvIGl0ID0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkuZmluZChrZXkpOwot
ICAgIGlmIChpdCAhPSBvcHRpb25zLmJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZXMoKS5lbmQoKSkK
LSAgICAgICAgcmV0dXJuIGl0LT5zZWNvbmQ7Ci0gICAgcmV0dXJuIGRlZmF1bHRWYWx1ZTsKKyAg
ICBBU1NFUlQoaXQgIT0gb3B0aW9ucy5ib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVzKCkuZW5kKCkp
OworICAgIHJldHVybiBpdC0+c2Vjb25kOwogfQogCiBzdGF0aWMgdm9pZCBzZXRXZWJQcmVmZXJl
bmNlc0ZvclRlc3RPcHRpb25zKElXZWJQcmVmZXJlbmNlcyogcHJlZmVyZW5jZXMsIGNvbnN0IFdU
Ujo6VGVzdE9wdGlvbnMmIG9wdGlvbnMpCkBAIC05MjYsMTggKzk0MywxMCBAQCBzdGF0aWMgdm9p
ZCBzZXRXZWJQcmVmZXJlbmNlc0ZvclRlc3RPcHRpCiAKICAgICBwcmVmZXJlbmNlcy0+c2V0UHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZChvcHRpb25zLnVzZUVwaGVtZXJhbFNlc3Npb24oKSk7CiAKLSAg
ICBwcmVmZXJlbmNlcy0+c2V0VXNlc1BhZ2VDYWNoZShib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVW
YWx1ZSgiVXNlc0JhY2tGb3J3YXJkQ2FjaGUiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZz
UHJpdmF0ZS0+c2V0TWVudUl0ZW1FbGVtZW50RW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1
cmVWYWx1ZSgiTWVudUl0ZW1FbGVtZW50RW5hYmxlZCIsIGZhbHNlLCBvcHRpb25zKSk7Ci0gICAg
cHJlZnNQcml2YXRlLT5zZXRLZXlnZW5FbGVtZW50RW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZl
YXR1cmVWYWx1ZSgiS2V5Z2VuRWxlbWVudEVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAg
IHByZWZzUHJpdmF0ZS0+c2V0TW9kZXJuTWVkaWFDb250cm9sc0VuYWJsZWQoYm9vbFdlYlByZWZl
cmVuY2VGZWF0dXJlVmFsdWUoIk1vZGVybk1lZGlhQ29udHJvbHNFbmFibGVkIiwgdHJ1ZSwgb3B0
aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0SW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZChi
b29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiSW5zcGVjdG9yQWRkaXRpb25zRW5hYmxlZCIs
IGZhbHNlLCBvcHRpb25zKSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRSZXF1ZXN0SWRsZUNhbGxi
YWNrRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiUmVxdWVzdElkbGVDYWxs
YmFja0VuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0ZS0+c2V0QXN5
bmNDbGlwYm9hcmRBUElFbmFibGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJBc3lu
Y0NsaXBib2FyZEFQSUVuYWJsZWQiLCBmYWxzZSwgb3B0aW9ucykpOwotICAgIHByZWZzUHJpdmF0
ZS0+c2V0Q29udGFjdFBpY2tlckFQSUVuYWJsZWQoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFs
dWUoIkNvbnRhY3RQaWNrZXJBUElFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVm
c1ByaXZhdGUtPnNldEFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMoYm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlVmFsdWUoIkFsbG93VG9wTmF2aWdhdGlvblRvRGF0YVVSTHMiLCB0cnVlLCBvcHRp
b25zKSk7Ci0gICAgcHJlZnNQcml2YXRlLT5zZXRDU1NPTVZpZXdTbW9vdGhTY3JvbGxpbmdFbmFi
bGVkKGJvb2xXZWJQcmVmZXJlbmNlRmVhdHVyZVZhbHVlKCJDU1NPTVZpZXdTbW9vdGhTY3JvbGxp
bmdFbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmc1ByaXZhdGUtPnNldFNwYXRp
YWxOYXZpZ2F0aW9uRW5hYmxlZChib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZSgiU3BhdGlh
bE5hdmlnYXRpb25FbmFibGVkIiwgZmFsc2UsIG9wdGlvbnMpKTsKLSAgICBwcmVmZXJlbmNlcy0+
c2V0VGFic1RvTGlua3MoYm9vbFdlYlByZWZlcmVuY2VGZWF0dXJlVmFsdWUoIlRhYnNUb0xpbmtz
IiwgZmFsc2UsIG9wdGlvbnMpKTsKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB0aGVy
ZSBpcyBhIHZpYWJsZSBtZWNoYW5pc20gZm9yIHJlc2V0aW5nIFdlYlByZWZlcmVuY2VzIGJldHdl
ZW4gdGVzdHMsCisgICAgLy8gYXQgd2hpY2ggcG9pbnQsIHdlIHdpbGwgbm90IG5lZWQgdG8gbWFu
dWFsbHkgcmVzZXQgZXZlcnkgc3VwcG9ydGVkIHByZWZlcmVuY2UgZm9yIGVhY2ggdGVzdC4KKyAg
ICBmb3IgKGNvbnN0IGF1dG8mIGtleSA6IG9wdGlvbnMuc3VwcG9ydGVkQm9vbFdlYlByZWZlcmVu
Y2VGZWF0dXJlcygpKQorICAgICAgICBwcmVmc1ByaXZhdGUtPnNldEJvb2xQcmVmZXJlbmNlRm9y
VGVzdGluZyh0b0JTVFIoV1RSOjpUZXN0T3B0aW9uczo6dG9XZWJLaXRMZWdhY3lQcmVmZXJlbmNl
S2V5KGtleSkpLCBib29sV2ViUHJlZmVyZW5jZUZlYXR1cmVWYWx1ZShrZXksIG9wdGlvbnMpKTsK
IH0KIAogc3RhdGljIFN0cmluZyBhcHBsaWNhdGlvbklkKCkKQEAgLTExOTUsNDkgKzEyMDQsMzQg
QEAgc3RhdGljIHZvaWQgcnVuVGVzdChjb25zdCBzdHJpbmcmIGlucHV0TAogCiAgICAgc3RhdGlj
IF9ic3RyX3QgbWV0aG9kQlN0cihURVhUKCJHRVQiKSk7CiAKLSAgICBDRlN0cmluZ1JlZiBzdHIg
PSBDRlN0cmluZ0NyZWF0ZVdpdGhDU3RyaW5nKDAsIHBhdGhPclVSTC5jX3N0cigpLCBrQ0ZTdHJp
bmdFbmNvZGluZ1dpbmRvd3NMYXRpbjEpOworICAgIGF1dG8gc3RyID0gYWRvcHRDRihDRlN0cmlu
Z0NyZWF0ZVdpdGhDU3RyaW5nKDAsIHBhdGhPclVSTC5jX3N0cigpLCBrQ0ZTdHJpbmdFbmNvZGlu
Z1dpbmRvd3NMYXRpbjEpKTsKICAgICBpZiAoIXN0cikgewogICAgICAgICBmcHJpbnRmKHN0ZGVy
ciwgIkZhaWxlZCB0byBwYXJzZSBcIiVzXCIgYXMgVVRGLThcbiIsIHBhdGhPclVSTC5jX3N0cigp
KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIENGVVJMUmVmIHVybCA9IENGVVJMQ3Jl
YXRlV2l0aFN0cmluZygwLCBzdHIsIDApOwotCisgICAgYXV0byB1cmwgPSBhZG9wdENGKENGVVJM
Q3JlYXRlV2l0aFN0cmluZygwLCBzdHIuZ2V0KCksIDApKTsKICAgICBpZiAoIXVybCkKLSAgICAg
ICAgdXJsID0gQ0ZVUkxDcmVhdGVXaXRoRmlsZVN5c3RlbVBhdGgoMCwgc3RyLCBrQ0ZVUkxXaW5k
b3dzUGF0aFN0eWxlLCBmYWxzZSk7Ci0KLSAgICBDRlJlbGVhc2Uoc3RyKTsKKyAgICAgICAgdXJs
ID0gYWRvcHRDRihDRlVSTENyZWF0ZVdpdGhGaWxlU3lzdGVtUGF0aCgwLCBzdHIuZ2V0KCksIGtD
RlVSTFdpbmRvd3NQYXRoU3R5bGUsIGZhbHNlKSk7CiAKICAgICBpZiAoIXVybCkgewogICAgICAg
ICBmcHJpbnRmKHN0ZGVyciwgIkZhaWxlZCB0byBwYXJzZSBcIiVzXCIgYXMgYSBVUkxcbiIsIHBh
dGhPclVSTC5jX3N0cigpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIFN0cmluZyBo
b3N0TmFtZSA9IFN0cmluZyhhZG9wdENGKENGVVJMQ29weUhvc3ROYW1lKHVybCkpLmdldCgpKTsK
LQorICAgIFN0cmluZyBob3N0TmFtZSA9IFN0cmluZyhhZG9wdENGKENGVVJMQ29weUhvc3ROYW1l
KHVybC5nZXQoKSkpLmdldCgpKTsKICAgICBTdHJpbmcgZmFsbGJhY2tQYXRoID0gZmluZEZvbnRG
YWxsYmFjayhwYXRoT3JVUkwuY19zdHIoKSk7CiAKLSAgICBzdHIgPSBDRlVSTEdldFN0cmluZyh1
cmwpOwotCi0gICAgQ0ZJbmRleCBsZW5ndGggPSBDRlN0cmluZ0dldExlbmd0aChzdHIpOwotCi0g
ICAgVmVjdG9yPFVuaUNoYXI+IGJ1ZmZlcihsZW5ndGggKyAxLCAwKTsKLSAgICBDRlN0cmluZ0dl
dENoYXJhY3RlcnMoc3RyLCBDRlJhbmdlTWFrZSgwLCBsZW5ndGgpLCBidWZmZXIuZGF0YSgpKTsK
LQotICAgIF9ic3RyX3QgdXJsQlN0cihyZWludGVycHJldF9jYXN0PHdjaGFyX3QqPihidWZmZXIu
ZGF0YSgpKSk7Ci0gICAgQVNTRVJUKHVybEJTdHIubGVuZ3RoKCkgPT0gbGVuZ3RoKTsKLQotICAg
IENGSW5kZXggbWF4aW11bVVSTExlbmd0aEFzVVRGOCA9IENGU3RyaW5nR2V0TWF4aW11bVNpemVG
b3JFbmNvZGluZyhsZW5ndGgsIGtDRlN0cmluZ0VuY29kaW5nVVRGOCkgKyAxOwotICAgIFZlY3Rv
cjxjaGFyPiB0ZXN0VVJMKG1heGltdW1VUkxMZW5ndGhBc1VURjggKyAxLCAwKTsKLSAgICBDRlN0
cmluZ0dldENTdHJpbmcoc3RyLCB0ZXN0VVJMLmRhdGEoKSwgbWF4aW11bVVSTExlbmd0aEFzVVRG
OCwga0NGU3RyaW5nRW5jb2RpbmdVVEY4KTsKKyAgICBhdXRvIHVybENGU3RyaW5nID0gQ0ZVUkxH
ZXRTdHJpbmcodXJsLmdldCgpKTsKIAotICAgIENGUmVsZWFzZSh1cmwpOworICAgIGF1dG8gdXJs
QlN0ciA9IHRvQlNUUih1cmxDRlN0cmluZyk7CisgICAgQVNTRVJUKHVybEJTdHIubGVuZ3RoKCkg
PT0gQ0ZTdHJpbmdHZXRMZW5ndGgodXJsQ0ZTdHJpbmcpKTsKIAogICAgIGF1dG8gb3B0aW9ucyA9
IHRlc3RPcHRpb25zRm9yVGVzdChjb21tYW5kKTsKIAogICAgIHJlc2V0V2ViVmlld1RvQ29uc2lz
dGVudFN0YXRlQmVmb3JlVGVzdGluZyhvcHRpb25zKTsKIAotICAgIDo6Z1Rlc3RSdW5uZXIgPSBU
ZXN0UnVubmVyOjpjcmVhdGUodGVzdFVSTC5kYXRhKCksIGNvbW1hbmQuZXhwZWN0ZWRQaXhlbEhh
c2gpOworICAgIDo6Z1Rlc3RSdW5uZXIgPSBUZXN0UnVubmVyOjpjcmVhdGUodG9VVEY4KHVybENG
U3RyaW5nKSwgY29tbWFuZC5leHBlY3RlZFBpeGVsSGFzaCk7CiAgICAgOjpnVGVzdFJ1bm5lci0+
c2V0Q3VzdG9tVGltZW91dChjb21tYW5kLnRpbWVvdXQubWlsbGlzZWNvbmRzKCkpOwogICAgIDo6
Z1Rlc3RSdW5uZXItPnNldER1bXBKU0NvbnNvbGVMb2dJblN0ZEVycihjb21tYW5kLmR1bXBKU0Nv
bnNvbGVMb2dJblN0ZEVyciB8fCBvcHRpb25zLmR1bXBKU0NvbnNvbGVMb2dJblN0ZEVycigpKTsK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>