<?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>220525</bug_id>
          
          <creation_ts>2021-01-11 13:46:10 -0800</creation_ts>
          <short_desc>[Cocoa] Network extension sandbox extensions are sometimes issued too late</short_desc>
          <delta_ts>2021-01-13 15:27:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718806</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 13:46:10 -0800</bug_when>
    <thetext>Currently, Network extension sandbox extensions are sent to the WebContent process as part of the load parameters, but this is too late in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718807</commentid>
    <comment_count>1</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 13:46:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/68443565&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718814</commentid>
    <comment_count>2</comment_count>
      <attachid>417410</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 14:00:30 -0800</bug_when>
    <thetext>Created attachment 417410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718816</commentid>
    <comment_count>3</comment_count>
      <attachid>417410</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-11 14:08:07 -0800</bug_when>
    <thetext>Comment on attachment 417410
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5024
&gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager&quot;_s }, WTF::nullopt, managerHandle);

What is “managerHandle”? Doesn’t look like this compiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718817</commentid>
    <comment_count>4</comment_count>
      <attachid>417411</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 14:12:20 -0800</bug_when>
    <thetext>Created attachment 417411
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718818</commentid>
    <comment_count>5</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 14:13:14 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 417410 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417410&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5024
&gt; &gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager&quot;_s }, WTF::nullopt, managerHandle);
&gt; 
&gt; What is “managerHandle”? Doesn’t look like this compiles.

Good catch! I have uploaded another patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718820</commentid>
    <comment_count>6</comment_count>
      <attachid>417411</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-01-11 14:20:48 -0800</bug_when>
    <thetext>Comment on attachment 417411
Patch

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

&gt; Source/WebKit/ChangeLog:10
&gt; +        Currently, Network extension sandbox extensions are sent to the WebContent process as part of the load parameters, but this is too late in some cases.
&gt; +        In these cases, the extensions can be sent along with the DidReceivePolicyDecision message.

Given this I would have expected to see code *moving* but instead this patch has code *added*.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5027
&gt; +#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500
&gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager&quot;_s }, WTF::nullopt);
&gt; +#else
&gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager.content-filter&quot;_s }, WTF::nullopt);
&gt; +#endif

Would have liked to see an even tighter version of this that uses a local variable and has less code inside #if with &quot;constexpr ASCIILiteral&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718824</commentid>
    <comment_count>7</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 14:38:27 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #6)
&gt; Comment on attachment 417411 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417411&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/ChangeLog:10
&gt; &gt; +        Currently, Network extension sandbox extensions are sent to the WebContent process as part of the load parameters, but this is too late in some cases.
&gt; &gt; +        In these cases, the extensions can be sent along with the DidReceivePolicyDecision message.
&gt; 
&gt; Given this I would have expected to see code *moving* but instead this patch
&gt; has code *added*.
&gt; 

Initially, I thought the extensions that are sent with the load parameters were needed, since the message with load parameters is normally sent before the policy decision message, but after reconsidering, I now think this can be removed, since the policy decision message should in all cases be handled in the WebContent process before the Network Extension services are being accessed. I will update the patch accordingly.

&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5027
&gt; &gt; +#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &lt; 101500
&gt; &gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager&quot;_s }, WTF::nullopt);
&gt; &gt; +#else
&gt; &gt; +        return SandboxExtension::createHandlesForMachLookup({ &quot;com.apple.nehelper&quot;_s, &quot;com.apple.nesessionmanager.content-filter&quot;_s }, WTF::nullopt);
&gt; &gt; +#endif
&gt; 
&gt; Would have liked to see an even tighter version of this that uses a local
&gt; variable and has less code inside #if with &quot;constexpr ASCIILiteral&quot;.

Will fix!

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718830</commentid>
    <comment_count>8</comment_count>
      <attachid>417412</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-11 15:17:41 -0800</bug_when>
    <thetext>Created attachment 417412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719037</commentid>
    <comment_count>9</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-12 10:08:43 -0800</bug_when>
    <thetext>This patch has been verified to fix the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719335</commentid>
    <comment_count>10</comment_count>
      <attachid>417412</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-01-13 10:32:38 -0800</bug_when>
    <thetext>Comment on attachment 417412
Patch

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

I think this is good, but would be improved by refactoring slightly.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:302
&gt; +#endif

You won&apos;t need this Cocoa-specific include if you leave the implementation in WebPageProxyCocoa.mm and use a stub in WebPageProxy.cpp for non-Cocoa clients.

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5018
&gt; +static SandboxExtension::HandleArray createNetworkExtensionsSandboxExtensions(WebProcessProxy&amp; process)

I think this would be cleaner if this method stayed in WebPageProxyCocoa.mm, with a stub in WebPageProxy.cpp for non-Cocoa cases.

&gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:156
&gt;  

Then you could just move the below code into a method body instead of deleting it here.

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:346
&gt; +#endif

You could avoid adding this cocoa-specific header here, if you moved the Sandbox consumption to WebPageCocoa.mm, which already knows about content filtering and sandbox stuff.

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:3375
&gt; +#endif

I think this would be cleaner with a new method stub in this file called &quot;consumeSandboxExtensions&quot; that is a no-op for non-Cocoa builds. Then the real implementation could live in WebPageCocoa.mm, which already knows about all the important things and no new headers need to be added anywhere.

&gt; Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:-90
&gt; -#endif

... and this could just be moved to a new method (well, I guess the conditionals wouldn&apos;t be needed anymore in the new code path).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719403</commentid>
    <comment_count>11</comment_count>
      <attachid>417554</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-13 13:13:51 -0800</bug_when>
    <thetext>Created attachment 417554
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719410</commentid>
    <comment_count>12</comment_count>
      <attachid>417556</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-13 13:24:15 -0800</bug_when>
    <thetext>Created attachment 417556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719411</commentid>
    <comment_count>13</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-13 13:27:02 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #10)
&gt; Comment on attachment 417412 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417412&amp;action=review
&gt; 
&gt; I think this is good, but would be improved by refactoring slightly.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:302
&gt; &gt; +#endif
&gt; 
&gt; You won&apos;t need this Cocoa-specific include if you leave the implementation
&gt; in WebPageProxyCocoa.mm and use a stub in WebPageProxy.cpp for non-Cocoa
&gt; clients.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:5018
&gt; &gt; +static SandboxExtension::HandleArray createNetworkExtensionsSandboxExtensions(WebProcessProxy&amp; process)
&gt; 
&gt; I think this would be cleaner if this method stayed in WebPageProxyCocoa.mm,
&gt; with a stub in WebPageProxy.cpp for non-Cocoa cases.
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:156
&gt; &gt;  
&gt; 
&gt; Then you could just move the below code into a method body instead of
&gt; deleting it here.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:346
&gt; &gt; +#endif
&gt; 
&gt; You could avoid adding this cocoa-specific header here, if you moved the
&gt; Sandbox consumption to WebPageCocoa.mm, which already knows about content
&gt; filtering and sandbox stuff.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:3375
&gt; &gt; +#endif
&gt; 
&gt; I think this would be cleaner with a new method stub in this file called
&gt; &quot;consumeSandboxExtensions&quot; that is a no-op for non-Cocoa builds. Then the
&gt; real implementation could live in WebPageCocoa.mm, which already knows about
&gt; all the important things and no new headers need to be added anywhere.
&gt; 
&gt; &gt; Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:-90
&gt; &gt; -#endif
&gt; 
&gt; ... and this could just be moved to a new method (well, I guess the
&gt; conditionals wouldn&apos;t be needed anymore in the new code path).

These improvements have been addressed in the latest patch.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719413</commentid>
    <comment_count>14</comment_count>
      <attachid>417557</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-13 13:38:32 -0800</bug_when>
    <thetext>Created attachment 417557
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719450</commentid>
    <comment_count>15</comment_count>
      <attachid>417557</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-01-13 15:13:48 -0800</bug_when>
    <thetext>Comment on attachment 417557
Patch

Looks great! Thank you for addressing my earlier comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719453</commentid>
    <comment_count>16</comment_count>
      <attachid>417557</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-13 15:15:25 -0800</bug_when>
    <thetext>Comment on attachment 417557
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719461</commentid>
    <comment_count>17</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-13 15:27:23 -0800</bug_when>
    <thetext>Committed r271469: &lt;https://trac.webkit.org/changeset/271469&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417557.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417410</attachid>
            <date>2021-01-11 14:00:30 -0800</date>
            <delta_ts>2021-01-11 14:43:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210111140029.patch</filename>
            <type>text/plain</type>
            <size>8465</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzEzNzgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTExICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorIAorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpjcmVh
dGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQXN5bmNTaGFyZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRv
d0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIxLTAxLTExICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIHNlbmRX
aXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGRhdGFDYWxsYmFjayBmb3IgaWNvbiBsb2FkaW5nCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI3
MTM1OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI5Nyw2ICsyOTcsMTAgQEAKICNpbmNsdWRlICJEaXNwbGF5TGluay5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09B
KQorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNl
bmRpZgorCiAvLyBUaGlzIGNvbnRyb2xzIHdoYXQgc3RyYXRlZ3kgd2UgdXNlIGZvciBtb3VzZSB3
aGVlbCBjb2FsZXNjaW5nLgogI2RlZmluZSBNRVJHRV9XSEVFTF9FVkVOVFMgMQogCkBAIC01MDEx
LDYgKzUwMTUsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmJlZ2luU2FmZUJyb3dzaW5nQ2hlYwog
fQogI2VuZGlmCiAKK3N0YXRpYyBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cykKK3sKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQor
ICAgIGlmICghcHJvY2Vzcy5oYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpICYmIE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjppc1JlcXVpcmVkKCkpIHsKKyAgICAgICAgcHJv
Y2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3MoKTsKKyNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKKyAgICAg
ICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKHsg
ImNvbS5hcHBsZS5uZWhlbHBlciJfcywgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zIH0s
IFdURjo6bnVsbG9wdCwgbWFuYWdlckhhbmRsZSk7CisjZWxzZQorICAgICAgICByZXR1cm4gU2Fu
ZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoeyAiY29tLmFwcGxlLm5l
aGVscGVyIl9zLCAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiX3Mg
fSwgV1RGOjpudWxsb3B0KTsKKyNlbmRpZgorICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVj
aWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkFzeW5jKEZyYW1lSWRlbnRpZmllciBmcmFtZUlE
LCBGcmFtZUluZm9EYXRhJiYgZnJhbWVJbmZvLCBQb2xpY3lDaGVja0lkZW50aWZpZXIgaWRlbnRp
ZmllciwgdWludDY0X3QgbmF2aWdhdGlvbklELAogICAgIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYg
bmF2aWdhdGlvbkFjdGlvbkRhdGEsIEZyYW1lSW5mb0RhdGEmJiBvcmlnaW5hdGluZ0ZyYW1lSW5m
bywgT3B0aW9uYWw8V2ViUGFnZVByb3h5SWRlbnRpZmllcj4gb3JpZ2luYXRpbmdQYWdlSUQsIGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LAogICAgIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiBy
ZXF1ZXN0Qm9keSwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2Us
IGNvbnN0IFVzZXJEYXRhJiB1c2VyRGF0YSwgdWludDY0X3QgbGlzdGVuZXJJRCkKQEAgLTUwMjcs
NyArNTA0Niw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EKICAg
ICBNRVNTQUdFX0NIRUNLKHByb2Nlc3MsIGZyYW1lKTsKIAogICAgIGF1dG8gc2VuZGVyID0gUG9s
aWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFtZUlE
LCBsaXN0ZW5lcklELCBwcm9jZXNzXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsKLSAg
ICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURl
Y2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSwgd2ViUGFnZUlEKTsK
KyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGlj
eURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVOZXR3
b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwgd2ViUGFnZUlEKTsKICAg
ICB9KTsKIAogICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5jb3B5
UmVmKCksICpmcmFtZSwgV1RGTW92ZShmcmFtZUluZm8pLCBuYXZpZ2F0aW9uSUQsIFdURk1vdmUo
bmF2aWdhdGlvbkFjdGlvbkRhdGEpLCBXVEZNb3ZlKG9yaWdpbmF0aW5nRnJhbWVJbmZvKSwgb3Jp
Z2luYXRpbmdQYWdlSUQsCkBAIC01MzM4LDcgKzUzNTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yTmV3V2luCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dzaW5n
V2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVyID0g
UG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChjb25z
dCBhdXRvJiBwb2xpY3lEZWNpc2lvbikgewotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGlj
eURlY2lzaW9uKSk7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24sIGNy
ZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMobV9wcm9jZXNzKSkpOwogICAg
ICAgICB9KTsKIAogICAgICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlvbiwg
bnVsbHB0ciwgbnVsbHB0ciwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uKSwgV1RGTW92ZShzZW5k
ZXIpKTsKQEAgLTUzNzcsNyArNTM5Niw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xp
Y3lGb3JSZXNwb24KICAgICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJuaW5nLCAh
c2FmZUJyb3dzaW5nV2FybmluZyk7CiAKICAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lEZWNp
c2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxpc3Rl
bmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAoY29uc3QgYXV0byYgcG9saWN5RGVj
aXNpb24pIHsKLSAgICAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRp
ZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNpc2lv
biksIHdlYlBhZ2VJRCk7CisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5
RGVjaXNpb24sIGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMocHJvY2Vz
cykpLCB3ZWJQYWdlSUQpOwogICAgICAgICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2VpdmVk
UG9saWN5RGVjaXNpb24ocG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBudWxscHRyLCBX
VEZNb3ZlKG5hdmlnYXRpb25SZXNwb25zZSksIFdURk1vdmUoc2VuZGVyKSk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjcx
MzU4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM0MSw2ICszNDEsMTAgQEAKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdl
YkNvcmUvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNlbmRpZgorCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKQEAgLTMzNjMsOCArMzM2NywxMyBAQCB2b2lkIFdlYlBhZ2U6OnNldExheWVySG9zdGluZ01v
ZGUoTGF5ZXJICiAgICAgICAgIHBsdWdpblZpZXctPnNldExheWVySG9zdGluZ01vZGUobV9sYXll
ckhvc3RpbmdNb2RlKTsKIH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNp
b24oRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURl
Y2lzaW9uJiYgcG9saWN5RGVjaXNpb24pCit2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lE
ZWNpc2lvbihGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9s
aWN5RGVjaXNpb24mJiBwb2xpY3lEZWNpc2lvbiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkmIG5ldHdvcmtFeHRlbnNpb25zSGFuZGxlcykKIHsKKyNpZiBFTkFCTEUoQ09OVEVO
VF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQorICAgIFNhbmRib3hFeHRlbnNpb246OmNv
bnN1bWVQZXJtYW5lbnRseShuZXR3b3JrRXh0ZW5zaW9uc0hhbmRsZXMpOworICAgIE5ldHdvcmtF
eHRlbnNpb25Db250ZW50RmlsdGVyOjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKG5l
dHdvcmtFeHRlbnNpb25zSGFuZGxlcy5zaXplKCkpOworI2VuZGlmCisKICAgICBXZWJGcmFtZSog
ZnJhbWUgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKExvYWRpbmcsICJkaWRSZWNlaXZlUG9saWN5RGVjaXNpb246
IHBvbGljeUFjdGlvbjogJXUgLSBmcmFtZUlEOiAlbGx1IC0gd2ViRnJhbWU6ICVwIC0gbWFpbkZy
YW1lOiAlZCIsICh1bnNpZ25lZClwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24sIGZyYW1lSUQu
dG9VSW50NjQoKSwgZnJhbWUsIGZyYW1lID8gZnJhbWUtPmlzTWFpbkZyYW1lKCkgOiAwKTsKIApJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNp
b24gMjcxMzU4KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTg0LDcgKzE1ODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
Y2xlYXJTZXJ2aWNlV29ya2VyRW50aXRsZW1lbnRPdmVycmlkZShDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQogI2Vu
ZGlmCiAKLSAgICB2b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlk
ZW50aWZpZXIsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYpOworICAgIHZv
aWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgdWlu
dDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiwgY29uc3QgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlQXJyYXkmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVz
ZXJBZ2VudChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05h
bWUoY29uc3QgU3RyaW5nJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI3MTM1OCkKKysrIFNv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtp
bmcgY29weSkKQEAgLTE5Niw3ICsxOTYsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kKGVudW06dWluCiAKICAgICBVcGRhdGVXZWJzaXRlUG9saWNpZXMoc3RydWN0IFdlYktpdDo6
V2Vic2l0ZVBvbGljaWVzRGF0YSB3ZWJzaXRlUG9saWNpZXMpCiAgICAgTm90aWZ5VXNlclNjcmlw
dHMoKQotICAgIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgc3RydWN0IFdlYktpdDo6UG9saWN5RGVj
aXNpb24gcG9saWN5RGVjaXNpb24pCisgICAgRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBzdHJ1Y3Qg
V2ViS2l0OjpQb2xpY3lEZWNpc2lvbiBwb2xpY3lEZWNpc2lvbiwgV2ViS2l0OjpTYW5kYm94RXh0
ZW5zaW9uOjpIYW5kbGVBcnJheSBuZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKQog
CiAgICAgQ29udGludWVXaWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCkKIAo=
</data>
<flag name="commit-queue"
          id="435125"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417411</attachid>
            <date>2021-01-11 14:12:20 -0800</date>
            <delta_ts>2021-01-11 15:17:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210111141219.patch</filename>
            <type>text/plain</type>
            <size>8450</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzEzNzgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIxLTAxLTExICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorIAorICAg
ICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpjcmVh
dGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQXN5bmNTaGFyZWQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvck5ld1dpbmRv
d0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9y
UmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDIxLTAxLTExICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXNlIHNlbmRX
aXRoQXN5bmNSZXBseSBpbnN0ZWFkIG9mIGRhdGFDYWxsYmFjayBmb3IgaWNvbiBsb2FkaW5nCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI3
MTM1OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI5Nyw2ICsyOTcsMTAgQEAKICNpbmNsdWRlICJEaXNwbGF5TGluay5oIgog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09B
KQorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNl
bmRpZgorCiAvLyBUaGlzIGNvbnRyb2xzIHdoYXQgc3RyYXRlZ3kgd2UgdXNlIGZvciBtb3VzZSB3
aGVlbCBjb2FsZXNjaW5nLgogI2RlZmluZSBNRVJHRV9XSEVFTF9FVkVOVFMgMQogCkBAIC01MDEx
LDYgKzUwMTUsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmJlZ2luU2FmZUJyb3dzaW5nQ2hlYwog
fQogI2VuZGlmCiAKK3N0YXRpYyBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2Vz
cykKK3sKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQor
ICAgIGlmICghcHJvY2Vzcy5oYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpICYmIE5l
dHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjppc1JlcXVpcmVkKCkpIHsKKyAgICAgICAgcHJv
Y2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRib3hBY2Nlc3MoKTsKKyNpZiBQTEFURk9S
TShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKKyAgICAg
ICAgcmV0dXJuIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZXNGb3JNYWNoTG9va3VwKHsg
ImNvbS5hcHBsZS5uZWhlbHBlciJfcywgImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zIH0s
IFdURjo6bnVsbG9wdCk7CisjZWxzZQorICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6
Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoeyAiY29tLmFwcGxlLm5laGVscGVyIl9zLCAiY29t
LmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIiX3MgfSwgV1RGOjpudWxsb3B0
KTsKKyNlbmRpZgorICAgIH0KKyNlbmRpZgorICAgIHJldHVybiBTYW5kYm94RXh0ZW5zaW9uOjpI
YW5kbGVBcnJheSgpOworfQorCiB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2
aWdhdGlvbkFjdGlvbkFzeW5jKEZyYW1lSWRlbnRpZmllciBmcmFtZUlELCBGcmFtZUluZm9EYXRh
JiYgZnJhbWVJbmZvLCBQb2xpY3lDaGVja0lkZW50aWZpZXIgaWRlbnRpZmllciwgdWludDY0X3Qg
bmF2aWdhdGlvbklELAogICAgIE5hdmlnYXRpb25BY3Rpb25EYXRhJiYgbmF2aWdhdGlvbkFjdGlv
bkRhdGEsIEZyYW1lSW5mb0RhdGEmJiBvcmlnaW5hdGluZ0ZyYW1lSW5mbywgT3B0aW9uYWw8V2Vi
UGFnZVByb3h5SWRlbnRpZmllcj4gb3JpZ2luYXRpbmdQYWdlSUQsIGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgb3JpZ2luYWxSZXF1ZXN0LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
JiByZXF1ZXN0LAogICAgIElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmJiByZXF1ZXN0Qm9keSwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYmIHJlZGlyZWN0UmVzcG9uc2UsIGNvbnN0IFVzZXJEYXRh
JiB1c2VyRGF0YSwgdWludDY0X3QgbGlzdGVuZXJJRCkKQEAgLTUwMjcsNyArNTA0Niw3IEBAIHZv
aWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EKICAgICBNRVNTQUdFX0NIRUNL
KHByb2Nlc3MsIGZyYW1lKTsKIAogICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25TZW5k
ZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFtZUlELCBsaXN0ZW5lcklELCBw
cm9jZXNzXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsKLSAgICAgICAgcHJvY2Vzcy0+
c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQs
IGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSwgd2ViUGFnZUlEKTsKKyAgICAgICAgcHJvY2Vz
cy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1l
SUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1Nh
bmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwgd2ViUGFnZUlEKTsKICAgICB9KTsKIAogICAgIGRl
Y2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5jb3B5UmVmKCksICpmcmFtZSwg
V1RGTW92ZShmcmFtZUluZm8pLCBuYXZpZ2F0aW9uSUQsIFdURk1vdmUobmF2aWdhdGlvbkFjdGlv
bkRhdGEpLCBXVEZNb3ZlKG9yaWdpbmF0aW5nRnJhbWVJbmZvKSwgb3JpZ2luYXRpbmdQYWdlSUQs
CkBAIC01MzM4LDcgKzUzNTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9y
TmV3V2luCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dzaW5nV2FybmluZywgIXNhZmVC
cm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25T
ZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFdURk1vdmUo
cHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChjb25zdCBhdXRvJiBwb2xpY3lE
ZWNpc2lvbikgewotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2
ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSk7Cisg
ICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNp
b24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24sIGNyZWF0ZU5ldHdvcmtFeHRl
bnNpb25zU2FuZGJveEV4dGVuc2lvbnMobV9wcm9jZXNzKSkpOwogICAgICAgICB9KTsKIAogICAg
ICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlvbiwgbnVsbHB0ciwgbnVsbHB0
ciwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uKSwgV1RGTW92ZShzZW5kZXIpKTsKQEAgLTUzNzcs
NyArNTM5Niw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JSZXNwb24KICAg
ICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJuaW5nLCAhc2FmZUJyb3dzaW5nV2Fy
bmluZyk7CiAKICAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lEZWNpc2lvblNlbmRlcjo6Y3Jl
YXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxpc3RlbmVySUQsIHByb2Nlc3Mg
PSBXVEZNb3ZlKHByb2Nlc3MpXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsKLSAgICAg
ICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lE
ZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNpc2lvbiksIHdlYlBhZ2VJRCk7
CisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNlaXZl
UG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24sIGNyZWF0
ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMocHJvY2VzcykpLCB3ZWJQYWdlSUQp
OwogICAgICAgICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2VpdmVkUG9saWN5RGVjaXNpb24o
cG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBudWxscHRyLCBXVEZNb3ZlKG5hdmlnYXRp
b25SZXNwb25zZSksIFdURk1vdmUoc2VuZGVyKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjcxMzU4KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0MSw2ICszNDEsMTAgQEAKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0V4
dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTMzNjMsOCAr
MzM2NywxMyBAQCB2b2lkIFdlYlBhZ2U6OnNldExheWVySG9zdGluZ01vZGUoTGF5ZXJICiAgICAg
ICAgIHBsdWdpblZpZXctPnNldExheWVySG9zdGluZ01vZGUobV9sYXllckhvc3RpbmdNb2RlKTsK
IH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oRnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYgcG9saWN5
RGVjaXNpb24pCit2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiBw
b2xpY3lEZWNpc2lvbiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmIG5ldHdv
cmtFeHRlbnNpb25zSGFuZGxlcykKIHsKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYm
IFBMQVRGT1JNKENPQ09BKQorICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRs
eShuZXR3b3JrRXh0ZW5zaW9uc0hhbmRsZXMpOworICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50
RmlsdGVyOjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKG5ldHdvcmtFeHRlbnNpb25z
SGFuZGxlcy5zaXplKCkpOworI2VuZGlmCisKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKExvYWRpbmcsICJkaWRSZWNlaXZlUG9saWN5RGVjaXNpb246IHBvbGljeUFjdGlvbjog
JXUgLSBmcmFtZUlEOiAlbGx1IC0gd2ViRnJhbWU6ICVwIC0gbWFpbkZyYW1lOiAlZCIsICh1bnNp
Z25lZClwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24sIGZyYW1lSUQudG9VSW50NjQoKSwgZnJh
bWUsIGZyYW1lID8gZnJhbWUtPmlzTWFpbkZyYW1lKCkgOiAwKTsKIApJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjcxMzU4KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTg0LDcgKzE1ODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJTZXJ2aWNlV29y
a2VyRW50aXRsZW1lbnRPdmVycmlkZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQogI2VuZGlmCiAKLSAgICB2b2lk
IGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2
NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYpOworICAgIHZvaWQgZGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgdWludDY0X3QgbGlzdGVuZXJJ
RCwgUG9saWN5RGVjaXNpb24mJiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkm
KTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVzZXJBZ2VudChjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5n
Jik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI3MTM1OCkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE5
Niw3ICsxOTYsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWluCiAK
ICAgICBVcGRhdGVXZWJzaXRlUG9saWNpZXMoc3RydWN0IFdlYktpdDo6V2Vic2l0ZVBvbGljaWVz
RGF0YSB3ZWJzaXRlUG9saWNpZXMpCiAgICAgTm90aWZ5VXNlclNjcmlwdHMoKQotICAgIERpZFJl
Y2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWlu
dDY0X3QgbGlzdGVuZXJJRCwgc3RydWN0IFdlYktpdDo6UG9saWN5RGVjaXNpb24gcG9saWN5RGVj
aXNpb24pCisgICAgRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBzdHJ1Y3QgV2ViS2l0OjpQb2xpY3lE
ZWNpc2lvbiBwb2xpY3lEZWNpc2lvbiwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVB
cnJheSBuZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKQogCiAgICAgQ29udGludWVX
aWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3Qg
bGlzdGVuZXJJRCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417412</attachid>
            <date>2021-01-11 15:17:41 -0800</date>
            <delta_ts>2021-01-13 13:13:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210111151738.patch</filename>
            <type>text/plain</type>
            <size>13494</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzEzODIpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAxLTExICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybUVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybURlY29kZSk6CisgICAgICAgICogU2hhcmVkL0xv
YWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFkZFBsYXRmb3JtTG9hZFBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQXN5bmNTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBs
YXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAy
MS0wMS0xMSAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGUuY29tPgogCiAgICAgICAgIE1ha2Ug
U3BlZWNoUmVjb2duaXRpb24gcGVybWlzc2lvbiBlcnJvciBtb3JlIGluZm9ybWF0aXZlCkluZGV4
OiBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1ldGVycy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmgJKHJldmlzaW9uIDI3MTM1OCkKKysr
IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0xvYWRQYXJhbWV0ZXJzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTc0LDggKzc0LDYgQEAgc3RydWN0IExvYWRQYXJhbWV0ZXJzIHsKIAogI2lmIFBMQVRGT1JNKENP
Q09BKQogICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRhdGFEZXRlY3Rpb25Db250ZXh0Owot
ICAgIE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gbmVIZWxwZXJFeHRlbnNpb25I
YW5kbGU7Ci0gICAgT3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPiBuZVNlc3Npb25N
YW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIE9w
dGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4gY29udGVudEZpbHRlckV4dGVuc2lvbkhh
bmRsZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29j
b2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvTG9hZFBhcmFt
ZXRlcnNDb2NvYS5tbQkocmV2aXNpb24gMjcxMzU4KQorKysgU291cmNlL1dlYktpdC9TaGFyZWQv
Q29jb2EvTG9hZFBhcmFtZXRlcnNDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMzcsOCArMzcs
NiBAQCB2b2lkIExvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybUVuY29kZShJUEM6CiB7CiAgICAgSVBD
OjplbmNvZGUoZW5jb2RlciwgZGF0YURldGVjdGlvbkNvbnRleHQuZ2V0KCkpOwogCi0gICAgZW5j
b2RlciA8PCBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBlbmNvZGVyIDw8IG5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGU7CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGVuY29kZXIg
PDwgY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBlbmNvZGVyIDw8IGZyb250Ym9h
cmRTZXJ2aWNlRXh0ZW5zaW9uSGFuZGxlOwpAQCAtNTAsMTggKzQ4LDYgQEAgYm9vbCBMb2FkUGFy
YW1ldGVyczo6cGxhdGZvcm1EZWNvZGUoSVBDOgogICAgIGlmICghSVBDOjpkZWNvZGUoZGVjb2Rl
ciwgcGFyYW1ldGVycy5kYXRhRGV0ZWN0aW9uQ29udGV4dCkpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAotICAgIE9wdGlvbmFsPE9wdGlvbmFsPFNhbmRib3hFeHRlbnNpb246OkhhbmRsZT4+IG5l
SGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIGRlY29kZXIgPj4gbmVIZWxwZXJFeHRlbnNpb25I
YW5kbGU7Ci0gICAgaWYgKCFuZUhlbHBlckV4dGVuc2lvbkhhbmRsZSkKLSAgICAgICAgcmV0dXJu
IGZhbHNlOwotICAgIHBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KCpuZUhlbHBlckV4dGVuc2lvbkhhbmRsZSk7Ci0KLSAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGU+PiBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwot
ICAgIGRlY29kZXIgPj4gbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBpZiAo
IW5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KCpuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsKLQogI2lmIFBMQVRGT1JNKElPUykK
ICAgICBPcHRpb25hbDxPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBjb250ZW50
RmlsdGVyRXh0ZW5zaW9uSGFuZGxlOwogICAgIGRlY29kZXIgPj4gY29udGVudEZpbHRlckV4dGVu
c2lvbkhhbmRsZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cAkocmV2aXNpb24gMjcxMzU4KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk3LDYgKzI5NywxMCBAQAogI2luY2x1ZGUgIkRp
c3BsYXlMaW5rLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykgJiYg
UExBVEZPUk0oQ09DT0EpCisjaW5jbHVkZSA8V2ViQ29yZS9OZXR3b3JrRXh0ZW5zaW9uQ29udGVu
dEZpbHRlci5oPgorI2VuZGlmCisKIC8vIFRoaXMgY29udHJvbHMgd2hhdCBzdHJhdGVneSB3ZSB1
c2UgZm9yIG1vdXNlIHdoZWVsIGNvYWxlc2NpbmcuCiAjZGVmaW5lIE1FUkdFX1dIRUVMX0VWRU5U
UyAxCiAKQEAgLTUwMTEsNiArNTAxNSwyMyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6YmVnaW5TYWZl
QnJvd3NpbmdDaGVjCiB9CiAjZW5kaWYKIAorc3RhdGljIFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZUFycmF5IGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMoV2ViUHJvY2Vz
c1Byb3h5JiBwcm9jZXNzKQoreworI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykgJiYgUExB
VEZPUk0oQ09DT0EpCisgICAgaWYgKCFwcm9jZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94
QWNjZXNzKCkgJiYgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkg
eworICAgICAgICBwcm9jZXNzLm1hcmtIYXNOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2Vzcygp
OworICAgICAgICBjb25zdGV4cHIgQVNDSUlMaXRlcmFsIG5lSGVscGVyU2VydmljZSB7ICJjb20u
YXBwbGUubmVoZWxwZXIiX3MgfTsKKyNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAKKyAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJh
bCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJf
cyB9OworI2Vsc2UKKyAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5h
Z2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciJf
cyB9OworI2VuZGlmCisgICAgICAgIHJldHVybiBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5k
bGVzRm9yTWFjaExvb2t1cCh7IG5lSGVscGVyU2VydmljZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZp
Y2UgfSwgV1RGOjpudWxsb3B0KTsKKyAgICB9CisjZW5kaWYKKyAgICByZXR1cm4gU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30KKwogdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5hdmlnYXRpb25BY3Rpb25Bc3luYyhGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgRnJh
bWVJbmZvRGF0YSYmIGZyYW1lSW5mbywgUG9saWN5Q2hlY2tJZGVudGlmaWVyIGlkZW50aWZpZXIs
IHVpbnQ2NF90IG5hdmlnYXRpb25JRCwKICAgICBOYXZpZ2F0aW9uQWN0aW9uRGF0YSYmIG5hdmln
YXRpb25BY3Rpb25EYXRhLCBGcmFtZUluZm9EYXRhJiYgb3JpZ2luYXRpbmdGcmFtZUluZm8sIE9w
dGlvbmFsPFdlYlBhZ2VQcm94eUlkZW50aWZpZXI+IG9yaWdpbmF0aW5nUGFnZUlELCBjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIG9yaWdpbmFsUmVxdWVzdCwgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZXN0JiYgcmVxdWVzdCwKICAgICBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYgcmVxdWVz
dEJvZHksIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmJiByZWRpcmVjdFJlc3BvbnNlLCBjb25z
dCBVc2VyRGF0YSYgdXNlckRhdGEsIHVpbnQ2NF90IGxpc3RlbmVySUQpCkBAIC01MDI3LDcgKzUw
NDgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhCiAgICAgTUVT
U0FHRV9DSEVDSyhwcm9jZXNzLCBmcmFtZSk7CiAKICAgICBhdXRvIHNlbmRlciA9IFBvbGljeURl
Y2lzaW9uU2VuZGVyOjpjcmVhdGUoaWRlbnRpZmllciwgW3dlYlBhZ2VJRCwgZnJhbWVJRCwgbGlz
dGVuZXJJRCwgcHJvY2Vzc10gKGNvbnN0IGF1dG8mIHBvbGljeURlY2lzaW9uKSB7Ci0gICAgICAg
IHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lv
bihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNpc2lvbiksIHdlYlBhZ2VJRCk7CisgICAg
ICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNpc2lvbiwgY3JlYXRlTmV0d29ya0V4
dGVuc2lvbnNTYW5kYm94RXh0ZW5zaW9ucyhwcm9jZXNzKSksIHdlYlBhZ2VJRCk7CiAgICAgfSk7
CiAKICAgICBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKHByb2Nlc3MuY29weVJlZigp
LCAqZnJhbWUsIFdURk1vdmUoZnJhbWVJbmZvKSwgbmF2aWdhdGlvbklELCBXVEZNb3ZlKG5hdmln
YXRpb25BY3Rpb25EYXRhKSwgV1RGTW92ZShvcmlnaW5hdGluZ0ZyYW1lSW5mbyksIG9yaWdpbmF0
aW5nUGFnZUlELApAQCAtNTMzOCw3ICs1MzU5LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lk
ZVBvbGljeUZvck5ld1dpbgogICAgICAgICBBU1NFUlRfVU5VU0VEKHNhZmVCcm93c2luZ1dhcm5p
bmcsICFzYWZlQnJvd3NpbmdXYXJuaW5nKTsKIAogICAgICAgICBhdXRvIHNlbmRlciA9IFBvbGlj
eURlY2lzaW9uU2VuZGVyOjpjcmVhdGUoaWRlbnRpZmllciwgW3RoaXMsIHByb3RlY3RlZFRoaXMg
PSBXVEZNb3ZlKHByb3RlY3RlZFRoaXMpLCBmcmFtZUlELCBsaXN0ZW5lcklEXSAoY29uc3QgYXV0
byYgcG9saWN5RGVjaXNpb24pIHsKLSAgICAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNp
c2lvbikpOworICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKG1fcHJvY2VzcykpKTsKICAgICAgICAg
fSk7CiAKICAgICAgICAgcmVjZWl2ZWRQb2xpY3lEZWNpc2lvbihwb2xpY3lBY3Rpb24sIG51bGxw
dHIsIG51bGxwdHIsIFdURk1vdmUobmF2aWdhdGlvbkFjdGlvbiksIFdURk1vdmUoc2VuZGVyKSk7
CkBAIC01Mzc3LDcgKzUzOTgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9y
UmVzcG9uCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dzaW5nV2FybmluZywgIXNhZmVC
cm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVyID0gUG9saWN5RGVjaXNpb25T
ZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFtZUlELCBsaXN0ZW5lcklE
LCBwcm9jZXNzID0gV1RGTW92ZShwcm9jZXNzKV0gKGNvbnN0IGF1dG8mIHBvbGljeURlY2lzaW9u
KSB7Ci0gICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRSZWNl
aXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24pLCB3
ZWJQYWdlSUQpOworICAgICAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6
RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lz
aW9uLCBjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwg
d2ViUGFnZUlEKTsKICAgICAgICAgfSk7CiAgICAgICAgIAogICAgICAgICByZWNlaXZlZFBvbGlj
eURlY2lzaW9uKHBvbGljeUFjdGlvbiwgbmF2aWdhdGlvbi5nZXQoKSwgbnVsbHB0ciwgV1RGTW92
ZShuYXZpZ2F0aW9uUmVzcG9uc2UpLCBXVEZNb3ZlKHNlbmRlcikpOwpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHJldmlz
aW9uIDI3MTM1OCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94
eUNvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsMjMgKzE1NCw2IEBAIHZvaWQgV2ViUGFn
ZVByb3h5OjphZGRQbGF0Zm9ybUxvYWRQYXJhbWUKIHsKICAgICBsb2FkUGFyYW1ldGVycy5kYXRh
RGV0ZWN0aW9uQ29udGV4dCA9IG1fdWlDbGllbnQtPmRhdGFEZXRlY3Rpb25Db250ZXh0KCk7CiAK
LSNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCi0gICAgaWYgKCFwcm9jZXNzLmhhc05ldHdv
cmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0
ZXI6OmlzUmVxdWlyZWQoKSkgewotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGVs
cGVySGFuZGxlOwotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNo
TG9va3VwKCJjb20uYXBwbGUubmVoZWxwZXIiX3MsIFdURjo6bnVsbG9wdCwgaGVscGVySGFuZGxl
KTsKLSAgICAgICAgbG9hZFBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZN
b3ZlKGhlbHBlckhhbmRsZSk7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtYW5h
Z2VySGFuZGxlOwotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA8IDEwMTUwMAotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVG
b3JNYWNoTG9va3VwKCJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcywgV1RGOjpudWxsb3B0
LCBtYW5hZ2VySGFuZGxlKTsKLSNlbHNlCi0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0
ZUhhbmRsZUZvck1hY2hMb29rdXAoImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQt
ZmlsdGVyIl9zLCBXVEY6Om51bGxvcHQsIG1hbmFnZXJIYW5kbGUpOwotI2VuZGlmCi0gICAgICAg
IGxvYWRQYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3Zl
KG1hbmFnZXJIYW5kbGUpOwotCi0gICAgICAgIHByb2Nlc3MubWFya0hhc05ldHdvcmtFeHRlbnNp
b25TYW5kYm94QWNjZXNzKCk7Ci0gICAgfQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1MpCiAg
ICAgaWYgKCFwcm9jZXNzLmhhc01hbmFnZWRTZXNzaW9uU2FuZGJveEFjY2VzcygpICYmIFtnZXRX
ZWJGaWx0ZXJFdmFsdWF0b3JDbGFzcygpIGlzTWFuYWdlZFNlc3Npb25dKSB7CiAgICAgICAgIFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSBoYW5kbGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gMjcxMzU4KQorKysgU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM0MSw2ICszNDEsMTAgQEAKICNlbmRpZgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpICYmIFBMQVRGT1JNKENPQ09BKQorI2luY2x1ZGUgPFdlYkNvcmUvTmV0d29ya0V4
dGVuc2lvbkNvbnRlbnRGaWx0ZXIuaD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIHVz
aW5nIG5hbWVzcGFjZSBKU0M7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKQEAgLTMzNjMsOCAr
MzM2NywxMyBAQCB2b2lkIFdlYlBhZ2U6OnNldExheWVySG9zdGluZ01vZGUoTGF5ZXJICiAgICAg
ICAgIHBsdWdpblZpZXctPnNldExheWVySG9zdGluZ01vZGUobV9sYXllckhvc3RpbmdNb2RlKTsK
IH0KIAotdm9pZCBXZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oRnJhbWVJZGVudGlm
aWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYgcG9saWN5
RGVjaXNpb24pCit2b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiBw
b2xpY3lEZWNpc2lvbiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmIG5ldHdv
cmtFeHRlbnNpb25zSGFuZGxlcykKIHsKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpICYm
IFBMQVRGT1JNKENPQ09BKQorICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRs
eShuZXR3b3JrRXh0ZW5zaW9uc0hhbmRsZXMpOworICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50
RmlsdGVyOjpzZXRIYXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKG5ldHdvcmtFeHRlbnNpb25z
SGFuZGxlcy5zaXplKCkpOworI2VuZGlmCisKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKExvYWRpbmcsICJkaWRSZWNlaXZlUG9saWN5RGVjaXNpb246IHBvbGljeUFjdGlvbjog
JXUgLSBmcmFtZUlEOiAlbGx1IC0gd2ViRnJhbWU6ICVwIC0gbWFpbkZyYW1lOiAlZCIsICh1bnNp
Z25lZClwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24sIGZyYW1lSUQudG9VSW50NjQoKSwgZnJh
bWUsIGZyYW1lID8gZnJhbWUtPmlzTWFpbkZyYW1lKCkgOiAwKTsKIApJbmRleDogU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjcxMzU4KQorKysg
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTg0LDcgKzE1ODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJTZXJ2aWNlV29y
a2VyRW50aXRsZW1lbnRPdmVycmlkZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQogI2VuZGlmCiAKLSAgICB2b2lk
IGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2
NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYpOworICAgIHZvaWQgZGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgdWludDY0X3QgbGlzdGVuZXJJ
RCwgUG9saWN5RGVjaXNpb24mJiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkm
KTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29yZTo6RnJhbWVJZGVudGlm
aWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVzZXJBZ2VudChjb25zdCBT
dHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUoY29uc3QgU3RyaW5n
Jik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UubWVzc2FnZXMuaW4JKHJldmlzaW9uIDI3MTM1OCkKKysrIFNvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE5
Niw3ICsxOTYsNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWluCiAK
ICAgICBVcGRhdGVXZWJzaXRlUG9saWNpZXMoc3RydWN0IFdlYktpdDo6V2Vic2l0ZVBvbGljaWVz
RGF0YSB3ZWJzaXRlUG9saWNpZXMpCiAgICAgTm90aWZ5VXNlclNjcmlwdHMoKQotICAgIERpZFJl
Y2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWlu
dDY0X3QgbGlzdGVuZXJJRCwgc3RydWN0IFdlYktpdDo6UG9saWN5RGVjaXNpb24gcG9saWN5RGVj
aXNpb24pCisgICAgRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRp
ZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBzdHJ1Y3QgV2ViS2l0OjpQb2xpY3lE
ZWNpc2lvbiBwb2xpY3lEZWNpc2lvbiwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVB
cnJheSBuZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKQogCiAgICAgQ29udGludWVX
aWxsU3VibWl0Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3Qg
bGlzdGVuZXJJRCkKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29j
b2EvV2ViUGFnZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQkocmV2aXNpb24gMjcxMzU4KQorKysgU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MSwxNCArODEsNiBAQCB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtRGlkUmVj
ZWl2ZUxvYWRQYXJhCiAKICAgICBtX2RhdGFEZXRlY3Rpb25Db250ZXh0ID0gcGFyYW1ldGVycy5k
YXRhRGV0ZWN0aW9uQ29udGV4dDsKIAotI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKLSAg
ICBpZiAocGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSkKLSAgICAgICAgU2FuZGJv
eEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5z
aW9uSGFuZGxlKTsKLSAgICBpZiAocGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9u
SGFuZGxlKQotICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBh
cmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7Ci0gICAgTmV0d29ya0V4
dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OnNldEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMocGFy
YW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZS5oYXNWYWx1ZSgpICYmIHBhcmFtZXRlcnMu
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZS5oYXNWYWx1ZSgpKTsKLSNlbmRpZgotCiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIGlmIChwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNp
b25IYW5kbGUpCiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgq
cGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFuZGxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417554</attachid>
            <date>2021-01-13 13:13:51 -0800</date>
            <delta_ts>2021-01-13 13:32:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210113131350.patch</filename>
            <type>text/plain</type>
            <size>14628</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAxLTEzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybUVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybURlY29kZSk6CisgICAgICAgICogU2hhcmVkL0xv
YWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFkZFBsYXRmb3JtTG9hZFBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQXN5bmNTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBs
YXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAy
MS0wMS0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIERlZmVyIHNldHRpbmcgdXAgYXBwIGhpZ2hsaWdodCBtZW51cyB1bnRpbCBuZWVkZWQgdG8g
bm90IGRlbGF5IGxhdW5jaCB0aW1lLgpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBh
cmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1l
dGVycy5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFy
YW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHN0cnVjdCBMb2FkUGFy
YW1ldGVycyB7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBkYXRhRGV0ZWN0aW9uQ29udGV4dDsKLSAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGU+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIE9wdGlvbmFsPFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZT4gbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0JKHJldmlzaW9uIDI3MTQ0
NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6cGxh
dGZvcm1FbmNvZGUoSVBDOgogewogICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGRhdGFEZXRlY3Rp
b25Db250ZXh0LmdldCgpKTsKIAotICAgIGVuY29kZXIgPDwgbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGU7Ci0gICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogI2lm
IFBMQVRGT1JNKElPUykKICAgICBlbmNvZGVyIDw8IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5k
bGU7CiAgICAgZW5jb2RlciA8PCBmcm9udGJvYXJkU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKQEAg
LTUwLDE4ICs0OCw2IEBAIGJvb2wgTG9hZFBhcmFtZXRlcnM6OnBsYXRmb3JtRGVjb2RlKElQQzoK
ICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHBhcmFtZXRlcnMuZGF0YURldGVjdGlvbkNv
bnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBPcHRpb25hbDxPcHRpb25hbDxT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBk
ZWNvZGVyID4+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIGlmICghbmVIZWxwZXJFeHRl
bnNpb25IYW5kbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBwYXJhbWV0ZXJzLm5lSGVs
cGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOwot
Ci0gICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVTZXNz
aW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBkZWNvZGVyID4+IG5lU2Vzc2lvbk1hbmFn
ZXJFeHRlbnNpb25IYW5kbGU7Ci0gICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZSk7Ci0KICNpZiBQTEFURk9STShJT1MpCiAgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPj4gY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBk
ZWNvZGVyID4+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
MjcsNyArNTAyNyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EK
ICAgICBNRVNTQUdFX0NIRUNLKHByb2Nlc3MsIGZyYW1lKTsKIAogICAgIGF1dG8gc2VuZGVyID0g
UG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFt
ZUlELCBsaXN0ZW5lcklELCBwcm9jZXNzXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsK
LSAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGlj
eURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSwgd2ViUGFnZUlE
KTsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwgd2ViUGFnZUlEKTsK
ICAgICB9KTsKIAogICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5j
b3B5UmVmKCksICpmcmFtZSwgV1RGTW92ZShmcmFtZUluZm8pLCBuYXZpZ2F0aW9uSUQsIFdURk1v
dmUobmF2aWdhdGlvbkFjdGlvbkRhdGEpLCBXVEZNb3ZlKG9yaWdpbmF0aW5nRnJhbWVJbmZvKSwg
b3JpZ2luYXRpbmdQYWdlSUQsCkBAIC01MzM4LDcgKzUzMzgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dz
aW5nV2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVy
ID0gUG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChj
b25zdCBhdXRvJiBwb2xpY3lEZWNpc2lvbikgewotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBv
bGljeURlY2lzaW9uKSk7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24s
IGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMobV9wcm9jZXNzKSkpOwog
ICAgICAgICB9KTsKIAogICAgICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlv
biwgbnVsbHB0ciwgbnVsbHB0ciwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uKSwgV1RGTW92ZShz
ZW5kZXIpKTsKQEAgLTUzNzcsNyArNTM3Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQ
b2xpY3lGb3JSZXNwb24KICAgICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJuaW5n
LCAhc2FmZUJyb3dzaW5nV2FybmluZyk7CiAKICAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lE
ZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxp
c3RlbmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAoY29uc3QgYXV0byYgcG9saWN5
RGVjaXNpb24pIHsKLSAgICAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNp
c2lvbiksIHdlYlBhZ2VJRCk7CisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9s
aWN5RGVjaXNpb24sIGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMocHJv
Y2VzcykpLCB3ZWJQYWdlSUQpOwogICAgICAgICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2Vp
dmVkUG9saWN5RGVjaXNpb24ocG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBudWxscHRy
LCBXVEZNb3ZlKG5hdmlnYXRpb25SZXNwb25zZSksIFdURk1vdmUoc2VuZGVyKSk7CkBAIC0xMDMz
OSw2ICsxMDMzOSwxMyBAQCBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJv
CiAKICNlbmRpZgogCisjaWYgIVBMQVRGT1JNKENPQ09BKQorU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRl
bnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKK3sKKyAgICByZXR1cm4gU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3MCw2ICsyMzcw
LDEwIEBAIHByaXZhdGU6CiAgICAgYm9vbCBzZXRJc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWlu
QW5kQ2hlY2tJZlBlcm1pdHRlZChib29sIGlzTWFpbkZyYW1lLCBjb25zdCBVUkwmLCBPcHRpb25h
bDxOYXZpZ2F0aW5nVG9BcHBCb3VuZERvbWFpbj4pOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQ09O
VEVOVF9GSUxURVJJTkcpCisgICAgc3RhdGljIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5
IGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMoV2ViUHJvY2Vzc1Byb3h5
Jik7CisjZW5kaWYKKwogICAgIGNvbnN0IElkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogICAgIFdl
YkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1fd2ViUGFnZUlEOwogICAgIFdlYWtQdHI8UGFnZUNsaWVu
dD4gbV9wYWdlQ2xpZW50OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2Vi
UGFnZVByb3h5Q29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUGFnZVByb3h5Q29jb2EubW0JKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTQsMjMgKzE1NCw2IEBAIHZvaWQgV2ViUGFnZVByb3h5OjphZGRQbGF0Zm9ybUxvYWRQ
YXJhbWUKIHsKICAgICBsb2FkUGFyYW1ldGVycy5kYXRhRGV0ZWN0aW9uQ29udGV4dCA9IG1fdWlD
bGllbnQtPmRhdGFEZXRlY3Rpb25Db250ZXh0KCk7CiAKLSNpZiBFTkFCTEUoQ09OVEVOVF9GSUxU
RVJJTkcpCi0gICAgaWYgKCFwcm9jZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNz
KCkgJiYgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgewotICAg
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgaGVscGVySGFuZGxlOwotICAgICAgICBTYW5k
Ym94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUubmVoZWxw
ZXIiX3MsIFdURjo6bnVsbG9wdCwgaGVscGVySGFuZGxlKTsKLSAgICAgICAgbG9hZFBhcmFtZXRl
cnMubmVIZWxwZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKGhlbHBlckhhbmRsZSk7Ci0gICAg
ICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBtYW5hZ2VySGFuZGxlOwotI2lmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA8IDEwMTUwMAotICAgICAg
ICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUu
bmVzZXNzaW9ubWFuYWdlciJfcywgV1RGOjpudWxsb3B0LCBtYW5hZ2VySGFuZGxlKTsKLSNlbHNl
Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAoImNv
bS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyLmNvbnRlbnQtZmlsdGVyIl9zLCBXVEY6Om51bGxvcHQs
IG1hbmFnZXJIYW5kbGUpOwotI2VuZGlmCi0gICAgICAgIGxvYWRQYXJhbWV0ZXJzLm5lU2Vzc2lv
bk1hbmFnZXJFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKG1hbmFnZXJIYW5kbGUpOwotCi0gICAg
ICAgIHByb2Nlc3MubWFya0hhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCk7Ci0gICAg
fQotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKCFwcm9jZXNzLmhhc01hbmFn
ZWRTZXNzaW9uU2FuZGJveEFjY2VzcygpICYmIFtnZXRXZWJGaWx0ZXJFdmFsdWF0b3JDbGFzcygp
IGlzTWFuYWdlZFNlc3Npb25dKSB7CiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBo
YW5kbGU7CkBAIC01NTIsOCArNTM1LDI0IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpjcmVhdGVBcHBI
aWdobGlnaHRJblMKIAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkNyZWF0ZUFwcEhpZ2hs
aWdodEluU2VsZWN0ZWRSYW5nZShjcmVhdGVOZXdHcm91cCkpOwogfQorI2VuZGlmCiAKK1NhbmRi
b3hFeHRlbnNpb246OkhhbmRsZUFycmF5IFdlYlBhZ2VQcm94eTo6Y3JlYXRlTmV0d29ya0V4dGVu
c2lvbnNTYW5kYm94RXh0ZW5zaW9ucyhXZWJQcm9jZXNzUHJveHkmIHByb2Nlc3MpCit7CisjaWYg
RU5BQkxFKENPTlRFTlRfRklMVEVSSU5HKQorICAgIGlmICghcHJvY2Vzcy5oYXNOZXR3b3JrRXh0
ZW5zaW9uU2FuZGJveEFjY2VzcygpICYmIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpp
c1JlcXVpcmVkKCkpIHsKKyAgICAgICAgcHJvY2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNh
bmRib3hBY2Nlc3MoKTsKKyAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZUhlbHBlclNl
cnZpY2UgeyAiY29tLmFwcGxlLm5laGVscGVyIl9zIH07CisjaWYgUExBVEZPUk0oTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDwgMTAxNTAwCisgICAgICAgIGNvbnN0ZXhw
ciBBU0NJSUxpdGVyYWwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5lc2Vz
c2lvbm1hbmFnZXIiX3MgfTsKKyNlbHNlCisgICAgICAgIGNvbnN0ZXhwciBBU0NJSUxpdGVyYWwg
bmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgeyAiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29u
dGVudC1maWx0ZXIiX3MgfTsKICNlbmRpZgorICAgICAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lv
bjo6Y3JlYXRlSGFuZGxlc0Zvck1hY2hMb29rdXAoeyBuZUhlbHBlclNlcnZpY2UsIG5lU2Vzc2lv
bk1hbmFnZXJTZXJ2aWNlIH0sIFdURjo6bnVsbG9wdCk7CisgICAgfQorI2VuZGlmCisgICAgcmV0
dXJuIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5KCk7Cit9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAkocmV2aXNpb24gMjcxNDQ1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMzNjMsOCArMzM2MywxMCBAQCB2
b2lkIFdlYlBhZ2U6OnNldExheWVySG9zdGluZ01vZGUoTGF5ZXJICiAgICAgICAgIHBsdWdpblZp
ZXctPnNldExheWVySG9zdGluZ01vZGUobV9sYXllckhvc3RpbmdNb2RlKTsKIH0KIAotdm9pZCBX
ZWJQYWdlOjpkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQs
IHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYgcG9saWN5RGVjaXNpb24pCit2
b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlkZW50aWZpZXIgZnJh
bWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiBwb2xpY3lEZWNpc2lv
biwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmIG5ldHdvcmtFeHRlbnNpb25z
SGFuZGxlcykKIHsKKyAgICBjb25zdW1lTmV0d29ya0V4dGVuc2lvblNhbmRib3hFeHRlbnNpb25z
KG5ldHdvcmtFeHRlbnNpb25zSGFuZGxlcyk7CisKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53ZWJGcmFtZShmcmFtZUlEKTsKICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKExvYWRpbmcsICJkaWRSZWNlaXZlUG9saWN5RGVjaXNpb246IHBvbGljeUFjdGlv
bjogJXUgLSBmcmFtZUlEOiAlbGx1IC0gd2ViRnJhbWU6ICVwIC0gbWFpbkZyYW1lOiAlZCIsICh1
bnNpZ25lZClwb2xpY3lEZWNpc2lvbi5wb2xpY3lBY3Rpb24sIGZyYW1lSUQudG9VSW50NjQoKSwg
ZnJhbWUsIGZyYW1lID8gZnJhbWUtPmlzTWFpbkZyYW1lKCkgOiAwKTsKIApAQCAtNzE0OSw2ICs3
MTUxLDExIEBAIGJvb2wgV2ViUGFnZTo6Y3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3QKIH0KICNl
bmRpZgogCisjaWYgIVBMQVRGT1JNKENPQ09BKQordm9pZCBXZWJQYWdlOjpjb25zdW1lTmV0d29y
a0V4dGVuc2lvblNhbmRib3hFeHRlbnNpb25zKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZUFycmF5JikKK3sKK30KKyNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIApJbmRleDog
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAkocmV2aXNpb24gMjcx
NDQ1KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTg0LDcgKzE1ODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJT
ZXJ2aWNlV29ya2VyRW50aXRsZW1lbnRPdmVycmlkZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoKTsgfQogI2VuZGlmCiAK
LSAgICB2b2lkIGRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZp
ZXIsIHVpbnQ2NF90IGxpc3RlbmVySUQsIFBvbGljeURlY2lzaW9uJiYpOworICAgIHZvaWQgZGlk
UmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciwgdWludDY0X3Qg
bGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkmKTsKICAgICB2b2lkIGNvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklEKTsKICAgICB2b2lkIHNldFVzZXJBZ2Vu
dChjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIHNldEN1c3RvbVRleHRFbmNvZGluZ05hbWUoY29u
c3QgU3RyaW5nJik7CkBAIC0xODAxLDYgKzE4MDEsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
c2V0U2VsZWN0aW9uUmFuZ2UoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBXZWJDb3JlOjpUZXh0
R3JhbnVsYXJpdHksIGJvb2wpOwogICAgIAorI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykK
KyAgICB2b2lkIGNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3Qg
U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmKTsKKyNlbmRpZgorCiAgICAgV2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNv
cmU6OlBhZ2U+IG1fcGFnZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMjcxNDQ1KQorKysgU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgkod29ya2lu
ZyBjb3B5KQpAQCAtMTk2LDcgKzE5Niw3IEBAIEdlbmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1h
bmQoZW51bTp1aW4KIAogICAgIFVwZGF0ZVdlYnNpdGVQb2xpY2llcyhzdHJ1Y3QgV2ViS2l0OjpX
ZWJzaXRlUG9saWNpZXNEYXRhIHdlYnNpdGVQb2xpY2llcykKICAgICBOb3RpZnlVc2VyU2NyaXB0
cygpCi0gICAgRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmll
ciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBzdHJ1Y3QgV2ViS2l0OjpQb2xpY3lEZWNp
c2lvbiBwb2xpY3lEZWNpc2lvbikKKyAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHN0cnVjdCBX
ZWJLaXQ6OlBvbGljeURlY2lzaW9uIHBvbGljeURlY2lzaW9uLCBXZWJLaXQ6OlNhbmRib3hFeHRl
bnNpb246OkhhbmRsZUFycmF5IG5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMpCiAK
ICAgICBDb250aW51ZVdpbGxTdWJtaXRGb3JtKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCB1aW50NjRfdCBsaXN0ZW5lcklEKQogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCShyZXZpc2lvbiAy
NzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdl
Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTgxLDE0ICs4MSw2IEBAIHZvaWQgV2ViUGFnZTo6
cGxhdGZvcm1EaWRSZWNlaXZlTG9hZFBhcmEKIAogICAgIG1fZGF0YURldGVjdGlvbkNvbnRleHQg
PSBwYXJhbWV0ZXJzLmRhdGFEZXRlY3Rpb25Db250ZXh0OwogCi0jaWYgRU5BQkxFKENPTlRFTlRf
RklMVEVSSU5HKQotICAgIGlmIChwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlKQot
ICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMu
bmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOwotICAgIGlmIChwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1h
bmFnZXJFeHRlbnNpb25IYW5kbGUpCi0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQ
ZXJtYW5lbnRseSgqcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKTsK
LSAgICBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94
RXh0ZW5zaW9ucyhwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkg
JiYgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlLmhhc1ZhbHVlKCkp
OwotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1MpCiAgICAgaWYgKHBhcmFtZXRlcnMuY29udGVu
dEZpbHRlckV4dGVuc2lvbkhhbmRsZSkKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3Vt
ZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUpOwpA
QCAtNDE0LDYgKzQwNiwxNiBAQCB2b2lkIFdlYlBhZ2U6OmdldFBsYXRmb3JtRWRpdG9yU3RhdGVD
b21tCiAgICAgcG9zdExheW91dERhdGEuYmFzZVdyaXRpbmdEaXJlY3Rpb24gPSBmcmFtZS5lZGl0
b3IoKS5iYXNlV3JpdGluZ0RpcmVjdGlvbkZvclNlbGVjdGlvblN0YXJ0KCk7CiB9CiAKK3ZvaWQg
V2ViUGFnZTo6Y29uc3VtZU5ldHdvcmtFeHRlbnNpb25TYW5kYm94RXh0ZW5zaW9ucyhjb25zdCBT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYgbmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKQor
eworI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKKyAgICBTYW5kYm94RXh0ZW5zaW9uOjpj
b25zdW1lUGVybWFuZW50bHkobmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKTsKKyAgICBOZXR3b3Jr
RXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6c2V0SGFzQ29uc3VtZWRTYW5kYm94RXh0ZW5zaW9ucyhu
ZXR3b3JrRXh0ZW5zaW9uc0hhbmRsZXMuc2l6ZSgpKTsKKyNlbHNlCisgICAgVU5VU0VEX1BBUkFN
KG5ldHdvcmtFeHRlbnNpb25zSGFuZGxlcyk7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShDT0NPQSkK
</data>
<flag name="commit-queue"
          id="435294"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417556</attachid>
            <date>2021-01-13 13:24:15 -0800</date>
            <delta_ts>2021-01-13 13:42:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210113132414.patch</filename>
            <type>text/plain</type>
            <size>14588</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAxLTEzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybUVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybURlY29kZSk6CisgICAgICAgICogU2hhcmVkL0xv
YWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFkZFBsYXRmb3JtTG9hZFBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQXN5bmNTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBs
YXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAy
MS0wMS0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIERlZmVyIHNldHRpbmcgdXAgYXBwIGhpZ2hsaWdodCBtZW51cyB1bnRpbCBuZWVkZWQgdG8g
bm90IGRlbGF5IGxhdW5jaCB0aW1lLgpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBh
cmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1l
dGVycy5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFy
YW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHN0cnVjdCBMb2FkUGFy
YW1ldGVycyB7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBkYXRhRGV0ZWN0aW9uQ29udGV4dDsKLSAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGU+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIE9wdGlvbmFsPFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZT4gbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0JKHJldmlzaW9uIDI3MTQ0
NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6cGxh
dGZvcm1FbmNvZGUoSVBDOgogewogICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGRhdGFEZXRlY3Rp
b25Db250ZXh0LmdldCgpKTsKIAotICAgIGVuY29kZXIgPDwgbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGU7Ci0gICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogI2lm
IFBMQVRGT1JNKElPUykKICAgICBlbmNvZGVyIDw8IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5k
bGU7CiAgICAgZW5jb2RlciA8PCBmcm9udGJvYXJkU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKQEAg
LTUwLDE4ICs0OCw2IEBAIGJvb2wgTG9hZFBhcmFtZXRlcnM6OnBsYXRmb3JtRGVjb2RlKElQQzoK
ICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHBhcmFtZXRlcnMuZGF0YURldGVjdGlvbkNv
bnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBPcHRpb25hbDxPcHRpb25hbDxT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBk
ZWNvZGVyID4+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIGlmICghbmVIZWxwZXJFeHRl
bnNpb25IYW5kbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBwYXJhbWV0ZXJzLm5lSGVs
cGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOwot
Ci0gICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVTZXNz
aW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBkZWNvZGVyID4+IG5lU2Vzc2lvbk1hbmFn
ZXJFeHRlbnNpb25IYW5kbGU7Ci0gICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZSk7Ci0KICNpZiBQTEFURk9STShJT1MpCiAgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPj4gY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBk
ZWNvZGVyID4+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
MjcsNyArNTAyNyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EK
ICAgICBNRVNTQUdFX0NIRUNLKHByb2Nlc3MsIGZyYW1lKTsKIAogICAgIGF1dG8gc2VuZGVyID0g
UG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFt
ZUlELCBsaXN0ZW5lcklELCBwcm9jZXNzXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsK
LSAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGlj
eURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSwgd2ViUGFnZUlE
KTsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwgd2ViUGFnZUlEKTsK
ICAgICB9KTsKIAogICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5j
b3B5UmVmKCksICpmcmFtZSwgV1RGTW92ZShmcmFtZUluZm8pLCBuYXZpZ2F0aW9uSUQsIFdURk1v
dmUobmF2aWdhdGlvbkFjdGlvbkRhdGEpLCBXVEZNb3ZlKG9yaWdpbmF0aW5nRnJhbWVJbmZvKSwg
b3JpZ2luYXRpbmdQYWdlSUQsCkBAIC01MzM4LDcgKzUzMzgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dz
aW5nV2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVy
ID0gUG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChj
b25zdCBhdXRvJiBwb2xpY3lEZWNpc2lvbikgewotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBv
bGljeURlY2lzaW9uKSk7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24s
IGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMobV9wcm9jZXNzKSkpOwog
ICAgICAgICB9KTsKIAogICAgICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlv
biwgbnVsbHB0ciwgbnVsbHB0ciwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uKSwgV1RGTW92ZShz
ZW5kZXIpKTsKQEAgLTUzNzcsNyArNTM3Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQ
b2xpY3lGb3JSZXNwb24KICAgICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJuaW5n
LCAhc2FmZUJyb3dzaW5nV2FybmluZyk7CiAKICAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lE
ZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxp
c3RlbmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAoY29uc3QgYXV0byYgcG9saWN5
RGVjaXNpb24pIHsKLSAgICAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNp
c2lvbiksIHdlYlBhZ2VJRCk7CisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9s
aWN5RGVjaXNpb24sIGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMocHJv
Y2VzcykpLCB3ZWJQYWdlSUQpOwogICAgICAgICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2Vp
dmVkUG9saWN5RGVjaXNpb24ocG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBudWxscHRy
LCBXVEZNb3ZlKG5hdmlnYXRpb25SZXNwb25zZSksIFdURk1vdmUoc2VuZGVyKSk7CkBAIC0xMDMz
OSw2ICsxMDMzOSwxMyBAQCBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJv
CiAKICNlbmRpZgogCisjaWYgIVBMQVRGT1JNKENPQ09BKQorU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRl
bnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKK3sKKyAgICByZXR1cm4gU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3MCw2ICsyMzcw
LDggQEAgcHJpdmF0ZToKICAgICBib29sIHNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5B
bmRDaGVja0lmUGVybWl0dGVkKGJvb2wgaXNNYWluRnJhbWUsIGNvbnN0IFVSTCYsIE9wdGlvbmFs
PE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hF
eHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYpOworCiAgICAgY29uc3QgSWRlbnRpZmllciBtX2lk
ZW50aWZpZXI7CiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV93ZWJQYWdlSUQ7CiAgICAg
V2Vha1B0cjxQYWdlQ2xpZW50PiBtX3BhZ2VDbGllbnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjcx
NDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCwyMyArMTU0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmFkZFBsYXRmb3JtTG9hZFBhcmFtZQogewogICAgIGxvYWRQYXJhbWV0ZXJzLmRhdGFEZXRlY3Rp
b25Db250ZXh0ID0gbV91aUNsaWVudC0+ZGF0YURldGVjdGlvbkNvbnRleHQoKTsKIAotI2lmIEVO
QUJMRShDT05URU5UX0ZJTFRFUklORykKLSAgICBpZiAoIXByb2Nlc3MuaGFzTmV0d29ya0V4dGVu
c2lvblNhbmRib3hBY2Nlc3MoKSAmJiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6aXNS
ZXF1aXJlZCgpKSB7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoZWxwZXJIYW5k
bGU7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAo
ImNvbS5hcHBsZS5uZWhlbHBlciJfcywgV1RGOjpudWxsb3B0LCBoZWxwZXJIYW5kbGUpOwotICAg
ICAgICBsb2FkUGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGVs
cGVySGFuZGxlKTsKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIG1hbmFnZXJIYW5k
bGU7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgMTAxNTAwCi0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hM
b29rdXAoImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zLCBXVEY6Om51bGxvcHQsIG1hbmFn
ZXJIYW5kbGUpOwotI2Vsc2UKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
Rm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIi
X3MsIFdURjo6bnVsbG9wdCwgbWFuYWdlckhhbmRsZSk7Ci0jZW5kaWYKLSAgICAgICAgbG9hZFBh
cmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUobWFuYWdl
ckhhbmRsZSk7Ci0KLSAgICAgICAgcHJvY2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRi
b3hBY2Nlc3MoKTsKLSAgICB9Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAo
IXByb2Nlc3MuaGFzTWFuYWdlZFNlc3Npb25TYW5kYm94QWNjZXNzKCkgJiYgW2dldFdlYkZpbHRl
ckV2YWx1YXRvckNsYXNzKCkgaXNNYW5hZ2VkU2Vzc2lvbl0pIHsKICAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKQEAgLTU1Miw4ICs1MzUsMjQgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNyZWF0ZUFwcEhpZ2hsaWdodEluUwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6Q3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKGNyZWF0ZU5ld0dyb3VwKSk7CiB9
CisjZW5kaWYKIAorU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgV2ViUGFnZVByb3h5Ojpj
cmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYg
cHJvY2VzcykKK3sKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCisgICAgaWYgKCFwcm9j
ZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0d29ya0V4dGVuc2lv
bkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgeworICAgICAgICBwcm9jZXNzLm1hcmtIYXNO
ZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpOworICAgICAgICBjb25zdGV4cHIgQVNDSUlM
aXRlcmFsIG5lSGVscGVyU2VydmljZSB7ICJjb20uYXBwbGUubmVoZWxwZXIiX3MgfTsKKyNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAK
KyAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7
ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcyB9OworI2Vsc2UKKyAgICAgICAgY29uc3Rl
eHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVz
ZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciJfcyB9OwogI2VuZGlmCisgICAgICAgIHJldHVy
biBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cCh7IG5lSGVscGVy
U2VydmljZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgfSwgV1RGOjpudWxsb3B0KTsKKyAgICB9
CisjZW5kaWYKKyAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30K
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM2
Myw4ICszMzYzLDEwIEBAIHZvaWQgV2ViUGFnZTo6c2V0TGF5ZXJIb3N0aW5nTW9kZShMYXllckgK
ICAgICAgICAgcGx1Z2luVmlldy0+c2V0TGF5ZXJIb3N0aW5nTW9kZShtX2xheWVySG9zdGluZ01v
ZGUpOwogfQogCi12b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiBw
b2xpY3lEZWNpc2lvbikKK3ZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lv
biYmIHBvbGljeURlY2lzaW9uLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYg
bmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKQogeworICAgIGNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9u
U2FuZGJveEV4dGVuc2lvbnMobmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKTsKKwogICAgIFdlYkZy
YW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwog
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbjogcG9saWN5QWN0aW9uOiAldSAtIGZyYW1lSUQ6ICVsbHUgLSB3ZWJGcmFtZTogJXAgLSBt
YWluRnJhbWU6ICVkIiwgKHVuc2lnbmVkKXBvbGljeURlY2lzaW9uLnBvbGljeUFjdGlvbiwgZnJh
bWVJRC50b1VJbnQ2NCgpLCBmcmFtZSwgZnJhbWUgPyBmcmFtZS0+aXNNYWluRnJhbWUoKSA6IDAp
OwogCkBAIC03MTQ5LDYgKzcxNTEsMTEgQEAgYm9vbCBXZWJQYWdlOjpjcmVhdGVBcHBIaWdobGln
aHRJblNlbGVjdAogfQogI2VuZGlmCiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYlBh
Z2U6OmNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmKQoreworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODQsNyArMTU4NCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjbGVhclNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudE92ZXJyaWRlKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxl
cigpOyB9CiAjZW5kaWYKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24m
Jik7CisgICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lvbiYmLCBjb25zdCBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYpOwogICAgIHZvaWQgY29udGludWVXaWxsU3VibWl0
Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwogICAg
IHZvaWQgc2V0VXNlckFnZW50KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0Q3VzdG9tVGV4
dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTE4MDEsNiArMTgwMSwxMCBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBzZXRTZWxlY3Rpb25SYW5nZShjb25zdCBXZWJDb3JlOjpJbnRQb2lu
dCYsIFdlYkNvcmU6OlRleHRHcmFudWxhcml0eSwgYm9vbCk7CiAgICAgCisjaWYgRU5BQkxFKENP
TlRFTlRfRklMVEVSSU5HKQorICAgIHZvaWQgY29uc3VtZU5ldHdvcmtFeHRlbnNpb25TYW5kYm94
RXh0ZW5zaW9ucyhjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYpOworI2VuZGlm
CisKICAgICBXZWJDb3JlOjpQYWdlSWRlbnRpZmllciBtX2lkZW50aWZpZXI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8V2ViQ29yZTo6UGFnZT4gbV9wYWdlOwpJbmRleDogU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCShyZXZpc2lv
biAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC0xOTYsNyArMTk2LDcgQEAgR2VuZXJhdGVTeW50
aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbgogCiAgICAgVXBkYXRlV2Vic2l0ZVBvbGljaWVz
KHN0cnVjdCBXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGEgd2Vic2l0ZVBvbGljaWVzKQogICAg
IE5vdGlmeVVzZXJTY3JpcHRzKCkKLSAgICBEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29y
ZTo6RnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQsIHN0cnVjdCBX
ZWJLaXQ6OlBvbGljeURlY2lzaW9uIHBvbGljeURlY2lzaW9uKQorICAgIERpZFJlY2VpdmVQb2xp
Y3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlz
dGVuZXJJRCwgc3RydWN0IFdlYktpdDo6UG9saWN5RGVjaXNpb24gcG9saWN5RGVjaXNpb24sIFdl
YktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgbmV0d29ya0V4dGVuc2lvbnNTYW5k
Ym94RXh0ZW5zaW9ucykKIAogICAgIENvbnRpbnVlV2lsbFN1Ym1pdEZvcm0oV2ViQ29yZTo6RnJh
bWVJZGVudGlmaWVyIGZyYW1lSUQsIHVpbnQ2NF90IGxpc3RlbmVySUQpCiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db2NvYS9XZWJQYWdlQ29j
b2EubW0JKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0NvY29hL1dlYlBhZ2VDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtODEsMTQgKzgxLDYg
QEAgdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybURpZFJlY2VpdmVMb2FkUGFyYQogCiAgICAgbV9kYXRh
RGV0ZWN0aW9uQ29udGV4dCA9IHBhcmFtZXRlcnMuZGF0YURldGVjdGlvbkNvbnRleHQ7CiAKLSNp
ZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCi0gICAgaWYgKHBhcmFtZXRlcnMubmVIZWxwZXJF
eHRlbnNpb25IYW5kbGUpCi0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseSgqcGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSk7Ci0gICAgaWYgKHBhcmFt
ZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSkKLSAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJF
eHRlbnNpb25IYW5kbGUpOwotICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpzZXRI
YXNDb25zdW1lZFNhbmRib3hFeHRlbnNpb25zKHBhcmFtZXRlcnMubmVIZWxwZXJFeHRlbnNpb25I
YW5kbGUuaGFzVmFsdWUoKSAmJiBwYXJhbWV0ZXJzLm5lU2Vzc2lvbk1hbmFnZXJFeHRlbnNpb25I
YW5kbGUuaGFzVmFsdWUoKSk7Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAo
cGFyYW1ldGVycy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFuZGxlKQogICAgICAgICBTYW5kYm94
RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMuY29udGVudEZpbHRlckV4
dGVuc2lvbkhhbmRsZSk7CkBAIC00MTQsNiArNDA2LDE2IEBAIHZvaWQgV2ViUGFnZTo6Z2V0UGxh
dGZvcm1FZGl0b3JTdGF0ZUNvbW0KICAgICBwb3N0TGF5b3V0RGF0YS5iYXNlV3JpdGluZ0RpcmVj
dGlvbiA9IGZyYW1lLmVkaXRvcigpLmJhc2VXcml0aW5nRGlyZWN0aW9uRm9yU2VsZWN0aW9uU3Rh
cnQoKTsKIH0KIAordm9pZCBXZWJQYWdlOjpjb25zdW1lTmV0d29ya0V4dGVuc2lvblNhbmRib3hF
eHRlbnNpb25zKGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5JiBuZXR3b3JrRXh0
ZW5zaW9uc0hhbmRsZXMpCit7CisjaWYgRU5BQkxFKENPTlRFTlRfRklMVEVSSU5HKQorICAgIFNh
bmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShuZXR3b3JrRXh0ZW5zaW9uc0hhbmRs
ZXMpOworICAgIE5ldHdvcmtFeHRlbnNpb25Db250ZW50RmlsdGVyOjpzZXRIYXNDb25zdW1lZFNh
bmRib3hFeHRlbnNpb25zKG5ldHdvcmtFeHRlbnNpb25zSGFuZGxlcy5zaXplKCkpOworI2Vsc2UK
KyAgICBVTlVTRURfUEFSQU0obmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKTsKKyNlbmRpZgorfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIFBMQVRGT1JNKENPQ09BKQo=
</data>
<flag name="commit-queue"
          id="435296"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417557</attachid>
            <date>2021-01-13 13:38:32 -0800</date>
            <delta_ts>2021-01-13 15:27:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220525-20210113133831.patch</filename>
            <type>text/plain</type>
            <size>14548</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAxLTEzICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbQ29jb2FdIE5ldHdvcmsgZXh0
