<?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>208953</bug_id>
          
          <creation_ts>2020-03-11 16:16:30 -0700</creation_ts>
          <short_desc>[macOS] _AXSApplicationAccessibilityEnabled should not be called</short_desc>
          <delta_ts>2020-03-12 14:36:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          <dependson>208957</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1628900</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-11 16:16:30 -0700</bug_when>
    <thetext>This function should only be called on iOS, not on macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628901</commentid>
    <comment_count>1</comment_count>
      <attachid>393302</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-11 16:18:13 -0700</bug_when>
    <thetext>Created attachment 393302
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628903</commentid>
    <comment_count>2</comment_count>
      <attachid>393302</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-11 16:24:52 -0700</bug_when>
    <thetext>Comment on attachment 393302
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:459
&gt; +    if (_AXSApplicationAccessibilityEnabled())

So we still want to pass the cfprefsd extension on macOS without checking this call?

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:213
&gt; +#if PLATFORM(IOS_FAMILY)

Does this call work on MacCatalyst? Maybe this should exclude MacCatalyst builds?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628905</commentid>
    <comment_count>3</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-11 16:25:16 -0700</bug_when>
    <thetext>r=me, but please make sure the MacCatalyst bits are correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628908</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-11 16:28:16 -0700</bug_when>
    <thetext>Committed r258294: &lt;https://trac.webkit.org/changeset/258294/webkit&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628909</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-11 16:29:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/60346791&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628912</commentid>
    <comment_count>6</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-11 16:37:37 -0700</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #2)
&gt; Comment on attachment 393302 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=393302&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:459
&gt; &gt; +    if (_AXSApplicationAccessibilityEnabled())
&gt; 
&gt; So we still want to pass the cfprefsd extension on macOS without checking
&gt; this call?
&gt; 

I believe we want a similar functionality on macOS, but we cannot use _AXSApplicationAccessibilityEnabled() for this. I am looking into alternatives.

&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessProxyCocoa.mm:213
&gt; &gt; +#if PLATFORM(IOS_FAMILY)
&gt; 
&gt; Does this call work on MacCatalyst? Maybe this should exclude MacCatalyst
&gt; builds?

Yes, I believe this will work on MacCatalyst.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1628918</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-11 16:52:01 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 208957</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629311</commentid>
    <comment_count>8</comment_count>
      <attachid>393397</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-12 12:44:22 -0700</bug_when>
    <thetext>Created attachment 393397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629314</commentid>
    <comment_count>9</comment_count>
      <attachid>393400</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-12 12:49:58 -0700</bug_when>
    <thetext>Created attachment 393400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629334</commentid>
    <comment_count>10</comment_count>
      <attachid>393400</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2020-03-12 13:27:05 -0700</bug_when>
    <thetext>Comment on attachment 393400
Patch

Hopefully this will get the bots happy. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629347</commentid>
    <comment_count>11</comment_count>
      <attachid>393400</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2020-03-12 13:50:55 -0700</bug_when>
    <thetext>Comment on attachment 393400
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629366</commentid>
    <comment_count>12</comment_count>
      <attachid>393400</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-12 14:36:14 -0700</bug_when>
    <thetext>Comment on attachment 393400
Patch

Clearing flags on attachment: 393400

Committed r258359: &lt;https://trac.webkit.org/changeset/258359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629367</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-03-12 14:36:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393302</attachid>
            <date>2020-03-11 16:18:13 -0700</date>
            <delta_ts>2020-03-12 12:44:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208953-20200311161812.patch</filename>
            <type>text/plain</type>
            <size>2595</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTgyOTMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDIwLTAzLTExICBQZXIgQXJuZSBW
b2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIF9BWFNBcHBsaWNh
dGlvbkFjY2Vzc2liaWxpdHlFbmFibGVkIHNob3VsZCBub3QgYmUgY2FsbGVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5NTMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGZ1bmN0aW9uIHNob3Vs
ZCBvbmx5IGJlIGNhbGxlZCBvbiBpT1MsIG5vdCBvbiBtYWNPUy4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUHJveHk6OnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQpOgorCiAy
MDIwLTAzLTExICBKaWV3ZW4gVGFuICA8amlld2VuX3RhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W1dlYkF1dGhuXSBGb3JtYWxpemUgdGhlIEtleWNoYWluIHNjaGVtYQpJbmRleDogU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShy
ZXZpc2lvbiAyNTgyODgpCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9j
ZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NTUsNyArNDU1LDEwIEBAIHZvaWQg
V2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZVcKICAgICB9CiAKICNpZiBFTkFCTEUo
Q0ZQUkVGU19ESVJFQ1RfTU9ERSkKLSAgICBpZiAobGliQWNjZXNzaWJpbGl0eUxpYnJhcnkoKSAm
JiBfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CisjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkKKyAgICBpZiAoX0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQo
KSkKKyNlbmRpZgorICAgIHsKICAgICAgICAgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHByZWZl
cmVuY2VzRXh0ZW5zaW9uSGFuZGxlOwogICAgICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjcmVhdGVI
YW5kbGVGb3JNYWNoTG9va3VwKCJjb20uYXBwbGUuY2ZwcmVmc2QuZGFlbW9uIiwgV1RGOjpudWxs
b3B0LCBwcmVmZXJlbmNlc0V4dGVuc2lvbkhhbmRsZSk7CiAgICAgICAgIHBhcmFtZXRlcnMucHJl
ZmVyZW5jZXNFeHRlbnNpb25IYW5kbGUgPSBXVEZNb3ZlKHByZWZlcmVuY2VzRXh0ZW5zaW9uSGFu
ZGxlKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlByb2Nlc3NQcm94
eUNvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dl
YlByb2Nlc3NQcm94eUNvY29hLm1tCShyZXZpc2lvbiAyNTgyODkpCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNDYsMTAgKzQ2LDYgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBQTEFURk9STShN
QUMpCi1TT0ZUX0xJTktfTElCUkFSWV9PUFRJT05BTChsaWJBY2Nlc3NpYmlsaXR5KQotI2VuZGlm
Ci0KIHN0YXRpYyBjb25zdCBTZWNvbmRzIHVuZXhwZWN0ZWRBY3Rpdml0eUR1cmF0aW9uID0gMTBf
czsKIAogY29uc3QgSGFzaFNldDxTdHJpbmc+JiBXZWJQcm9jZXNzUHJveHk6OnBsYXRmb3JtUGF0
aHNXaXRoQXNzdW1lZFJlYWRBY2Nlc3MoKQpAQCAtMjE0LDEyICsyMTAsMTAgQEAgdm9pZCBXZWJQ
cm9jZXNzUHJveHk6OnVuYmxvY2tBY2Nlc3NpYmlsaQogewogICAgIGlmIChtX2hhc1NlbnRNZXNz
YWdlVG9VbmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcikKICAgICAgICAgcmV0dXJuOwotI2lmIFBM
QVRGT1JNKE1BQykKLSAgICBpZiAoIVdlYktpdDo6bGliQWNjZXNzaWJpbGl0eUxpYnJhcnkoKSkK
LSAgICAgICAgcmV0dXJuOwotI2VuZGlmCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBp
ZiAoIV9BWFNBcHBsaWNhdGlvbkFjY2Vzc2liaWxpdHlFbmFibGVkKCkpCiAgICAgICAgIHJldHVy
bjsKKyNlbmRpZgogICAgIGlmICghcHJvY2Vzc0lkZW50aWZpZXIoKSkKICAgICAgICAgcmV0dXJu
OwogICAgIGlmICghY2FuU2VuZE1lc3NhZ2UoKSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393397</attachid>
            <date>2020-03-12 12:44:22 -0700</date>
            <delta_ts>2020-03-12 12:49:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208953-20200312124422.patch</filename>
            <type>text/plain</type>
            <size>17601</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAzLTEyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIF9BWFNBcHBs
