<?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>226383</bug_id>
          
          <creation_ts>2021-05-28 11:29:47 -0700</creation_ts>
          <short_desc>Adopt Reveal for phone numbers</short_desc>
          <delta_ts>2021-06-14 13:26:02 -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>Platform</component>
          <version>WebKit Local 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="Dana Estra">dana.estra</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>akeerthi</cc>
    
    <cc>bdakin</cc>
    
    <cc>hi</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1764841</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-05-28 11:29:47 -0700</bug_when>
    <thetext>rdar://78482517</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764842</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-28 11:30:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/78626007&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764857</commentid>
    <comment_count>2</comment_count>
      <attachid>430034</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-05-28 11:42:13 -0700</bug_when>
    <thetext>Created attachment 430034
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764866</commentid>
    <comment_count>3</comment_count>
      <attachid>430034</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-05-28 11:53:23 -0700</bug_when>
    <thetext>Comment on attachment 430034
Patch

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

&gt; Source/WebKit/ChangeLog:8
&gt; +        Covered by existing tests.

I don&apos;t think we have tests for this :)

You can explain how you manually tested instead.

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:109
&gt; +
&gt; +

Remove this whitespace.

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:119
&gt; +    auto viewForPresenter = [[NSView alloc] init];

These should all use `adoptNS()` to avoid leaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764881</commentid>
    <comment_count>4</comment_count>
      <attachid>430034</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-05-28 12:25:46 -0700</bug_when>
    <thetext>Comment on attachment 430034
Patch

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

It looks like we&apos;ll need to add a declaration for `-initWithURL:rangeInContext:` in PAL&apos;s RevealSPI.h as well, to fix the non-internal macOS build.

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:112
&gt;      if (!DataDetectorsLibrary())

It&apos;s probably a good idea to change this to `!PAL::isRevealFrameworkAvailable() || !PAL::isRevealCoreFrameworkAvailable()` instead, since the new code uses Reveal instead of DataDetectors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764924</commentid>
    <comment_count>5</comment_count>
      <attachid>430051</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-05-28 14:24:13 -0700</bug_when>
    <thetext>Created attachment 430051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764972</commentid>
    <comment_count>6</comment_count>
      <attachid>430063</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-05-28 15:46:18 -0700</bug_when>
    <thetext>Created attachment 430063
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765013</commentid>
    <comment_count>7</comment_count>
      <attachid>430063</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-05-28 16:51:34 -0700</bug_when>
    <thetext>Comment on attachment 430063
Patch

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

&gt; Source/WebKit/ChangeLog:3
&gt; +        Adopted reveal for phone numbers

Nit: &quot;Adopt reveal for phone numbers&quot;.

&gt; Source/WebKit/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=226383

You can include the radar URL below this line.

&gt; Source/WebKit/ChangeLog:6
&gt; +        Reviewed by Aditya Keerthi and Wenson Hsieh.

This should be left as NOBODY (OOPS!), until you&apos;ve received an &quot;r+&quot;.

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:121
&gt; +    auto context = adoptNS([PAL::allocRVPresentingContextInstance() initWithPointerLocationInView:NSZeroPoint inView:(NSView *)viewForPresenter highlightDelegate:(id&lt;RVPresenterHighlightDelegate&gt;)delegate]);

This should be `viewForPresenter.get()` and `delegate.get()`, not casted.

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:122
&gt; +    NSArray *proposedMenuItems = [presenter menuItemsForItem:(RVItem *)item documentContext:nil presentingContext:(RVPresentingContext *)context options:nil];

`.get()` instead of casting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765017</commentid>
    <comment_count>8</comment_count>
      <attachid>430063</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-05-28 16:56:26 -0700</bug_when>
    <thetext>Comment on attachment 430063
Patch

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

&gt;&gt; Source/WebKit/ChangeLog:3
&gt;&gt; +        Adopted reveal for phone numbers
&gt; 
&gt; Nit: &quot;Adopt reveal for phone numbers&quot;.

also probably capital-R Reveal since it is the name of a framework.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765650</commentid>
    <comment_count>9</comment_count>
      <attachid>430273</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-01 09:54:52 -0700</bug_when>
    <thetext>Created attachment 430273
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765697</commentid>
    <comment_count>10</comment_count>
      <attachid>430273</attachid>
    <who name="Aditya Keerthi">akeerthi</who>
    <bug_when>2021-06-01 11:53:24 -0700</bug_when>
    <thetext>Comment on attachment 430273
Patch

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

Looks good overall! Perhaps Wenson or Tim can r+.

&gt; Source/WebCore/PAL/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=226383

Nit: Missing radar.

&gt; Source/WebKit/ChangeLog:3
&gt; +        Adopted Reveal for phone numbers

Nit: &quot;Adopt&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765706</commentid>
    <comment_count>11</comment_count>
      <attachid>430281</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-01 12:34:48 -0700</bug_when>
    <thetext>Created attachment 430281
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765723</commentid>
    <comment_count>12</comment_count>
      <attachid>430284</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-01 13:14:26 -0700</bug_when>
    <thetext>Created attachment 430284
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765740</commentid>
    <comment_count>13</comment_count>
      <attachid>430284</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-01 13:57:37 -0700</bug_when>
    <thetext>Comment on attachment 430284
Patch

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

&gt; Source/WebKit/Platform/mac/MenuUtilities.mm:121
&gt; +    auto context = adoptNS([PAL::allocRVPresentingContextInstance() initWithPointerLocationInView:NSZeroPoint inView:viewForPresenter.get() highlightDelegate:delegate.get()]);

I wonder if we should ask Reveal folks (separately from this bug) for API that doesn&apos;t take a view/point (or, if we do so and they tell us why that&apos;s a bad idea, we&apos;ll understand why faking it like this is bad).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765741</commentid>
    <comment_count>14</comment_count>
      <attachid>430284</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-06-01 13:58:10 -0700</bug_when>
    <thetext>Comment on attachment 430284
Patch

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

&gt; Source/WebKit/ChangeLog:9
&gt; +        Manually tested by selecting text containing phone numbers in Safari and viewing dropdown menu.

Some more words about the /motivation/ would be good</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765771</commentid>
    <comment_count>15</comment_count>
      <attachid>430292</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-01 14:53:59 -0700</bug_when>
    <thetext>Created attachment 430292
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1765799</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-01 15:36:21 -0700</bug_when>
    <thetext>Committed r278330 (238363@main): &lt;https://commits.webkit.org/238363@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430292.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769518</commentid>
    <comment_count>17</comment_count>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-14 13:09:56 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769519</commentid>
    <comment_count>18</comment_count>
      <attachid>431358</attachid>
    <who name="Dana Estra">dana.estra</who>
    <bug_when>2021-06-14 13:09:58 -0700</bug_when>
    <thetext>Created attachment 431358
Patch</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430034</attachid>
            <date>2021-05-28 11:42:13 -0700</date>
            <delta_ts>2021-05-28 14:24:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210528144212.patch</filename>
            <type>text/plain</type>
            <size>3475</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2OTVkNjY5ZThkMGUyNWI2
NTUwY2UyYzFlNzI4NDVkYWM2Y2I5MjUuLmFkNDhkZGJjMjBlMmM5YzFlOGM5YjkwMjcxOWI5MWQw
YTgzMGJlMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDUtMjggIERhbmEgRXN0
cmEgIDxkZXN0cmFAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0ZWQgcmV2ZWFsIGZvciBwaG9u
ZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjYzODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogUGxhdGZvcm0vbWFjL01l
bnVVdGlsaXRpZXMubW06CisgICAgICAgICgtW1dLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHREZWxl
Z2F0ZSByZXZlYWxDb250ZXh0OnJlY3RzRm9ySXRlbTpdKToKKyAgICAgICAgKFdlYktpdDo6bWVu
dUZvclRlbGVwaG9uZU51bWJlcik6CisKIDIwMjEtMDUtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgTmV0d29y
a0RhdGFUYXNrOjpzZXRQcmlvcml0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9tYWMvTWVudVV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVV
dGlsaXRpZXMubW0KaW5kZXggMTJmNWQyMmE2OTA5ZTdlZTkzOGY3ZmQ5YzI2ZGY3ZTY3NzFjZDEz
ZC4uOTVjN2IxMDIyNDY4MTg5MTk5YWVkYTkwMDU5MzJhMjVkNmU0ZjI5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTWVudVV0aWxpdGllcy5oIgorI2ltcG9ydCA8
cGFsL2NvY29hL1JldmVhbFNvZnRMaW5rLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTQw
LDYgKzQxLDE4IEBAIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChUZWxlcGhv
bnlVdGlsaXRpZXMpCiBTT0ZUX0xJTktfQ0xBU1MoVGVsZXBob255VXRpbGl0aWVzLCBUVUNhbGwp
CiAjZW5kaWYKIAorQGludGVyZmFjZSBXS0VtcHR5UHJlc2VudGVySGlnaGxpZ2h0RGVsZWdhdGUg
OiBOU09iamVjdCA8UlZQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIFdLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZQorCistIChOU0FycmF5
IDxOU1ZhbHVlICo+ICopcmV2ZWFsQ29udGV4dDooUlZQcmVzZW50aW5nQ29udGV4dCAqKWNvbnRl
eHQgcmVjdHNGb3JJdGVtOihSVkl0ZW0gKilpdGVtCit7CisgICAgcmV0dXJuIEBbIF07Cit9CisK
K0BlbmQKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pCkBAIC05Miw2ICsxMDUsOCBAQCBOU01lbnVJdGVtICptZW51SXRlbUZvclRl
bGVwaG9uZU51bWJlcihjb25zdCBTdHJpbmcmIHRlbGVwaG9uZU51bWJlcikKICAgICByZXR1cm4g
bmlsOwogfQogCisKKwogUmV0YWluUHRyPE5TTWVudT4gbWVudUZvclRlbGVwaG9uZU51bWJlcihj
b25zdCBTdHJpbmcmIHRlbGVwaG9uZU51bWJlcikKIHsKICAgICBpZiAoIURhdGFEZXRlY3RvcnNM
aWJyYXJ5KCkpCkBAIC0xMDAsMTEgKzExNSwxNyBAQCBSZXRhaW5QdHI8TlNNZW51PiBtZW51Rm9y
VGVsZXBob25lTnVtYmVyKGNvbnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyKQogICAgIFJldGFp
blB0cjxOU01lbnU+IG1lbnUgPSBhZG9wdE5TKFtbTlNNZW51IGFsbG9jXSBpbml0XSk7CiAgICAg
TlNNdXRhYmxlQXJyYXkgKmZhY2VUaW1lSXRlbXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwog
ICAgIE5TTWVudUl0ZW0gKmRpYWxJdGVtID0gbmlsOwotCi0gICAgUmV0YWluUHRyPEREQWN0aW9u
Q29udGV4dD4gYWN0aW9uQ29udGV4dCA9IGFkb3B0TlMoW2FsbG9jRERBY3Rpb25Db250ZXh0SW5z
dGFuY2UoKSBpbml0XSk7Ci0gICAgW2FjdGlvbkNvbnRleHQgc2V0QWxsb3dlZEFjdGlvblVUSXM6
QFsgQCJjb20uYXBwbGUuZGlhbCIsIEAiY29tLmFwcGxlLmZhY2V0aW1lIiwgQCJjb20uYXBwbGUu
ZmFjZXRpbWVhdWRpbyIgXV07Ci0KLSAgICBOU0FycmF5ICpwcm9wb3NlZE1lbnVJdGVtcyA9IFtb
Z2V0RERBY3Rpb25zTWFuYWdlckNsYXNzKCkgc2hhcmVkTWFuYWdlcl0gbWVudUl0ZW1zRm9yVmFs
dWU6KE5TU3RyaW5nICopdGVsZXBob25lTnVtYmVyIHR5cGU6Z2V0RERCaW5kZXJQaG9uZU51bWJl
cktleSgpIHNlcnZpY2U6bmlsIGNvbnRleHQ6YWN0aW9uQ29udGV4dC5nZXQoKV07CisgICAgCisg
ICAgYXV0byB2aWV3Rm9yUHJlc2VudGVyID0gW1tOU1ZpZXcgYWxsb2NdIGluaXRdOworICAgIGF1
dG8gdXJsQ29tcG9uZW50cyA9IFtbTlNVUkxDb21wb25lbnRzIGFsbG9jXSBpbml0XTsKKyAgICBb
dXJsQ29tcG9uZW50cyBzZXRTY2hlbWU6QCJ0ZWwiXTsKKyAgICBbdXJsQ29tcG9uZW50cyBzZXRQ
YXRoOnRlbGVwaG9uZU51bWJlcl07CisgICAgYXV0byBpdGVtID0gW1BBTDo6YWxsb2NSVkl0ZW1J
bnN0YW5jZSgpIGluaXRXaXRoVVJMOlt1cmxDb21wb25lbnRzIFVSTF0gcmFuZ2VJbkNvbnRleHQ6
TlNNYWtlUmFuZ2UoMCwgdGVsZXBob25lTnVtYmVyLmxlbmd0aCgpKV07CisgICAgYXV0byBwcmVz
ZW50ZXIgPSBbUEFMOjphbGxvY1JWUHJlc2VudGVySW5zdGFuY2UoKSBpbml0XTsKKyAgICBhdXRv
IGRlbGVnYXRlID0gW1tXS0VtcHR5UHJlc2VudGVySGlnaGxpZ2h0RGVsZWdhdGUgYWxsb2NdIGlu
aXRdOworICAgIGF1dG8gY29udGV4dCA9IFtQQUw6OmFsbG9jUlZQcmVzZW50aW5nQ29udGV4dElu
c3RhbmNlKCkgaW5pdFdpdGhQb2ludGVyTG9jYXRpb25JblZpZXc6TlNaZXJvUG9pbnQgaW5WaWV3
OnZpZXdGb3JQcmVzZW50ZXIgaGlnaGxpZ2h0RGVsZWdhdGU6ZGVsZWdhdGVdOworICAgIE5TQXJy
YXkgKnByb3Bvc2VkTWVudUl0ZW1zID0gW3ByZXNlbnRlciBtZW51SXRlbXNGb3JJdGVtOml0ZW0g
ZG9jdW1lbnRDb250ZXh0Om5pbCBwcmVzZW50aW5nQ29udGV4dDpjb250ZXh0IG9wdGlvbnM6bmls
XTsKKyAgICAKICAgICBmb3IgKE5TTWVudUl0ZW0gKml0ZW0gaW4gcHJvcG9zZWRNZW51SXRlbXMp
IHsKICAgICAgICAgYXV0byBhY3Rpb24gPSBhY3Rpb25Gb3JNZW51SXRlbShpdGVtKTsKICAgICAg
ICAgaWYgKFthY3Rpb24uYWN0aW9uVVRJIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5kaWFsIl0pCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430051</attachid>
            <date>2021-05-28 14:24:13 -0700</date>
            <delta_ts>2021-05-28 15:46:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210528172412.patch</filename>
            <type>text/plain</type>
            <size>4169</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2OTVkNjY5ZThkMGUyNWI2