ZW5zaW9uIHNhbmRib3ggZXh0ZW5zaW9ucyBhcmUgc29tZXRpbWVzIGlzc3VlZCB0b28gbGF0ZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNTI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS82ODQ0MzU2NT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDdXJyZW50bHksIE5ldHdvcmsgZXh0ZW5zaW9uIHNh
bmRib3ggZXh0ZW5zaW9ucyBhcmUgc2VudCB0byB0aGUgV2ViQ29udGVudCBwcm9jZXNzIGFzIHBh
cnQgb2YgdGhlIGxvYWQgcGFyYW1ldGVycywgYnV0IHRoaXMgaXMgdG9vIGxhdGUgaW4gc29tZSBj
YXNlcy4KKyAgICAgICAgSW4gdGhlc2UgY2FzZXMsIHRoZSBleHRlbnNpb25zIGNhbiBiZSBzZW50
IGFsb25nIHdpdGggdGhlIERpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbiBtZXNzYWdlLgorCisgICAg
ICAgICogU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW06CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybUVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6OkxvYWRQYXJhbWV0ZXJzOjpwbGF0Zm9ybURlY29kZSk6CisgICAgICAgICogU2hhcmVkL0xv
YWRQYXJhbWV0ZXJzLmg6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL1dlYlBhZ2VQcm94eUNv
Y29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFkZFBsYXRmb3JtTG9hZFBh
cmFtZXRlcnMpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQXN5bmNTaGFyZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VTaGFyZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9Db2NvYS9XZWJQYWdlQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBs
YXRmb3JtRGlkUmVjZWl2ZUxvYWRQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZFJlY2VpdmVQ
b2xpY3lEZWNpc2lvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAy
MS0wMS0xMyAgTWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIERlZmVyIHNldHRpbmcgdXAgYXBwIGhpZ2hsaWdodCBtZW51cyB1bnRpbCBuZWVkZWQgdG8g
bm90IGRlbGF5IGxhdW5jaCB0aW1lLgpJbmRleDogU291cmNlL1dlYktpdC9TaGFyZWQvTG9hZFBh
cmFtZXRlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFyYW1l
dGVycy5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1NoYXJlZC9Mb2FkUGFy
YW1ldGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHN0cnVjdCBMb2FkUGFy
YW1ldGVycyB7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8TlNEaWN0aW9u
YXJ5PiBkYXRhRGV0ZWN0aW9uQ29udGV4dDsKLSAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9u
OjpIYW5kbGU+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIE9wdGlvbmFsPFNhbmRib3hF
eHRlbnNpb246OkhhbmRsZT4gbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKICNlbmRp
ZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBPcHRpb25hbDxTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGU+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Mb2FkUGFyYW1ldGVyc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0JKHJldmlzaW9uIDI3MTQ0
NSkKKysrIFNvdXJjZS9XZWJLaXQvU2hhcmVkL0NvY29hL0xvYWRQYXJhbWV0ZXJzQ29jb2EubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM3LDggKzM3LDYgQEAgdm9pZCBMb2FkUGFyYW1ldGVyczo6cGxh
dGZvcm1FbmNvZGUoSVBDOgogewogICAgIElQQzo6ZW5jb2RlKGVuY29kZXIsIGRhdGFEZXRlY3Rp
b25Db250ZXh0LmdldCgpKTsKIAotICAgIGVuY29kZXIgPDwgbmVIZWxwZXJFeHRlbnNpb25IYW5k
bGU7Ci0gICAgZW5jb2RlciA8PCBuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlOwogI2lm
IFBMQVRGT1JNKElPUykKICAgICBlbmNvZGVyIDw8IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5k
bGU7CiAgICAgZW5jb2RlciA8PCBmcm9udGJvYXJkU2VydmljZUV4dGVuc2lvbkhhbmRsZTsKQEAg
LTUwLDE4ICs0OCw2IEBAIGJvb2wgTG9hZFBhcmFtZXRlcnM6OnBsYXRmb3JtRGVjb2RlKElQQzoK
ICAgICBpZiAoIUlQQzo6ZGVjb2RlKGRlY29kZXIsIHBhcmFtZXRlcnMuZGF0YURldGVjdGlvbkNv
bnRleHQpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBPcHRpb25hbDxPcHRpb25hbDxT
YW5kYm94RXh0ZW5zaW9uOjpIYW5kbGU+PiBuZUhlbHBlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBk
ZWNvZGVyID4+IG5lSGVscGVyRXh0ZW5zaW9uSGFuZGxlOwotICAgIGlmICghbmVIZWxwZXJFeHRl
bnNpb25IYW5kbGUpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBwYXJhbWV0ZXJzLm5lSGVs
cGVyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVIZWxwZXJFeHRlbnNpb25IYW5kbGUpOwot
Ci0gICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlPj4gbmVTZXNz
aW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZTsKLSAgICBkZWNvZGVyID4+IG5lU2Vzc2lvbk1hbmFn
ZXJFeHRlbnNpb25IYW5kbGU7Ci0gICAgaWYgKCFuZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFu
ZGxlKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcGFyYW1ldGVycy5uZVNlc3Npb25NYW5h
Z2VyRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92ZSgqbmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhh
bmRsZSk7Ci0KICNpZiBQTEFURk9STShJT1MpCiAgICAgT3B0aW9uYWw8T3B0aW9uYWw8U2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlPj4gY29udGVudEZpbHRlckV4dGVuc2lvbkhhbmRsZTsKICAgICBk
ZWNvZGVyID4+IGNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUw
MjcsNyArNTAyNyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQb2xpY3lGb3JOYXZpZ2EK
ICAgICBNRVNTQUdFX0NIRUNLKHByb2Nlc3MsIGZyYW1lKTsKIAogICAgIGF1dG8gc2VuZGVyID0g
UG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbd2ViUGFnZUlELCBmcmFt
ZUlELCBsaXN0ZW5lcklELCBwcm9jZXNzXSAoY29uc3QgYXV0byYgcG9saWN5RGVjaXNpb24pIHsK
LSAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGlj
eURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uKSwgd2ViUGFnZUlE
KTsKKyAgICAgICAgcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6RGlkUmVjZWl2ZVBv
bGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBvbGljeURlY2lzaW9uLCBjcmVhdGVO
ZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKHByb2Nlc3MpKSwgd2ViUGFnZUlEKTsK
ICAgICB9KTsKIAogICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24ocHJvY2Vzcy5j
b3B5UmVmKCksICpmcmFtZSwgV1RGTW92ZShmcmFtZUluZm8pLCBuYXZpZ2F0aW9uSUQsIFdURk1v
dmUobmF2aWdhdGlvbkFjdGlvbkRhdGEpLCBXVEZNb3ZlKG9yaWdpbmF0aW5nRnJhbWVJbmZvKSwg
b3JpZ2luYXRpbmdQYWdlSUQsCkBAIC01MzM4LDcgKzUzMzgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luCiAgICAgICAgIEFTU0VSVF9VTlVTRUQoc2FmZUJyb3dz
aW5nV2FybmluZywgIXNhZmVCcm93c2luZ1dhcm5pbmcpOwogCiAgICAgICAgIGF1dG8gc2VuZGVy
ID0gUG9saWN5RGVjaXNpb25TZW5kZXI6OmNyZWF0ZShpZGVudGlmaWVyLCBbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGZyYW1lSUQsIGxpc3RlbmVySURdIChj
b25zdCBhdXRvJiBwb2xpY3lEZWNpc2lvbikgewotICAgICAgICAgICAgc2VuZChNZXNzYWdlczo6
V2ViUGFnZTo6RGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKGZyYW1lSUQsIGxpc3RlbmVySUQsIHBv
bGljeURlY2lzaW9uKSk7CisgICAgICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpEaWRS
ZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9saWN5RGVjaXNpb24s
IGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMobV9wcm9jZXNzKSkpOwog
ICAgICAgICB9KTsKIAogICAgICAgICByZWNlaXZlZFBvbGljeURlY2lzaW9uKHBvbGljeUFjdGlv
biwgbnVsbHB0ciwgbnVsbHB0ciwgV1RGTW92ZShuYXZpZ2F0aW9uQWN0aW9uKSwgV1RGTW92ZShz
ZW5kZXIpKTsKQEAgLTUzNzcsNyArNTM3Nyw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQ
b2xpY3lGb3JSZXNwb24KICAgICAgICAgQVNTRVJUX1VOVVNFRChzYWZlQnJvd3NpbmdXYXJuaW5n
LCAhc2FmZUJyb3dzaW5nV2FybmluZyk7CiAKICAgICAgICAgYXV0byBzZW5kZXIgPSBQb2xpY3lE
ZWNpc2lvblNlbmRlcjo6Y3JlYXRlKGlkZW50aWZpZXIsIFt3ZWJQYWdlSUQsIGZyYW1lSUQsIGxp
c3RlbmVySUQsIHByb2Nlc3MgPSBXVEZNb3ZlKHByb2Nlc3MpXSAoY29uc3QgYXV0byYgcG9saWN5
RGVjaXNpb24pIHsKLSAgICAgICAgICAgIHByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6
OkRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihmcmFtZUlELCBsaXN0ZW5lcklELCBwb2xpY3lEZWNp
c2lvbiksIHdlYlBhZ2VJRCk7CisgICAgICAgICAgICBwcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpEaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oZnJhbWVJRCwgbGlzdGVuZXJJRCwgcG9s
aWN5RGVjaXNpb24sIGNyZWF0ZU5ldHdvcmtFeHRlbnNpb25zU2FuZGJveEV4dGVuc2lvbnMocHJv
Y2VzcykpLCB3ZWJQYWdlSUQpOwogICAgICAgICB9KTsKICAgICAgICAgCiAgICAgICAgIHJlY2Vp
dmVkUG9saWN5RGVjaXNpb24ocG9saWN5QWN0aW9uLCBuYXZpZ2F0aW9uLmdldCgpLCBudWxscHRy
LCBXVEZNb3ZlKG5hdmlnYXRpb25SZXNwb25zZSksIFdURk1vdmUoc2VuZGVyKSk7CkBAIC0xMDMz
OSw2ICsxMDMzOSwxMyBAQCBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJv
CiAKICNlbmRpZgogCisjaWYgIVBMQVRGT1JNKENPQ09BKQorU2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkgV2ViUGFnZVByb3h5OjpjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRl
bnNpb25zKFdlYlByb2Nlc3NQcm94eSYgcHJvY2VzcykKK3sKKyAgICByZXR1cm4gU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMjM3MCw2ICsyMzcw
LDggQEAgcHJpdmF0ZToKICAgICBib29sIHNldElzTmF2aWdhdGluZ1RvQXBwQm91bmREb21haW5B
bmRDaGVja0lmUGVybWl0dGVkKGJvb2wgaXNNYWluRnJhbWUsIGNvbnN0IFVSTCYsIE9wdGlvbmFs
PE5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluPik7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBjcmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hF
eHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYpOworCiAgICAgY29uc3QgSWRlbnRpZmllciBtX2lk
ZW50aWZpZXI7CiAgICAgV2ViQ29yZTo6UGFnZUlkZW50aWZpZXIgbV93ZWJQYWdlSUQ7CiAgICAg
V2Vha1B0cjxQYWdlQ2xpZW50PiBtX3BhZ2VDbGllbnQ7CkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQYWdlUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjcx
NDQ1KQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUGFnZVByb3h5Q29jb2Eu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCwyMyArMTU0LDYgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OmFkZFBsYXRmb3JtTG9hZFBhcmFtZQogewogICAgIGxvYWRQYXJhbWV0ZXJzLmRhdGFEZXRlY3Rp
b25Db250ZXh0ID0gbV91aUNsaWVudC0+ZGF0YURldGVjdGlvbkNvbnRleHQoKTsKIAotI2lmIEVO
QUJMRShDT05URU5UX0ZJTFRFUklORykKLSAgICBpZiAoIXByb2Nlc3MuaGFzTmV0d29ya0V4dGVu
c2lvblNhbmRib3hBY2Nlc3MoKSAmJiBOZXR3b3JrRXh0ZW5zaW9uQ29udGVudEZpbHRlcjo6aXNS
ZXF1aXJlZCgpKSB7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBoZWxwZXJIYW5k
bGU7Ci0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hMb29rdXAo
ImNvbS5hcHBsZS5uZWhlbHBlciJfcywgV1RGOjpudWxsb3B0LCBoZWxwZXJIYW5kbGUpOwotICAg
ICAgICBsb2FkUGFyYW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoaGVs
cGVySGFuZGxlKTsKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIG1hbmFnZXJIYW5k
bGU7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
IDwgMTAxNTAwCi0gICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNyZWF0ZUhhbmRsZUZvck1hY2hM
b29rdXAoImNvbS5hcHBsZS5uZXNlc3Npb25tYW5hZ2VyIl9zLCBXVEY6Om51bGxvcHQsIG1hbmFn
ZXJIYW5kbGUpOwotI2Vsc2UKLSAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxl
Rm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLm5lc2Vzc2lvbm1hbmFnZXIuY29udGVudC1maWx0ZXIi
X3MsIFdURjo6bnVsbG9wdCwgbWFuYWdlckhhbmRsZSk7Ci0jZW5kaWYKLSAgICAgICAgbG9hZFBh
cmFtZXRlcnMubmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUobWFuYWdl
ckhhbmRsZSk7Ci0KLSAgICAgICAgcHJvY2Vzcy5tYXJrSGFzTmV0d29ya0V4dGVuc2lvblNhbmRi
b3hBY2Nlc3MoKTsKLSAgICB9Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKElPUykKICAgICBpZiAo
IXByb2Nlc3MuaGFzTWFuYWdlZFNlc3Npb25TYW5kYm94QWNjZXNzKCkgJiYgW2dldFdlYkZpbHRl
ckV2YWx1YXRvckNsYXNzKCkgaXNNYW5hZ2VkU2Vzc2lvbl0pIHsKICAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6SGFuZGxlIGhhbmRsZTsKQEAgLTU1Miw4ICs1MzUsMjQgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OmNyZWF0ZUFwcEhpZ2hsaWdodEluUwogCiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFn
ZTo6Q3JlYXRlQXBwSGlnaGxpZ2h0SW5TZWxlY3RlZFJhbmdlKGNyZWF0ZU5ld0dyb3VwKSk7CiB9
CisjZW5kaWYKIAorU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgV2ViUGFnZVByb3h5Ojpj
cmVhdGVOZXR3b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKFdlYlByb2Nlc3NQcm94eSYg
cHJvY2VzcykKK3sKKyNpZiBFTkFCTEUoQ09OVEVOVF9GSUxURVJJTkcpCisgICAgaWYgKCFwcm9j
ZXNzLmhhc05ldHdvcmtFeHRlbnNpb25TYW5kYm94QWNjZXNzKCkgJiYgTmV0d29ya0V4dGVuc2lv
bkNvbnRlbnRGaWx0ZXI6OmlzUmVxdWlyZWQoKSkgeworICAgICAgICBwcm9jZXNzLm1hcmtIYXNO
ZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEFjY2VzcygpOworICAgICAgICBjb25zdGV4cHIgQVNDSUlM
aXRlcmFsIG5lSGVscGVyU2VydmljZSB7ICJjb20uYXBwbGUubmVoZWxwZXIiX3MgfTsKKyNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPCAxMDE1MDAK
KyAgICAgICAgY29uc3RleHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7
ICJjb20uYXBwbGUubmVzZXNzaW9ubWFuYWdlciJfcyB9OworI2Vsc2UKKyAgICAgICAgY29uc3Rl
eHByIEFTQ0lJTGl0ZXJhbCBuZVNlc3Npb25NYW5hZ2VyU2VydmljZSB7ICJjb20uYXBwbGUubmVz
ZXNzaW9ubWFuYWdlci5jb250ZW50LWZpbHRlciJfcyB9OwogI2VuZGlmCisgICAgICAgIHJldHVy
biBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVIYW5kbGVzRm9yTWFjaExvb2t1cCh7IG5lSGVscGVy
U2VydmljZSwgbmVTZXNzaW9uTWFuYWdlclNlcnZpY2UgfSwgV1RGOjpudWxsb3B0KTsKKyAgICB9
CisjZW5kaWYKKyAgICByZXR1cm4gU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkoKTsKK30K
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzM2
Myw4ICszMzYzLDEwIEBAIHZvaWQgV2ViUGFnZTo6c2V0TGF5ZXJIb3N0aW5nTW9kZShMYXllckgK
ICAgICAgICAgcGx1Z2luVmlldy0+c2V0TGF5ZXJIb3N0aW5nTW9kZShtX2xheWVySG9zdGluZ01v
ZGUpOwogfQogCi12b2lkIFdlYlBhZ2U6OmRpZFJlY2VpdmVQb2xpY3lEZWNpc2lvbihGcmFtZUlk
ZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24mJiBw
b2xpY3lEZWNpc2lvbikKK3ZvaWQgV2ViUGFnZTo6ZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKEZy
YW1lSWRlbnRpZmllciBmcmFtZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lv
biYmIHBvbGljeURlY2lzaW9uLCBjb25zdCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYg
bmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKQogeworICAgIGNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9u
U2FuZGJveEV4dGVuc2lvbnMobmV0d29ya0V4dGVuc2lvbnNIYW5kbGVzKTsKKwogICAgIFdlYkZy
YW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkZyYW1lKGZyYW1lSUQpOwog
ICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoTG9hZGluZywgImRpZFJlY2VpdmVQb2xpY3lEZWNp
c2lvbjogcG9saWN5QWN0aW9uOiAldSAtIGZyYW1lSUQ6ICVsbHUgLSB3ZWJGcmFtZTogJXAgLSBt
YWluRnJhbWU6ICVkIiwgKHVuc2lnbmVkKXBvbGljeURlY2lzaW9uLnBvbGljeUFjdGlvbiwgZnJh
bWVJRC50b1VJbnQ2NCgpLCBmcmFtZSwgZnJhbWUgPyBmcmFtZS0+aXNNYWluRnJhbWUoKSA6IDAp
OwogCkBAIC03MTQ5LDYgKzcxNTEsMTEgQEAgYm9vbCBXZWJQYWdlOjpjcmVhdGVBcHBIaWdobGln
aHRJblNlbGVjdAogfQogI2VuZGlmCiAKKyNpZiAhUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYlBh
Z2U6OmNvbnN1bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgU2FuZGJv
eEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkmKQoreworfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAogCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCShyZXZpc2lvbiAyNzE0NDUpCisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1ODQsNyArMTU4NCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBjbGVhclNlcnZpY2VXb3JrZXJFbnRpdGxlbWVudE92ZXJyaWRlKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxl
cigpOyB9CiAjZW5kaWYKIAotICAgIHZvaWQgZGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNv
cmU6OkZyYW1lSWRlbnRpZmllciwgdWludDY0X3QgbGlzdGVuZXJJRCwgUG9saWN5RGVjaXNpb24m
Jik7CisgICAgdm9pZCBkaWRSZWNlaXZlUG9saWN5RGVjaXNpb24oV2ViQ29yZTo6RnJhbWVJZGVu
dGlmaWVyLCB1aW50NjRfdCBsaXN0ZW5lcklELCBQb2xpY3lEZWNpc2lvbiYmLCBjb25zdCBTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSYpOwogICAgIHZvaWQgY29udGludWVXaWxsU3VibWl0
Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIsIHVpbnQ2NF90IGxpc3RlbmVySUQpOwogICAg
IHZvaWQgc2V0VXNlckFnZW50KGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgc2V0Q3VzdG9tVGV4
dEVuY29kaW5nTmFtZShjb25zdCBTdHJpbmcmKTsKQEAgLTE4MDEsNiArMTgwMSw4IEBAIHByaXZh
dGU6CiAKICAgICB2b2lkIHNldFNlbGVjdGlvblJhbmdlKGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiwgV2ViQ29yZTo6VGV4dEdyYW51bGFyaXR5LCBib29sKTsKICAgICAKKyAgICB2b2lkIGNvbnN1
bWVOZXR3b3JrRXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgU2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlQXJyYXkmKTsKKwogICAgIFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyIG1faWRlbnRp
ZmllcjsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpQYWdlPiBtX3BhZ2U7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4JKHJldmlzaW9uIDI3MTQ0NSkKKysrIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE5Niw3ICsxOTYs
NyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWluCiAKICAgICBVcGRh
dGVXZWJzaXRlUG9saWNpZXMoc3RydWN0IFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSB3ZWJz
aXRlUG9saWNpZXMpCiAgICAgTm90aWZ5VXNlclNjcmlwdHMoKQotICAgIERpZFJlY2VpdmVQb2xp
Y3lEZWNpc2lvbihXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlz
dGVuZXJJRCwgc3RydWN0IFdlYktpdDo6UG9saWN5RGVjaXNpb24gcG9saWN5RGVjaXNpb24pCisg
ICAgRGlkUmVjZWl2ZVBvbGljeURlY2lzaW9uKFdlYkNvcmU6OkZyYW1lSWRlbnRpZmllciBmcmFt
ZUlELCB1aW50NjRfdCBsaXN0ZW5lcklELCBzdHJ1Y3QgV2ViS2l0OjpQb2xpY3lEZWNpc2lvbiBw
b2xpY3lEZWNpc2lvbiwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBuZXR3
b3JrRXh0ZW5zaW9uc1NhbmRib3hFeHRlbnNpb25zKQogCiAgICAgQ29udGludWVXaWxsU3VibWl0
Rm9ybShXZWJDb3JlOjpGcmFtZUlkZW50aWZpZXIgZnJhbWVJRCwgdWludDY0X3QgbGlzdGVuZXJJ
RCkKIApJbmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFn
ZUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L0NvY29hL1dlYlBhZ2VDb2NvYS5tbQkocmV2aXNpb24gMjcxNDQ1KQorKysgU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29jb2EvV2ViUGFnZUNvY29hLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC04MSwxNCArODEsNiBAQCB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtRGlkUmVjZWl2ZUxvYWRQ
YXJhCiAKICAgICBtX2RhdGFEZXRlY3Rpb25Db250ZXh0ID0gcGFyYW1ldGVycy5kYXRhRGV0ZWN0
aW9uQ29udGV4dDsKIAotI2lmIEVOQUJMRShDT05URU5UX0ZJTFRFUklORykKLSAgICBpZiAocGFy
YW1ldGVycy5uZUhlbHBlckV4dGVuc2lvbkhhbmRsZSkKLSAgICAgICAgU2FuZGJveEV4dGVuc2lv
bjo6Y29uc3VtZVBlcm1hbmVudGx5KCpwYXJhbWV0ZXJzLm5lSGVscGVyRXh0ZW5zaW9uSGFuZGxl
KTsKLSAgICBpZiAocGFyYW1ldGVycy5uZVNlc3Npb25NYW5hZ2VyRXh0ZW5zaW9uSGFuZGxlKQot
ICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25zdW1lUGVybWFuZW50bHkoKnBhcmFtZXRlcnMu
bmVTZXNzaW9uTWFuYWdlckV4dGVuc2lvbkhhbmRsZSk7Ci0gICAgTmV0d29ya0V4dGVuc2lvbkNv
bnRlbnRGaWx0ZXI6OnNldEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMocGFyYW1ldGVycy5u
ZUhlbHBlckV4dGVuc2lvbkhhbmRsZS5oYXNWYWx1ZSgpICYmIHBhcmFtZXRlcnMubmVTZXNzaW9u
TWFuYWdlckV4dGVuc2lvbkhhbmRsZS5oYXNWYWx1ZSgpKTsKLSNlbmRpZgotCiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIGlmIChwYXJhbWV0ZXJzLmNvbnRlbnRGaWx0ZXJFeHRlbnNpb25IYW5kbGUp
CiAgICAgICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseSgqcGFyYW1ldGVy
cy5jb250ZW50RmlsdGVyRXh0ZW5zaW9uSGFuZGxlKTsKQEAgLTQxNCw2ICs0MDYsMTYgQEAgdm9p
ZCBXZWJQYWdlOjpnZXRQbGF0Zm9ybUVkaXRvclN0YXRlQ29tbQogICAgIHBvc3RMYXlvdXREYXRh
LmJhc2VXcml0aW5nRGlyZWN0aW9uID0gZnJhbWUuZWRpdG9yKCkuYmFzZVdyaXRpbmdEaXJlY3Rp
b25Gb3JTZWxlY3Rpb25TdGFydCgpOwogfQogCit2b2lkIFdlYlBhZ2U6OmNvbnN1bWVOZXR3b3Jr
RXh0ZW5zaW9uU2FuZGJveEV4dGVuc2lvbnMoY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
QXJyYXkmIG5ldHdvcmtFeHRlbnNpb25zSGFuZGxlcykKK3sKKyNpZiBFTkFCTEUoQ09OVEVOVF9G
SUxURVJJTkcpCisgICAgU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KG5ldHdv
cmtFeHRlbnNpb25zSGFuZGxlcyk7CisgICAgTmV0d29ya0V4dGVuc2lvbkNvbnRlbnRGaWx0ZXI6
OnNldEhhc0NvbnN1bWVkU2FuZGJveEV4dGVuc2lvbnMobmV0d29ya0V4dGVuc2lvbnNIYW5kbGVz
LnNpemUoKSk7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShuZXR3b3JrRXh0ZW5zaW9uc0hhbmRs
ZXMpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gUExB
VEZPUk0oQ09DT0EpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>