aWNhdGlvbkFjY2Vzc2liaWxpdHlFbmFibGVkIHNob3VsZCBub3QgYmUgY2FsbGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5NTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZnVuY3Rpb24gX0FY
U0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQgYW5kIHRoZSBub3RpZmljYXRpb24ga0FY
U0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWROb3RpZmljYXRpb24KKyAgICAgICAgZXhp
c3Qgb24gbWFjT1MsIGJ1dCB0aGV5IGRvIG5vdCBoYXZlIHRoZSBzYW1lIGJlaGF2aW9yIGFzIG9u
IGlPUywgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuIFVzaW5nIHRoaXMK
KyAgICAgICAgZnVuY3Rpb24gYW5kIG5vdGlmaWNhdGlvbiBvbiBtYWNPUyB3YXMgaW50cm9kdWNl
ZCBpbiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODY5MD4sIGFu
ZCB0aGlzIHBhdGNoCisgICAgICAgIHBhcnRpYWxseSByZXZlcnRzIHRoaXMgYmVoYXZpb3IuCisK
KyAgICAgICAgQVBJIHRlc3Q6IFdlYktpdC5Jc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eQor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omlz
UmVtb3RlVUlBcHBGb3JBY2Nlc3NpYmlsaXR5KToKKwogMjAyMC0wMy0xMiAgUm9iIEJ1aXMgIDxy
YnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB3aWxkY2FyZCBiZWhhdmlvciBm
b3IgQ3Jvc3MtT3JpZ2luLUV4cG9zZS1IZWFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1ODMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMy0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBfQVhTQXBwbGljYXRpb25BY2Nlc3Np
YmlsaXR5RW5hYmxlZCBzaG91bGQgbm90IGJlIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjbGFyZSBtZXRob2QgdG8gY2hlY2sgaWYgdGhl
IHByb2Nlc3MgaXMgYSByZW1vdGUgVUkgYXBwIGZvciBhY2Nlc3NpYmlsaXR5LgorCisgICAgICAg
ICogcGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaDoKKwogMjAyMC0wMy0xMSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBBVlNhbXBsZUJ1
ZmZlclZpZGVvT3V0cHV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9O
U0FjY2Vzc2liaWxpdHlTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaAkocmV2aXNpb24gMjU4MzMwKQorKysgU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKIAogQGludGVyZmFjZSBOU0FjY2Vzc2liaWxpdHlS
ZW1vdGVVSUVsZW1lbnQgOiBOU09iamVjdAogCisrIChCT09MKWlzUmVtb3RlVUlBcHA7CiArICh2
b2lkKXNldFJlbW90ZVVJQXBwOihCT09MKWZsYWc7CiArIChOU0RhdGEgKilyZW1vdGVUb2tlbkZv
ckxvY2FsVUlFbGVtZW50OihpZClsb2NhbFVJRWxlbWVudDsKICsgKHZvaWQpcmVnaXN0ZXJSZW1v
dGVVSVByb2Nlc3NJZGVudGlmaWVyOihwaWRfdClwaWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1MDYsNiArNTUwNiwxMSBAQCBT
dHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tVGFnKGNvbnN0IFN0CiB7CiAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7CiB9CisKK2Jvb2wgSW50ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNz
aWJpbGl0eSgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQogI2VuZGlmCiAKIFN0cmluZyBJbnRl
cm5hbHM6Om1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24p
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1ODMzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0
OSw2ICs5NDksOCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsKIAor
ICAgIGJvb2wgaXNSZW1vdGVVSUFwcEZvckFjY2Vzc2liaWxpdHkoKTsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERv
Y3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShy
ZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTg1Niw0ICs4NTYsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5
IHsKICAgICBET01TdHJpbmcgZ2V0VVRJRnJvbVRhZyhET01TdHJpbmcgdGFnQ2xhc3MsIERPTVN0
cmluZyB0YWcsIERPTVN0cmluZyBjb25mb3JtaW5nVG9VVEkpOwogCiAgICAgYm9vbGVhbiBzdXBw
b3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKKworICAgIGJvb2xlYW4gaXNSZW1vdGVVSUFwcEZvckFj
Y2Vzc2liaWxpdHkoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQko
cmV2aXNpb24gMjU4MzMwKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIlJhbmdlLmgiCiAjaW1w
b3J0ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllci5oPgor
I2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTEx
MSw0ICsxMTIsMTMgQEAgU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbVRhZyhjb25zdCBTdAog
ICAgIHJldHVybiBVVElGcm9tVGFnKHRhZ0NsYXNzLCB0YWcsIGNvbmZvcm1pbmdUb1VUSSk7CiB9
CiAKK2Jvb2wgSW50ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eSgpCit7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHJldHVybiBbTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVt
ZW50IGlzUmVtb3RlVUlBcHBdOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
KwogfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODMzOCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMTIgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gX0FYU0Fw
cGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQgc2hvdWxkIG5vdCBiZSBjYWxsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk1MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIG1hY09TLCBzdG9w
IHVzaW5nIHRoZSBmdW5jdGlvbiBfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCBh
bmQgbGlzdGVuaW5nIHRvIHRoZSBub3RpZmljYXRpb24KKyAgICAgICAga0FYU0FwcGxpY2F0aW9u
QWNjZXNzaWJpbGl0eUVuYWJsZWROb3RpZmljYXRpb24sIHNpbmNlIHRoZXkgZG8gbm90IGhhdmUg
dGhlIHNhbWUgYmVoYXZpb3IgYXMgb24gaU9TLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVl
ZGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVyKToK
KwogMjAyMC0wMy0xMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEcm9wIHVudXNlZCBMb2dHbG9iYWxEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSBJUEMg
bWVzc2FnZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTgsMTAgKzExOCw2IEBAIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhCYWNrQm9hcmRT
ZXIKIFNPRlRfTElOSyhCYWNrQm9hcmRTZXJ2aWNlcywgQktTRGlzcGxheUJyaWdodG5lc3NHZXRD
dXJyZW50LCBmbG9hdCwgKCksICgpKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi1T
T0ZUX0xJTktfTElCUkFSWV9PUFRJT05BTChsaWJBY2Nlc3NpYmlsaXR5KQotI2VuZGlmCi0KICNk
ZWZpbmUgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0coY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVB
U0VfTE9HKGNoYW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQb29sOjoiIGZtdCwgdGhpcywgIyNfX1ZB
X0FSR1NfXykKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NTQsOCArNDUwLDggQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cChzZXJ2aWNlc1tpXSwgV1RGOjpudWxs
b3B0LCBwYXJhbWV0ZXJzLm1lZGlhRXh0ZW5zaW9uSGFuZGxlc1tpXSk7CiAgICAgfQogCi0jaWYg
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCi0gICAgaWYgKGxpYkFjY2Vzc2liaWxpdHlMaWJy
YXJ5KCkgJiYgX0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgeworI2lmIEVO
QUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlm
IChfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSBwcmVmZXJlbmNlc0V4dGVuc2lvbkhhbmRsZTsKICAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLmNm
cHJlZnNkLmRhZW1vbiIsIFdURjo6bnVsbG9wdCwgcHJlZmVyZW5jZXNFeHRlbnNpb25IYW5kbGUp
OwogICAgICAgICBwYXJhbWV0ZXJzLnByZWZlcmVuY2VzRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92
ZShwcmVmZXJlbmNlc0V4dGVuc2lvbkhhbmRsZSk7CkBAIC02NjUsMTUgKzY2MSwxMyBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgQ0ZOb3RpZmljYXRpb25D
ZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRl
cigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0
PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxs
cHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKICNlbmRpZgog
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyAgICBtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2
ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTooX19icmlkZ2UgaWQpa0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWROb3Rp
ZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVd
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIG1fcHJvY2Vz
c2VzW2ldLT51bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2VJZk5lZWRlZCgpOworICAgICAgICAgICAg
bV9wcm9jZXNzZXNbaV0tPnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKKyAg
ICAgICAgfQorICAgIH1dOwogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlm
IChsaWJBY2Nlc3NpYmlsaXR5TGlicmFyeSgpKSB7Ci0gICAgICAgIG1fYWNjZXNzaWJpbGl0eUVu
YWJsZWRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXJGb3JOYW1lOihfX2JyaWRnZSBpZClrQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5
RW5hYmxlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1
cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKLSAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja1ByZWZlcmVuY2VTZXJ2aWNlSWZOZWVk
ZWQoKTsKLSAgICAgICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxp
dHlTZXJ2ZXJJZk5lZWRlZCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9XTsKLSAgICB9CiB9
CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMo
KQpAQCAtNjk3LDkgKzY5MSw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3Rp
ZmljYXQKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIENGU1RSKFdJUlNlcnZpY2VF
bmFibGVkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7CiAjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVP
YnNlcnZlcjptX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmIC8v
ICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2Jz
ZXJ2ZXIuZ2V0KCkpCi0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsK
IH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlD
b2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjU4MzMwKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDEwICs0Niw2IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgUExBVEZPUk0oTUFD
KQotU09GVF9MSU5LX0xJQlJBUllfT1BUSU9OQUwobGliQWNjZXNzaWJpbGl0eSkKLSNlbmRpZgot
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbiA9IDEwX3M7
CiAKIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybVBhdGhz
V2l0aEFzc3VtZWRSZWFkQWNjZXNzKCkKQEAgLTIxNCwxMiArMjEwLDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGkKIHsKICAgICBpZiAobV9oYXNTZW50TWVzc2Fn
ZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIpCiAgICAgICAgIHJldHVybjsKLSNpZiBQTEFU
Rk9STShNQUMpCi0gICAgaWYgKCFXZWJLaXQ6OmxpYkFjY2Vzc2liaWxpdHlMaWJyYXJ5KCkpCi0g
ICAgICAgIHJldHVybjsKLSNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYg
KCFfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CisjZW5kaWYKICAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1ODMzMCkKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTUyOCwxMCArNTI4LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVQcm9jZQogICAgIGVsc2UKICAgICAgICAgbV9wcm9jZXNzVHlwZSA9IFByb2Nlc3NU
eXBlOjpXZWJDb250ZW50OwogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIHJlZ2lzdGVyV2l0aEFj
Y2Vzc2liaWxpdHkoKTsKLSNlbmRpZgotCiAjaWYgVVNFKE9TX1NUQVRFKQogICAgIHJlZ2lzdGVy
V2l0aFN0YXRlRHVtcGVyKCk7CiAjZW5kaWYKQEAgLTk4MCw5ICs5NzYsOCBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VyCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBib29sIG9rID0gU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRs
ZSk7CiAgICAgQVNTRVJUX1VOVVNFRChvaywgb2spOwotICAgIAotICAgIHJlZ2lzdGVyV2l0aEFj
Y2Vzc2liaWxpdHkoKTsKICNlbmRpZgorICAgIHJlZ2lzdGVyV2l0aEFjY2Vzc2liaWxpdHkoKTsK
IH0KIAogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNTgzNTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMiBAQAorMjAyMC0wMy0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5
RW5hYmxlZCBzaG91bGQgbm90IGJlIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wMy0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBydW4td2Via2l0LXRlc3RzIC0tdXNlLWdwdS1w
cm9jZXNzIHNob3VsZCBlbmFibGUgR1BVIFByb2Nlc3MgZm9yIGNhbnZhcwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1ODMzMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDE5LDYgKzEwMTksNyBAQAogCQlFM0MyMUE3QzIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0
cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTND
MjFBN0IyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSAqLzsgfTsKIAkJRTNDQUFBNEMy
NDE1NTA1MTAwQ0VEMkUyIC8qIFVUSUZyb21UYWcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0NBQUE0QjI0MTU1MDUxMDBDRUQyRTIgLyogVVRJRnJv
bVRhZy5tbSAqLzsgfTsKIAkJRTNERUE4MTExRjBBNTg5MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3Vw
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzREVB
ODEwMUYwQTU4ODAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgKi87IH07CisJCUUzRjhBQjky
MjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0Y4QUI5MTI0MUFCOUNFMDAz
RTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tICovOyB9OwogCQlFNTAzNkY3ODIx
MUJDMjU0MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MDM2Rjc3MjExQkMyMjgwMEJGREJFMiAv
KiBjb2xvci1kcm9wLmh0bWwgKi87IH07CiAJCUVDQTY4MENFMUU2OENDMDkwMDczMUQyMCAvKiBT
dHJpbmdVdGlsaXRpZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFQ0E2ODBDRDFFNjhDQzA5MDA3MzFEMjAgLyogU3RyaW5nVXRpbGl0aWVzLm1tICov
OyB9OwogCQlGNDAyRjU2QzIzRUNDMkZCMDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmlld1By
b3RvY29sLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQwMkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5t
bSAqLzsgfTsKQEAgLTI2MjEsNiArMjYyMiw3IEBACiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFB
MyAvKiBVUkxFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBVUkxFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQ0FBQTRCMjQx
NTUwNTEwMENFRDJFMiAvKiBVVElGcm9tVGFnLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVRJ
RnJvbVRhZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNERUE4MTAxRjBBNTg4
MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRocmVhZEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29t
RmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmls
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAw
MkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBUeXBpbmdTdHlsZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNEE3NTdEMzE3OEFFQTVCMDBCNUQ3QTQgLyogRGVxdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGVxdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkxMSw2
ICsyOTEzLDcgQEAKIAkJMEYxMzlFNzQxQTQyM0E0NjAwRjU5MEY1IC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFM0Y4QUI5MTI0MUFCOUNF
MDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tICovLAogCQkJCUMxNUNCQjJG
MjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLywKIAkJ
CQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQlDMTNEODJE
ODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywKQEAgLTQ2ODks
NiArNDY5Miw3IEBACiAJCQkJNTdDNjI0NEUyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VFNDFBNDExQUU2MDA0
NDdDNEMgLyogQWJvdXRCbGFua0xvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjMx
QTQxMUE3RTAwNDQ3QzRDIC8qIEFjY2VwdHNGaXJzdE1vdXNlLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJRTNGOEFCOTIyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJFMjA1QkE0MUY1Mjc3NDYwMDU5NTJERCAvKiBBY2Nlc3Np
YmlsaXR5VGVzdHNJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QkQ1MTExQzFGRThFMTE2MDBE
MkI2MzAgLyogQWNjZXNzaW5nUGFzdGVkSW1hZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDVC
NjNGRTFGMTlENDEwMDA5RDM4QjkgLyogQWN0aW9uU2hlZXRUZXN0cy5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJl
bW90ZVVJQXBwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0FjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0JKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVT
VChXZWJLaXQsIElzUmVtb3RlVUlBcHBGb3JBY2Nlc3NpYmlsaXR5KQoreworICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0
V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRl
cm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9j
ZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRk
VG9XaW5kb3c6WUVTXSk7CisKKyAgICBhdXRvIGlzUmVtb3RlVUlBcHAgPSBbJl0geworICAgICAg
ICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5p
bnRlcm5hbHMuaXNSZW1vdGVVSUFwcEZvckFjY2Vzc2liaWxpdHkoKSJdLmJvb2xWYWx1ZTsKKyAg
ICB9OworCisgICAgQVNTRVJUX1RSVUUoaXNSZW1vdGVVSUFwcCk7Cit9CisKKyNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393400</attachid>
            <date>2020-03-12 12:49:58 -0700</date>
            <delta_ts>2020-03-12 14:36:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208953-20200312124957.patch</filename>
            <type>text/plain</type>
            <size>17594</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDIwLTAzLTEyICBQZXIgQXJu