NTUwY2UyYzFlNzI4NDVkYWM2Y2I5MjUuLjMyYjViYmI2ZjljYTYwNmQ4ZGZkZmJhYWNlNmFiMjM3
MmNhMGFiNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDUtMjggIERhbmEgRXN0
cmEgIDxkZXN0cmFAYXBwbGUuY29tPgorCisgICAgICAgIEFkb3B0ZWQgcmV2ZWFsIGZvciBwaG9u
ZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjYzODMKKworICAgICAgICBSZXZpZXdlZCBieSBBZGl0eWEgS2VlcnRoaSBhbmQgV2Vuc29u
IEhzaWVoLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZCBieSBzZWxlY3RpbmcgdGV4dCBjb250
YWluaW5nIHBob25lIG51bWJlcnMgaW4gU2FmYXJpIGFuZCB2aWV3aW5nIGRyb3Bkb3duIG1lbnUu
CisKKyAgICAgICAgKiBQbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5tbToKKyAgICAgICAgKC1b
V0tFbXB0eVByZXNlbnRlckhpZ2hsaWdodERlbGVnYXRlIHJldmVhbENvbnRleHQ6cmVjdHNGb3JJ
dGVtOl0pOgorICAgICAgICAoV2ViS2l0OjptZW51Rm9yVGVsZXBob25lTnVtYmVyKToKKwogMjAy
MS0wNS0yOCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1NPVVBdIEltcGxlbWVudCBOZXR3b3JrRGF0YVRhc2s6OnNldFByaW9yaXR5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5tbQppbmRleCAxMmY1ZDIyYTY5
MDllN2VlOTM4ZjdmZDljMjZkZjdlNjc3MWNkMTNkLi5hOTYyOGE0ZGFlYzA1NWMxMTc4NzRhMzIy
ZTY0ZTRiMmVjMzk2YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9N
ZW51VXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVVdGls
aXRpZXMubW0KQEAgLTI1LDYgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJNZW51VXRpbGl0aWVzLmgiCisjaW1wb3J0IDxwYWwvY29jb2EvUmV2ZWFsU29mdExpbmsuaD4K
IAogI2lmIFBMQVRGT1JNKE1BQykKIApAQCAtNDAsNiArNDEsMTggQEAgU09GVF9MSU5LX1BSSVZB
VEVfRlJBTUVXT1JLX09QVElPTkFMKFRlbGVwaG9ueVV0aWxpdGllcykKIFNPRlRfTElOS19DTEFT
UyhUZWxlcGhvbnlVdGlsaXRpZXMsIFRVQ2FsbCkKICNlbmRpZgogCitAaW50ZXJmYWNlIFdLRW1w
dHlQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZSA6IE5TT2JqZWN0IDxSVlByZXNlbnRlckhpZ2hs
aWdodERlbGVnYXRlPgorQGVuZAorCitAaW1wbGVtZW50YXRpb24gV0tFbXB0eVByZXNlbnRlckhp
Z2hsaWdodERlbGVnYXRlCisKKy0gKE5TQXJyYXkgPE5TVmFsdWUgKj4gKilyZXZlYWxDb250ZXh0
OihSVlByZXNlbnRpbmdDb250ZXh0ICopY29udGV4dCByZWN0c0Zvckl0ZW06KFJWSXRlbSAqKWl0
ZW0KK3sKKyAgICByZXR1cm4gQFsgXTsKK30KKworQGVuZAorCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikKQEAgLTk0LDM0ICsxMDcs
MjEgQEAgTlNNZW51SXRlbSAqbWVudUl0ZW1Gb3JUZWxlcGhvbmVOdW1iZXIoY29uc3QgU3RyaW5n
JiB0ZWxlcGhvbmVOdW1iZXIpCiAKIFJldGFpblB0cjxOU01lbnU+IG1lbnVGb3JUZWxlcGhvbmVO
dW1iZXIoY29uc3QgU3RyaW5nJiB0ZWxlcGhvbmVOdW1iZXIpCiB7Ci0gICAgaWYgKCFEYXRhRGV0
ZWN0b3JzTGlicmFyeSgpKQorICAgIGlmICghUEFMOjppc1JldmVhbEZyYW1ld29ya0F2YWlsYWJs
ZSgpIHx8ICFQQUw6OmlzUmV2ZWFsQ29yZUZyYW1ld29ya0F2YWlsYWJsZSgpKQogICAgICAgICBy
ZXR1cm4gbmlsOwogCiAgICAgUmV0YWluUHRyPE5TTWVudT4gbWVudSA9IGFkb3B0TlMoW1tOU01l
bnUgYWxsb2NdIGluaXRdKTsKLSAgICBOU011dGFibGVBcnJheSAqZmFjZVRpbWVJdGVtcyA9IFtO
U011dGFibGVBcnJheSBhcnJheV07Ci0gICAgTlNNZW51SXRlbSAqZGlhbEl0ZW0gPSBuaWw7Ci0K
LSAgICBSZXRhaW5QdHI8RERBY3Rpb25Db250ZXh0PiBhY3Rpb25Db250ZXh0ID0gYWRvcHROUyhb
YWxsb2NEREFjdGlvbkNvbnRleHRJbnN0YW5jZSgpIGluaXRdKTsKLSAgICBbYWN0aW9uQ29udGV4
dCBzZXRBbGxvd2VkQWN0aW9uVVRJczpAWyBAImNvbS5hcHBsZS5kaWFsIiwgQCJjb20uYXBwbGUu
ZmFjZXRpbWUiLCBAImNvbS5hcHBsZS5mYWNldGltZWF1ZGlvIiBdXTsKLQotICAgIE5TQXJyYXkg
KnByb3Bvc2VkTWVudUl0ZW1zID0gW1tnZXREREFjdGlvbnNNYW5hZ2VyQ2xhc3MoKSBzaGFyZWRN
YW5hZ2VyXSBtZW51SXRlbXNGb3JWYWx1ZTooTlNTdHJpbmcgKil0ZWxlcGhvbmVOdW1iZXIgdHlw
ZTpnZXREREJpbmRlclBob25lTnVtYmVyS2V5KCkgc2VydmljZTpuaWwgY29udGV4dDphY3Rpb25D
b250ZXh0LmdldCgpXTsKLSAgICBmb3IgKE5TTWVudUl0ZW0gKml0ZW0gaW4gcHJvcG9zZWRNZW51
SXRlbXMpIHsKLSAgICAgICAgYXV0byBhY3Rpb24gPSBhY3Rpb25Gb3JNZW51SXRlbShpdGVtKTsK
LSAgICAgICAgaWYgKFthY3Rpb24uYWN0aW9uVVRJIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5kaWFs
Il0pCi0gICAgICAgICAgICBkaWFsSXRlbSA9IGl0ZW07Ci0gICAgICAgIGVsc2UgaWYgKFthY3Rp
b24uYWN0aW9uVVRJIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5mYWNldGltZSJdKQotICAgICAgICAg
ICAgW2ZhY2VUaW1lSXRlbXMgYWRkT2JqZWN0Oml0ZW1dOwotICAgIH0KLQotICAgIGlmIChkaWFs
SXRlbSkKLSAgICAgICAgW21lbnUgYWRkSXRlbTpkaWFsSXRlbV07Ci0KLSAgICBpZiAoZmFjZVRp
bWVJdGVtcy5jb3VudCkgewotICAgICAgICBpZiAoW21lbnUgbnVtYmVyT2ZJdGVtc10pCi0gICAg
ICAgICAgICBbbWVudSBhZGRJdGVtOltOU01lbnVJdGVtIHNlcGFyYXRvckl0ZW1dXTsKLSAgICAg
ICAgZm9yIChOU01lbnVJdGVtICppdGVtIGluIGZhY2VUaW1lSXRlbXMpCi0gICAgICAgICAgICBb
bWVudSBhZGRJdGVtOml0ZW1dOwotICAgIH0KKyAgICBhdXRvIHZpZXdGb3JQcmVzZW50ZXIgPSBh
ZG9wdE5TKFtbTlNWaWV3IGFsbG9jXSBpbml0XSk7CisgICAgYXV0byB1cmxDb21wb25lbnRzID0g
YWRvcHROUyhbW05TVVJMQ29tcG9uZW50cyBhbGxvY10gaW5pdF0pOworICAgIFt1cmxDb21wb25l
bnRzIHNldFNjaGVtZTpAInRlbCJdOworICAgIFt1cmxDb21wb25lbnRzIHNldFBhdGg6dGVsZXBo
b25lTnVtYmVyXTsKKyAgICBhdXRvIGl0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUlZJdGVtSW5z
dGFuY2UoKSBpbml0V2l0aFVSTDpbdXJsQ29tcG9uZW50cyBVUkxdIHJhbmdlSW5Db250ZXh0Ok5T
TWFrZVJhbmdlKDAsIHRlbGVwaG9uZU51bWJlci5sZW5ndGgoKSldKTsKKyAgICBhdXRvIHByZXNl
bnRlciA9IGFkb3B0TlMoW1BBTDo6YWxsb2NSVlByZXNlbnRlckluc3RhbmNlKCkgaW5pdF0pOwor
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbV0tFbXB0eVByZXNlbnRlckhpZ2hsaWdodERl
bGVnYXRlIGFsbG9jXSBpbml0XSk7CisgICAgYXV0byBjb250ZXh0ID0gYWRvcHROUyhbUEFMOjph
bGxvY1JWUHJlc2VudGluZ0NvbnRleHRJbnN0YW5jZSgpIGluaXRXaXRoUG9pbnRlckxvY2F0aW9u
SW5WaWV3Ok5TWmVyb1BvaW50IGluVmlldzooTlNWaWV3ICopdmlld0ZvclByZXNlbnRlciBoaWdo
bGlnaHREZWxlZ2F0ZTooaWQ8UlZQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZT4pZGVsZWdhdGVd
KTsKKyAgICBOU0FycmF5ICpwcm9wb3NlZE1lbnVJdGVtcyA9IFtwcmVzZW50ZXIgbWVudUl0ZW1z
Rm9ySXRlbTooUlZJdGVtICopaXRlbSBkb2N1bWVudENvbnRleHQ6bmlsIHByZXNlbnRpbmdDb250
ZXh0OihSVlByZXNlbnRpbmdDb250ZXh0ICopY29udGV4dCBvcHRpb25zOm5pbF07CisgICAgCisg
ICAgW21lbnUgc2V0SXRlbUFycmF5OnByb3Bvc2VkTWVudUl0ZW1zXTsKIAogICAgIHJldHVybiBt
ZW51OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430063</attachid>
            <date>2021-05-28 15:46:18 -0700</date>
            <delta_ts>2021-06-01 09:54:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210528184617.patch</filename>
            <type>text/plain</type>
            <size>5508</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0NjNmMDUx
YTRlYjk1MDk5NDE2YTFhNWEwZTRmZjJjMWE4MmQwMjM5Li5hNzQ5NzFmNzllZmVmZTg4MGRjOWIx
YmMxYWIwOTY2OTAxYWIzZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wNS0yOCAgRGFuYSBFc3RyYSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRv
cHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvUmV2ZWFsU1BJLmg6CisKIDIwMjEt
MDUtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBTaG93IGNvbnRleHQgbWVudSB3aGVuIGNsaWNraW5nIG9uIGRhdGEgZGV0ZWN0aW9u
IHJlc3VsdHMgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTY5NWQ2NjllOGQwZTI1YjY1
NTBjZTJjMWU3Mjg0NWRhYzZjYjkyNS4uMzJiNWJiYjZmOWNhNjA2ZDhkZmRmYmFhY2U2YWIyMzcy
Y2EwYWI3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wNS0yOCAgRGFuYSBFc3Ry
YSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHRlZCByZXZlYWwgZm9yIHBob25l
IG51bWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNjM4MworCisgICAgICAgIFJldmlld2VkIGJ5IEFkaXR5YSBLZWVydGhpIGFuZCBXZW5zb24g
SHNpZWguCisKKyAgICAgICAgTWFudWFsbHkgdGVzdGVkIGJ5IHNlbGVjdGluZyB0ZXh0IGNvbnRh
aW5pbmcgcGhvbmUgbnVtYmVycyBpbiBTYWZhcmkgYW5kIHZpZXdpbmcgZHJvcGRvd24gbWVudS4K
KworICAgICAgICAqIFBsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tOgorICAgICAgICAoLVtX
S0VtcHR5UHJlc2VudGVySGlnaGxpZ2h0RGVsZWdhdGUgcmV2ZWFsQ29udGV4dDpyZWN0c0Zvckl0
ZW06XSk6CisgICAgICAgIChXZWJLaXQ6Om1lbnVGb3JUZWxlcGhvbmVOdW1iZXIpOgorCiAyMDIx
LTA1LTI4ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbU09VUF0gSW1wbGVtZW50IE5ldHdvcmtEYXRhVGFzazo6c2V0UHJpb3JpdHkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1JldmVhbFNQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUmV2ZWFsU1BJLmgKaW5kZXggNDAwYWJkZmVk
OTY5NGUzOThiMGYyOTZhZWU2ZGFhMjc3ZTFmZjU2MS4uM2Y4NGExM2FkODllN2JlMWZjZjIyZTg5
YTc1NDMxM2JhMGJlNTNjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvUmV2ZWFsU1BJLmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2Ev
UmV2ZWFsU1BJLmgKQEAgLTQ5LDYgKzQ5LDcgQEAKIEBpbnRlcmZhY2UgUlZJdGVtIDogTlNPYmpl
Y3QgPE5TU2VjdXJlQ29kaW5nPgogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVGV4dDooTlNTdHJp
bmcgKil0ZXh0IHNlbGVjdGVkUmFuZ2U6KE5TUmFuZ2Upc2VsZWN0ZWRSYW5nZSBOU19ERVNJR05B
VEVEX0lOSVRJQUxJWkVSOwogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRERSZXN1bHQ6KEREU2Nh
bm5lclJlc3VsdCAqKXJlc3VsdCBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoaW5zdGFu
Y2V0eXBlKWluaXRXaXRoVVJMOihOU1VSTCAqKXVybCByYW5nZUluQ29udGV4dDooTlNSYW5nZSly
YW5nZUluQ29udGV4dDsKIEBwcm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNSYW5nZSBo
aWdobGlnaHRSYW5nZTsKIEBlbmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9tYWMvTWVudVV0aWxpdGllcy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVV
dGlsaXRpZXMubW0KaW5kZXggMTJmNWQyMmE2OTA5ZTdlZTkzOGY3ZmQ5YzI2ZGY3ZTY3NzFjZDEz
ZC4uYTk2MjhhNGRhZWMwNTVjMTE3ODc0YTMyMmU2NGU0YjJlYzM5NmE5OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTWVudVV0aWxpdGllcy5oIgorI2ltcG9ydCA8
cGFsL2NvY29hL1JldmVhbFNvZnRMaW5rLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTQw
LDYgKzQxLDE4IEBAIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChUZWxlcGhv
bnlVdGlsaXRpZXMpCiBTT0ZUX0xJTktfQ0xBU1MoVGVsZXBob255VXRpbGl0aWVzLCBUVUNhbGwp
CiAjZW5kaWYKIAorQGludGVyZmFjZSBXS0VtcHR5UHJlc2VudGVySGlnaGxpZ2h0RGVsZWdhdGUg
OiBOU09iamVjdCA8UlZQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxl
bWVudGF0aW9uIFdLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZQorCistIChOU0FycmF5
IDxOU1ZhbHVlICo+ICopcmV2ZWFsQ29udGV4dDooUlZQcmVzZW50aW5nQ29udGV4dCAqKWNvbnRl
eHQgcmVjdHNGb3JJdGVtOihSVkl0ZW0gKilpdGVtCit7CisgICAgcmV0dXJuIEBbIF07Cit9CisK
K0BlbmQKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pCkBAIC05NCwzNCArMTA3LDIxIEBAIE5TTWVudUl0ZW0gKm1lbnVJdGVtRm9y
VGVsZXBob25lTnVtYmVyKGNvbnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyKQogCiBSZXRhaW5Q
dHI8TlNNZW51PiBtZW51Rm9yVGVsZXBob25lTnVtYmVyKGNvbnN0IFN0cmluZyYgdGVsZXBob25l
TnVtYmVyKQogewotICAgIGlmICghRGF0YURldGVjdG9yc0xpYnJhcnkoKSkKKyAgICBpZiAoIVBB
TDo6aXNSZXZlYWxGcmFtZXdvcmtBdmFpbGFibGUoKSB8fCAhUEFMOjppc1JldmVhbENvcmVGcmFt
ZXdvcmtBdmFpbGFibGUoKSkKICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIFJldGFpblB0cjxO
U01lbnU+IG1lbnUgPSBhZG9wdE5TKFtbTlNNZW51IGFsbG9jXSBpbml0XSk7Ci0gICAgTlNNdXRh
YmxlQXJyYXkgKmZhY2VUaW1lSXRlbXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwotICAgIE5T
TWVudUl0ZW0gKmRpYWxJdGVtID0gbmlsOwotCi0gICAgUmV0YWluUHRyPEREQWN0aW9uQ29udGV4
dD4gYWN0aW9uQ29udGV4dCA9IGFkb3B0TlMoW2FsbG9jRERBY3Rpb25Db250ZXh0SW5zdGFuY2Uo
KSBpbml0XSk7Ci0gICAgW2FjdGlvbkNvbnRleHQgc2V0QWxsb3dlZEFjdGlvblVUSXM6QFsgQCJj
b20uYXBwbGUuZGlhbCIsIEAiY29tLmFwcGxlLmZhY2V0aW1lIiwgQCJjb20uYXBwbGUuZmFjZXRp
bWVhdWRpbyIgXV07Ci0KLSAgICBOU0FycmF5ICpwcm9wb3NlZE1lbnVJdGVtcyA9IFtbZ2V0RERB
Y3Rpb25zTWFuYWdlckNsYXNzKCkgc2hhcmVkTWFuYWdlcl0gbWVudUl0ZW1zRm9yVmFsdWU6KE5T
U3RyaW5nICopdGVsZXBob25lTnVtYmVyIHR5cGU6Z2V0RERCaW5kZXJQaG9uZU51bWJlcktleSgp
IHNlcnZpY2U6bmlsIGNvbnRleHQ6YWN0aW9uQ29udGV4dC5nZXQoKV07Ci0gICAgZm9yIChOU01l
bnVJdGVtICppdGVtIGluIHByb3Bvc2VkTWVudUl0ZW1zKSB7Ci0gICAgICAgIGF1dG8gYWN0aW9u
ID0gYWN0aW9uRm9yTWVudUl0ZW0oaXRlbSk7Ci0gICAgICAgIGlmIChbYWN0aW9uLmFjdGlvblVU
SSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuZGlhbCJdKQotICAgICAgICAgICAgZGlhbEl0ZW0gPSBp
dGVtOwotICAgICAgICBlbHNlIGlmIChbYWN0aW9uLmFjdGlvblVUSSBoYXNQcmVmaXg6QCJjb20u
YXBwbGUuZmFjZXRpbWUiXSkKLSAgICAgICAgICAgIFtmYWNlVGltZUl0ZW1zIGFkZE9iamVjdDpp
dGVtXTsKLSAgICB9Ci0KLSAgICBpZiAoZGlhbEl0ZW0pCi0gICAgICAgIFttZW51IGFkZEl0ZW06
ZGlhbEl0ZW1dOwotCi0gICAgaWYgKGZhY2VUaW1lSXRlbXMuY291bnQpIHsKLSAgICAgICAgaWYg
KFttZW51IG51bWJlck9mSXRlbXNdKQotICAgICAgICAgICAgW21lbnUgYWRkSXRlbTpbTlNNZW51
SXRlbSBzZXBhcmF0b3JJdGVtXV07Ci0gICAgICAgIGZvciAoTlNNZW51SXRlbSAqaXRlbSBpbiBm
YWNlVGltZUl0ZW1zKQotICAgICAgICAgICAgW21lbnUgYWRkSXRlbTppdGVtXTsKLSAgICB9Cisg
ICAgYXV0byB2aWV3Rm9yUHJlc2VudGVyID0gYWRvcHROUyhbW05TVmlldyBhbGxvY10gaW5pdF0p
OworICAgIGF1dG8gdXJsQ29tcG9uZW50cyA9IGFkb3B0TlMoW1tOU1VSTENvbXBvbmVudHMgYWxs
b2NdIGluaXRdKTsKKyAgICBbdXJsQ29tcG9uZW50cyBzZXRTY2hlbWU6QCJ0ZWwiXTsKKyAgICBb
dXJsQ29tcG9uZW50cyBzZXRQYXRoOnRlbGVwaG9uZU51bWJlcl07CisgICAgYXV0byBpdGVtID0g
YWRvcHROUyhbUEFMOjphbGxvY1JWSXRlbUluc3RhbmNlKCkgaW5pdFdpdGhVUkw6W3VybENvbXBv
bmVudHMgVVJMXSByYW5nZUluQ29udGV4dDpOU01ha2VSYW5nZSgwLCB0ZWxlcGhvbmVOdW1iZXIu
bGVuZ3RoKCkpXSk7CisgICAgYXV0byBwcmVzZW50ZXIgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUlZQ
cmVzZW50ZXJJbnN0YW5jZSgpIGluaXRdKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhb
W1dLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIGF1
dG8gY29udGV4dCA9IGFkb3B0TlMoW1BBTDo6YWxsb2NSVlByZXNlbnRpbmdDb250ZXh0SW5zdGFu
Y2UoKSBpbml0V2l0aFBvaW50ZXJMb2NhdGlvbkluVmlldzpOU1plcm9Qb2ludCBpblZpZXc6KE5T
VmlldyAqKXZpZXdGb3JQcmVzZW50ZXIgaGlnaGxpZ2h0RGVsZWdhdGU6KGlkPFJWUHJlc2VudGVy
SGlnaGxpZ2h0RGVsZWdhdGU+KWRlbGVnYXRlXSk7CisgICAgTlNBcnJheSAqcHJvcG9zZWRNZW51
SXRlbXMgPSBbcHJlc2VudGVyIG1lbnVJdGVtc0Zvckl0ZW06KFJWSXRlbSAqKWl0ZW0gZG9jdW1l
bnRDb250ZXh0Om5pbCBwcmVzZW50aW5nQ29udGV4dDooUlZQcmVzZW50aW5nQ29udGV4dCAqKWNv
bnRleHQgb3B0aW9uczpuaWxdOworICAgIAorICAgIFttZW51IHNldEl0ZW1BcnJheTpwcm9wb3Nl
ZE1lbnVJdGVtc107CiAKICAgICByZXR1cm4gbWVudTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430273</attachid>
            <date>2021-06-01 09:54:52 -0700</date>
            <delta_ts>2021-06-01 12:34:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210601125451.patch</filename>
            <type>text/plain</type>
            <size>5463</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0NjNmMDUx
YTRlYjk1MDk5NDE2YTFhNWEwZTRmZjJjMWE4MmQwMjM5Li5hNzQ5NzFmNzllZmVmZTg4MGRjOWIx
YmMxYWIwOTY2OTAxYWIzZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAor
MjAyMS0wNS0yOCAgRGFuYSBFc3RyYSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRv
cHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIHBhbC9zcGkvY29jb2EvUmV2ZWFsU1BJLmg6CisKIDIwMjEt
MDUtMjcgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBTaG93IGNvbnRleHQgbWVudSB3aGVuIGNsaWNraW5nIG9uIGRhdGEgZGV0ZWN0aW9u
IHJlc3VsdHMgaW4gaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZTY5NWQ2NjllOGQwZTI1YjY1
NTBjZTJjMWU3Mjg0NWRhYzZjYjkyNS4uMWE1YTliZTBhMDFjYzIwODY4ZGRhYzYzM2I4ZGE0YWQy
MGE3MTY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMS0wNS0yOCAgRGFuYSBFc3Ry
YSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRvcHRlZCBSZXZlYWwgZm9yIHBob25l
IG51bWJlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIyNjM4MworICAgICAgICByZGFyOi8vNzg0ODI1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQgYnkgc2VsZWN0aW5nIHRl
eHQgY29udGFpbmluZyBwaG9uZSBudW1iZXJzIGluIFNhZmFyaSBhbmQgdmlld2luZyBkcm9wZG93
biBtZW51LgorCisgICAgICAgICogUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW06CisgICAg
ICAgICgtW1dLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZSByZXZlYWxDb250ZXh0OnJl
Y3RzRm9ySXRlbTpdKToKKyAgICAgICAgKFdlYktpdDo6bWVudUZvclRlbGVwaG9uZU51bWJlcik6
CisKIDIwMjEtMDUtMjggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtTT1VQXSBJbXBsZW1lbnQgTmV0d29ya0RhdGFUYXNrOjpzZXRQcmlvcml0
eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUmV2ZWFsU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9SZXZlYWxTUEkuaAppbmRleCA0
MDBhYmRmZWQ5Njk0ZTM5OGIwZjI5NmFlZTZkYWEyNzdlMWZmNTYxLi4zZjg0YTEzYWQ4OWU3YmUx
ZmNmMjJlODlhNzU0MzEzYmEwYmU1M2M5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9jb2NvYS9SZXZlYWxTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3Nw
aS9jb2NvYS9SZXZlYWxTUEkuaApAQCAtNDksNiArNDksNyBAQAogQGludGVyZmFjZSBSVkl0ZW0g
OiBOU09iamVjdCA8TlNTZWN1cmVDb2Rpbmc+CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhUZXh0
OihOU1N0cmluZyAqKXRleHQgc2VsZWN0ZWRSYW5nZTooTlNSYW5nZSlzZWxlY3RlZFJhbmdlIE5T
X0RFU0lHTkFURURfSU5JVElBTElaRVI7CiAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhERFJlc3Vs
dDooRERTY2FubmVyUmVzdWx0ICopcmVzdWx0IE5TX0RFU0lHTkFURURfSU5JVElBTElaRVI7Cist
IChpbnN0YW5jZXR5cGUpaW5pdFdpdGhVUkw6KE5TVVJMICopdXJsIHJhbmdlSW5Db250ZXh0OihO
U1JhbmdlKXJhbmdlSW5Db250ZXh0OwogQHByb3BlcnR5IChyZWFkb25seSwgbm9uYXRvbWljKSBO
U1JhbmdlIGhpZ2hsaWdodFJhbmdlOwogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9t
YWMvTWVudVV0aWxpdGllcy5tbQppbmRleCAxMmY1ZDIyYTY5MDllN2VlOTM4ZjdmZDljMjZkZjdl
Njc3MWNkMTNkLi45N2YwZTlkMDM4MTFjNmU2NGViMWFiYTYwMjA2MTE0OWI1NGMzZjNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KQEAgLTI1LDYgKzI1
LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJNZW51VXRpbGl0aWVzLmgiCisj
aW1wb3J0IDxwYWwvY29jb2EvUmV2ZWFsU29mdExpbmsuaD4KIAogI2lmIFBMQVRGT1JNKE1BQykK
IApAQCAtNDAsNiArNDEsMTggQEAgU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFM
KFRlbGVwaG9ueVV0aWxpdGllcykKIFNPRlRfTElOS19DTEFTUyhUZWxlcGhvbnlVdGlsaXRpZXMs
IFRVQ2FsbCkKICNlbmRpZgogCitAaW50ZXJmYWNlIFdLRW1wdHlQcmVzZW50ZXJIaWdobGlnaHRE
ZWxlZ2F0ZSA6IE5TT2JqZWN0IDxSVlByZXNlbnRlckhpZ2hsaWdodERlbGVnYXRlPgorQGVuZAor
CitAaW1wbGVtZW50YXRpb24gV0tFbXB0eVByZXNlbnRlckhpZ2hsaWdodERlbGVnYXRlCisKKy0g
KE5TQXJyYXkgPE5TVmFsdWUgKj4gKilyZXZlYWxDb250ZXh0OihSVlByZXNlbnRpbmdDb250ZXh0
ICopY29udGV4dCByZWN0c0Zvckl0ZW06KFJWSXRlbSAqKWl0ZW0KK3sKKyAgICByZXR1cm4gQFsg
XTsKK30KKworQGVuZAorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShURUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikKQEAgLTk0LDM0ICsxMDcsMjEgQEAgTlNNZW51SXRlbSAqbWVu
dUl0ZW1Gb3JUZWxlcGhvbmVOdW1iZXIoY29uc3QgU3RyaW5nJiB0ZWxlcGhvbmVOdW1iZXIpCiAK
IFJldGFpblB0cjxOU01lbnU+IG1lbnVGb3JUZWxlcGhvbmVOdW1iZXIoY29uc3QgU3RyaW5nJiB0
ZWxlcGhvbmVOdW1iZXIpCiB7Ci0gICAgaWYgKCFEYXRhRGV0ZWN0b3JzTGlicmFyeSgpKQorICAg
IGlmICghUEFMOjppc1JldmVhbEZyYW1ld29ya0F2YWlsYWJsZSgpIHx8ICFQQUw6OmlzUmV2ZWFs
Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpKQogICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgUmV0
YWluUHRyPE5TTWVudT4gbWVudSA9IGFkb3B0TlMoW1tOU01lbnUgYWxsb2NdIGluaXRdKTsKLSAg
ICBOU011dGFibGVBcnJheSAqZmFjZVRpbWVJdGVtcyA9IFtOU011dGFibGVBcnJheSBhcnJheV07
Ci0gICAgTlNNZW51SXRlbSAqZGlhbEl0ZW0gPSBuaWw7Ci0KLSAgICBSZXRhaW5QdHI8RERBY3Rp
b25Db250ZXh0PiBhY3Rpb25Db250ZXh0ID0gYWRvcHROUyhbYWxsb2NEREFjdGlvbkNvbnRleHRJ
bnN0YW5jZSgpIGluaXRdKTsKLSAgICBbYWN0aW9uQ29udGV4dCBzZXRBbGxvd2VkQWN0aW9uVVRJ
czpAWyBAImNvbS5hcHBsZS5kaWFsIiwgQCJjb20uYXBwbGUuZmFjZXRpbWUiLCBAImNvbS5hcHBs
ZS5mYWNldGltZWF1ZGlvIiBdXTsKLQotICAgIE5TQXJyYXkgKnByb3Bvc2VkTWVudUl0ZW1zID0g
W1tnZXREREFjdGlvbnNNYW5hZ2VyQ2xhc3MoKSBzaGFyZWRNYW5hZ2VyXSBtZW51SXRlbXNGb3JW
YWx1ZTooTlNTdHJpbmcgKil0ZWxlcGhvbmVOdW1iZXIgdHlwZTpnZXREREJpbmRlclBob25lTnVt
YmVyS2V5KCkgc2VydmljZTpuaWwgY29udGV4dDphY3Rpb25Db250ZXh0LmdldCgpXTsKLSAgICBm
b3IgKE5TTWVudUl0ZW0gKml0ZW0gaW4gcHJvcG9zZWRNZW51SXRlbXMpIHsKLSAgICAgICAgYXV0
byBhY3Rpb24gPSBhY3Rpb25Gb3JNZW51SXRlbShpdGVtKTsKLSAgICAgICAgaWYgKFthY3Rpb24u
YWN0aW9uVVRJIGhhc1ByZWZpeDpAImNvbS5hcHBsZS5kaWFsIl0pCi0gICAgICAgICAgICBkaWFs
SXRlbSA9IGl0ZW07Ci0gICAgICAgIGVsc2UgaWYgKFthY3Rpb24uYWN0aW9uVVRJIGhhc1ByZWZp
eDpAImNvbS5hcHBsZS5mYWNldGltZSJdKQotICAgICAgICAgICAgW2ZhY2VUaW1lSXRlbXMgYWRk
T2JqZWN0Oml0ZW1dOwotICAgIH0KLQotICAgIGlmIChkaWFsSXRlbSkKLSAgICAgICAgW21lbnUg
YWRkSXRlbTpkaWFsSXRlbV07Ci0KLSAgICBpZiAoZmFjZVRpbWVJdGVtcy5jb3VudCkgewotICAg
ICAgICBpZiAoW21lbnUgbnVtYmVyT2ZJdGVtc10pCi0gICAgICAgICAgICBbbWVudSBhZGRJdGVt
OltOU01lbnVJdGVtIHNlcGFyYXRvckl0ZW1dXTsKLSAgICAgICAgZm9yIChOU01lbnVJdGVtICpp
dGVtIGluIGZhY2VUaW1lSXRlbXMpCi0gICAgICAgICAgICBbbWVudSBhZGRJdGVtOml0ZW1dOwot
ICAgIH0KKyAgICBhdXRvIHZpZXdGb3JQcmVzZW50ZXIgPSBhZG9wdE5TKFtbTlNWaWV3IGFsbG9j
XSBpbml0XSk7CisgICAgYXV0byB1cmxDb21wb25lbnRzID0gYWRvcHROUyhbW05TVVJMQ29tcG9u
ZW50cyBhbGxvY10gaW5pdF0pOworICAgIFt1cmxDb21wb25lbnRzIHNldFNjaGVtZTpAInRlbCJd
OworICAgIFt1cmxDb21wb25lbnRzIHNldFBhdGg6dGVsZXBob25lTnVtYmVyXTsKKyAgICBhdXRv
IGl0ZW0gPSBhZG9wdE5TKFtQQUw6OmFsbG9jUlZJdGVtSW5zdGFuY2UoKSBpbml0V2l0aFVSTDpb
dXJsQ29tcG9uZW50cyBVUkxdIHJhbmdlSW5Db250ZXh0Ok5TTWFrZVJhbmdlKDAsIHRlbGVwaG9u
ZU51bWJlci5sZW5ndGgoKSldKTsKKyAgICBhdXRvIHByZXNlbnRlciA9IGFkb3B0TlMoW1BBTDo6
YWxsb2NSVlByZXNlbnRlckluc3RhbmNlKCkgaW5pdF0pOworICAgIGF1dG8gZGVsZWdhdGUgPSBh
ZG9wdE5TKFtbV0tFbXB0eVByZXNlbnRlckhpZ2hsaWdodERlbGVnYXRlIGFsbG9jXSBpbml0XSk7
CisgICAgYXV0byBjb250ZXh0ID0gYWRvcHROUyhbUEFMOjphbGxvY1JWUHJlc2VudGluZ0NvbnRl
eHRJbnN0YW5jZSgpIGluaXRXaXRoUG9pbnRlckxvY2F0aW9uSW5WaWV3Ok5TWmVyb1BvaW50IGlu
Vmlldzp2aWV3Rm9yUHJlc2VudGVyLmdldCgpIGhpZ2hsaWdodERlbGVnYXRlOmRlbGVnYXRlLmdl
dCgpXSk7CisgICAgTlNBcnJheSAqcHJvcG9zZWRNZW51SXRlbXMgPSBbcHJlc2VudGVyIG1lbnVJ
dGVtc0Zvckl0ZW06aXRlbS5nZXQoKSBkb2N1bWVudENvbnRleHQ6bmlsIHByZXNlbnRpbmdDb250
ZXh0OmNvbnRleHQuZ2V0KCkgb3B0aW9uczpuaWxdOworICAgIAorICAgIFttZW51IHNldEl0ZW1B
cnJheTpwcm9wb3NlZE1lbnVJdGVtc107CiAKICAgICByZXR1cm4gbWVudTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430281</attachid>
            <date>2021-06-01 12:34:48 -0700</date>
            <delta_ts>2021-06-01 13:14:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210601153446.patch</filename>
            <type>text/plain</type>
            <size>941</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBhNzQ5NzFm
NzllZmVmZTg4MGRjOWIxYmMxYWIwOTY2OTAxYWIzZDYwLi4xY2IxYTJlNTE0MzA5M2IxOTA2YjVm
Y2EyMDIwMWNlMDU5ODRhNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTIsNyArMiw4IEBACiAK
ICAgICAgICAgQWRvcHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKLQorICAgICAgICByZGFyOi8v
Nzg0ODI1MTcKKyAgICAgICAgCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgog
CiAgICAgICAgICogcGFsL3NwaS9jb2NvYS9SZXZlYWxTUEkuaDoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMWE1YTli
ZTBhMDFjYzIwODY4ZGRhYzYzM2I4ZGE0YWQyMGE3MTY5YS4uOGU1MDE4ZDM3NjA3MWFlNGE5MGVm
YjI2MmZkN2Y3NjUzMTI2N2ExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsNiArMSw2IEBACiAyMDIxLTA1LTI4
ICBEYW5hIEVzdHJhICA8ZGVzdHJhQGFwcGxlLmNvbT4KIAotICAgICAgICBBZG9wdGVkIFJldmVh
bCBmb3IgcGhvbmUgbnVtYmVycworICAgICAgICBBZG9wdCBSZXZlYWwgZm9yIHBob25lIG51bWJl
cnMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM4
MwogICAgICAgICByZGFyOi8vNzg0ODI1MTcKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430284</attachid>
            <date>2021-06-01 13:14:26 -0700</date>
            <delta_ts>2021-06-01 14:53:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210601161425.patch</filename>
            <type>text/plain</type>
            <size>5494</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0NjNmMDUx