ZSBWb2xsYW4gIDxwdm9sbGFuQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIF9BWFNBcHBs
aWNhdGlvbkFjY2Vzc2liaWxpdHlFbmFibGVkIHNob3VsZCBub3QgYmUgY2FsbGVkCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDg5NTMKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgZnVuY3Rpb24gX0FY
U0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQgYW5kIHRoZSBub3RpZmljYXRpb24ga0FY
U0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWROb3RpZmljYXRpb24KKyAgICAgICAgZXhp
c3Qgb24gbWFjT1MsIGJ1dCB0aGV5IGRvIG5vdCBoYXZlIHRoZSBzYW1lIGJlaGF2aW9yIGFzIG9u
IGlPUywgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBpbiB0aGUgc2FtZSB3YXkuIFVzaW5nIHRoaXMK
KyAgICAgICAgZnVuY3Rpb24gYW5kIG5vdGlmaWNhdGlvbiBvbiBtYWNPUyB3YXMgaW50cm9kdWNl
ZCBpbiA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODY5MD4sIGFu
ZCB0aGlzIHBhdGNoCisgICAgICAgIHBhcnRpYWxseSByZXZlcnRzIHRoaXMgYmVoYXZpb3IuCisK
KyAgICAgICAgQVBJIHRlc3Q6IFdlYktpdC5Jc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eQor
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50
ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eSk6CisgICAgICAgICogdGVzdGlu
Zy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMubW06CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Omlz
UmVtb3RlVUlBcHBGb3JBY2Nlc3NpYmlsaXR5KToKKwogMjAyMC0wMy0xMiAgUm9iIEJ1aXMgIDxy
YnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB3aWxkY2FyZCBiZWhhdmlvciBm
b3IgQ3Jvc3MtT3JpZ2luLUV4cG9zZS1IZWFkZXJzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1ODMzMCkKKysrIFNvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMy0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZv
bGxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBfQVhTQXBwbGljYXRpb25BY2Nlc3Np
YmlsaXR5RW5hYmxlZCBzaG91bGQgbm90IGJlIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRGVjbGFyZSBtZXRob2QgdG8gY2hlY2sgaWYgdGhl
IHByb2Nlc3MgaXMgYSByZW1vdGUgVUkgYXBwIGZvciBhY2Nlc3NpYmlsaXR5LgorCisgICAgICAg
ICogcGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaDoKKwogMjAyMC0wMy0xMSAgSmVy
IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBBVlNhbXBsZUJ1
ZmZlclZpZGVvT3V0cHV0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9O
U0FjY2Vzc2liaWxpdHlTUEkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaAkocmV2aXNpb24gMjU4MzMwKQorKysgU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvTlNBY2Nlc3NpYmlsaXR5U1BJLmgJKHdvcmtp
bmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKIAogQGludGVyZmFjZSBOU0FjY2Vzc2liaWxpdHlS
ZW1vdGVVSUVsZW1lbnQgOiBOU09iamVjdAogCisrIChCT09MKWlzUmVtb3RlVUlBcHA7CiArICh2
b2lkKXNldFJlbW90ZVVJQXBwOihCT09MKWZsYWc7CiArIChOU0RhdGEgKilyZW1vdGVUb2tlbkZv
ckxvY2FsVUlFbGVtZW50OihpZClsb2NhbFVJRWxlbWVudDsKICsgKHZvaWQpcmVnaXN0ZXJSZW1v
dGVVSVByb2Nlc3NJZGVudGlmaWVyOihwaWRfdClwaWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCShyZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU1MDYsNiArNTUwNiwxMSBAQCBT
dHJpbmcgSW50ZXJuYWxzOjpnZXRVVElGcm9tVGFnKGNvbnN0IFN0CiB7CiAgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7CiB9CisKK2Jvb2wgSW50ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNz
aWJpbGl0eSgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQogI2VuZGlmCiAKIFN0cmluZyBJbnRl
cm5hbHM6Om1lZGlhTUlNRVR5cGVGb3JFeHRlbnNpb24oY29uc3QgU3RyaW5nJiBleHRlbnNpb24p
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHJldmlzaW9uIDI1ODMzMCkKKysr
IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk0
OSw2ICs5NDksOCBAQCBwdWJsaWM6CiAKICAgICBTdHJpbmcgZm9jdXNSaW5nQ29sb3IoKTsKIAor
ICAgIGJvb2wgaXNSZW1vdGVVSUFwcEZvckFjY2Vzc2liaWxpdHkoKTsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQmKTsKICAgICBEb2N1bWVudCogY29udGV4dERv
Y3VtZW50KCkgY29uc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCShy
ZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTg1Niw0ICs4NTYsNiBAQCBlbnVtIENvbXBvc2l0aW5nUG9saWN5
IHsKICAgICBET01TdHJpbmcgZ2V0VVRJRnJvbVRhZyhET01TdHJpbmcgdGFnQ2xhc3MsIERPTVN0
cmluZyB0YWcsIERPTVN0cmluZyBjb25mb3JtaW5nVG9VVEkpOwogCiAgICAgYm9vbGVhbiBzdXBw
b3J0c1BpY3R1cmVJblBpY3R1cmUoKTsKKworICAgIGJvb2xlYW4gaXNSZW1vdGVVSUFwcEZvckFj
Y2Vzc2liaWxpdHkoKTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5tbQko
cmV2aXNpb24gMjU4MzMwKQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMubW0J
KHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKICNpbXBvcnQgIlJhbmdlLmgiCiAjaW1w
b3J0ICJVVElVdGlsaXRpZXMuaCIKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVlBsYXllci5oPgor
I2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9OU0FjY2Vzc2liaWxpdHlTUEkuaD4KICNpbXBvcnQgPHd0
Zi9jb2NvYS9OU1VSTEV4dHJhcy5oPgogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKQEAgLTEx
MSw0ICsxMTIsMTMgQEAgU3RyaW5nIEludGVybmFsczo6Z2V0VVRJRnJvbVRhZyhjb25zdCBTdAog
ICAgIHJldHVybiBVVElGcm9tVGFnKHRhZ0NsYXNzLCB0YWcsIGNvbmZvcm1pbmdUb1VUSSk7CiB9
CiAKK2Jvb2wgSW50ZXJuYWxzOjppc1JlbW90ZVVJQXBwRm9yQWNjZXNzaWJpbGl0eSgpCit7Cisj
aWYgUExBVEZPUk0oTUFDKQorICAgIHJldHVybiBbTlNBY2Nlc3NpYmlsaXR5UmVtb3RlVUlFbGVt
ZW50IGlzUmVtb3RlVUlBcHBdOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30K
KwogfQpJbmRleDogU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1ODMzOCkKKysrIFNvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMjAtMDMtMTIgIFBlciBB
cm5lIFZvbGxhbiAgPHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gX0FYU0Fw
cGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQgc2hvdWxkIG5vdCBiZSBjYWxsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwODk1MworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE9uIG1hY09TLCBzdG9w
IHVzaW5nIHRoZSBmdW5jdGlvbiBfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCBh
bmQgbGlzdGVuaW5nIHRvIHRoZSBub3RpZmljYXRpb24KKyAgICAgICAga0FYU0FwcGxpY2F0aW9u
QWNjZXNzaWJpbGl0eUVuYWJsZWROb3RpZmljYXRpb24sIHNpbmNlIHRoZXkgZG8gbm90IGhhdmUg
dGhlIHNhbWUgYmVoYXZpb3IgYXMgb24gaU9TLgorCisgICAgICAgICogVUlQcm9jZXNzL0NvY29h
L1dlYlByb2Nlc3NQb29sQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29s
OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlDb2NvYS5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJvY2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGl0eVNlcnZlcklmTmVl
ZGVkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplUHJvY2Vzcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVyKToK
KwogMjAyMC0wMy0xMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAg
ICAgICBEcm9wIHVudXNlZCBMb2dHbG9iYWxEaWFnbm9zdGljTWVzc2FnZVdpdGhWYWx1ZSBJUEMg
bWVzc2FnZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNTgzMzApCisrKyBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTgsMTAgKzExOCw2IEBAIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhCYWNrQm9hcmRT
ZXIKIFNPRlRfTElOSyhCYWNrQm9hcmRTZXJ2aWNlcywgQktTRGlzcGxheUJyaWdodG5lc3NHZXRD
dXJyZW50LCBmbG9hdCwgKCksICgpKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi1T
T0ZUX0xJTktfTElCUkFSWV9PUFRJT05BTChsaWJBY2Nlc3NpYmlsaXR5KQotI2VuZGlmCi0KICNk
ZWZpbmUgV0VCUFJPQ0VTU1BPT0xfUkVMRUFTRV9MT0coY2hhbm5lbCwgZm10LCAuLi4pIFJFTEVB
U0VfTE9HKGNoYW5uZWwsICIlcCAtIFdlYlByb2Nlc3NQb29sOjoiIGZtdCwgdGhpcywgIyNfX1ZB
X0FSR1NfXykKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00NTQsOCArNDUwLDggQEAgdm9pZCBX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgICAgICAgICAgU2FuZGJveEV4
dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cChzZXJ2aWNlc1tpXSwgV1RGOjpudWxs
b3B0LCBwYXJhbWV0ZXJzLm1lZGlhRXh0ZW5zaW9uSGFuZGxlc1tpXSk7CiAgICAgfQogCi0jaWYg
RU5BQkxFKENGUFJFRlNfRElSRUNUX01PREUpCi0gICAgaWYgKGxpYkFjY2Vzc2liaWxpdHlMaWJy
YXJ5KCkgJiYgX0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkgeworI2lmIEVO
QUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGlm
IChfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKSB7CiAgICAgICAgIFNhbmRi
b3hFeHRlbnNpb246OkhhbmRsZSBwcmVmZXJlbmNlc0V4dGVuc2lvbkhhbmRsZTsKICAgICAgICAg
U2FuZGJveEV4dGVuc2lvbjo6Y3JlYXRlSGFuZGxlRm9yTWFjaExvb2t1cCgiY29tLmFwcGxlLmNm
cHJlZnNkLmRhZW1vbiIsIFdURjo6bnVsbG9wdCwgcHJlZmVyZW5jZXNFeHRlbnNpb25IYW5kbGUp
OwogICAgICAgICBwYXJhbWV0ZXJzLnByZWZlcmVuY2VzRXh0ZW5zaW9uSGFuZGxlID0gV1RGTW92
ZShwcmVmZXJlbmNlc0V4dGVuc2lvbkhhbmRsZSk7CkBAIC02NjUsMTUgKzY2MSwxMyBAQCB2b2lk
IFdlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgQ0ZOb3RpZmljYXRpb25D
ZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNlbnRl
cigpLCB0aGlzLCByZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2ssIHN0YXRpY19jYXN0
PENGU3RyaW5nUmVmPihDRlNUUihXSVJTZXJ2aWNlRW5hYmxlZE5vdGlmaWNhdGlvbikpLCBudWxs
cHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKICNlbmRpZgog
I2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyAgICBtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2
ZXIgPSBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIGFkZE9ic2VydmVyRm9y
TmFtZTooX19icmlkZ2UgaWQpa0FYU0FwcGxpY2F0aW9uQWNjZXNzaWJpbGl0eUVuYWJsZWROb3Rp
ZmljYXRpb24gb2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVd
IHVzaW5nQmxvY2s6XihOU05vdGlmaWNhdGlvbiAqKSB7CisgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIG1fcHJvY2Vz
c2VzW2ldLT51bmJsb2NrUHJlZmVyZW5jZVNlcnZpY2VJZk5lZWRlZCgpOworICAgICAgICAgICAg
bV9wcm9jZXNzZXNbaV0tPnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VydmVySWZOZWVkZWQoKTsKKyAg
ICAgICAgfQorICAgIH1dOwogI2VuZGlmIC8vICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlm
IChsaWJBY2Nlc3NpYmlsaXR5TGlicmFyeSgpKSB7Ci0gICAgICAgIG1fYWNjZXNzaWJpbGl0eUVu
YWJsZWRPYnNlcnZlciA9IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRk
T2JzZXJ2ZXJGb3JOYW1lOihfX2JyaWRnZSBpZClrQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5
RW5hYmxlZE5vdGlmaWNhdGlvbiBvYmplY3Q6bmlsIHF1ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1
cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZpY2F0aW9uICopIHsKLSAgICAgICAgICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wcm9jZXNzZXMuc2l6ZSgpOyArK2kpIHsKLSAgICAg
ICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja1ByZWZlcmVuY2VTZXJ2aWNlSWZOZWVk
ZWQoKTsKLSAgICAgICAgICAgICAgICBtX3Byb2Nlc3Nlc1tpXS0+dW5ibG9ja0FjY2Vzc2liaWxp
dHlTZXJ2ZXJJZk5lZWRlZCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9XTsKLSAgICB9CiB9
CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMo
KQpAQCAtNjk3LDkgKzY5MSw4IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3Rp
ZmljYXQKICAgICBDRk5vdGlmaWNhdGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0
aW9uQ2VudGVyR2V0RGFyd2luTm90aWZ5Q2VudGVyKCksIHRoaXMsIENGU1RSKFdJUlNlcnZpY2VF
bmFibGVkTm90aWZpY2F0aW9uKSwgbnVsbHB0cik7CiAjZW5kaWYKICNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCisgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVP
YnNlcnZlcjptX2FjY2Vzc2liaWxpdHlFbmFibGVkT2JzZXJ2ZXIuZ2V0KCldOwogI2VuZGlmIC8v
ICFQTEFURk9STShJT1NfRkFNSUxZKQotICAgIGlmIChtX2FjY2Vzc2liaWxpdHlFbmFibGVkT2Jz
ZXJ2ZXIuZ2V0KCkpCi0gICAgICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gcmVtb3ZlT2JzZXJ2ZXI6bV9hY2Nlc3NpYmlsaXR5RW5hYmxlZE9ic2VydmVyLmdldCgpXTsK
IH0KIAogc3RhdGljIENGVVJMU3RvcmFnZVNlc3Npb25SZWYgcHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bigpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUHJveHlD
b2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQ
cm9jZXNzUHJveHlDb2NvYS5tbQkocmV2aXNpb24gMjU4MzMwKQorKysgU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Byb3h5Q29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQ2LDEwICs0Niw2IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgUExBVEZPUk0oTUFD
KQotU09GVF9MSU5LX0xJQlJBUllfT1BUSU9OQUwobGliQWNjZXNzaWJpbGl0eSkKLSNlbmRpZgot
CiBzdGF0aWMgY29uc3QgU2Vjb25kcyB1bmV4cGVjdGVkQWN0aXZpdHlEdXJhdGlvbiA9IDEwX3M7
CiAKIGNvbnN0IEhhc2hTZXQ8U3RyaW5nPiYgV2ViUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybVBhdGhz
V2l0aEFzc3VtZWRSZWFkQWNjZXNzKCkKQEAgLTIxNCwxMiArMjEwLDEwIEBAIHZvaWQgV2ViUHJv
Y2Vzc1Byb3h5Ojp1bmJsb2NrQWNjZXNzaWJpbGkKIHsKICAgICBpZiAobV9oYXNTZW50TWVzc2Fn
ZVRvVW5ibG9ja0FjY2Vzc2liaWxpdHlTZXJ2ZXIpCiAgICAgICAgIHJldHVybjsKLSNpZiBQTEFU
Rk9STShNQUMpCi0gICAgaWYgKCFXZWJLaXQ6OmxpYkFjY2Vzc2liaWxpdHlMaWJyYXJ5KCkpCi0g
ICAgICAgIHJldHVybjsKLSNlbmRpZgorI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgaWYg
KCFfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQogICAgICAgICByZXR1cm47
CisjZW5kaWYKICAgICBpZiAoIXByb2Nlc3NJZGVudGlmaWVyKCkpCiAgICAgICAgIHJldHVybjsK
ICAgICBpZiAoIWNhblNlbmRNZXNzYWdlKCkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHJldmlzaW9uIDI1ODMzMCkKKysr
IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0JKHdvcmtp
bmcgY29weSkKQEAgLTUyOCwxMCArNTI4LDYgQEAgdm9pZCBXZWJQcm9jZXNzOjpwbGF0Zm9ybUlu
aXRpYWxpemVQcm9jZQogICAgIGVsc2UKICAgICAgICAgbV9wcm9jZXNzVHlwZSA9IFByb2Nlc3NU
eXBlOjpXZWJDb250ZW50OwogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIHJlZ2lzdGVyV2l0aEFj
Y2Vzc2liaWxpdHkoKTsKLSNlbmRpZgotCiAjaWYgVVNFKE9TX1NUQVRFKQogICAgIHJlZ2lzdGVy
V2l0aFN0YXRlRHVtcGVyKCk7CiAjZW5kaWYKQEAgLTk4MCw5ICs5NzYsOCBAQCB2b2lkIFdlYlBy
b2Nlc3M6OnVuYmxvY2tBY2Nlc3NpYmlsaXR5U2VyCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkK
ICAgICBib29sIG9rID0gU2FuZGJveEV4dGVuc2lvbjo6Y29uc3VtZVBlcm1hbmVudGx5KGhhbmRs
ZSk7CiAgICAgQVNTRVJUX1VOVVNFRChvaywgb2spOwotICAgIAotICAgIHJlZ2lzdGVyV2l0aEFj
Y2Vzc2liaWxpdHkoKTsKICNlbmRpZgorICAgIHJlZ2lzdGVyV2l0aEFjY2Vzc2liaWxpdHkoKTsK
IH0KIAogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyNTgzNTApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxMiBAQAorMjAyMC0wMy0xMiAgUGVyIEFybmUgVm9sbGFuICA8cHZvbGxhbkBh
cHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSBfQVhTQXBwbGljYXRpb25BY2Nlc3NpYmlsaXR5
RW5hYmxlZCBzaG91bGQgbm90IGJlIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA4OTUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEkueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMC0wMy0xMiAgV2Vuc29uIEhzaWVoICA8d2Vuc29u
X2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBydW4td2Via2l0LXRlc3RzIC0tdXNlLWdwdS1w
cm9jZXNzIHNob3VsZCBlbmFibGUgR1BVIFByb2Nlc3MgZm9yIGNhbnZhcwpJbmRleDogVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1ODMzMCkKKysrIFRvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBA
IC0xMDE5LDYgKzEwMTksNyBAQAogCQlFM0MyMUE3QzIxQjI1Q0EyMDAzQjMxQTMgLyogVVJMRXh0
cmFzLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTND
MjFBN0IyMUIyNUNBMjAwM0IzMUEzIC8qIFVSTEV4dHJhcy5tbSAqLzsgfTsKIAkJRTNDQUFBNEMy
NDE1NTA1MTAwQ0VEMkUyIC8qIFVUSUZyb21UYWcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0NBQUE0QjI0MTU1MDUxMDBDRUQyRTIgLyogVVRJRnJv
bVRhZy5tbSAqLzsgfTsKIAkJRTNERUE4MTExRjBBNTg5MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3Vw
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUzREVB
ODEwMUYwQTU4ODAwMENCQzJFOCAvKiBUaHJlYWRHcm91cC5jcHAgKi87IH07CisJCUUzRjhBQjky
MjQxQUI5Q0UwMDNFMkE3RSAvKiBBY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFM0Y4QUI5MTI0MUFCOUNFMDAz
RTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tICovOyB9OwogCQlFNTAzNkY3ODIx
MUJDMjU0MDBCRkRCRTIgLyogY29sb3ItZHJvcC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEU1MDM2Rjc3MjExQkMyMjgwMEJGREJFMiAv
KiBjb2xvci1kcm9wLmh0bWwgKi87IH07CiAJCUVDQTY4MENFMUU2OENDMDkwMDczMUQyMCAvKiBT
dHJpbmdVdGlsaXRpZXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFQ0E2ODBDRDFFNjhDQzA5MDA3MzFEMjAgLyogU3RyaW5nVXRpbGl0aWVzLm1tICov
OyB9OwogCQlGNDAyRjU2QzIzRUNDMkZCMDA4NjU1NDkgLyogVUlXS0ludGVyYWN0aW9uVmlld1By
b3RvY29sLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjQwMkY1NkIyM0VDQzJGQjAwODY1NTQ5IC8qIFVJV0tJbnRlcmFjdGlvblZpZXdQcm90b2NvbC5t
bSAqLzsgfTsKQEAgLTI2MjEsNiArMjYyMiw3IEBACiAJCUUzQzIxQTdCMjFCMjVDQTIwMDNCMzFB
MyAvKiBVUkxFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBVUkxFeHRyYXMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUzQ0FBQTRCMjQx
NTUwNTEwMENFRDJFMiAvKiBVVElGcm9tVGFnLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVVRJ
RnJvbVRhZy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTNERUE4MTAxRjBBNTg4
MDAwQ0JDMkU4IC8qIFRocmVhZEdyb3VwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRocmVhZEdyb3VwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RTNGOEFCOTEyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQwMDE5MzAxQUNFOUI1QzAwMUIwQTJBIC8qIEJsb29t
RmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJsb29tRmls
dGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTQ5MDI5NjcxNEUyRTNBNDAw
MkJFREQxIC8qIFR5cGluZ1N0eWxlQ3Jhc2gubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBUeXBpbmdTdHlsZUNyYXNoLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFNEE3NTdEMzE3OEFFQTVCMDBCNUQ3QTQgLyogRGVxdWUuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRGVxdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjkxMSw2
ICsyOTEzLDcgQEAKIAkJMEYxMzlFNzQxQTQyM0E0NjAwRjU5MEY1IC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFM0Y4QUI5MTI0MUFCOUNF
MDAzRTJBN0UgLyogQWNjZXNzaWJpbGl0eVJlbW90ZVVJQXBwLm1tICovLAogCQkJCUMxNUNCQjJG
MjNGMUZGMUEwMDMwMENDNyAvKiBCYWNrbGlnaHRMZXZlbE5vdGlmaWNhdGlvbi5tbSAqLywKIAkJ
CQlDMTY5MkRDOTIzRDEwREFFMDA2RTg4RjcgLyogQmF0dGVyeS5tbSAqLywKIAkJCQlDMTNEODJE
ODI0MTZGMTMyMDBBNjI3OTMgLyogRW5hYmxlQWNjZXNzaWJpbGl0eS5tbSAqLywKQEAgLTQ2ODks
NiArNDY5Miw3IEBACiAJCQkJNTdDNjI0NEUyMzQ2QkNGQTAwMzgzRkU3IC8qIF9XS1dlYkF1dGhl
bnRpY2F0aW9uUGFuZWwubW0gaW4gU291cmNlcyAqLywKIAkJCQk3Q0NFN0VFNDFBNDExQUU2MDA0
NDdDNEMgLyogQWJvdXRCbGFua0xvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NDRTdFQjMx
QTQxMUE3RTAwNDQ3QzRDIC8qIEFjY2VwdHNGaXJzdE1vdXNlLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJRTNGOEFCOTIyNDFBQjlDRTAwM0UyQTdFIC8qIEFjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJFMjA1QkE0MUY1Mjc3NDYwMDU5NTJERCAvKiBBY2Nlc3Np
YmlsaXR5VGVzdHNJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QkQ1MTExQzFGRThFMTE2MDBE
MkI2MzAgLyogQWNjZXNzaW5nUGFzdGVkSW1hZ2UubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNDVC
NjNGRTFGMTlENDEwMDA5RDM4QjkgLyogQWN0aW9uU2hlZXRUZXN0cy5tbSBpbiBTb3VyY2VzICov
LApJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQvQWNjZXNzaWJpbGl0eVJl
bW90ZVVJQXBwLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
S2l0L0FjY2Vzc2liaWxpdHlSZW1vdGVVSUFwcC5tbQkobm9uZXhpc3RlbnQpCisrKyBUb29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdC9BY2Nlc3NpYmlsaXR5UmVtb3RlVUlBcHAubW0JKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKworI2lmIFBMQVRGT1JNKE1BQykKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2ltcG9y
dCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRlc3RXS1dlYlZpZXcuaCIKKworVEVT
VChXZWJLaXQsIElzUmVtb3RlVUlBcHBGb3JBY2Nlc3NpYmlsaXR5KQoreworICAgIGF1dG8gY29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRXSyhUZXN0
V2ViS2l0QVBJOjpVdGlsOjpjcmVhdGVDb250ZXh0Rm9ySW5qZWN0ZWRCdW5kbGVUZXN0KCJJbnRl
cm5hbHNJbmplY3RlZEJ1bmRsZVRlc3QiKSk7CisgICAgY29uZmlndXJhdGlvbi5nZXQoKS5wcm9j
ZXNzUG9vbCA9IChXS1Byb2Nlc3NQb29sICopY29udGV4dC5nZXQoKTsKKyAgICBhdXRvIHdlYlZp
ZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VS
ZWN0KDAsIDAsIDMwMCwgMzAwKSBjb25maWd1cmF0aW9uOmNvbmZpZ3VyYXRpb24uZ2V0KCkgYWRk
VG9XaW5kb3c6WUVTXSk7CisKKyAgICBhdXRvIGlzUmVtb3RlVUlBcHAgPSBbJl0geworICAgICAg
ICByZXR1cm4gW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAIndpbmRvdy5p
bnRlcm5hbHMuaXNSZW1vdGVVSUFwcEZvckFjY2Vzc2liaWxpdHkoKSJdLmJvb2xWYWx1ZTsKKyAg
ICB9OworCisgICAgQVNTRVJUX1RSVUUoaXNSZW1vdGVVSUFwcCk7Cit9CisKKyNlbmRpZiAvLyBX
S19IQVZFX0NfU1BJCisjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>