YTRlYjk1MDk5NDE2YTFhNWEwZTRmZjJjMWE4MmQwMjM5Li4xY2IxYTJlNTE0MzA5M2IxOTA2YjVm
Y2EyMDIwMWNlMDU5ODRhNzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMS0wNS0yOCAgRGFuYSBFc3RyYSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRv
cHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKyAgICAgICAgcmRhcjovLzc4NDgyNTE3CisgICAg
ICAgIAorICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBh
bC9zcGkvY29jb2EvUmV2ZWFsU1BJLmg6CisKIDIwMjEtMDUtMjcgIFdlbnNvbiBIc2llaCAgPHdl
bnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW21hY09TXSBTaG93IGNvbnRleHQgbWVu
dSB3aGVuIGNsaWNraW5nIG9uIGRhdGEgZGV0ZWN0aW9uIHJlc3VsdHMgaW4gaW1hZ2Ugb3Zlcmxh
eXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKaW5kZXggZTY5NWQ2NjllOGQwZTI1YjY1NTBjZTJjMWU3Mjg0NWRhYzZjYjkyNS4u
OGU1MDE4ZDM3NjA3MWFlNGE5MGVmYjI2MmZkN2Y3NjUzMTI2N2ExMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMS0wNS0yOCAgRGFuYSBFc3RyYSAgPGRlc3RyYUBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRvcHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKyAgICAgICAgcmRhcjovLzc4
NDgyNTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TWFudWFsbHkgdGVzdGVkIGJ5IHNlbGVjdGluZyB0ZXh0IGNvbnRhaW5pbmcgcGhvbmUgbnVtYmVy
cyBpbiBTYWZhcmkgYW5kIHZpZXdpbmcgZHJvcGRvd24gbWVudS4KKworICAgICAgICAqIFBsYXRm
b3JtL21hYy9NZW51VXRpbGl0aWVzLm1tOgorICAgICAgICAoLVtXS0VtcHR5UHJlc2VudGVySGln
aGxpZ2h0RGVsZWdhdGUgcmV2ZWFsQ29udGV4dDpyZWN0c0Zvckl0ZW06XSk6CisgICAgICAgIChX
ZWJLaXQ6Om1lbnVGb3JUZWxlcGhvbmVOdW1iZXIpOgorCiAyMDIxLTA1LTI4ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU09VUF0gSW1wbGVt
ZW50IE5ldHdvcmtEYXRhVGFzazo6c2V0UHJpb3JpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL2NvY29hL1JldmVhbFNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9zcGkvY29jb2EvUmV2ZWFsU1BJLmgKaW5kZXggNDAwYWJkZmVkOTY5NGUzOThiMGYyOTZhZWU2
ZGFhMjc3ZTFmZjU2MS4uM2Y4NGExM2FkODllN2JlMWZjZjIyZTg5YTc1NDMxM2JhMGJlNTNjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUmV2ZWFsU1BJLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUmV2ZWFsU1BJLmgKQEAgLTQ5
LDYgKzQ5LDcgQEAKIEBpbnRlcmZhY2UgUlZJdGVtIDogTlNPYmplY3QgPE5TU2VjdXJlQ29kaW5n
PgogLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVGV4dDooTlNTdHJpbmcgKil0ZXh0IHNlbGVjdGVk
UmFuZ2U6KE5TUmFuZ2Upc2VsZWN0ZWRSYW5nZSBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOwog
LSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoRERSZXN1bHQ6KEREU2Nhbm5lclJlc3VsdCAqKXJlc3Vs
dCBOU19ERVNJR05BVEVEX0lOSVRJQUxJWkVSOworLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoVVJM
OihOU1VSTCAqKXVybCByYW5nZUluQ29udGV4dDooTlNSYW5nZSlyYW5nZUluQ29udGV4dDsKIEBw
cm9wZXJ0eSAocmVhZG9ubHksIG5vbmF0b21pYykgTlNSYW5nZSBoaWdobGlnaHRSYW5nZTsKIEBl
bmQKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGll
cy5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KaW5kZXgg
MTJmNWQyMmE2OTA5ZTdlZTkzOGY3ZmQ5YzI2ZGY3ZTY3NzFjZDEzZC4uOTdmMGU5ZDAzODExYzZl
NjRlYjFhYmE2MDIwNjExNDliNTRjM2YzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21h
Yy9NZW51VXRpbGl0aWVzLm1tCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5o
IgogI2ltcG9ydCAiTWVudVV0aWxpdGllcy5oIgorI2ltcG9ydCA8cGFsL2NvY29hL1JldmVhbFNv
ZnRMaW5rLmg+CiAKICNpZiBQTEFURk9STShNQUMpCiAKQEAgLTQwLDYgKzQxLDE4IEBAIFNPRlRf
TElOS19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChUZWxlcGhvbnlVdGlsaXRpZXMpCiBTT0ZU
X0xJTktfQ0xBU1MoVGVsZXBob255VXRpbGl0aWVzLCBUVUNhbGwpCiAjZW5kaWYKIAorQGludGVy
ZmFjZSBXS0VtcHR5UHJlc2VudGVySGlnaGxpZ2h0RGVsZWdhdGUgOiBOU09iamVjdCA8UlZQcmVz
ZW50ZXJIaWdobGlnaHREZWxlZ2F0ZT4KK0BlbmQKKworQGltcGxlbWVudGF0aW9uIFdLRW1wdHlQ
cmVzZW50ZXJIaWdobGlnaHREZWxlZ2F0ZQorCistIChOU0FycmF5IDxOU1ZhbHVlICo+ICopcmV2
ZWFsQ29udGV4dDooUlZQcmVzZW50aW5nQ29udGV4dCAqKWNvbnRleHQgcmVjdHNGb3JJdGVtOihS
Vkl0ZW0gKilpdGVtCit7CisgICAgcmV0dXJuIEBbIF07Cit9CisKK0BlbmQKKwogbmFtZXNwYWNl
IFdlYktpdCB7CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pCkBAIC05
NCwzNCArMTA3LDIxIEBAIE5TTWVudUl0ZW0gKm1lbnVJdGVtRm9yVGVsZXBob25lTnVtYmVyKGNv
bnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyKQogCiBSZXRhaW5QdHI8TlNNZW51PiBtZW51Rm9y
VGVsZXBob25lTnVtYmVyKGNvbnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyKQogewotICAgIGlm
ICghRGF0YURldGVjdG9yc0xpYnJhcnkoKSkKKyAgICBpZiAoIVBBTDo6aXNSZXZlYWxGcmFtZXdv
cmtBdmFpbGFibGUoKSB8fCAhUEFMOjppc1JldmVhbENvcmVGcmFtZXdvcmtBdmFpbGFibGUoKSkK
ICAgICAgICAgcmV0dXJuIG5pbDsKIAogICAgIFJldGFpblB0cjxOU01lbnU+IG1lbnUgPSBhZG9w
dE5TKFtbTlNNZW51IGFsbG9jXSBpbml0XSk7Ci0gICAgTlNNdXRhYmxlQXJyYXkgKmZhY2VUaW1l
SXRlbXMgPSBbTlNNdXRhYmxlQXJyYXkgYXJyYXldOwotICAgIE5TTWVudUl0ZW0gKmRpYWxJdGVt
ID0gbmlsOwotCi0gICAgUmV0YWluUHRyPEREQWN0aW9uQ29udGV4dD4gYWN0aW9uQ29udGV4dCA9
IGFkb3B0TlMoW2FsbG9jRERBY3Rpb25Db250ZXh0SW5zdGFuY2UoKSBpbml0XSk7Ci0gICAgW2Fj
dGlvbkNvbnRleHQgc2V0QWxsb3dlZEFjdGlvblVUSXM6QFsgQCJjb20uYXBwbGUuZGlhbCIsIEAi
Y29tLmFwcGxlLmZhY2V0aW1lIiwgQCJjb20uYXBwbGUuZmFjZXRpbWVhdWRpbyIgXV07Ci0KLSAg
ICBOU0FycmF5ICpwcm9wb3NlZE1lbnVJdGVtcyA9IFtbZ2V0RERBY3Rpb25zTWFuYWdlckNsYXNz
KCkgc2hhcmVkTWFuYWdlcl0gbWVudUl0ZW1zRm9yVmFsdWU6KE5TU3RyaW5nICopdGVsZXBob25l
TnVtYmVyIHR5cGU6Z2V0RERCaW5kZXJQaG9uZU51bWJlcktleSgpIHNlcnZpY2U6bmlsIGNvbnRl
eHQ6YWN0aW9uQ29udGV4dC5nZXQoKV07Ci0gICAgZm9yIChOU01lbnVJdGVtICppdGVtIGluIHBy
b3Bvc2VkTWVudUl0ZW1zKSB7Ci0gICAgICAgIGF1dG8gYWN0aW9uID0gYWN0aW9uRm9yTWVudUl0
ZW0oaXRlbSk7Ci0gICAgICAgIGlmIChbYWN0aW9uLmFjdGlvblVUSSBoYXNQcmVmaXg6QCJjb20u
YXBwbGUuZGlhbCJdKQotICAgICAgICAgICAgZGlhbEl0ZW0gPSBpdGVtOwotICAgICAgICBlbHNl
IGlmIChbYWN0aW9uLmFjdGlvblVUSSBoYXNQcmVmaXg6QCJjb20uYXBwbGUuZmFjZXRpbWUiXSkK
LSAgICAgICAgICAgIFtmYWNlVGltZUl0ZW1zIGFkZE9iamVjdDppdGVtXTsKLSAgICB9Ci0KLSAg
ICBpZiAoZGlhbEl0ZW0pCi0gICAgICAgIFttZW51IGFkZEl0ZW06ZGlhbEl0ZW1dOwotCi0gICAg
aWYgKGZhY2VUaW1lSXRlbXMuY291bnQpIHsKLSAgICAgICAgaWYgKFttZW51IG51bWJlck9mSXRl
bXNdKQotICAgICAgICAgICAgW21lbnUgYWRkSXRlbTpbTlNNZW51SXRlbSBzZXBhcmF0b3JJdGVt
XV07Ci0gICAgICAgIGZvciAoTlNNZW51SXRlbSAqaXRlbSBpbiBmYWNlVGltZUl0ZW1zKQotICAg
ICAgICAgICAgW21lbnUgYWRkSXRlbTppdGVtXTsKLSAgICB9CisgICAgYXV0byB2aWV3Rm9yUHJl
c2VudGVyID0gYWRvcHROUyhbW05TVmlldyBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gdXJsQ29t
cG9uZW50cyA9IGFkb3B0TlMoW1tOU1VSTENvbXBvbmVudHMgYWxsb2NdIGluaXRdKTsKKyAgICBb
dXJsQ29tcG9uZW50cyBzZXRTY2hlbWU6QCJ0ZWwiXTsKKyAgICBbdXJsQ29tcG9uZW50cyBzZXRQ
YXRoOnRlbGVwaG9uZU51bWJlcl07CisgICAgYXV0byBpdGVtID0gYWRvcHROUyhbUEFMOjphbGxv
Y1JWSXRlbUluc3RhbmNlKCkgaW5pdFdpdGhVUkw6W3VybENvbXBvbmVudHMgVVJMXSByYW5nZUlu
Q29udGV4dDpOU01ha2VSYW5nZSgwLCB0ZWxlcGhvbmVOdW1iZXIubGVuZ3RoKCkpXSk7CisgICAg
YXV0byBwcmVzZW50ZXIgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUlZQcmVzZW50ZXJJbnN0YW5jZSgp
IGluaXRdKTsKKyAgICBhdXRvIGRlbGVnYXRlID0gYWRvcHROUyhbW1dLRW1wdHlQcmVzZW50ZXJI
aWdobGlnaHREZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0
TlMoW1BBTDo6YWxsb2NSVlByZXNlbnRpbmdDb250ZXh0SW5zdGFuY2UoKSBpbml0V2l0aFBvaW50
ZXJMb2NhdGlvbkluVmlldzpOU1plcm9Qb2ludCBpblZpZXc6dmlld0ZvclByZXNlbnRlci5nZXQo
KSBoaWdobGlnaHREZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV0pOworICAgIE5TQXJyYXkgKnByb3Bv
c2VkTWVudUl0ZW1zID0gW3ByZXNlbnRlciBtZW51SXRlbXNGb3JJdGVtOml0ZW0uZ2V0KCkgZG9j
dW1lbnRDb250ZXh0Om5pbCBwcmVzZW50aW5nQ29udGV4dDpjb250ZXh0LmdldCgpIG9wdGlvbnM6
bmlsXTsKKyAgICAKKyAgICBbbWVudSBzZXRJdGVtQXJyYXk6cHJvcG9zZWRNZW51SXRlbXNdOwog
CiAgICAgcmV0dXJuIG1lbnU7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430292</attachid>
            <date>2021-06-01 14:53:59 -0700</date>
            <delta_ts>2021-06-14 13:09:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210601175358.patch</filename>
            <type>text/plain</type>
            <size>5663</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA0NjNmMDUx
YTRlYjk1MDk5NDE2YTFhNWEwZTRmZjJjMWE4MmQwMjM5Li44NDdlZTIxMTJjODMyMDJkZjBhZjA1
NzFkYTA3OGU4ZGExZjM3NGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wNS0yOCAgRGFuYSBFc3RyYSAgPGRlc3RyYUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRv
cHQgUmV2ZWFsIGZvciBwaG9uZSBudW1iZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKyAgICAgICAgcmRhcjovLzc4NDgyNTE3CisgICAg
ICAgIAorICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorICAgICAgICAKKyAgICAgICAg
QWRkIGRlY2xhcmF0aW9uIGZvciBSVkl0ZW0gbWV0aG9kIGluaXRXaXRoVVJMLgorCisgICAgICAg
ICogcGFsL3NwaS9jb2NvYS9SZXZlYWxTUEkuaDoKKwogMjAyMS0wNS0yNyAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbbWFjT1NdIFNob3cgY29udGV4
dCBtZW51IHdoZW4gY2xpY2tpbmcgb24gZGF0YSBkZXRlY3Rpb24gcmVzdWx0cyBpbiBpbWFnZSBv
dmVybGF5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBlNjk1ZDY2OWU4ZDBlMjViNjU1MGNlMmMxZTcyODQ1ZGFjNmNi
OTI1Li43MjE4YjhmY2U4Y2EwYWIwY2M2ZGM2ZWQwNWFkYjZiZDU0ZDZmMmEwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDIxLTA1LTI4ICBEYW5hIEVzdHJhICA8ZGVzdHJhQGFwcGxlLmNv
bT4KKworICAgICAgICBBZG9wdCBSZXZlYWwgZm9yIHBob25lIG51bWJlcnMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjM4MworICAgICAgICByZGFy
Oi8vNzg0ODI1MTcKKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAg
IE1hbnVhbGx5IHRlc3RlZCBieSBzZWxlY3RpbmcgdGV4dCBjb250YWluaW5nIHBob25lIG51bWJl
cnMgaW4gU2FmYXJpIGFuZCB2aWV3aW5nIGRyb3Bkb3duIG1lbnUuCisgICAgICAgIAorICAgICAg
ICBTd2l0Y2ggdG8gUmV2ZWFsIGZyYW1ld29yayB0byBzaG93IGEgZHJvcGRvd24gbWVudSBmb3Ig
dGVsZXBob25lIG51bWJlcnMgd2l0aCBtb3JlIG9wdGlvbnMuCisKKyAgICAgICAgKiBQbGF0Zm9y
bS9tYWMvTWVudVV0aWxpdGllcy5tbToKKyAgICAgICAgKC1bV0tFbXB0eVByZXNlbnRlckhpZ2hs
aWdodERlbGVnYXRlIHJldmVhbENvbnRleHQ6cmVjdHNGb3JJdGVtOl0pOgorICAgICAgICAoV2Vi
S2l0OjptZW51Rm9yVGVsZXBob25lTnVtYmVyKToKKwogMjAyMS0wNS0yOCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1NPVVBdIEltcGxlbWVu
dCBOZXR3b3JrRGF0YVRhc2s6OnNldFByaW9yaXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9jb2NvYS9SZXZlYWxTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2NvY29hL1JldmVhbFNQSS5oCmluZGV4IDQwMGFiZGZlZDk2OTRlMzk4YjBmMjk2YWVlNmRh
YTI3N2UxZmY1NjEuLjNmODRhMTNhZDg5ZTdiZTFmY2YyMmU4OWE3NTQzMTNiYTBiZTUzYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1JldmVhbFNQSS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1JldmVhbFNQSS5oCkBAIC00OSw2
ICs0OSw3IEBACiBAaW50ZXJmYWNlIFJWSXRlbSA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGluZz4K
IC0gKGluc3RhbmNldHlwZSlpbml0V2l0aFRleHQ6KE5TU3RyaW5nICopdGV4dCBzZWxlY3RlZFJh
bmdlOihOU1JhbmdlKXNlbGVjdGVkUmFuZ2UgTlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKIC0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEREUmVzdWx0OihERFNjYW5uZXJSZXN1bHQgKilyZXN1bHQg
TlNfREVTSUdOQVRFRF9JTklUSUFMSVpFUjsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aFVSTDoo
TlNVUkwgKil1cmwgcmFuZ2VJbkNvbnRleHQ6KE5TUmFuZ2UpcmFuZ2VJbkNvbnRleHQ7CiBAcHJv
cGVydHkgKHJlYWRvbmx5LCBub25hdG9taWMpIE5TUmFuZ2UgaGlnaGxpZ2h0UmFuZ2U7CiBAZW5k
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMu
bW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCmluZGV4IDEy
ZjVkMjJhNjkwOWU3ZWU5MzhmN2ZkOWMyNmRmN2U2NzcxY2QxM2QuLjk3ZjBlOWQwMzgxMWM2ZTY0
ZWIxYWJhNjAyMDYxMTQ5YjU0YzNmM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vbWFjL01lbnVVdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9tYWMv
TWVudVV0aWxpdGllcy5tbQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIk1lbnVVdGlsaXRpZXMuaCIKKyNpbXBvcnQgPHBhbC9jb2NvYS9SZXZlYWxTb2Z0
TGluay5oPgogCiAjaWYgUExBVEZPUk0oTUFDKQogCkBAIC00MCw2ICs0MSwxOCBAQCBTT0ZUX0xJ
TktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVGVsZXBob255VXRpbGl0aWVzKQogU09GVF9M
SU5LX0NMQVNTKFRlbGVwaG9ueVV0aWxpdGllcywgVFVDYWxsKQogI2VuZGlmCiAKK0BpbnRlcmZh
Y2UgV0tFbXB0eVByZXNlbnRlckhpZ2hsaWdodERlbGVnYXRlIDogTlNPYmplY3QgPFJWUHJlc2Vu
dGVySGlnaGxpZ2h0RGVsZWdhdGU+CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXS0VtcHR5UHJl
c2VudGVySGlnaGxpZ2h0RGVsZWdhdGUKKworLSAoTlNBcnJheSA8TlNWYWx1ZSAqPiAqKXJldmVh
bENvbnRleHQ6KFJWUHJlc2VudGluZ0NvbnRleHQgKiljb250ZXh0IHJlY3RzRm9ySXRlbTooUlZJ
dGVtICopaXRlbQoreworICAgIHJldHVybiBAWyBdOworfQorCitAZW5kCisKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiAjaWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKQpAQCAtOTQs
MzQgKzEwNywyMSBAQCBOU01lbnVJdGVtICptZW51SXRlbUZvclRlbGVwaG9uZU51bWJlcihjb25z
dCBTdHJpbmcmIHRlbGVwaG9uZU51bWJlcikKIAogUmV0YWluUHRyPE5TTWVudT4gbWVudUZvclRl
bGVwaG9uZU51bWJlcihjb25zdCBTdHJpbmcmIHRlbGVwaG9uZU51bWJlcikKIHsKLSAgICBpZiAo
IURhdGFEZXRlY3RvcnNMaWJyYXJ5KCkpCisgICAgaWYgKCFQQUw6OmlzUmV2ZWFsRnJhbWV3b3Jr
QXZhaWxhYmxlKCkgfHwgIVBBTDo6aXNSZXZlYWxDb3JlRnJhbWV3b3JrQXZhaWxhYmxlKCkpCiAg
ICAgICAgIHJldHVybiBuaWw7CiAKICAgICBSZXRhaW5QdHI8TlNNZW51PiBtZW51ID0gYWRvcHRO
UyhbW05TTWVudSBhbGxvY10gaW5pdF0pOwotICAgIE5TTXV0YWJsZUFycmF5ICpmYWNlVGltZUl0
ZW1zID0gW05TTXV0YWJsZUFycmF5IGFycmF5XTsKLSAgICBOU01lbnVJdGVtICpkaWFsSXRlbSA9
IG5pbDsKLQotICAgIFJldGFpblB0cjxEREFjdGlvbkNvbnRleHQ+IGFjdGlvbkNvbnRleHQgPSBh
ZG9wdE5TKFthbGxvY0REQWN0aW9uQ29udGV4dEluc3RhbmNlKCkgaW5pdF0pOwotICAgIFthY3Rp
b25Db250ZXh0IHNldEFsbG93ZWRBY3Rpb25VVElzOkBbIEAiY29tLmFwcGxlLmRpYWwiLCBAImNv
bS5hcHBsZS5mYWNldGltZSIsIEAiY29tLmFwcGxlLmZhY2V0aW1lYXVkaW8iIF1dOwotCi0gICAg
TlNBcnJheSAqcHJvcG9zZWRNZW51SXRlbXMgPSBbW2dldEREQWN0aW9uc01hbmFnZXJDbGFzcygp
IHNoYXJlZE1hbmFnZXJdIG1lbnVJdGVtc0ZvclZhbHVlOihOU1N0cmluZyAqKXRlbGVwaG9uZU51
bWJlciB0eXBlOmdldEREQmluZGVyUGhvbmVOdW1iZXJLZXkoKSBzZXJ2aWNlOm5pbCBjb250ZXh0
OmFjdGlvbkNvbnRleHQuZ2V0KCldOwotICAgIGZvciAoTlNNZW51SXRlbSAqaXRlbSBpbiBwcm9w
b3NlZE1lbnVJdGVtcykgewotICAgICAgICBhdXRvIGFjdGlvbiA9IGFjdGlvbkZvck1lbnVJdGVt
KGl0ZW0pOwotICAgICAgICBpZiAoW2FjdGlvbi5hY3Rpb25VVEkgaGFzUHJlZml4OkAiY29tLmFw
cGxlLmRpYWwiXSkKLSAgICAgICAgICAgIGRpYWxJdGVtID0gaXRlbTsKLSAgICAgICAgZWxzZSBp
ZiAoW2FjdGlvbi5hY3Rpb25VVEkgaGFzUHJlZml4OkAiY29tLmFwcGxlLmZhY2V0aW1lIl0pCi0g
ICAgICAgICAgICBbZmFjZVRpbWVJdGVtcyBhZGRPYmplY3Q6aXRlbV07Ci0gICAgfQotCi0gICAg
aWYgKGRpYWxJdGVtKQotICAgICAgICBbbWVudSBhZGRJdGVtOmRpYWxJdGVtXTsKLQotICAgIGlm
IChmYWNlVGltZUl0ZW1zLmNvdW50KSB7Ci0gICAgICAgIGlmIChbbWVudSBudW1iZXJPZkl0ZW1z
XSkKLSAgICAgICAgICAgIFttZW51IGFkZEl0ZW06W05TTWVudUl0ZW0gc2VwYXJhdG9ySXRlbV1d
OwotICAgICAgICBmb3IgKE5TTWVudUl0ZW0gKml0ZW0gaW4gZmFjZVRpbWVJdGVtcykKLSAgICAg
ICAgICAgIFttZW51IGFkZEl0ZW06aXRlbV07Ci0gICAgfQorICAgIGF1dG8gdmlld0ZvclByZXNl
bnRlciA9IGFkb3B0TlMoW1tOU1ZpZXcgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIHVybENvbXBv
bmVudHMgPSBhZG9wdE5TKFtbTlNVUkxDb21wb25lbnRzIGFsbG9jXSBpbml0XSk7CisgICAgW3Vy
bENvbXBvbmVudHMgc2V0U2NoZW1lOkAidGVsIl07CisgICAgW3VybENvbXBvbmVudHMgc2V0UGF0
aDp0ZWxlcGhvbmVOdW1iZXJdOworICAgIGF1dG8gaXRlbSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NS
Vkl0ZW1JbnN0YW5jZSgpIGluaXRXaXRoVVJMOlt1cmxDb21wb25lbnRzIFVSTF0gcmFuZ2VJbkNv
bnRleHQ6TlNNYWtlUmFuZ2UoMCwgdGVsZXBob25lTnVtYmVyLmxlbmd0aCgpKV0pOworICAgIGF1
dG8gcHJlc2VudGVyID0gYWRvcHROUyhbUEFMOjphbGxvY1JWUHJlc2VudGVySW5zdGFuY2UoKSBp
bml0XSk7CisgICAgYXV0byBkZWxlZ2F0ZSA9IGFkb3B0TlMoW1tXS0VtcHR5UHJlc2VudGVySGln
aGxpZ2h0RGVsZWdhdGUgYWxsb2NdIGluaXRdKTsKKyAgICBhdXRvIGNvbnRleHQgPSBhZG9wdE5T
KFtQQUw6OmFsbG9jUlZQcmVzZW50aW5nQ29udGV4dEluc3RhbmNlKCkgaW5pdFdpdGhQb2ludGVy
TG9jYXRpb25JblZpZXc6TlNaZXJvUG9pbnQgaW5WaWV3OnZpZXdGb3JQcmVzZW50ZXIuZ2V0KCkg
aGlnaGxpZ2h0RGVsZWdhdGU6ZGVsZWdhdGUuZ2V0KCldKTsKKyAgICBOU0FycmF5ICpwcm9wb3Nl
ZE1lbnVJdGVtcyA9IFtwcmVzZW50ZXIgbWVudUl0ZW1zRm9ySXRlbTppdGVtLmdldCgpIGRvY3Vt
ZW50Q29udGV4dDpuaWwgcHJlc2VudGluZ0NvbnRleHQ6Y29udGV4dC5nZXQoKSBvcHRpb25zOm5p
bF07CisgICAgCisgICAgW21lbnUgc2V0SXRlbUFycmF5OnByb3Bvc2VkTWVudUl0ZW1zXTsKIAog
ICAgIHJldHVybiBtZW51OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431358</attachid>
            <date>2021-06-14 13:09:58 -0700</date>
            <delta_ts>2021-06-14 13:25:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226383-20210614160956.patch</filename>
            <type>text/plain</type>
            <size>26779</size>
            <attacher name="Dana Estra">dana.estra</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTUwNjM5ZmIwMWYwMGEy
MGUwOTViZDk2OGQyZGRmZjQ0ZmFiNjNiNy4uNmI2YTRjMmI1NDM4ZjQ4ODlhMjYyMjhmYWU5ZGZi
NGI3Y2Q1MGJmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTA2LTE0ICBEYW5h
IEVzdHJhICA8ZGVzdHJhQGFwcGxlLmNvbT4KKworICAgICAgICBSZW5hdmlnYXRlIE1hY09TIGtl
eWJvYXJkIHNjcm9sbGluZyBhbmQgdXNlIEtleWJvYXJkU2Nyb2xsIHN0cnVjdAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MzgzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVuYXZpZ2F0ZSBNYWNPUyBr
ZXlib2FyZCBzY3JvbGxpbmcgYW5kIHVzZSBLZXlib2FyZFNjcm9sbCBzdHJ1Y3QKKworICAgICAg
ICBObyB0ZXN0cyB5ZXQKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6cGFyYW1ldGVycyk6CisgICAgICAgIChXZWJDb3Jl
OjpFdmVudEhhbmRsZXI6OnVuaXRWZWN0b3IpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5k
bGVyOjpTY3JvbGxEaXN0YW5jZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmRl
ZmF1bHRBcnJvd0V2ZW50SGFuZGxlcik6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuaDoK
KyAgICAgICAgKiBwYWdlL0tleWJvYXJkU2Nyb2xsLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRm
b3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbEFu
aW1hdG9yTWFjOjpzY3JvbGwpOgorCiAyMDIxLTA1LTI4ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBUcmFuc2l0aW9uIGNvbnRhaW5pbmcgYmxvY2sgZm9y
IGxvb3BzIHRvIHJhbmdlIGxvb3BzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcyMThiOGZjZThjYTBhYjBjYzZkYzZl
ZDA1YWRiNmJkNTRkNmYyYTAuLjlmNjYxMjc5Y2EzZGFhZDhmNGUwZWNhMmU4YzlmMWI3OTQ4NzBi
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMjEtMDYtMTQgIERhbmEgRXN0cmEgIDxk
ZXN0cmFAYXBwbGUuY29tPgorCisgICAgICAgIFJlbmF2aWdhdGUgTWFjT1Mga2V5Ym9hcmQgc2Ny
b2xsaW5nIGFuZCB1c2UgS2V5Ym9hcmRTY3JvbGwgc3RydWN0CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYzODMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNj
cm9sbGluZ0FuaW1hdG9yLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0tleWJvYXJkU2Ny
b2xsaW5nQW5pbWF0b3IubW06CisgICAgICAgICgtW1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRv
ciBwYXJhbWV0ZXJzXSk6CisgICAgICAgICh1bml0VmVjdG9yKToKKyAgICAgICAgKHBlcnBlbmRp
Y3VsYXJBYnNvbHV0ZVVuaXRWZWN0b3IpOgorICAgICAgICAoYm94U2lkZSk6CisgICAgICAgICgt
W1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvciBrZXlib2FyZFNjcm9sbEZvckV2ZW50Ol0pOgor
ICAgICAgICAoLVtXS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IgYmVnaW5XaXRoRXZlbnQ6XSk6
CisgICAgICAgIChmYXJ0aGVzdFBvaW50SW5EaXJlY3Rpb24pOgorICAgICAgICAoLVtXS0tleWJv
YXJkU2Nyb2xsVmlld0FuaW1hdG9yIGRpc3RhbmNlRm9ySW5jcmVtZW50OmluRGlyZWN0aW9uOl0p
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtTm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3Ip
OgorCiAyMDIxLTA1LTI4ICBEYW5hIEVzdHJhICA8ZGVzdHJhQGFwcGxlLmNvbT4KIAogICAgICAg
ICBBZG9wdCBSZXZlYWwgZm9yIHBob25lIG51bWJlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcAppbmRleCBiYjYxNzZmZTgzNThkN2M5ZGE4YWRhN2U0YjFhMmMyZDAyODg0MDc1Li4y
ZjNkMWFmMzRhMjA0MGNkMWU0MTI2N2ZlNmUwMTgwYjg5NTQ5YjAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiSW1hZ2UuaCIK
ICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJLZXlib2Fy
ZEV2ZW50LmgiCisjaW5jbHVkZSAiS2V5Ym9hcmRTY3JvbGwuaCIKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnRXaXRoSGl0
VGVzdFJlc3VsdHMuaCIKQEAgLTQyMTQsNiArNDIxNSw1MyBAQCB2b2lkIEV2ZW50SGFuZGxlcjo6
ZGVmYXVsdEJhY2tzcGFjZUV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkKICAgICAg
ICAgZXZlbnQuc2V0RGVmYXVsdEhhbmRsZWQoKTsKIH0KIAorY29uc3QgV2ViQ29yZTo6S2V5Ym9h
cmRTY3JvbGxQYXJhbWV0ZXJzJiBFdmVudEhhbmRsZXI6OnBhcmFtZXRlcnMoKQoreworICAgIHN0
YXRpYyBjb25zdCBLZXlib2FyZFNjcm9sbFBhcmFtZXRlcnMgcGFyYW1ldGVyczsKKyAgICByZXR1
cm4gcGFyYW1ldGVyczsKK30KKworRmxvYXRTaXplIEV2ZW50SGFuZGxlcjo6dW5pdFZlY3RvcihX
ZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIHN3aXRjaCAoZGly
ZWN0aW9uKSB7CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OlVwOgorICAg
ICAgICByZXR1cm4gezAsIC0xfTsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlv
bjo6RG93bjoKKyAgICAgICAgcmV0dXJuIHswLCAxfTsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9s
bGluZ0RpcmVjdGlvbjo6TGVmdDoKKyAgICAgICAgcmV0dXJuIHstMSwgMH07CisgICAgY2FzZSBX
ZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OlJpZ2h0OgorICAgICAgICByZXR1cm4gezEsIDB9
OworICAgIH0KK30KKworQ0dGbG9hdCBFdmVudEhhbmRsZXI6OlNjcm9sbERpc3RhbmNlKFdlYkNv
cmU6OlNjcm9sbGluZ0RpcmVjdGlvbiBkaXJlY3Rpb24sIFdlYkNvcmU6OlNjcm9sbGluZ0luY3Jl
bWVudCBpbmNyZW1lbnQpCit7CisgICAgRnJhbWUqIGZyYW1lID0gJm1fZnJhbWU7CisgICAgRnJh
bWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKTsKKworICAgIFNjcm9sbGJhciogc2Nyb2xsYmFy
OworICAgIGlmIChkaXJlY3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpVcCB8
fCBkaXJlY3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duKSAKKyAgICAg
ICAgc2Nyb2xsYmFyID0gdmlldy0+dmVydGljYWxTY3JvbGxiYXIoKTsKKyAgICBlbHNlIAorICAg
ICAgICBzY3JvbGxiYXIgPSB2aWV3LT5ob3Jpem9udGFsU2Nyb2xsYmFyKCk7CisgICAgCisKKyAg
ICBDR0Zsb2F0IHN0ZXAgPSAwOworICAgIHN3aXRjaCAoaW5jcmVtZW50KSB7CisgICAgY2FzZSBX
ZWJDb3JlOjpTY3JvbGxpbmdJbmNyZW1lbnQ6OkxpbmU6CisgICAgICAgIHN0ZXAgPSBzY3JvbGxi
YXItPmxpbmVTdGVwKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xs
aW5nSW5jcmVtZW50OjpQYWdlOgorICAgICAgICBzdGVwID0gc2Nyb2xsYmFyLT5wYWdlU3RlcCgp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudDo6
RG9jdW1lbnQ6CisgICAgICAgIHN0ZXAgPSBzY3JvbGxiYXItPnRvdGFsU2l6ZSgpOworICAgICAg
ICBicmVhazsKKyAgICB9CisKKyAgICByZXR1cm4gc3RlcDsKK30KIAogdm9pZCBFdmVudEhhbmRs
ZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFuZGxlcihGb2N1c0RpcmVjdGlvbiBmb2N1c0RpcmVjdGlv
biwgS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiB7CkBAIC00MjM2LDYgKzQyODQsNjcgQEAgdm9pZCBF
dmVudEhhbmRsZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFuZGxlcihGb2N1c0RpcmVjdGlvbiBmb2N1
c0RpcmVjdGlvbiwgS2V5Ym8KIAogICAgIGlmIChwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5hZHZh
bmNlRm9jdXMoZm9jdXNEaXJlY3Rpb24sICZldmVudCkpCiAgICAgICAgIGV2ZW50LnNldERlZmF1
bHRIYW5kbGVkKCk7CisKKyAgICBlbnVtIGNsYXNzIEtleSA6IHVpbnQ4X3QgeyBMZWZ0QXJyb3cs
IFJpZ2h0QXJyb3csIFVwQXJyb3csIERvd25BcnJvdywgUGFnZVVwLCBQYWdlRG93biB9OworCisg
ICAgS2V5IGtleTsKKyAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllcigpID09ICJMZWZ0IikKKyAg
ICAgICAga2V5ID0gS2V5OjpMZWZ0QXJyb3c7CisgICAgZWxzZSBpZiAoZXZlbnQua2V5SWRlbnRp
ZmllcigpID09ICJSaWdodCIpCisgICAgICAgIGtleSA9IEtleTo6UmlnaHRBcnJvdzsKKyAgICBl
bHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyKCkgPT0gIlVwIikKKyAgICAgICAga2V5ID0gS2V5
OjpVcEFycm93OworICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIoKSA9PSAiRG93biIp
CisgICAgICAgIGtleSA9IEtleTo6RG93bkFycm93OworICAgIGVsc2UgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIoKSA9PSAiUGFnZURvd24iKQorICAgICAgICBrZXkgPSBLZXk6OlBhZ2VEb3duOwor
ICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIoKSA9PSAiUGFnZVVwIikKKyAgICAgICAg
a2V5ID0gS2V5OjpQYWdlVXA7CisgICAgZWxzZQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRv
IGluY3JlbWVudCA9IF4oKSB7CisgICAgICAgIHN3aXRjaCAoa2V5KSB7CisgICAgICAgIGNhc2Ug
S2V5OjpMZWZ0QXJyb3c6CisgICAgICAgIGNhc2UgS2V5OjpSaWdodEFycm93OgorICAgICAgICBj
YXNlIEtleTo6VXBBcnJvdzoKKyAgICAgICAgY2FzZSBLZXk6OkRvd25BcnJvdzoKKyAgICAgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdJbmNyZW1lbnQ6OkxpbmU7CisgICAgICAgIGNh
c2UgS2V5OjpQYWdlVXA6CisgICAgICAgIGNhc2UgS2V5OjpQYWdlRG93bjoKKyAgICAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdJbmNyZW1lbnQ6OlBhZ2U7CisgICAgICAgIH07Cisg
ICAgfSgpOworCisgICAgYXV0byBkaXJlY3Rpb24gPSBeKCkgeworICAgICAgICBzd2l0Y2ggKGtl
eSkgeworICAgICAgICBjYXNlIEtleTo6TGVmdEFycm93OgorICAgICAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdDsKKyAgICAgICAgY2FzZSBLZXk6OlJpZ2h0
QXJyb3c6CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpS
aWdodDsKKyAgICAgICAgY2FzZSBLZXk6OlVwQXJyb3c6CisgICAgICAgIGNhc2UgS2V5OjpQYWdl
VXA6CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpVcDsK
KyAgICAgICAgY2FzZSBLZXk6OkRvd25BcnJvdzoKKyAgICAgICAgY2FzZSBLZXk6OlBhZ2VEb3du
OgorICAgICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6RG93bjsK
KyAgICAgICAgfTsKKyAgICB9KCk7CisKKyAgICAKKyAgICBDR0Zsb2F0IHNjcm9sbERpc3RhbmNl
ID0gU2Nyb2xsRGlzdGFuY2UoZGlyZWN0aW9uLCBpbmNyZW1lbnQpOworICAgIAorICAgIFdlYkNv
cmU6OktleWJvYXJkU2Nyb2xsIHNjcm9sbDsKKworICAgIHNjcm9sbC5vZmZzZXQgPSB1bml0VmVj
dG9yKGRpcmVjdGlvbikuc2NhbGVkKHNjcm9sbERpc3RhbmNlKTsKKyAgICBzY3JvbGwuaW5jcmVt
ZW50ID0gaW5jcmVtZW50OworICAgIHNjcm9sbC5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CisgICAg
c2Nyb2xsLm1heGltdW1WZWxvY2l0eSA9IHNjcm9sbC5vZmZzZXQuc2NhbGVkKHRoaXMtPnBhcmFt
ZXRlcnMoKS5tYXhpbXVtVmVsb2NpdHlNdWx0aXBsaWVyKTsKKworICAgIHNjcm9sbC5mb3JjZSA9
IHNjcm9sbC5tYXhpbXVtVmVsb2NpdHkuc2NhbGVkKHRoaXMtPnBhcmFtZXRlcnMoKS5zcHJpbmdN
YXNzIC8gdGhpcy0+cGFyYW1ldGVycygpLnRpbWVUb01heGltdW1WZWxvY2l0eSk7CisKKworICAg
IEV2ZW50SGFuZGxlcjo6c2Nyb2xsUmVjdXJzaXZlbHkoKFNjcm9sbERpcmVjdGlvbilkaXJlY3Rp
b24sIChTY3JvbGxHcmFudWxhcml0eSlpbmNyZW1lbnQsIG51bGxwdHIpOwogfQogCiB2b2lkIEV2
ZW50SGFuZGxlcjo6ZGVmYXVsdFRhYkV2ZW50SGFuZGxlcihLZXlib2FyZEV2ZW50JiBldmVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5oCmluZGV4IGZmYjczNjk0NTBlNDkzOWVjN2JjYWUy
ZGJhN2JhOTI4NWY4ZjY3MWIuLjIwZTc0MzkwN2I0MmFlZGZiMjdmOWUzOGYxZGU3MzMxYzA1Mjkz
MDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaApAQCAtMjksNiArMjksNyBAQAogI2lu
Y2x1ZGUgIkRyYWdBY3Rpb25zLmgiCiAjaW5jbHVkZSAiRm9jdXNEaXJlY3Rpb24uaCIKICNpbmNs
dWRlICJIaXRUZXN0UmVxdWVzdC5oIgorI2luY2x1ZGUgIktleWJvYXJkU2Nyb2xsLmgiCiAjaW5j
bHVkZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKICNp
bmNsdWRlICJSZW5kZXJPYmplY3QuaCIKQEAgLTM3NSw2ICszNzYsMTIgQEAgcHJpdmF0ZToKICAg
ICBib29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudERvdWJsZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRX
aXRoSGl0VGVzdFJlc3VsdHMmKTsKICAgICBib29sIGhhbmRsZU1vdXNlUHJlc3NFdmVudFRyaXBs
ZUNsaWNrKGNvbnN0IE1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMmKTsKIAorCisgICAgY29u
c3QgV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGxQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKCk7CisgICAg
c3RhdGljIEZsb2F0U2l6ZSB1bml0VmVjdG9yKFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbiBk
aXJlY3Rpb24pOworICAgIENHRmxvYXQgU2Nyb2xsRGlzdGFuY2UoV2ViQ29yZTo6U2Nyb2xsaW5n
RGlyZWN0aW9uIGRpcmVjdGlvbiwgV2ViQ29yZTo6U2Nyb2xsaW5nSW5jcmVtZW50IGluY3JlbWVu
dCk7CisKKwogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgYm9vbCBoYW5kbGVNb3VzZURy
YWdnZWRFdmVudChjb25zdCBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzJiwgQ2hlY2tEcmFn
SHlzdGVyZXNpcyA9IFNob3VsZENoZWNrRHJhZ0h5c3RlcmVzaXMpOwogICAgIGJvb2wgc2hvdWxk
QWxsb3dNb3VzZURvd25Ub1N0YXJ0RHJhZygpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9LZXlib2FyZFNjcm9sbC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9LZXlib2Fy
ZFNjcm9sbC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVjM2E2ZDI1YTE2OWZhNmRiNWU2OGM2MDMyMjRlNTZmNjdh
YzY5ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0tleWJvYXJkU2Ny
b2xsLmgKQEAgLTAsMCArMSwzOSBAQAorI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworZW51bSBjbGFzcyBTY3JvbGxpbmdJbmNyZW1lbnQgOiB1aW50OF90IHsKKyAgICBMaW5l
LAorICAgIFBhZ2UsCisgICAgRG9jdW1lbnQKK307CisKK2VudW0gY2xhc3MgU2Nyb2xsaW5nRGly
ZWN0aW9uIDogdWludDhfdCB7CisgICAgVXAsCisgICAgRG93biwKKyAgICBMZWZ0LAorICAgIFJp
Z2h0Cit9OworCitzdHJ1Y3QgS2V5Ym9hcmRTY3JvbGwgeworICAgIFdlYkNvcmU6OkZsb2F0U2l6
ZSBvZmZzZXQ7IC8vIFBvaW50cyBwZXIgaW5jcmVtZW50LgorICAgIFdlYkNvcmU6OkZsb2F0U2l6
ZSBtYXhpbXVtVmVsb2NpdHk7IC8vIFBvaW50cyBwZXIgc2Vjb25kLgorICAgIFdlYkNvcmU6OkZs
b2F0U2l6ZSBmb3JjZTsKKworICAgIFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudCBpbmNyZW1l
bnQ7CisgICAgV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uIGRpcmVjdGlvbjsKK307CisKK3N0
cnVjdCBLZXlib2FyZFNjcm9sbFBhcmFtZXRlcnMgeworICAgIENHRmxvYXQgc3ByaW5nTWFzcyB7
IDEgfTsKKyAgICBDR0Zsb2F0IHNwcmluZ1N0aWZmbmVzcyB7IDEwOSB9OworICAgIENHRmxvYXQg
c3ByaW5nRGFtcGluZyB7IDIwIH07CisKKyAgICBDR0Zsb2F0IG1heGltdW1WZWxvY2l0eU11bHRp
cGxpZXIgeyAyNSB9OworICAgIENHRmxvYXQgdGltZVRvTWF4aW11bVZlbG9jaXR5IHsgMSB9Owor
CisgICAgQ0dGbG9hdCBydWJiZXJCYW5kRm9yY2UgeyA1MDAwIH07Cit9OworCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxBbmltYXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxB
bmltYXRvck1hYy5tbQppbmRleCBiMWYzNzViZmE1N2JkYTE1MDkzZGEyYmFmYTUzNTViMWRhZmY0
YWM4Li4yYmU1M2UwODQxNzI3MGU5ZTA3NThkNTc2N2I1YTNiNjI4MThjMDNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCkBAIC03ODAs
NiArNzgwLDcgQEAgYm9vbCBTY3JvbGxBbmltYXRvck1hYzo6c2Nyb2xsKFNjcm9sbGJhck9yaWVu
dGF0aW9uIG9yaWVudGF0aW9uLCBTY3JvbGxHcmFudWxhcmkKIAogICAgIExPR19XSVRIX1NUUkVB
TShTY3JvbGxpbmcsIHN0cmVhbSA8PCAiU2Nyb2xsQW5pbWF0b3JNYWM6OnNjcm9sbCAiIDw8ICIg
ZnJvbSAiIDw8IGN1cnJlbnRQb3NpdGlvbigpIDw8ICIgdG8gIiA8PCBuZXdQb3NpdGlvbik7CiAg
ICAgW21fc2Nyb2xsQW5pbWF0aW9uSGVscGVyIHNjcm9sbFRvUG9pbnQ6bmV3UG9zaXRpb25dOwor
ICAgIAogICAgIHJldHVybiB0cnVlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmggYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2FyZFNjcm9sbGluZ0FuaW1hdG9yLmgKaW5kZXggM2ZmODNi
NjU1YWNjMGRlN2NhYjgyNGU5Y2EzMzVhMjRlMjc1ZTJkOC4uMTQ1OTVmZTQ4MTk1ZGFlZTQzNGUx
M2E1MzBjZDI0NGZkZjNmYTk3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
aW9zL1dLS2V5Ym9hcmRTY3JvbGxpbmdBbmltYXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS0tleWJvYXJkU2Nyb2xsaW5nQW5pbWF0b3IuaApAQCAtMjksMjIgKzI5LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRmxvYXRQb2ludDsKIH0KIAotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLWVudW0gY2xhc3MgU2Nyb2xsaW5nSW5jcmVtZW50IDogdWludDhfdCB7Ci0g
ICAgRG9jdW1lbnQsCi0gICAgUGFnZSwKLSAgICBMaW5lCi19OwotCi1lbnVtIGNsYXNzIFNjcm9s
bGluZ0RpcmVjdGlvbiA6IHVpbnQ4X3QgewotICAgIFVwLAotICAgIERvd24sCi0gICAgTGVmdCwK
LSAgICBSaWdodAotfTsKLQotfQogCiBAY2xhc3MgVUlTY3JvbGxWaWV3OwogQGNsYXNzIFdlYkV2
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRT
Y3JvbGxpbmdBbmltYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0tleWJv
YXJkU2Nyb2xsaW5nQW5pbWF0b3IubW0KaW5kZXggN2I2NTA1ZmE3OGU2NjMxNDY3OWQ0OGY2NmVj
MmQ5MGRhZDcxNDRjMy4uMzM4MjEyYzc3NTk2ZmQwN2FlZTUwNjJlYzk3NTdlNGM2NmZlMDY4ZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLS2V5Ym9hcmRTY3JvbGxp
bmdBbmltYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tLZXlib2Fy
ZFNjcm9sbGluZ0FuaW1hdG9yLm1tCkBAIC0zMiw2ICszMiw3IEBACiAjaW1wb3J0ICJVSUtpdFNQ
SS5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQURpc3BsYXlMaW5rLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0Zsb2F0UG9pbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvS2V5Ym9hcmRTY3JvbGwuaD4KICNp
bXBvcnQgPFdlYkNvcmUvS2V5RXZlbnRDb2Rlc0lPUy5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZWN0
RWRnZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViRXZlbnQuaD4KQEAgLTQwLDM0ICs0MSwxMSBA
QAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1dlYWtPYmpDUHRyLmg+
CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotCi1zdHJ1Y3QgS2V5Ym9hcmRTY3JvbGwgewotICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSBvZmZzZXQ7IC8vIFBvaW50cyBwZXIgaW5jcmVtZW50LgotICAgIFdl
YkNvcmU6OkZsb2F0U2l6ZSBtYXhpbXVtVmVsb2NpdHk7IC8vIFBvaW50cyBwZXIgc2Vjb25kLgot
ICAgIFdlYkNvcmU6OkZsb2F0U2l6ZSBmb3JjZTsKLQotICAgIFdlYktpdDo6U2Nyb2xsaW5nSW5j
cmVtZW50IGluY3JlbWVudDsKLSAgICBXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbiBkaXJlY3Rp
b247Ci19OwotCi1zdHJ1Y3QgS2V5Ym9hcmRTY3JvbGxQYXJhbWV0ZXJzIHsKLSAgICBDR0Zsb2F0
IHNwcmluZ01hc3MgeyAxIH07Ci0gICAgQ0dGbG9hdCBzcHJpbmdTdGlmZm5lc3MgeyAxMDkgfTsK
LSAgICBDR0Zsb2F0IHNwcmluZ0RhbXBpbmcgeyAyMCB9OwotCi0gICAgQ0dGbG9hdCBtYXhpbXVt
VmVsb2NpdHlNdWx0aXBsaWVyIHsgMjUgfTsKLSAgICBDR0Zsb2F0IHRpbWVUb01heGltdW1WZWxv
Y2l0eSB7IDEgfTsKLQotICAgIENHRmxvYXQgcnViYmVyQmFuZEZvcmNlIHsgNTAwMCB9OwotfTsK
LQotfQogCiBAcHJvdG9jb2wgV0tLZXlib2FyZFNjcm9sbGFibGVJbnRlcm5hbCA8TlNPYmplY3Q+
CiBAcmVxdWlyZWQKIC0gKEJPT0wpaXNLZXlib2FyZFNjcm9sbGFibGU7Ci0tIChDR0Zsb2F0KWRp
c3RhbmNlRm9ySW5jcmVtZW50OihXZWJLaXQ6OlNjcm9sbGluZ0luY3JlbWVudClpbmNyZW1lbnQg
aW5EaXJlY3Rpb246KFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uKWRpcmVjdGlvbjsKKy0gKENH
RmxvYXQpZGlzdGFuY2VGb3JJbmNyZW1lbnQ6KFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudClp
bmNyZW1lbnQgaW5EaXJlY3Rpb246KFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbilkaXJlY3Rp
b247CiAtICh2b2lkKXNjcm9sbFRvQ29udGVudE9mZnNldDooV2ViQ29yZTo6RmxvYXRQb2ludClv
ZmZzZXQgYW5pbWF0ZWQ6KEJPT0wpYW5pbWF0ZWQ7CiAtICh2b2lkKXNjcm9sbFdpdGhTY3JvbGxU
b0V4dGVudEFuaW1hdGlvblRvOihDR1BvaW50KW9mZnNldDsKIC0gKENHUG9pbnQpY29udGVudE9m
ZnNldDsKQEAgLTk3LDcgKzc1LDcgQEAgc3RydWN0IEtleWJvYXJkU2Nyb2xsUGFyYW1ldGVycyB7
CiAgICAgaWQgPFdLS2V5Ym9hcmRTY3JvbGxhYmxlSW50ZXJuYWw+IF9zY3JvbGxhYmxlOwogICAg
IFJldGFpblB0cjxDQURpc3BsYXlMaW5rPiBfZGlzcGxheUxpbms7CiAKLSAgICBPcHRpb25hbDxX
ZWJLaXQ6OktleWJvYXJkU2Nyb2xsPiBfY3VycmVudFNjcm9sbDsKKyAgICBPcHRpb25hbDxXZWJD
b3JlOjpLZXlib2FyZFNjcm9sbD4gX2N1cnJlbnRTY3JvbGw7CiAKICAgICBCT09MIF9zY3JvbGxU
cmlnZ2VyaW5nS2V5SXNQcmVzc2VkOwogCkBAIC0xMjQsOSArMTAyLDkgQEAgc3RydWN0IEtleWJv
YXJkU2Nyb2xsUGFyYW1ldGVycyB7CiAgICAgcmV0dXJuIHNlbGY7CiB9CiAKLS0gKGNvbnN0IFdl
YktpdDo6S2V5Ym9hcmRTY3JvbGxQYXJhbWV0ZXJzICYpcGFyYW1ldGVycworLSAoY29uc3QgV2Vi
Q29yZTo6S2V5Ym9hcmRTY3JvbGxQYXJhbWV0ZXJzICYpcGFyYW1ldGVycwogewotICAgIHN0YXRp
YyBjb25zdCBXZWJLaXQ6OktleWJvYXJkU2Nyb2xsUGFyYW1ldGVycyBwYXJhbWV0ZXJzOworICAg
IHN0YXRpYyBjb25zdCBXZWJDb3JlOjpLZXlib2FyZFNjcm9sbFBhcmFtZXRlcnMgcGFyYW1ldGVy
czsKICAgICByZXR1cm4gcGFyYW1ldGVyczsKIH0KIApAQCAtMTM3LDQ3ICsxMTUsNDcgQEAgc3Ry
dWN0IEtleWJvYXJkU2Nyb2xsUGFyYW1ldGVycyB7CiAgICAgX3Njcm9sbGFibGUgPSBuaWw7CiB9
CiAKLXN0YXRpYyBXZWJDb3JlOjpGbG9hdFNpemUgdW5pdFZlY3RvcihXZWJLaXQ6OlNjcm9sbGlu
Z0RpcmVjdGlvbiBkaXJlY3Rpb24pCitzdGF0aWMgV2ViQ29yZTo6RmxvYXRTaXplIHVuaXRWZWN0
b3IoV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKICAgICBzd2l0Y2gg
KGRpcmVjdGlvbikgewotICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdEaXJlY3Rpb246OlVwOgor
ICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpVcDoKICAgICAgICAgcmV0dXJu
IHsgMCwgLTEgfTsKLSAgICBjYXNlIFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOgor
ICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOgogICAgICAgICByZXR1
cm4geyAwLCAxIH07Ci0gICAgY2FzZSBXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdDoK
KyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdDoKICAgICAgICAgcmV0
dXJuIHsgLTEsIDAgfTsKLSAgICBjYXNlIFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpSaWdo
dDoKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6UmlnaHQ6CiAgICAgICAg
IHJldHVybiB7IDEsIDAgfTsKICAgICB9CiB9CiAKLXN0YXRpYyBXZWJDb3JlOjpGbG9hdFNpemUg
cGVycGVuZGljdWxhckFic29sdXRlVW5pdFZlY3RvcihXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlv
biBkaXJlY3Rpb24pCitzdGF0aWMgV2ViQ29yZTo6RmxvYXRTaXplIHBlcnBlbmRpY3VsYXJBYnNv
bHV0ZVVuaXRWZWN0b3IoV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsK
ICAgICBzd2l0Y2ggKGRpcmVjdGlvbikgewotICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdEaXJl
Y3Rpb246OlVwOgotICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdEaXJlY3Rpb246OkRvd246Cisg
ICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OlVwOgorICAgIGNhc2UgV2ViQ29y
ZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOgogICAgICAgICByZXR1cm4geyAxLCAwIH07Ci0g
ICAgY2FzZSBXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdDoKLSAgICBjYXNlIFdlYktp
dDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpSaWdodDoKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGlu
Z0RpcmVjdGlvbjo6TGVmdDoKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6
UmlnaHQ6CiAgICAgICAgIHJldHVybiB7IDAsIDEgfTsKICAgICB9CiB9CiAKLXN0YXRpYyBXZWJD
b3JlOjpCb3hTaWRlIGJveFNpZGUoV2ViS2l0OjpTY3JvbGxpbmdEaXJlY3Rpb24gZGlyZWN0aW9u
KQorc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lkZShXZWJDb3JlOjpTY3JvbGxpbmdEaXJl
Y3Rpb24gZGlyZWN0aW9uKQogewogICAgIHN3aXRjaCAoZGlyZWN0aW9uKSB7Ci0gICAgY2FzZSBX
ZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6VXA6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxp
bmdEaXJlY3Rpb246OlVwOgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Qm94U2lkZTo6VG9wOwot
ICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdEaXJlY3Rpb246OkRvd246CisgICAgY2FzZSBXZWJD
b3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OkRvd246CiAgICAgICAgIHJldHVybiBXZWJDb3JlOjpC
b3hTaWRlOjpCb3R0b207Ci0gICAgY2FzZSBXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVm
dDoKKyAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdDoKICAgICAgICAg
cmV0dXJuIFdlYkNvcmU6OkJveFNpZGU6OkxlZnQ7Ci0gICAgY2FzZSBXZWJLaXQ6OlNjcm9sbGlu
Z0RpcmVjdGlvbjo6UmlnaHQ6CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246
OlJpZ2h0OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6Qm94U2lkZTo6UmlnaHQ7CiAgICAgfQog
fQogCi0tIChPcHRpb25hbDxXZWJLaXQ6OktleWJvYXJkU2Nyb2xsPilrZXlib2FyZFNjcm9sbEZv
ckV2ZW50Oig6OldlYkV2ZW50ICopZXZlbnQKKy0gKE9wdGlvbmFsPFdlYkNvcmU6OktleWJvYXJk
U2Nyb2xsPilrZXlib2FyZFNjcm9sbEZvckV2ZW50Oig6OldlYkV2ZW50ICopZXZlbnQKIHsKICAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQga1dlYlNwYWNlS2V5ID0gMHgyMDsKIApAQCAtMjU1LDQ4
ICsyMzMsNDggQEAgc3RhdGljIFdlYkNvcmU6OkJveFNpZGUgYm94U2lkZShXZWJLaXQ6OlNjcm9s
bGluZ0RpcmVjdGlvbiBkaXJlY3Rpb24pCiAgICAgICAgIGNhc2UgS2V5OjpMZWZ0QXJyb3c6CiAg
ICAgICAgIGNhc2UgS2V5OjpSaWdodEFycm93OgogICAgICAgICAgICAgaWYgKGFsdFByZXNzZWQp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpQYWdl
OwotICAgICAgICAgICAgcmV0dXJuIFdlYktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpMaW5lOwor
ICAgICAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdJbmNyZW1lbnQ6OlBhZ2U7
CisgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsaW5nSW5jcmVtZW50OjpMaW5lOwog
ICAgICAgICBjYXNlIEtleTo6VXBBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OkRvd25BcnJvdzoK
ICAgICAgICAgICAgIGlmIChhbHRQcmVzc2VkKQotICAgICAgICAgICAgICAgIHJldHVybiBXZWJL
aXQ6OlNjcm9sbGluZ0luY3JlbWVudDo6UGFnZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6U2Nyb2xsaW5nSW5jcmVtZW50OjpQYWdlOwogICAgICAgICAgICAgaWYgKGNtZFByZXNz
ZWQpCi0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpE
b2N1bWVudDsKLSAgICAgICAgICAgIHJldHVybiBXZWJLaXQ6OlNjcm9sbGluZ0luY3JlbWVudDo6
TGluZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2Nyb2xsaW5nSW5jcmVtZW50
OjpEb2N1bWVudDsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdJbmNyZW1l
bnQ6OkxpbmU7CiAgICAgICAgIGNhc2UgS2V5OjpQYWdlVXA6CiAgICAgICAgIGNhc2UgS2V5OjpQ
YWdlRG93bjoKICAgICAgICAgY2FzZSBLZXk6OlNwYWNlOgotICAgICAgICAgICAgcmV0dXJuIFdl
YktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpQYWdlOworICAgICAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlNjcm9sbGluZ0luY3JlbWVudDo6UGFnZTsKICAgICAgICAgY2FzZSBLZXk6Ok90aGVyOgog
ICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICByZXR1cm4gV2Vi
S2l0OjpTY3JvbGxpbmdJbmNyZW1lbnQ6OkxpbmU7CisgICAgICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6U2Nyb2xsaW5nSW5jcmVtZW50OjpMaW5lOwogICAgICAgICB9OwogICAgIH0oKTsKIAogICAg
IGF1dG8gZGlyZWN0aW9uID0gXigpIHsKICAgICAgICAgc3dpdGNoIChrZXkpIHsKICAgICAgICAg
Y2FzZSBLZXk6OkxlZnRBcnJvdzoKLSAgICAgICAgICAgIHJldHVybiBXZWJLaXQ6OlNjcm9sbGlu
Z0RpcmVjdGlvbjo6TGVmdDsKKyAgICAgICAgICAgIHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdE
aXJlY3Rpb246OkxlZnQ7CiAgICAgICAgIGNhc2UgS2V5OjpSaWdodEFycm93OgotICAgICAgICAg
ICAgcmV0dXJuIFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpSaWdodDsKKyAgICAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OlJpZ2h0OwogICAgICAgICBjYXNl
IEtleTo6VXBBcnJvdzoKICAgICAgICAgY2FzZSBLZXk6OlBhZ2VVcDoKLSAgICAgICAgICAgIHJl
dHVybiBXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6VXA7CisgICAgICAgICAgICByZXR1cm4g
V2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpVcDsKICAgICAgICAgY2FzZSBLZXk6OkRvd25B
cnJvdzoKICAgICAgICAgY2FzZSBLZXk6OlBhZ2VEb3duOgotICAgICAgICAgICAgcmV0dXJuIFdl
YktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOworICAgICAgICAgICAgcmV0dXJuIFdlYkNv
cmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6RG93bjsKICAgICAgICAgY2FzZSBLZXk6OlNwYWNlOgot
ICAgICAgICAgICAgcmV0dXJuIHNoaWZ0UHJlc3NlZCA/IFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0
aW9uOjpVcCA6IFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOworICAgICAgICAgICAg
cmV0dXJuIHNoaWZ0UHJlc3NlZCA/IFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6VXAgOiBX
ZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OkRvd247CiAgICAgICAgIGNhc2UgS2V5OjpPdGhl
cjoKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgICAgICAgICAgcmV0dXJu
IFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpEb3duOworICAgICAgICAgICAgcmV0dXJuIFdl
YkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6RG93bjsKICAgICAgICAgfTsKICAgICB9KCk7CiAK
ICAgICBDR0Zsb2F0IHNjcm9sbERpc3RhbmNlID0gW19zY3JvbGxhYmxlIGRpc3RhbmNlRm9ySW5j
cmVtZW50OmluY3JlbWVudCBpbkRpcmVjdGlvbjpkaXJlY3Rpb25dOwogCi0gICAgV2ViS2l0OjpL
ZXlib2FyZFNjcm9sbCBzY3JvbGw7CisgICAgV2ViQ29yZTo6S2V5Ym9hcmRTY3JvbGwgc2Nyb2xs
OwogICAgIHNjcm9sbC5vZmZzZXQgPSB1bml0VmVjdG9yKGRpcmVjdGlvbikuc2NhbGVkKHNjcm9s
bERpc3RhbmNlKTsKICAgICBzY3JvbGwuaW5jcmVtZW50ID0gaW5jcmVtZW50OwogICAgIHNjcm9s
bC5kaXJlY3Rpb24gPSBkaXJlY3Rpb247CkBAIC0zMjcsNyArMzA1LDcgQEAgc3RhdGljIFdlYkNv
cmU6OkJveFNpZGUgYm94U2lkZShXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbiBkaXJlY3Rpb24p
CiAgICAgX3Njcm9sbFRyaWdnZXJpbmdLZXlJc1ByZXNzZWQgPSBZRVM7CiAgICAgX2N1cnJlbnRT
Y3JvbGwgPSBzY3JvbGw7CiAKLSAgICBpZiAoc2Nyb2xsLT5pbmNyZW1lbnQgPT0gV2ViS2l0OjpT
Y3JvbGxpbmdJbmNyZW1lbnQ6OkRvY3VtZW50KSB7CisgICAgaWYgKHNjcm9sbC0+aW5jcmVtZW50
ID09IFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudDo6RG9jdW1lbnQpIHsKICAgICAgICAgX3Zl
bG9jaXR5ID0geyB9OwogICAgICAgICBbc2VsZiBzdG9wQW5pbWF0ZWRTY3JvbGxdOwogICAgICAg
ICBbc2VsZiBzdG9wRGlzcGxheUxpbmtdOwpAQCAtMzYwLDE2ICszMzgsMTYgQEAgc3RhdGljIFdl
YkNvcmU6OkJveFNpZGUgYm94U2lkZShXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbiBkaXJlY3Rp
b24pCiAgICAgfQogfQogCi1zdGF0aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBmYXJ0aGVzdFBvaW50
SW5EaXJlY3Rpb24oV2ViQ29yZTo6RmxvYXRQb2ludCBhLCBXZWJDb3JlOjpGbG9hdFBvaW50IGIs
IFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uIGRpcmVjdGlvbikKK3N0YXRpYyBXZWJDb3JlOjpG
bG9hdFBvaW50IGZhcnRoZXN0UG9pbnRJbkRpcmVjdGlvbihXZWJDb3JlOjpGbG9hdFBvaW50IGEs
IFdlYkNvcmU6OkZsb2F0UG9pbnQgYiwgV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uIGRpcmVj
dGlvbikKIHsKICAgICBzd2l0Y2ggKGRpcmVjdGlvbikgewotICAgIGNhc2UgV2ViS2l0OjpTY3Jv
bGxpbmdEaXJlY3Rpb246OlVwOgorICAgIGNhc2UgV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9u
OjpVcDoKICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OkZsb2F0UG9pbnQoYS54KCksIHN0ZDo6bWlu
KGEueSgpLCBiLnkoKSkpOwotICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdEaXJlY3Rpb246OkRv
d246CisgICAgY2FzZSBXZWJDb3JlOjpTY3JvbGxpbmdEaXJlY3Rpb246OkRvd246CiAgICAgICAg
IHJldHVybiBXZWJDb3JlOjpGbG9hdFBvaW50KGEueCgpLCBzdGQ6Om1heChhLnkoKSwgYi55KCkp
KTsKLSAgICBjYXNlIFdlYktpdDo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpMZWZ0OgorICAgIGNhc2Ug
V2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpMZWZ0OgogICAgICAgICByZXR1cm4gV2ViQ29y
ZTo6RmxvYXRQb2ludChzdGQ6Om1pbihhLngoKSwgYi54KCkpLCBhLnkoKSk7Ci0gICAgY2FzZSBX
ZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6UmlnaHQ6CisgICAgY2FzZSBXZWJDb3JlOjpTY3Jv
bGxpbmdEaXJlY3Rpb246OlJpZ2h0OgogICAgICAgICByZXR1cm4gV2ViQ29yZTo6RmxvYXRQb2lu
dChzdGQ6Om1heChhLngoKSwgYi54KCkpLCBhLnkoKSk7CiAgICAgfQogCkBAIC01NjYsNyArNTQ0
LDcgQEAgc3RhdGljIFdlYkNvcmU6OkZsb2F0UG9pbnQgZmFydGhlc3RQb2ludEluRGlyZWN0aW9u
KFdlYkNvcmU6OkZsb2F0UG9pbnQgYSwgV2ViQ28KICAgICByZXR1cm4gW19kZWxlZ2F0ZSBpc1Nj
cm9sbGFibGVGb3JLZXlib2FyZFNjcm9sbFZpZXdBbmltYXRvcjpzZWxmXTsKIH0KIAotLSAoQ0dG
bG9hdClkaXN0YW5jZUZvckluY3JlbWVudDooV2ViS2l0OjpTY3JvbGxpbmdJbmNyZW1lbnQpaW5j
cmVtZW50IGluRGlyZWN0aW9uOihXZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbilkaXJlY3Rpb24K
Ky0gKENHRmxvYXQpZGlzdGFuY2VGb3JJbmNyZW1lbnQ6KFdlYkNvcmU6OlNjcm9sbGluZ0luY3Jl
bWVudClpbmNyZW1lbnQgaW5EaXJlY3Rpb246KFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbilk
aXJlY3Rpb24KIHsKICAgICBhdXRvIHNjcm9sbFZpZXcgPSBfc2Nyb2xsVmlldy5nZXRBdXRvcmVs
ZWFzZWQoKTsKICAgICBpZiAoIXNjcm9sbFZpZXcpCkBAIC01NzUsMTUgKzU1MywxNSBAQCBzdGF0
aWMgV2ViQ29yZTo6RmxvYXRQb2ludCBmYXJ0aGVzdFBvaW50SW5EaXJlY3Rpb24oV2ViQ29yZTo6
RmxvYXRQb2ludCBhLCBXZWJDbwogICAgIGNvbnN0IENHRmxvYXQgZGVmYXVsdFBhZ2VTY3JvbGxG
cmFjdGlvbiA9IDAuODsKICAgICBjb25zdCBDR0Zsb2F0IGRlZmF1bHRMaW5lU2Nyb2xsSGVpZ2h0
ID0gNDA7CiAKLSAgICBCT09MIGRpcmVjdGlvbklzSG9yaXpvbnRhbCA9IGRpcmVjdGlvbiA9PSBX
ZWJLaXQ6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdCB8fCBkaXJlY3Rpb24gPT0gV2ViS2l0OjpT
Y3JvbGxpbmdEaXJlY3Rpb246OlJpZ2h0OworICAgIEJPT0wgZGlyZWN0aW9uSXNIb3Jpem9udGFs
ID0gZGlyZWN0aW9uID09IFdlYkNvcmU6OlNjcm9sbGluZ0RpcmVjdGlvbjo6TGVmdCB8fCBkaXJl
Y3Rpb24gPT0gV2ViQ29yZTo6U2Nyb2xsaW5nRGlyZWN0aW9uOjpSaWdodDsKIAogICAgIGlmICgh
X2RlbGVnYXRlUmVzcG9uZHNUb0Rpc3RhbmNlRm9ySW5jcmVtZW50KSB7CiAgICAgICAgIHN3aXRj
aCAoaW5jcmVtZW50KSB7Ci0gICAgICAgIGNhc2UgV2ViS2l0OjpTY3JvbGxpbmdJbmNyZW1lbnQ6
OkRvY3VtZW50OgorICAgICAgICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudDo6RG9j
dW1lbnQ6CiAgICAgICAgICAgICByZXR1cm4gZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gc2Nyb2xs
Vmlldy5jb250ZW50U2l6ZS53aWR0aCA6IHNjcm9sbFZpZXcuY29udGVudFNpemUuaGVpZ2h0Owot
ICAgICAgICBjYXNlIFdlYktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpQYWdlOgorICAgICAgICBj
YXNlIFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudDo6UGFnZToKICAgICAgICAgICAgIHJldHVy
biAoZGlyZWN0aW9uSXNIb3Jpem9udGFsID8gc2Nyb2xsVmlldy5mcmFtZS5zaXplLndpZHRoIDog
c2Nyb2xsVmlldy5mcmFtZS5zaXplLmhlaWdodCkgKiBkZWZhdWx0UGFnZVNjcm9sbEZyYWN0aW9u
OwotICAgICAgICBjYXNlIFdlYktpdDo6U2Nyb2xsaW5nSW5jcmVtZW50OjpMaW5lOgorICAgICAg
ICBjYXNlIFdlYkNvcmU6OlNjcm9sbGluZ0luY3JlbWVudDo6TGluZToKICAgICAgICAgICAgIHJl
dHVybiBkZWZhdWx0TGluZVNjcm9sbEhlaWdodCAqIHNjcm9sbFZpZXcuem9vbVNjYWxlOwogICAg
ICAgICB9CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQppbmRleCA1NzljNGU4OTQ5
MWQyYWE0NWZmZWVlMDQ5YWIwZTI1NjQxMjE5Y2M5Li45MjI2MGRjNGI2NTZjZGYxNWEwNjJmM2M0
NjRhZDBkNjU2Nzg1MDdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvV2ViUGFnZU1hYy5tbQpAQCAtMzEyLDcgKzMxMiw3IEBAIGJvb2wgV2ViUGFnZTo6
aGFuZGxlRWRpdGluZ0tleWJvYXJkRXZlbnQoS2V5Ym9hcmRFdmVudCYgZXZlbnQpCiAgICAgLy8g
SWYgdGhlcmUgYXJlIG5vIHRleHQgaW5zZXJ0aW9uIGNvbW1hbmRzLCBkZWZhdWx0IGtleWRvd24g
aGFuZGxlciBpcyB0aGUgcmlnaHQgdGltZSB0byBleGVjdXRlIHRoZSBjb21tYW5kcy4KICAgICAv
LyBLZXlwcmVzcyAoQ2hhciBldmVudCkgaGFuZGxlciBpcyB0aGUgbGF0ZXN0IG9wcG9ydHVuaXR5
IHRvIGV4ZWN1dGUuCiAgICAgaWYgKCFoYXZlVGV4dEluc2VydGlvbkNvbW1hbmRzIHx8IHBsYXRm
b3JtRXZlbnQtPnR5cGUoKSA9PSBQbGF0Zm9ybUV2ZW50OjpDaGFyKSB7Ci0gICAgICAgIGV2ZW50
V2FzSGFuZGxlZCA9IGV4ZWN1dGVLZXlwcmVzc0NvbW1hbmRzSW50ZXJuYWwoY29tbWFuZHMsICZl
dmVudCk7CisgICAgICAgIGV2ZW50V2FzSGFuZGxlZCA9IGV4ZWN1dGVLZXlwcmVzc0NvbW1hbmRz
SW50ZXJuYWwoY29tbWFuZHMsICZldmVudCk7IAogICAgICAgICBjb21tYW5kcy5jbGVhcigpOwog
ICAgIH0KIApAQCAtNDUzLDQ1ICs0NTMsNDggQEAgRGljdGlvbmFyeVBvcHVwSW5mbyBXZWJQYWdl
OjpkaWN0aW9uYXJ5UG9wdXBJbmZvRm9yU2VsZWN0aW9uSW5QREZQbHVnaW4oUERGU2VsZWMKIAog
Ym9vbCBXZWJQYWdlOjpwZXJmb3JtTm9uRWRpdGluZ0JlaGF2aW9yRm9yU2VsZWN0b3IoY29uc3Qg
U3RyaW5nJiBzZWxlY3RvciwgS2V5Ym9hcmRFdmVudCogZXZlbnQpCiB7Ci0gICAgLy8gRmlyc3Qg
Z2l2ZSBhY2Nlc3NpYmlsaXR5IGEgY2hhbmNlIHRvIGhhbmRsZSB0aGUgZXZlbnQuCi0gICAgRnJh
bWUqIGZyYW1lID0gZnJhbWVGb3JFdmVudChldmVudCk7Ci0gICAgZnJhbWUtPmV2ZW50SGFuZGxl
cigpLmhhbmRsZUtleWJvYXJkU2VsZWN0aW9uTW92ZW1lbnRGb3JBY2Nlc3NpYmlsaXR5KCpldmVu
dCk7Ci0gICAgaWYgKGV2ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQotICAgICAgICByZXR1cm4gdHJ1
ZTsKIAotICAgIC8vIEZJWE1FOiBBbGwgdGhlc2Ugc2VsZWN0b3JzIGhhdmUgY29ycmVzcG9uZGlu
ZyBFZGl0b3IgY29tbWFuZHMsIGJ1dCB0aGUgY29tbWFuZHMgb25seSB3b3JrIGluIGVkaXRhYmxl
IGNvbnRlbnQuCi0gICAgLy8gU2hvdWxkIHN1Y2ggbm9uLWVkaXRpbmcgYmVoYXZpb3JzIGJlIGlt
cGxlbWVudGVkIGluIEVkaXRvciBvciBFdmVudEhhbmRsZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFu
ZGxlcigpIHBlcmhhcHM/CisgICAgLy8gLy8gRmlyc3QgZ2l2ZSBhY2Nlc3NpYmlsaXR5IGEgY2hh
bmNlIHRvIGhhbmRsZSB0aGUgZXZlbnQuCisgICAgLy8gRnJhbWUqIGZyYW1lID0gZnJhbWVGb3JF
dmVudChldmVudCk7CisgICAgLy8gZnJhbWUtPmV2ZW50SGFuZGxlcigpLmhhbmRsZUtleWJvYXJk
U2VsZWN0aW9uTW92ZW1lbnRGb3JBY2Nlc3NpYmlsaXR5KCpldmVudCk7CisgICAgLy8gaWYgKGV2
ZW50LT5kZWZhdWx0SGFuZGxlZCgpKQorICAgIC8vICAgICByZXR1cm4gdHJ1ZTsKKworICAgIC8v
IC8vIEZJWE1FOiBBbGwgdGhlc2Ugc2VsZWN0b3JzIGhhdmUgY29ycmVzcG9uZGluZyBFZGl0b3Ig
Y29tbWFuZHMsIGJ1dCB0aGUgY29tbWFuZHMgb25seSB3b3JrIGluIGVkaXRhYmxlIGNvbnRlbnQu
CisgICAgLy8gLy8gU2hvdWxkIHN1Y2ggbm9uLWVkaXRpbmcgYmVoYXZpb3JzIGJlIGltcGxlbWVu
dGVkIGluIEVkaXRvciBvciBFdmVudEhhbmRsZXI6OmRlZmF1bHRBcnJvd0V2ZW50SGFuZGxlcigp
IHBlcmhhcHM/CisgICAgCisgICAgLy8gYm9vbCBkaWRQZXJmb3JtQWN0aW9uID0gZmFsc2U7Cisg
ICAgCisgICAgLy8gaWYgKHNlbGVjdG9yID09ICJtb3ZlVXA6IikKKyAgICAvLyAgICAgZGlkUGVy
Zm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeUxpbmUp
OworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9CZWdpbm5pbmdPZlBhcmFncmFw
aDoiKQorICAgIC8vICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwg
U2Nyb2xsVXAsIFNjcm9sbEJ5UGFnZSk7CisgICAgLy8gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1v
dmVUb0JlZ2lubmluZ09mRG9jdW1lbnQ6IikgeworICAgIC8vICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAg
IC8vICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExl
ZnQsIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgIC8vIH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1v
dmVEb3duOiIpCisgICAgLy8gICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdl
dCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9y
ID09ICJtb3ZlVG9FbmRPZlBhcmFncmFwaDoiKQorICAgIC8vICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsRG93biwgU2Nyb2xsQnlQYWdlKTsKKyAgICAv
LyBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVRvRW5kT2ZEb2N1bWVudDoiKSB7CisgICAgLy8g
ICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBT
Y3JvbGxCeURvY3VtZW50KTsKKyAgICAvLyAgICAgZGlkUGVyZm9ybUFjdGlvbiB8PSBzY3JvbGwo
bV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAvLyB9IGVs
c2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlTGVmdDoiKQorICAgIC8vICAgICBkaWRQZXJmb3JtQWN0
aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVmdCwgU2Nyb2xsQnlMaW5lKTsKKyAg
ICAvLyBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZVdvcmRMZWZ0OiIpCisgICAgLy8gICAgIGRp
ZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxMZWZ0LCBTY3JvbGxC
eVBhZ2UpOworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlVG9MZWZ0RW5kT2ZMaW5l
OiIpCisgICAgLy8gICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBtX3VzZXJJbnRlcmZhY2VMYXlvdXRE
aXJlY3Rpb24gPT0gV2ViQ29yZTo6VXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbjo6TFRSID8g
bV9wYWdlLT5iYWNrRm9yd2FyZCgpLmdvQmFjaygpIDogbV9wYWdlLT5iYWNrRm9yd2FyZCgpLmdv
Rm9yd2FyZCgpOworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlUmlnaHQ6IikKKyAg
ICAvLyAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJp
Z2h0LCBTY3JvbGxCeUxpbmUpOworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3ZlV29y
ZFJpZ2h0OiIpCisgICAgLy8gICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeVBhZ2UpOworICAgIC8vIGVsc2UgaWYgKHNlbGVjdG9y
ID09ICJtb3ZlVG9SaWdodEVuZE9mTGluZToiKQorICAgIC8vICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gbV91c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID09IFdlYkNvcmU6OlVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb246OkxUUiA/IG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0ZvcndhcmQo
KSA6IG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0JhY2soKTsKKyAgICAKKyAgICAvLyByZXR1cm4g
ZGlkUGVyZm9ybUFjdGlvbjsKKyAgICByZXR1cm4gZmFsc2U7CiAgICAgCi0gICAgYm9vbCBkaWRQ
ZXJmb3JtQWN0aW9uID0gZmFsc2U7Ci0KLSAgICBpZiAoc2VsZWN0b3IgPT0gIm1vdmVVcDoiKQot
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsVXAs
IFNjcm9sbEJ5TGluZSk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVUb0JlZ2lubmlu
Z09mUGFyYWdyYXBoOiIpCi0gICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdl
LmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlQYWdlKTsKLSAgICBlbHNlIGlmIChzZWxlY3RvciA9
PSAibW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudDoiKSB7Ci0gICAgICAgIGRpZFBlcmZvcm1BY3Rp
b24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0g
ICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gfD0gc2Nyb2xsKG1fcGFnZS5nZXQoKSwgU2Nyb2xsTGVm
dCwgU2Nyb2xsQnlEb2N1bWVudCk7Ci0gICAgfSBlbHNlIGlmIChzZWxlY3RvciA9PSAibW92ZURv
d246IikKLSAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNj
cm9sbERvd24sIFNjcm9sbEJ5TGluZSk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVU
b0VuZE9mUGFyYWdyYXBoOiIpCi0gICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9w
YWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOwotICAgIGVsc2UgaWYgKHNlbGVj
dG9yID09ICJtb3ZlVG9FbmRPZkRvY3VtZW50OiIpIHsKLSAgICAgICAgZGlkUGVyZm9ybUFjdGlv
biA9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOwot
ICAgICAgICBkaWRQZXJmb3JtQWN0aW9uIHw9IHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExl
ZnQsIFNjcm9sbEJ5RG9jdW1lbnQpOwotICAgIH0gZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1vdmVM
ZWZ0OiIpCi0gICAgICAgIGRpZFBlcmZvcm1BY3Rpb24gPSBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxMZWZ0LCBTY3JvbGxCeUxpbmUpOwotICAgIGVsc2UgaWYgKHNlbGVjdG9yID09ICJtb3Zl
V29yZExlZnQ6IikKLSAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5UGFnZSk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVUb0xlZnRFbmRPZkxpbmU6IikKLSAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IG1fdXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvbiA9PSBXZWJDb3JlOjpVc2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uOjpMVFIgPyBtX3BhZ2UtPmJhY2tGb3J3YXJkKCkuZ29CYWNrKCkgOiBtX3BhZ2Ut
PmJhY2tGb3J3YXJkKCkuZ29Gb3J3YXJkKCk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0gIm1v
dmVSaWdodDoiKQotICAgICAgICBkaWRQZXJmb3JtQWN0aW9uID0gc2Nyb2xsKG1fcGFnZS5nZXQo
KSwgU2Nyb2xsUmlnaHQsIFNjcm9sbEJ5TGluZSk7Ci0gICAgZWxzZSBpZiAoc2VsZWN0b3IgPT0g
Im1vdmVXb3JkUmlnaHQ6IikKLSAgICAgICAgZGlkUGVyZm9ybUFjdGlvbiA9IHNjcm9sbChtX3Bh
Z2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeVBhZ2UpOwotICAgIGVsc2UgaWYgKHNlbGVj
dG9yID09ICJtb3ZlVG9SaWdodEVuZE9mTGluZToiKQotICAgICAgICBkaWRQZXJmb3JtQWN0aW9u
ID0gbV91c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID09IFdlYkNvcmU6OlVzZXJJbnRlcmZh
Y2VMYXlvdXREaXJlY3Rpb246OkxUUiA/IG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0ZvcndhcmQo
KSA6IG1fcGFnZS0+YmFja0ZvcndhcmQoKS5nb0JhY2soKTsKLQotICAgIHJldHVybiBkaWRQZXJm
b3JtQWN0aW9uOwogfQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>