<?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>205201</bug_id>
          
          <creation_ts>2019-12-12 22:14:55 -0800</creation_ts>
          <short_desc>Web Inspector: Elements: restrict showing paint flashing and compositing borders to the Web Inspector session</short_desc>
          <delta_ts>2019-12-18 23:36:17 -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>Web Inspector</component>
          <version>WebKit Local Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>timothy</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1598259</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-12 22:14:55 -0800</bug_when>
    <thetext>We often get bugs from users who turn on paint flashing or compositing borders, close Web Inspector, reopen Web Inspector, and are then surprised when the page flashes red or these borders exist all over the page.  Given that the dark mode and print styles toggles are limited to the Web Inspector session, we should make these have the same behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598267</commentid>
    <comment_count>1</comment_count>
      <attachid>385581</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-12 22:44:49 -0800</bug_when>
    <thetext>Created attachment 385581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1598268</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-12-12 22:45:28 -0800</bug_when>
    <thetext>This patch modifies the inspector protocol. Please ensure that any frontend changes appropriately use feature checks for new protocol features.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599867</commentid>
    <comment_count>3</comment_count>
      <attachid>385581</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2019-12-18 10:38:20 -0800</bug_when>
    <thetext>Comment on attachment 385581
Patch

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

&gt; Source/WebCore/page/Settings.yaml:147
&gt; +  inspectorOverride: true

Slick, I didn&apos;t know about this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1599909</commentid>
    <comment_count>4</comment_count>
      <attachid>385581</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-18 12:07:06 -0800</bug_when>
    <thetext>Comment on attachment 385581
Patch

Rejecting attachment 385581 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 385581, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Logging in as commit-queue@webkit.org...
Fetching: https://bugs.webkit.org/attachment.cgi?id=385581&amp;action=edit
Fetching: https://bugs.webkit.org/show_bug.cgi?id=205201&amp;ctype=xml&amp;excludefield=attachmentdata
Processing 1 patch from 1 bug.
Processing patch 385581 from bug 205201.
Fetching: https://bugs.webkit.org/attachment.cgi?id=385581
Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Timothy Hatcher&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Parsed 11 diffs from patch file(s).
patching file Source/JavaScriptCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebInspectorUI/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/JavaScriptCore/inspector/protocol/Page.json
patching file Source/WebCore/inspector/agents/InspectorPageAgent.cpp
patching file Source/WebCore/inspector/agents/InspectorPageAgent.h
patching file Source/WebCore/page/Settings.yaml
patching file Source/WebInspectorUI/UserInterface/Base/Main.js
Hunk #1 succeeded at 583 (offset 1 line).
patching file Source/WebInspectorUI/UserInterface/Controllers/LayerTreeManager.js
patching file Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js
Hunk #1 succeeded at 51 with fuzz 1.
Hunk #2 succeeded at 144 (offset -7 lines).
Hunk #3 FAILED at 163.
Hunk #4 succeeded at 378 (offset -8 lines).
Hunk #5 succeeded at 595 with fuzz 1 (offset -8 lines).
1 out of 5 hunks FAILED -- saving rejects to file Source/WebInspectorUI/UserInterface/Views/DOMTreeContentView.js.rej
patching file Source/WebInspectorUI/UserInterface/Views/Layers3DContentView.js

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;, &apos;--reviewer&apos;, u&apos;Timothy Hatcher&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: https://webkit-queues.webkit.org/results/13292956</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600159</commentid>
    <comment_count>5</comment_count>
      <attachid>386067</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-18 22:46:57 -0800</bug_when>
    <thetext>Created attachment 386067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600160</commentid>
    <comment_count>6</comment_count>
      <attachid>386068</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-12-18 22:49:09 -0800</bug_when>
    <thetext>Created attachment 386068
Patch

Oops, bad rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600176</commentid>
    <comment_count>7</comment_count>
      <attachid>386068</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-18 23:35:36 -0800</bug_when>
    <thetext>Comment on attachment 386068
Patch

Clearing flags on attachment: 386068

Committed r253739: &lt;https://trac.webkit.org/changeset/253739&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600177</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-12-18 23:35:38 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1600178</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-12-18 23:36:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/58070760&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>385581</attachid>
            <date>2019-12-12 22:44:49 -0800</date>
            <delta_ts>2019-12-18 22:46:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205201-20191212224449.patch</filename>
            <type>text/plain</type>
            <size>32131</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDc5ZDFlNjkwYzExZThkYmViMzA1NzdjZjg1NTRj
NzQ0YWU0NGNiYjEuLmY1MjZkOTJkZmIyYWQ3ZGYzMTVjMDVkYzI3MDlmMjY5OTBlN2MzZDMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTEyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBF
bGVtZW50czogcmVzdHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcg
Ym9yZGVycyB0byB0aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBvZnRlbiBnZXQgYnVncyBmcm9tIHVzZXJz
IHdobyB0dXJuIG9uIHBhaW50IGZsYXNoaW5nIG9yIGNvbXBvc2l0aW5nIGJvcmRlcnMsIGNsb3Nl
IFdlYgorICAgICAgICBJbnNwZWN0b3IsIHJlb3BlbiBXZWIgSW5zcGVjdG9yLCBhbmQgYXJlIHRo
ZW4gc3VycHJpc2VkIHdoZW4gdGhlIHBhZ2UgZmxhc2hlcyByZWQgb3IgdGhlc2UKKyAgICAgICAg
Ym9yZGVycyBleGlzdCBhbGwgb3ZlciB0aGUgcGFnZS4KKworICAgICAgICBHaXZlbiB0aGF0IHRo
ZSBkYXJrIG1vZGUgYW5kIHByaW50IHN0eWxlcyB0b2dnbGVzIGFyZSBsaW1pdGVkIHRvIHRoZSBX
ZWIgSW5zcGVjdG9yIHNlc3Npb24sCisgICAgICAgIHdlIHNob3VsZCBtYWtlIHRoZXNlIGhhdmUg
dGhlIHNhbWUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5q
c29uOgorICAgICAgICBBbGxvdyBXZWIgSW5zcGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBgc2hvd0Rl
YnVnQm9yZGVyc2AgYW5kIGBzaG93UmVwYWludENvdW50ZXJgIHNldHRpbmdzIHZpYQorICAgICAg
ICB0aGUgYGluc3BlY3Rvck92ZXJyaWRlYCBrZXksIHJhdGhlciB0aGFuIHNldHRpbmcgdGhlbSBt
YW51YWxseSB2aWEgYSBzcGVjaWFsIGBQYWdlYCBjb21tYW5kLgorCiAyMDE5LTEyLTEyICBNYXJr
IExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbWlzc2luZyBleGNlcHRp
b24gY2hlY2sgaW4gSlNPTiBTdHJpbmdpZmllcidzIGdhcCBmdW5jdGlvbi4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCAxNjc4MmQ4NGUyYmM4ZWJlYTI5OWQ3MWI3OTBjYmMzNDZhOWZhYmY1Li41MzQ1NmUyZDY5Yjk0
ZDFkZDEwNmI5YTAwZmE2OThlNDFmNjlmMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTktMTItMTIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IEVsZW1lbnRzOiByZXN0cmljdCBzaG93aW5nIHBhaW50IGZsYXNoaW5n
IGFuZCBjb21wb3NpdGluZyBib3JkZXJzIHRvIHRoZSBXZWIgSW5zcGVjdG9yIHNlc3Npb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTIwMQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIG9mdGVuIGdl
dCBidWdzIGZyb20gdXNlcnMgd2hvIHR1cm4gb24gcGFpbnQgZmxhc2hpbmcgb3IgY29tcG9zaXRp
bmcgYm9yZGVycywgY2xvc2UgV2ViCisgICAgICAgIEluc3BlY3RvciwgcmVvcGVuIFdlYiBJbnNw
ZWN0b3IsIGFuZCBhcmUgdGhlbiBzdXJwcmlzZWQgd2hlbiB0aGUgcGFnZSBmbGFzaGVzIHJlZCBv
ciB0aGVzZQorICAgICAgICBib3JkZXJzIGV4aXN0IGFsbCBvdmVyIHRoZSBwYWdlLgorCisgICAg
ICAgIEdpdmVuIHRoYXQgdGhlIGRhcmsgbW9kZSBhbmQgcHJpbnQgc3R5bGVzIHRvZ2dsZXMgYXJl
IGxpbWl0ZWQgdG8gdGhlIFdlYiBJbnNwZWN0b3Igc2Vzc2lvbiwKKyAgICAgICAgd2Ugc2hvdWxk
IG1ha2UgdGhlc2UgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvci4KKworICAgICAgICAqIHBhZ2UvU2V0
dGluZ3MueWFtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2Vu
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0Q29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdl
bnQ6OnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpOiBEZWxldGVkLgorICAgICAgICBBbGxv
dyBXZWIgSW5zcGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBgc2hvd0RlYnVnQm9yZGVyc2AgYW5kIGBz
aG93UmVwYWludENvdW50ZXJgIHNldHRpbmdzIHZpYQorICAgICAgICB0aGUgYGluc3BlY3Rvck92
ZXJyaWRlYCBrZXksIHJhdGhlciB0aGFuIHNldHRpbmcgdGhlbSBtYW51YWxseSB2aWEgYSBzcGVj
aWFsIGBQYWdlYCBjb21tYW5kLgorCiAyMDE5LTEyLTEyICBQZXIgQXJuZSBWb2xsYW4gIDxwdm9s
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBEZW55IG1hY2ggbG9va3VwIGFjY2VzcyB0
byBjb250ZW50IGZpbHRlciBzZXJ2aWNlIGluIHRoZSBXZWJDb250ZW50IHNhbmRib3gKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCmluZGV4IGRlNGI2NzY4Mjk0N2VhZjVkNzAyZDQ4YjliYmFkOWZmZmZk
YjQ5ODUuLjgxMGE4ZWY3YTU4Y2FkNDQxZjI3Mjc0YTM4NmUwNzBlODY0ZWRkMjAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTEyLTEyICBEZXZpbiBSb3Vz
c28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50
czogcmVzdHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcgYm9yZGVy
cyB0byB0aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZSBvZnRlbiBnZXQgYnVncyBmcm9tIHVzZXJzIHdobyB0
dXJuIG9uIHBhaW50IGZsYXNoaW5nIG9yIGNvbXBvc2l0aW5nIGJvcmRlcnMsIGNsb3NlIFdlYgor
ICAgICAgICBJbnNwZWN0b3IsIHJlb3BlbiBXZWIgSW5zcGVjdG9yLCBhbmQgYXJlIHRoZW4gc3Vy
cHJpc2VkIHdoZW4gdGhlIHBhZ2UgZmxhc2hlcyByZWQgb3IgdGhlc2UKKyAgICAgICAgYm9yZGVy
cyBleGlzdCBhbGwgb3ZlciB0aGUgcGFnZS4KKworICAgICAgICBHaXZlbiB0aGF0IHRoZSBkYXJr
IG1vZGUgYW5kIHByaW50IHN0eWxlcyB0b2dnbGVzIGFyZSBsaW1pdGVkIHRvIHRoZSBXZWIgSW5z
cGVjdG9yIHNlc3Npb24sCisgICAgICAgIHdlIHNob3VsZCBtYWtlIHRoZXNlIGhhdmUgdGhlIHNh
bWUgYmVoYXZpb3IuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAg
ICAgICAgKFdJLmluaXRpYWxpemVUYXJnZXQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvTGF5ZXJUcmVlTWFuYWdlci5qczoKKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFn
ZXIpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFnZXIucHJvdG90eXBlLmluaXRp
YWxpemVUYXJnZXQpOgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Nob3dp
bmdQYWludFJlY3RzKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyLnN1cHBv
cnRzVmlzaWJsZUNvbXBvc2l0aW5nQm9yZGVycyk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJU
cmVlTWFuYWdlci5wcm90b3R5cGUuZ2V0IHNob3dQYWludFJlY3RzKTogQWRkZWQuCisgICAgICAg
IChXSS5MYXllclRyZWVNYW5hZ2VyLnByb3RvdHlwZS5zZXQgc2hvd1BhaW50UmVjdHMpOiBBZGRl
ZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFnZXIucHJvdG90eXBlLmdldCBjb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyLnBy
b3RvdHlwZS5zZXQgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk6IEFkZGVkLgorICAgICAgICAo
V0kuTGF5ZXJUcmVlTWFuYWdlci5wcm90b3R5cGUudXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZUZyb21QYWdlSWZOZWVkZWQpOiBBZGRlZC4KKyAgICAgICAgVXNlIGBXSS5MYXllclRyZWVN
YW5hZ2VyYCB0byBjb250cm9sIHRoZSBzdGF0ZSBvZiBwYWludCBmbGFzaGluZyBhbmQgY29tcG9z
aXRpbmcgYm9yZGVycywgYXMKKyAgICAgICAgdGhleSdyZSBib3RoIHJlbGF0ZWQgdG8gdGhlIGNv
bmNlcHQgb2YgbGF5ZXJzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
Q29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcpOgorICAgICAg
ICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5zaG93bik6CisgICAgICAgIChXSS5E
T01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLmNsb3NlZCk6CisgICAgICAgIChXSS5ET01UcmVl
Q29udGVudFZpZXcucHJvdG90eXBlLmF0dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5ET01U
cmVlQ29udGVudFZpZXcucHJvdG90eXBlLmRldGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5E
T01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNWaXNp
YmxlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZCk6IEFkZGVkLgorICAg
ICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlU2hvd1BhaW50UmVj
dHNDaGFuZ2VkKTogQWRkZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLl9oYW5kbGVQYWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZCk6IEFkZGVkLgorICAgICAgICAo
V0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJz
KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3Rv
Z2dsZVBhaW50Rmxhc2hpbmcpOiBEZWxldGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRW
aWV3LnByb3RvdHlwZS5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uVG9NYXRjaFBhZ2VT
ZXR0aW5ncyk6IERlbGV0ZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90
eXBlLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKTogRGVsZXRlZC4KKworICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qczoKKyAgICAgICAgKFdJ
LkxheWVyczNEQ29udGVudFZpZXcpOgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5w
cm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5
cGUuaGlkZGVuKToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLmF0
dGFjaGVkKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlw
ZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90
b3R5cGUuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkKTogQWRkZWQuCisg
ICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlQ29tcG9zaXRp
bmdCb3JkZXJzQnV0dG9uQ2xpY2tlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250
ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVBhaW5nRmxh
c2hpbmdCdXR0b25DbGlja2VkKTogQWRkZWQuCisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRW
aWV3LnByb3RvdHlwZS5jbG9zZWQpOiBEZWxldGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250
ZW50Vmlldy5wcm90b3R5cGUuX3Nob3dQYWludFJlY3RzU2V0dGluZ0NoYW5nZWQpOiBEZWxldGVk
LgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuX3RvZ2dsZVBhaW50
Rmxhc2hpbmcpOiBEZWxldGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90
b3R5cGUuX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblN0YXRlKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVDb21wb3NpdGlu
Z0JvcmRlcnMpOiBEZWxldGVkLgorCiAyMDE5LTEyLTEyICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEVycm9yOiBDYW4ndCBt
YWtlIGEgQ29udGVudFZpZXcgZm9yIGFuIHVua25vd24gcmVwcmVzZW50ZWRPYmplY3Qgb2YgdHlw
ZTogQ2FsbEZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL1BhZ2UuanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJv
dG9jb2wvUGFnZS5qc29uCmluZGV4IDM2N2QxZjIzNWE4MjEzZjEzNjBmNjAxYmM5ZTY0YzA5NDlm
NDc3YjQuLmE4ZmM1MzMyYWM5MjQyNGIwMGEzZGVjNjIxNTJmZDNjNWYyODU0NGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCkBA
IC0xNiw2ICsxNiw4IEBACiAgICAgICAgICAgICAgICAgIk1vY2tDYXB0dXJlRGV2aWNlc0VuYWJs
ZWQiLAogICAgICAgICAgICAgICAgICJOZWVkc1NpdGVTcGVjaWZpY1F1aXJrcyIsCiAgICAgICAg
ICAgICAgICAgIlNjcmlwdEVuYWJsZWQiLAorICAgICAgICAgICAgICAgICJTaG93RGVidWdCb3Jk
ZXJzIiwKKyAgICAgICAgICAgICAgICAiU2hvd1JlcGFpbnRDb3VudGVyIiwKICAgICAgICAgICAg
ICAgICAiV2ViUlRDRW5jcnlwdGlvbkVuYWJsZWQiLAogICAgICAgICAgICAgICAgICJXZWJTZWN1
cml0eUVuYWJsZWQiCiAgICAgICAgICAgICBdCkBAIC0yNDQsMjAgKzI0Niw2IEBACiAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJhcHBlYXJhbmNlIiwgIiRyZWYiOiAiQXBwZWFyYW5jZSIsICJk
ZXNjcmlwdGlvbiI6ICJBcHBlYXJhbmNlIG5hbWUgdG8gZm9yY2UuIEVtcHR5IHN0cmluZyBkaXNh
YmxlcyB0aGUgb3ZlcnJpZGUuIiB9CiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCi0gICAgICAg
IHsKLSAgICAgICAgICAgICJuYW1lIjogImdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiLAot
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZGljYXRlcyB0aGUgdmlzaWJpbGl0eSBvZiBj
b21wb3NpdGluZyBib3JkZXJzLiIsCi0gICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRp
b24iOiAiSWYgdHJ1ZSwgY29tcG9zaXRpbmcgYm9yZGVycyBhcmUgdmlzaWJsZS4iIH0KLSAgICAg
ICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAic2V0
Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
Q29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgY29tcG9zaXRpbmcgYm9yZGVycy4iLAotICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2aXNpYmxl
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJUcnVlIGZvciBzaG93aW5nIGNv
bXBvc2l0aW5nIGJvcmRlcnMuIiB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCiAgICAgICAg
IHsKICAgICAgICAgICAgICJuYW1lIjogInNuYXBzaG90Tm9kZSIsCiAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiQ2FwdHVyZSBhIHNuYXBzaG90IG9mIHRoZSBzcGVjaWZpZWQgbm9kZSB0aGF0
IGRvZXMgbm90IGluY2x1ZGUgdW5yZWxhdGVkIGxheWVycy4iLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDAx
ZWRkMDA2MGRlMzYyYzFhYjdiNzAyNDc1YWU4MzgyMjI3OWE4MDAuLmFlYTNmMWMyZWZmMjMxOTBi
MmE4N2MyODU3NTAwNjEyY2JjM2Q4ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTk0LDYgKzk0LDggQEAg
dXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKICAgICBtYWNybyhNb2NrQ2FwdHVyZURldmljZXNF
bmFibGVkKSBcCiAgICAgbWFjcm8oTmVlZHNTaXRlU3BlY2lmaWNRdWlya3MpIFwKICAgICBtYWNy
byhTY3JpcHRFbmFibGVkKSBcCisgICAgbWFjcm8oU2hvd0RlYnVnQm9yZGVycykgXAorICAgIG1h
Y3JvKFNob3dSZXBhaW50Q291bnRlcikgXAogICAgIG1hY3JvKFdlYlJUQ0VuY3J5cHRpb25FbmFi
bGVkKSBcCiAgICAgbWFjcm8oV2ViU2VjdXJpdHlFbmFibGVkKQogCkBAIC05MjYsMTcgKzkyOCw2
IEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjphcHBseUVtdWxhdGVkTWVkaWEoU3RyaW5nJiBt
ZWRpYSkKICAgICAgICAgbWVkaWEgPSBtX2VtdWxhdGVkTWVkaWE7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yUGFnZUFnZW50OjpnZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nJiwg
Ym9vbCogb3V0UGFyYW0pCi17Ci0gICAgKm91dFBhcmFtID0gbV9pbnNwZWN0ZWRQYWdlLnNldHRp
bmdzKCkuc2hvd0RlYnVnQm9yZGVycygpIHx8IG1faW5zcGVjdGVkUGFnZS5zZXR0aW5ncygpLnNo
b3dSZXBhaW50Q291bnRlcigpOwotfQotCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyYsIGJvb2wgdmlzaWJsZSkKLXsKLSAg
ICBtX2luc3BlY3RlZFBhZ2Uuc2V0dGluZ3MoKS5zZXRTaG93RGVidWdCb3JkZXJzKHZpc2libGUp
OwotICAgIG1faW5zcGVjdGVkUGFnZS5zZXR0aW5ncygpLnNldFNob3dSZXBhaW50Q291bnRlcih2
aXNpYmxlKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNuYXBzaG90Tm9kZShFcnJv
clN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIFN0cmluZyogb3V0RGF0YVVSTCkKIHsK
ICAgICBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQgPSBtX2luc3RydW1lbnRpbmdBZ2VudHMu
aW5zcGVjdG9yRE9NQWdlbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
YWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDRmZDhjMGIxMDE2ZTVhYjQ3NTI1NThk
NjUzMGFiYjUyMGVjZWEyNmEuLjNmM2JiYjhmY2U4MjA0NGMxYzIzMGIwYWU3MTg2NjEyY2M1ZDQ1
Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9y
UGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0
b3JQYWdlQWdlbnQuaApAQCAtMTEwLDggKzExMCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFNo
b3dQYWludFJlY3RzKEVycm9yU3RyaW5nJiwgYm9vbCBzaG93KSBvdmVycmlkZTsKICAgICB2b2lk
IHNldEVtdWxhdGVkTWVkaWEoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldEZvcmNlZEFwcGVhcmFuY2UoRXJyb3JTdHJpbmcmLCBjb25zdCBTdHJpbmcm
KSBvdmVycmlkZTsKLSAgICB2b2lkIGdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JT
dHJpbmcmLCBib29sKiBvdXRfcGFyYW0pIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0Q29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyYsIGJvb2wpIG92ZXJyaWRlOwogICAgIHZvaWQg
c25hcHNob3ROb2RlKEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgU3RyaW5nKiBvdXREYXRhVVJM
KSBvdmVycmlkZTsKICAgICB2b2lkIHNuYXBzaG90UmVjdChFcnJvclN0cmluZyYsIGludCB4LCBp
bnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBjb25zdCBTdHJpbmcmIGNvb3JkaW5hdGVTeXN0
ZW0sIFN0cmluZyogb3V0RGF0YVVSTCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBhcmNoaXZlKEVycm9y
U3RyaW5nJiwgU3RyaW5nKiBkYXRhKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MueWFtbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFt
bAppbmRleCBiMzI5ZjEyNDc5M2Q5MTYxOGI0YmFmYjNhOTIxOGZlMWQxODBlOTQ3Li5lNGFhYjE0
MzE5NWFjYzg3NDhjMGUwNWNhYmJjYTIxMzZhMTY0Y2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy55YW1sCkBAIC0xNDQsOSArMTQ0LDExIEBAIGFjY2VsZXJhdGVkQ29tcG9zaXRlZEFuaW1hdGlv
bnNFbmFibGVkOgogc2hvd0RlYnVnQm9yZGVyczoKICAgaW5pdGlhbDogZmFsc2UKICAgb25DaGFu
Z2U6IHNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcworICBpbnNwZWN0b3JPdmVycmlkZTog
dHJ1ZQogc2hvd1JlcGFpbnRDb3VudGVyOgogICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTog
c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCisgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVl
CiB2aXNpYmxlRGVidWdPdmVybGF5UmVnaW9uczoKICAgdHlwZTogRGVidWdPdmVybGF5UmVnaW9u
cwogICBpbml0aWFsOiAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9CYXNlL01haW4uanMKaW5kZXggMTM2MjUxZTdmNzMwMTBlZThhODAwY2FjMjAzNjc1ZTIyNzM5
NTdiMS4uMDQxNWNhMDA1MDRkMDg3YzcxZTgzNGEyODQxODc4NThkMDVlYThlNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpAQCAtNTgy
LDEzICs1ODIsOSBAQCBXSS5pbml0aWFsaXplVGFyZ2V0ID0gZnVuY3Rpb24odGFyZ2V0KQogICAg
ICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQub3ZlcnJpZGVTZXR0aW5nKHNldHRpbmcsIHZh
bHVlKTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMS4zKQor
ICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgMTEuMyk6IFBhZ2Uuc2V0U2hvd1J1bGVlcnMg
ZGlkIG5vdCBleGlzdCB5ZXQuCiAgICAgICAgIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5z
ZXRTaG93UnVsZXJzIikgJiYgV0kuc2V0dGluZ3Muc2hvd1J1bGVycy52YWx1ZSkKICAgICAgICAg
ICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1J1bGVycyh0cnVlKTsKLQotICAgICAgICAvLyBD
T01QQVRJQklMSVRZIChpT1MgOCk6IFBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMgZGlkIG5vdCBleGlz
dC4KLSAgICAgICAgaWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJlY3Rz
IikgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWUpCi0gICAgICAgICAgICB0YXJn
ZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKHRydWUpOwogICAgIH0KIH07CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0xh
eWVyVHJlZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9MYXllclRyZWVNYW5hZ2VyLmpzCmluZGV4IDg0M2QzOTdkNjI5MmNkZTE5NWJh
Mzg1ZjFkNjA4NTM5YTU5NGRiZmUuLjQzZTkxYWM1MzRjYTAyYTViZmU0ZmNmMzkwMjFmYmI4ZGJi
OTM3YWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Nv
bnRyb2xsZXJzL0xheWVyVHJlZU1hbmFnZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvTGF5ZXJUcmVlTWFuYWdlci5qcwpAQCAtMjcsMTIg
KzI3LDQ3IEBACiAKIFdJLkxheWVyVHJlZU1hbmFnZXIgPSBjbGFzcyBMYXllclRyZWVNYW5hZ2Vy
IGV4dGVuZHMgV0kuT2JqZWN0CiB7CisgICAgY29uc3RydWN0b3IoKQorICAgIHsKKyAgICAgICAg
c3VwZXIoKTsKKworICAgICAgICB0aGlzLl9zaG93UGFpbnRSZWN0cyA9IGZhbHNlOworICAgICAg
ICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlID0gZmFsc2U7CisgICAgfQorCiAgICAg
Ly8gVGFyZ2V0CiAKICAgICBpbml0aWFsaXplVGFyZ2V0KHRhcmdldCkKICAgICB7CiAgICAgICAg
IGlmICh0YXJnZXQuaGFzRG9tYWluKCJMYXllclRyZWUiKSkKICAgICAgICAgICAgIHRhcmdldC5M
YXllclRyZWVBZ2VudC5lbmFibGUoKTsKKworICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigi
UGFnZSIpKSB7CisgICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hv
d1BhaW50UmVjdHMiKSAmJiB0aGlzLl9zaG93UGFpbnRSZWN0cykKKyAgICAgICAgICAgICAgICB0
YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKHRoaXMuX3Nob3dQYWludFJlY3RzKTsK
KworICAgICAgICAgICAgaWYgKHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpIHsKKyAg
ICAgICAgICAgICAgICAvLyBDT01QQVRJQklMSVRZKGlPUyAxMy4xKTogUGFnZS5zZXRDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlIHdhcyByZXBsYWNlZCBieSBQYWdlLlNldHRpbmcuU2hvd0RlYnVn
Qm9yZGVycyBhbmQgUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRlci4KKyAgICAgICAgICAg
ICAgICBpZiAodGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2Uub3ZlcnJpZGVTZXR0aW5nIikgJiYgSW5z
cGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93RGVidWdCb3JkZXJzICYmIEluc3Bl
Y3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hvd1JlcGFpbnRDb3VudGVyKSB7CisgICAg
ICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3Rv
ckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hvd0RlYnVnQm9yZGVycywgdGhpcy5fY29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdl
bnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hv
d1JlcGFpbnRDb3VudGVyLCB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldENvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUiKSkKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2Vu
dC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gU3RhdGlj
CisKKyAgICBzdGF0aWMgc3VwcG9ydHNTaG93aW5nUGFpbnRSZWN0cygpCisgICAgeworICAgICAg
ICByZXR1cm4gSW5zcGVjdG9yQmFja2VuZC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJl
Y3RzIik7CisgICAgfQorCisgICAgc3RhdGljIHN1cHBvcnRzVmlzaWJsZUNvbXBvc2l0aW5nQm9y
ZGVycygpCisgICAgeworICAgICAgICByZXR1cm4gSW5zcGVjdG9yQmFja2VuZC5oYXNDb21tYW5k
KCJQYWdlLnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiKQorICAgICAgICAgICAgfHwgKElu
c3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hvd0RlYnVnQm9yZGVycyAmJiBJbnNw
ZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRlcik7CiAgICAg
fQogCiAgICAgLy8gUHVibGljCkBAIC00Miw2ICs3Nyw3NiBAQCBXSS5MYXllclRyZWVNYW5hZ2Vy
ID0gY2xhc3MgTGF5ZXJUcmVlTWFuYWdlciBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICByZXR1
cm4gSW5zcGVjdG9yQmFja2VuZC5oYXNEb21haW4oIkxheWVyVHJlZSIpOwogICAgIH0KIAorICAg
IGdldCBzaG93UGFpbnRSZWN0cygpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1Bh
aW50UmVjdHM7CisgICAgfQorCisgICAgc2V0IHNob3dQYWludFJlY3RzKHNob3dQYWludFJlY3Rz
KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX3Nob3dQYWludFJlY3RzID09PSBzaG93UGFpbnRS
ZWN0cykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9zaG93UGFpbnRSZWN0
cyA9IHNob3dQYWludFJlY3RzOworCisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJn
ZXRzKSB7CisgICAgICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgOSk6IFBhZ2Uuc2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSBkaWQgbm90IGV4aXN0IHlldC4KKyAgICAgICAgICAgIGlm
ICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5zZXRTaG93UGFpbnRSZWN0cyIpKQorICAgICAgICAg
ICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHModGhpcy5fc2hvd1BhaW50
UmVjdHMpOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5l
cnMoTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5TaG93UGFpbnRSZWN0c0NoYW5nZWQpOworICAgIH0K
KworICAgIGdldCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKCkKKyAgICB7CisgICAgICAgIHJl
dHVybiB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlOworICAgIH0KKworICAgIHNldCBj
b21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpCisgICAg
eworICAgICAgICBpZiAodGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSA9PT0gY29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlz
Ll9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlID0gY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsK
KworICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgeworICAgICAgICAgICAg
Ly8gQ09NUEFUSUJJTElUWShpT1MgMTMuMSk6IFBhZ2Uuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZSB3YXMgcmVwbGFjZWQgYnkgUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMgYW5kIFBh
Z2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIuCisgICAgICAgICAgICBpZiAodGFyZ2V0Lmhh
c0NvbW1hbmQoIlBhZ2Uub3ZlcnJpZGVTZXR0aW5nIikgJiYgSW5zcGVjdG9yQmFja2VuZC5FbnVt
LlBhZ2UuU2V0dGluZy5TaG93RGVidWdCb3JkZXJzICYmIEluc3BlY3RvckJhY2tlbmQuRW51bS5Q
YWdlLlNldHRpbmcuU2hvd1JlcGFpbnRDb3VudGVyKSB7CisgICAgICAgICAgICAgICAgdGFyZ2V0
LlBhZ2VBZ2VudC5vdmVycmlkZVNldHRpbmcoSW5zcGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0
dGluZy5TaG93RGVidWdCb3JkZXJzLCB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsK
KyAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNwZWN0
b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRlciwgdGhpcy5fY29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHRhcmdldC5o
YXNDb21tYW5kKCJQYWdlLnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiKSkKKyAgICAgICAg
ICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUodGhp
cy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAgIH0KKworICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhMYXllclRyZWVNYW5hZ2VyLkV2ZW50LkNvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkKTsKKyAgICB9CisKKyAgICB1cGRhdGVDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlRnJvbVBhZ2VJZk5lZWRlZCgpCisgICAgeworICAgICAgICBpZiAoIVdJ
LnRhcmdldHNBdmFpbGFibGUoKSkgeworICAgICAgICAgICAgV0kud2hlblRhcmdldHNBdmFpbGFi
bGUoKS50aGVuKCgpID0+IHsKKyAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUNvbXBvc2l0aW5n
Qm9yZGVyc1Zpc2libGVGcm9tUGFnZUlmTmVlZGVkKCk7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1
bWluZ01haW5UYXJnZXQoKTsKKworICAgICAgICAvLyBDT01QQVRJQklMSVRZKGlPUyAxMy4xKTog
UGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIHdhcyByZXBsYWNlZCBieSBQYWdlLlNl
dHRpbmcuU2hvd0RlYnVnQm9yZGVycyBhbmQgUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRl
ci4KKyAgICAgICAgaWYgKCF0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0Jv
cmRlcnNWaXNpYmxlIikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGFyZ2V0LlBh
Z2VBZ2VudC5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKChlcnJvciwgY29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSkgPT4geworICAgICAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAg
ICAgICAgV0kucmVwb3J0SW50ZXJuYWxFcnJvcihlcnJvcik7CisgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB0aGlzLmNvbXBvc2l0aW5nQm9yZGVy
c1Zpc2libGUgPSBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlOworICAgICAgICB9KTsKKyAgICB9
CisKICAgICBsYXllclRyZWVNdXRhdGlvbnMocHJldmlvdXNMYXllcnMsIG5ld0xheWVycykKICAg
ICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuc3VwcG9ydGVkKTsKQEAgLTEwMSw1ICsy
MDYsNyBAQCBXSS5MYXllclRyZWVNYW5hZ2VyID0gY2xhc3MgTGF5ZXJUcmVlTWFuYWdlciBleHRl
bmRzIFdJLk9iamVjdAogfTsKIAogV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudCA9IHsKLSAgICBM
YXllclRyZWVEaWRDaGFuZ2U6ICJsYXllci10cmVlLWRpZC1jaGFuZ2UiCisgICAgU2hvd1BhaW50
UmVjdHNDaGFuZ2VkOiAic2hvdy1wYWludC1yZWN0cy1jaGFuZ2VkIiwKKyAgICBDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlQ2hhbmdlZDogImNvbXBvc2l0aW5nLWJvcmRlcnMtdmlzaWJsZS1jaGFu
Z2VkIiwKKyAgICBMYXllclRyZWVEaWRDaGFuZ2U6ICJsYXllci10cmVlLWRpZC1jaGFuZ2UiLAog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0RPTVRyZWVDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwppbmRleCAxMzBkYzc4ODFkYjgzYmU5ZWYw
ODdmYjBjMWFkZDNkMGMyY2JmZWNiLi5iMWRkMjgyYTVlM2ZlZjRhOTNkNzQ5OTczYzcxMjUzNGMw
M2Q1MmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9ET01UcmVlQ29udGVudFZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzCkBAIC01MSwxNiArNTEsMTMg
QEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVu
ZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgdGhpcy5fZm9yY2VBcHBlYXJhbmNlQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IFdJLmNzc01hbmFnZXIuY2FuRm9yY2VBcHBlYXJhbmNlKCk7
CiAKICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0g
PSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9yZGVycyIsIFdJ
LlVJU3RyaW5nKCJTaG93IGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgV0kuVUlTdHJpbmcoIkhpZGUg
Y29tcG9zaXRpbmcgYm9yZGVycyIpLCAiSW1hZ2VzL0xheWVyQm9yZGVycy5zdmciLCAxMywgMTMp
OwotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
ZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRo
aXMuX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycywgdGhpcyk7Ci0gICAgICAgIHRoaXMuX2NvbXBv
c2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBJbnNwZWN0b3JCYWNr
ZW5kLmhhc0RvbWFpbigiUGFnZSIpOworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25J
dGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbkNs
aWNrZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZp
Z2F0aW9uSXRlbS5lbmFibGVkID0gV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Zpc2libGVD
b21wb3NpdGluZ0JvcmRlcnMoKTsKICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0ZW0u
VmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKIAotICAgICAgICAvLyBDT01QQVRJQklMSVRZIChpT1Mg
OSkKLSAgICAgICAgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMuYWRkRXZlbnRMaXN0ZW5lcihX
SS5TZXR0aW5nLkV2ZW50LkNoYW5nZWQsIHRoaXMuX3Nob3dQYWludFJlY3RzU2V0dGluZ0NoYW5n
ZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0
ZW0gPSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgicGFpbnQtZmxhc2hpbmci
LCBXSS5VSVN0cmluZygiRW5hYmxlIHBhaW50IGZsYXNoaW5nIiksIFdJLlVJU3RyaW5nKCJEaXNh
YmxlIHBhaW50IGZsYXNoaW5nIiksICJJbWFnZXMvUGFpbnQuc3ZnIiwgMTYsIDE2KTsKLSAgICAg
ICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlUGFp
bnRGbGFzaGluZywgdGhpcyk7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZp
Z2F0aW9uSXRlbS5lbmFibGVkID0gSW5zcGVjdG9yQmFja2VuZC5oYXNDb21tYW5kKCJQYWdlLnNl
dFNob3dQYWludFJlY3RzIik7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZp
Z2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uZW5hYmxlZCAmJiBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKKyAgICAg
ICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5faGFuZGxlUGFp
bmdGbGFzaGluZ0J1dHRvbkNsaWNrZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9wYWludEZsYXNo
aW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IFdJLkxheWVyVHJlZU1hbmFnZXIuc3Vw
cG9ydHNTaG93aW5nUGFpbnRSZWN0cygpOwogICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0
dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0ZW0u
VmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKIAogICAgICAgICBXSS5zZXR0aW5ncy5zaG93U2hhZG93
RE9NLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93
U2hhZG93RE9NU2V0dGluZ0NoYW5nZWQsIHRoaXMpOwpAQCAtMTU0LDcgKzE1MSw2IEBAIFdJLkRP
TVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAgICAgICAgIHN1cGVyLnNob3duKCk7CiAKICAgICAgICAgdGhpcy5fZG9tVHJl
ZU91dGxpbmUuc2V0VmlzaWJsZSh0cnVlLCBXSS5pc0NvbnNvbGVGb2N1c2VkKCkpOwotICAgICAg
ICB0aGlzLl91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25Ub01hdGNoUGFnZVNldHRpbmdz
KCk7CiAKICAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290RE9NTm9kZSkKICAg
ICAgICAgICAgIHJldHVybjsKQEAgLTE3NCw3ICsxNzAsNiBAQCBXSS5ET01UcmVlQ29udGVudFZp
ZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAg
IHsKICAgICAgICAgc3VwZXIuY2xvc2VkKCk7CiAKLSAgICAgICAgV0kuc2V0dGluZ3Muc2hvd1Bh
aW50UmVjdHMucmVtb3ZlRXZlbnRMaXN0ZW5lcihudWxsLCBudWxsLCB0aGlzKTsKICAgICAgICAg
V0kuc2V0dGluZ3Muc2hvd1NoYWRvd0RPTS5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGws
IHRoaXMpOwogICAgICAgICBXSS5zZXR0aW5ncy5zaG93UnVsZXJzLnJlbW92ZUV2ZW50TGlzdGVu
ZXIobnVsbCwgbnVsbCwgdGhpcyk7CiAgICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1vdmVF
dmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwpAQCAtMzkxLDYgKzM4NiwyNyBAQCBXSS5E
T01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmlldwogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBhdHRhY2hlZCgpCisgICAgewor
ICAgICAgICBzdXBlci5hdHRhY2hlZCgpOworCisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIu
dXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKKworICAg
ICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFu
YWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxl
Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9o
YW5kbGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCgpOworCisgICAgICAgIFdJLmxh
eWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LlNob3dQYWludFJlY3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2Vk
LCB0aGlzKTsKKyAgICAgICAgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkKCk7Cisg
ICAgfQorCisgICAgZGV0YWNoZWQoKQorICAgIHsKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdl
ci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50
UmVjdHNDaGFuZ2VkLCB0aGlzLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOwor
ICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJU
cmVlTWFuYWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5f
aGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworCisgICAgICAg
IHN1cGVyLmRldGFjaGVkKCk7CisgICAgfQorCiAgICAgc2l6ZURpZENoYW5nZSgpCiAgICAgewog
ICAgICAgICBzdXBlci5zaXplRGlkQ2hhbmdlKCk7CkBAIC01ODcsNTEgKzYwMywyNCBAQCBXSS5E
T01UcmVlQ29udGVudFZpZXcgPSBjbGFzcyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5D
b250ZW50VmlldwogICAgICAgICB0aGlzLl9mb2xsb3dMaW5rVGltZW91dElkZW50aWZpZXIgPSBz
ZXRUaW1lb3V0KGZvbGxvd0xpbmsuYmluZCh0aGlzKSwgMzMzKTsKICAgICB9CiAKLSAgICBfdG9n
Z2xlQ29tcG9zaXRpbmdCb3JkZXJzKGV2ZW50KQorICAgIF9oYW5kbGVDb21wb3NpdGluZ0JvcmRl
cnNWaXNpYmxlQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIHZhciBhY3RpdmF0ZWQgPSAh
dGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkOwot
ICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3Rp
dmF0ZWQgPSBhY3RpdmF0ZWQ7Ci0KLSAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdl
dHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzRG9tYWluKCJQYWdlIikpCi0gICAgICAg
ICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKGFj
dGl2YXRlZCk7Ci0gICAgICAgIH0KKyAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gV0kubGF5ZXJUcmVlTWFuYWdlci5jb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlOwogICAgIH0KIAotICAgIF90b2dnbGVQYWludEZsYXNoaW5nKGV2
ZW50KQorICAgIF9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25DbGlja2VkKGV2ZW50KQog
ICAgIHsKLSAgICAgICAgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWUgPSAhV0kuc2V0
dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIu
Y29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSA9ICFXSS5sYXllclRyZWVNYW5hZ2VyLmNvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGU7CiAgICAgfQogCi0gICAgX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVy
c0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MoKQorICAgIF9oYW5kbGVTaG93UGFpbnRSZWN0c0No
YW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIVdJLnRhcmdldHNBdmFpbGFibGUoKSkg
ewotICAgICAgICAgICAgV0kud2hlblRhcmdldHNBdmFpbGFibGUoKS50aGVuKCgpID0+IHsKLSAg
ICAgICAgICAgICAgICB0aGlzLl91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25Ub01hdGNo
UGFnZVNldHRpbmdzKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotCi0gICAgICAgIHZhciBidXR0b24gPSB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25OYXZpZ2F0aW9uSXRlbTsKLQotICAgICAgICAvLyBXZSBuZWVkIHRvIHN5bmMgd2l0aCB0
aGUgcGFnZSBzZXR0aW5ncyBzaW5jZSB0aGVzZSBjYW4gYmUgY29udHJvbGxlZAotICAgICAgICAv
LyBpbiBhIGRpZmZlcmVudCB3YXkgdGhhbiBqdXN0IHVzaW5nIHRoZSBuYXZpZ2F0aW9uIGJhciBi
dXR0b24uCi0gICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsKLSAg
ICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKGZ1bmN0
aW9uKGVycm9yLCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKSB7Ci0gICAgICAgICAgICBidXR0
b24uYWN0aXZhdGVkID0gZXJyb3IgPyBmYWxzZSA6IGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7
Ci0gICAgICAgICAgICBidXR0b24uZW5hYmxlZCA9IGVycm9yICE9PSAidW5zdXBwb3J0ZWQiOwot
ICAgICAgICB9KTsKKyAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25J
dGVtLmFjdGl2YXRlZCA9IFdJLmxheWVyVHJlZU1hbmFnZXIuc2hvd1BhaW50UmVjdHM7CiAgICAg
fQogCi0gICAgX3Nob3dQYWludFJlY3RzU2V0dGluZ0NoYW5nZWQoZXZlbnQpCisgICAgX2hhbmRs
ZVBhaW5nRmxhc2hpbmdCdXR0b25DbGlja2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IGFj
dGl2YXRlZCA9IFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlOwotICAgICAgICB0aGlz
Ll9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gYWN0aXZhdGVk
OwotCi0gICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRzKSB7Ci0gICAgICAgICAg
ICBpZiAodGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKSkKLSAgICAg
ICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKGFjdGl2YXRlZCk7
Ci0gICAgICAgIH0KKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5zaG93UGFpbnRSZWN0cyA9
ICFXSS5sYXllclRyZWVNYW5hZ2VyLnNob3dQYWludFJlY3RzOwogICAgIH0KIAogICAgIF9zaG93
U2hhZG93RE9NU2V0dGluZ0NoYW5nZWQoZXZlbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmll
dy5qcwppbmRleCAwNjJiNzg0NmIxNzc2NjRhNGM3ZmRhNTk2N2Q0OTVkNTdhZTIzMjNiLi42MWJj
MzZkYjBhOTRlY2NkZWVkZTYzYmEyNTA1ODQ2ZDU2YjhkNWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3Lmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNE
Q29udGVudFZpZXcuanMKQEAgLTMyLDE1ICszMiwxMyBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3
ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAg
ICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJsYXllcnMtM2QiKTsKIAogICAgICAgICB0
aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3Rp
dmF0ZUJ1dHRvbk5hdmlnYXRpb25JdGVtKCJsYXllci1ib3JkZXJzIiwgV0kuVUlTdHJpbmcoIlNo
b3cgY29tcG9zaXRpbmcgYm9yZGVycyIpLCBXSS5VSVN0cmluZygiSGlkZSBjb21wb3NpdGluZyBi
b3JkZXJzIiksICJJbWFnZXMvTGF5ZXJCb3JkZXJzLnN2ZyIsIDEzLCAxMyk7Ci0gICAgICAgIHRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVu
ZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlQ29t
cG9zaXRpbmdCb3JkZXJzLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJz
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzRG9tYWlu
KCJQYWdlIik7CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRp
b25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xp
Y2tlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZCwgdGhpcyk7
CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVu
YWJsZWQgPSBXSS5MYXllclRyZWVNYW5hZ2VyLnN1cHBvcnRzVmlzaWJsZUNvbXBvc2l0aW5nQm9y
ZGVycygpOwogICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9u
SXRlbS52aXNpYmlsaXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJp
b3JpdHkuTG93OwogCi0gICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLmFkZEV2ZW50
TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1Nl
dHRpbmdDaGFuZ2VkLCB0aGlzKTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5h
dmlnYXRpb25JdGVtID0gbmV3IFdJLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInBhaW50
LWZsYXNoaW5nIiwgV0kuVUlTdHJpbmcoIkVuYWJsZSBwYWludCBmbGFzaGluZyIpLCBXSS5VSVN0
cmluZygiRGlzYWJsZSBwYWludCBmbGFzaGluZyIpLCAiSW1hZ2VzL1BhaW50LnN2ZyIsIDE2LCAx
Nik7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRF
dmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMu
X3RvZ2dsZVBhaW50Rmxhc2hpbmcsIHRoaXMpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5n
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFu
ZCgiUGFnZS5zZXRTaG93UGFpbnRSZWN0cyIpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5n
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFs
dWU7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRF
dmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMu
X2hhbmRsZVBhaW5nRmxhc2hpbmdCdXR0b25DbGlja2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5f
cGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBXSS5MYXllclRyZWVN
YW5hZ2VyLnN1cHBvcnRzU2hvd2luZ1BhaW50UmVjdHMoKTsKICAgICAgICAgdGhpcy5fcGFpbnRG
bGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmln
YXRpb25JdGVtLlZpc2liaWxpdHlQcmlvcml0eS5Mb3c7CiAKICAgICAgICAgdGhpcy5fbGF5ZXJz
ID0gW107CkBAIC04MCw4ICs3OCw2IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBM
YXllcnMzRENvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAg
IHN1cGVyLnNob3duKCk7CiAKLSAgICAgICAgdGhpcy5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJz
QnV0dG9uU3RhdGUoKTsKLQogICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwogICAgICAgICBX
SS5sYXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5F
dmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7
CiAKQEAgLTkyLDE4ICs4OCwxMiBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5
ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgaGlkZGVuKCkKICAg
ICB7CiAgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5M
YXllclRyZWVNYW5hZ2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVl
RGlkQ2hhbmdlLCB0aGlzKTsKKwogICAgICAgICB0aGlzLl9zdG9wQW5pbWF0aW9uKCk7CiAKICAg
ICAgICAgc3VwZXIuaGlkZGVuKCk7CiAgICAgfQogCi0gICAgY2xvc2VkKCkKLSAgICB7Ci0gICAg
ICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuU2V0
dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkLCB0
aGlzKTsKLQotICAgICAgICBzdXBlci5jbG9zZWQoKTsKLSAgICB9Ci0KICAgICBzZWxlY3RMYXll
ckJ5SWQobGF5ZXJJZCkKICAgICB7CiAgICAgICAgIGxldCBsYXllckdyb3VwID0gdGhpcy5fbGF5
ZXJHcm91cHNCeUlkLmdldChsYXllcklkKTsKQEAgLTEzOSw2ICsxMjksMjcgQEAgV0kuTGF5ZXJz
M0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250
ZW50VmlldwogCiAgICAgLy8gUHJvdGVjdGVkCiAKKyAgICBhdHRhY2hlZCgpCisgICAgeworICAg
ICAgICBzdXBlci5hdHRhY2hlZCgpOworCisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBk
YXRlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKKworICAgICAg
ICBXSS5sYXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdl
ci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9oYW5k
bGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCgpOworCisgICAgICAgIFdJLmxheWVy
VHJlZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNo
b3dQYWludFJlY3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0
aGlzKTsKKyAgICAgICAgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkKCk7CisgICAg
fQorCisgICAgZGV0YWNoZWQoKQorICAgIHsKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5y
ZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50UmVj
dHNDaGFuZ2VkLCB0aGlzLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOworICAg
ICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVl
TWFuYWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFu
ZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworCisgICAgICAgIHN1
cGVyLmRldGFjaGVkKCk7CisgICAgfQorCiAgICAgaW5pdGlhbExheW91dCgpCiAgICAgewogICAg
ICAgICBzdXBlci5pbml0aWFsTGF5b3V0KCk7CkBAIC0zOTUsNDkgKzQwNiwyNCBAQCBXSS5MYXll
cnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX2NhbWVyYS5wb3NpdGlvbi5hZGQoZGVsdGEpOwogICAg
IH0KIAotICAgIF9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKGV2ZW50KQorICAgIF9oYW5k
bGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAg
IGxldCBhY3RpdmF0ZWQgPSBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKLSAgICAg
ICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IGFj
dGl2YXRlZDsKLQotICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAg
ICAgICAgICAgaWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJlY3RzIikp
Ci0gICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhhY3Rp
dmF0ZWQpOwotICAgICAgICB9CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRv
bk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLmxheWVyVHJlZU1hbmFnZXIuY29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZTsKICAgICB9CiAKLSAgICBfdG9nZ2xlUGFpbnRGbGFzaGluZyhldmVu
dCkKKyAgICBfaGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZChldmVudCkKICAg
ICB7Ci0gICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlID0gIVdJLnNldHRp
bmdzLnNob3dQYWludFJlY3RzLnZhbHVlOworICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLmNv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgPSAhV0kubGF5ZXJUcmVlTWFuYWdlci5jb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlOwogICAgIH0KIAotICAgIF91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25TdGF0ZSgpCisgICAgX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZChldmVudCkKICAg
ICB7Ci0gICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7Ci0gICAgICAgICAgICBX
SS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIHRo
aXMuX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblN0YXRlKCk7Ci0gICAgICAgICAgICB9
KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIFRoaXMgdmFs
dWUgY2FuIGJlIGNoYW5nZWQgb3V0c2lkZSBvZiBXZWIgSW5zcGVjdG9yLgotICAgICAgICAvLyBG
SVhNRTogSGF2ZSBQYWdlQWdlbnQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnQgaW5zdGVhZD8KLSAg
ICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOwotICAgICAgICB0YXJn
ZXQuUGFnZUFnZW50LmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoKGVycm9yLCBjb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlKSA9PiB7Ci0gICAgICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0Jv
cmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBlcnJvciA/IGZhbHNlIDogY29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKLSAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9y
ZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBlcnJvciAhPT0gInVuc3VwcG9ydGVk
IjsKLSAgICAgICAgfSk7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0
aW9uSXRlbS5hY3RpdmF0ZWQgPSBXSS5sYXllclRyZWVNYW5hZ2VyLnNob3dQYWludFJlY3RzOwog
ICAgIH0KIAotICAgIF90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMoZXZlbnQpCisgICAgX2hhbmRs
ZVBhaW5nRmxhc2hpbmdCdXR0b25DbGlja2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IGFj
dGl2YXRlZCA9ICF0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
Y3RpdmF0ZWQ7Ci0gICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRp
b25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsKLQotICAgICAgICBmb3IgKGxldCB0YXJnZXQg
b2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNEb21haW4oIlBhZ2Ui
KSkKLSAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVy
c1Zpc2libGUoYWN0aXZhdGVkKTsKLSAgICAgICAgfQorICAgICAgICBXSS5sYXllclRyZWVNYW5h
Z2VyLnNob3dQYWludFJlY3RzID0gIVdJLmxheWVyVHJlZU1hbmFnZXIuc2hvd1BhaW50UmVjdHM7
CiAgICAgfQogCiAgICAgX2J1aWxkTGF5ZXJJbmZvRWxlbWVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386067</attachid>
            <date>2019-12-18 22:46:57 -0800</date>
            <delta_ts>2019-12-18 22:49:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205201-20191218224656.patch</filename>
            <type>text/plain</type>
            <size>31606</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDVlMDk1NjRmNzBiZmYwNjI4MWY4NDNkNTQ5YTBk
YjdjM2FjM2RiZGUuLjJhMGU3MjIzOGI4MzdlYzg5Y2M5ZTgzMjdkNDhiMDIzOWMzYzY3NDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTE4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBF
bGVtZW50czogcmVzdHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcg
Ym9yZGVycyB0byB0aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgV2Ugb2Z0ZW4gZ2V0IGJ1Z3MgZnJvbSB1c2Vy
cyB3aG8gdHVybiBvbiBwYWludCBmbGFzaGluZyBvciBjb21wb3NpdGluZyBib3JkZXJzLCBjbG9z
ZSBXZWIKKyAgICAgICAgSW5zcGVjdG9yLCByZW9wZW4gV2ViIEluc3BlY3RvciwgYW5kIGFyZSB0
aGVuIHN1cnByaXNlZCB3aGVuIHRoZSBwYWdlIGZsYXNoZXMgcmVkIG9yIHRoZXNlCisgICAgICAg
IGJvcmRlcnMgZXhpc3QgYWxsIG92ZXIgdGhlIHBhZ2UuCisKKyAgICAgICAgR2l2ZW4gdGhhdCB0
aGUgZGFyayBtb2RlIGFuZCBwcmludCBzdHlsZXMgdG9nZ2xlcyBhcmUgbGltaXRlZCB0byB0aGUg
V2ViIEluc3BlY3RvciBzZXNzaW9uLAorICAgICAgICB3ZSBzaG91bGQgbWFrZSB0aGVzZSBoYXZl
IHRoZSBzYW1lIGJlaGF2aW9yLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2Uu
anNvbjoKKyAgICAgICAgQWxsb3cgV2ViIEluc3BlY3RvciB0byBvdmVycmlkZSB0aGUgYHNob3dE
ZWJ1Z0JvcmRlcnNgIGFuZCBgc2hvd1JlcGFpbnRDb3VudGVyYCBzZXR0aW5ncyB2aWEKKyAgICAg
ICAgdGhlIGBpbnNwZWN0b3JPdmVycmlkZWAga2V5LCByYXRoZXIgdGhhbiBzZXR0aW5nIHRoZW0g
bWFudWFsbHkgdmlhIGEgc3BlY2lhbCBgUGFnZWAgY29tbWFuZC4KKwogMjAxOS0xMi0xNyAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIDhCaXQgSlNS
b3BlU3RyaW5nIGNhbiBjb250YWluIDE2Qml0IHN0cmluZyBpbiBpdHMgcm9wZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDU3ZjNkMTlmNWVjNjU0MTQ4OTkxY2FjOTQwMDJjMjk0YjI1N2JhYWMuLjY1N2Q5OTczZjY5
OWM3MGQ4Y2E3YjM3OTNlNjdkYzdmNDVhZmFhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBA
QAorMjAxOS0xMi0xOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHM6IHJlc3RyaWN0IHNob3dpbmcgcGFpbnQgZmxhc2hp
bmcgYW5kIGNvbXBvc2l0aW5nIGJvcmRlcnMgdG8gdGhlIFdlYiBJbnNwZWN0b3Igc2Vzc2lvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIFdlIG9mdGVu
IGdldCBidWdzIGZyb20gdXNlcnMgd2hvIHR1cm4gb24gcGFpbnQgZmxhc2hpbmcgb3IgY29tcG9z
aXRpbmcgYm9yZGVycywgY2xvc2UgV2ViCisgICAgICAgIEluc3BlY3RvciwgcmVvcGVuIFdlYiBJ
bnNwZWN0b3IsIGFuZCBhcmUgdGhlbiBzdXJwcmlzZWQgd2hlbiB0aGUgcGFnZSBmbGFzaGVzIHJl
ZCBvciB0aGVzZQorICAgICAgICBib3JkZXJzIGV4aXN0IGFsbCBvdmVyIHRoZSBwYWdlLgorCisg
ICAgICAgIEdpdmVuIHRoYXQgdGhlIGRhcmsgbW9kZSBhbmQgcHJpbnQgc3R5bGVzIHRvZ2dsZXMg
YXJlIGxpbWl0ZWQgdG8gdGhlIFdlYiBJbnNwZWN0b3Igc2Vzc2lvbiwKKyAgICAgICAgd2Ugc2hv
dWxkIG1ha2UgdGhlc2UgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvci4KKworICAgICAgICAqIHBhZ2Uv
U2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0Q29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdl
QWdlbnQ6OnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpOiBEZWxldGVkLgorICAgICAgICBB
bGxvdyBXZWIgSW5zcGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBgc2hvd0RlYnVnQm9yZGVyc2AgYW5k
IGBzaG93UmVwYWludENvdW50ZXJgIHNldHRpbmdzIHZpYQorICAgICAgICB0aGUgYGluc3BlY3Rv
ck92ZXJyaWRlYCBrZXksIHJhdGhlciB0aGFuIHNldHRpbmcgdGhlbSBtYW51YWxseSB2aWEgYSBz
cGVjaWFsIGBQYWdlYCBjb21tYW5kLgorCiAyMDE5LTEyLTE4ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBDdXJzb3Igc2hvdWxk
IHVwZGF0ZSB3aGVuIHRoZSBwbGF0Zm9ybSBkZWVtcyBpdCBuZWNlc3NhcnkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCmluZGV4IDU0YzM1MzY2OTlmMTQ2NGEyNjY2NjI0NzU2MTUzZWYwZDkyYmE3ZmEu
LjY3NTQ3ZjVmODVjM2NkNGY5ZjE0NTdjNWZjOWE3NmFlNjdiNzkxYjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDE5LTEyLTE4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50czogcmVz
dHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcgYm9yZGVycyB0byB0
aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhh
dGNoZXIuCisKKyAgICAgICAgV2Ugb2Z0ZW4gZ2V0IGJ1Z3MgZnJvbSB1c2VycyB3aG8gdHVybiBv
biBwYWludCBmbGFzaGluZyBvciBjb21wb3NpdGluZyBib3JkZXJzLCBjbG9zZSBXZWIKKyAgICAg
ICAgSW5zcGVjdG9yLCByZW9wZW4gV2ViIEluc3BlY3RvciwgYW5kIGFyZSB0aGVuIHN1cnByaXNl
ZCB3aGVuIHRoZSBwYWdlIGZsYXNoZXMgcmVkIG9yIHRoZXNlCisgICAgICAgIGJvcmRlcnMgZXhp
c3QgYWxsIG92ZXIgdGhlIHBhZ2UuCisKKyAgICAgICAgR2l2ZW4gdGhhdCB0aGUgZGFyayBtb2Rl
IGFuZCBwcmludCBzdHlsZXMgdG9nZ2xlcyBhcmUgbGltaXRlZCB0byB0aGUgV2ViIEluc3BlY3Rv
ciBzZXNzaW9uLAorICAgICAgICB3ZSBzaG91bGQgbWFrZSB0aGVzZSBoYXZlIHRoZSBzYW1lIGJl
aGF2aW9yLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAg
IChXSS5pbml0aWFsaXplVGFyZ2V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xs
ZXJzL0xheWVyVHJlZU1hbmFnZXIuanM6CisgICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyKTog
QWRkZWQuCisgICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyLnByb3RvdHlwZS5pbml0aWFsaXpl
VGFyZ2V0KToKKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFnZXIuc3VwcG9ydHNTaG93aW5nUGFp
bnRSZWN0cyk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Zp
c2libGVDb21wb3NpdGluZ0JvcmRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZU1h
bmFnZXIucHJvdG90eXBlLmdldCBzaG93UGFpbnRSZWN0cyk6IEFkZGVkLgorICAgICAgICAoV0ku
TGF5ZXJUcmVlTWFuYWdlci5wcm90b3R5cGUuc2V0IHNob3dQYWludFJlY3RzKTogQWRkZWQuCisg
ICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyLnByb3RvdHlwZS5nZXQgY29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZSk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdlci5wcm90b3R5
cGUuc2V0IGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxh
eWVyVHJlZU1hbmFnZXIucHJvdG90eXBlLnVwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVG
cm9tUGFnZUlmTmVlZGVkKTogQWRkZWQuCisgICAgICAgIFVzZSBgV0kuTGF5ZXJUcmVlTWFuYWdl
cmAgdG8gY29udHJvbCB0aGUgc3RhdGUgb2YgcGFpbnQgZmxhc2hpbmcgYW5kIGNvbXBvc2l0aW5n
IGJvcmRlcnMsIGFzCisgICAgICAgIHRoZXkncmUgYm90aCByZWxhdGVkIHRvIHRoZSBjb25jZXB0
IG9mIGxheWVycy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRl
bnRWaWV3LmpzOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJ
LkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV0kuRE9NVHJl
ZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5jbG9zZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRl
bnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNv
bnRlbnRWaWV3LnByb3RvdHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJl
ZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNo
YW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUu
X2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbkNsaWNrZWQpOiBBZGRlZC4KKyAgICAgICAg
KFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hh
bmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
aGFuZGxlUGFpbmdGbGFzaGluZ0J1dHRvbkNsaWNrZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRP
TVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycyk6IERl
bGV0ZWQuCisgICAgICAgIChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVQ
YWludEZsYXNoaW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5w
cm90b3R5cGUuX3VwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGlu
Z3MpOiBEZWxldGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5f
c2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5MYXll
cnMzRENvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90
eXBlLnNob3duKToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLmhp
ZGRlbik6CisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hl
ZCk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0
YWNoZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBl
Ll9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAg
ICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZUNvbXBvc2l0aW5nQm9y
ZGVyc0J1dHRvbkNsaWNrZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZp
ZXcucHJvdG90eXBlLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQpOiBBZGRlZC4KKyAgICAg
ICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVQYWluZ0ZsYXNoaW5n
QnV0dG9uQ2xpY2tlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5w
cm90b3R5cGUuY2xvc2VkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZp
ZXcucHJvdG90eXBlLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVQYWludEZsYXNo
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBl
Ll91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25TdGF0ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5fdG9nZ2xlQ29tcG9zaXRpbmdCb3Jk
ZXJzKTogRGVsZXRlZC4KKwogMjAxOS0xMi0xOCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSdW50aW1lLmVuYWJsZSByZXBv
cnRzIGR1cGxpY2F0ZXMgKG5vbiBleGlzdGVudCkgY29udGV4dHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KaW5kZXggMzY3ZDFmMjM1
YTgyMTNmMTM2MGY2MDFiYzllNjRjMDk0OWY0NzdiNC4uYThmYzUzMzJhYzkyNDI0YjAwYTNkZWM2
MjE1MmZkM2M1ZjI4NTQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9QYWdlLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9QYWdlLmpzb24KQEAgLTE2LDYgKzE2LDggQEAKICAgICAgICAgICAgICAg
ICAiTW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgIk5lZWRzU2l0
ZVNwZWNpZmljUXVpcmtzIiwKICAgICAgICAgICAgICAgICAiU2NyaXB0RW5hYmxlZCIsCisgICAg
ICAgICAgICAgICAgIlNob3dEZWJ1Z0JvcmRlcnMiLAorICAgICAgICAgICAgICAgICJTaG93UmVw
YWludENvdW50ZXIiLAogICAgICAgICAgICAgICAgICJXZWJSVENFbmNyeXB0aW9uRW5hYmxlZCIs
CiAgICAgICAgICAgICAgICAgIldlYlNlY3VyaXR5RW5hYmxlZCIKICAgICAgICAgICAgIF0KQEAg
LTI0NCwyMCArMjQ2LDYgQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFwcGVhcmFuY2Ui
LCAiJHJlZiI6ICJBcHBlYXJhbmNlIiwgImRlc2NyaXB0aW9uIjogIkFwcGVhcmFuY2UgbmFtZSB0
byBmb3JjZS4gRW1wdHkgc3RyaW5nIGRpc2FibGVzIHRoZSBvdmVycmlkZS4iIH0KICAgICAgICAg
ICAgIF0KICAgICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSW5k
aWNhdGVzIHRoZSB2aXNpYmlsaXR5IG9mIGNvbXBvc2l0aW5nIGJvcmRlcnMuIiwKLSAgICAgICAg
ICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzdWx0IiwgInR5
cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJJZiB0cnVlLCBjb21wb3NpdGluZyBib3Jk
ZXJzIGFyZSB2aXNpYmxlLiIgfQotICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7
Ci0gICAgICAgICAgICAibmFtZSI6ICJzZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwKLSAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDb250cm9scyB0aGUgdmlzaWJpbGl0eSBvZiBjb21w
b3NpdGluZyBib3JkZXJzLiIsCi0gICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInZpc2libGUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0
aW9uIjogIlRydWUgZm9yIHNob3dpbmcgY29tcG9zaXRpbmcgYm9yZGVycy4iIH0KLSAgICAgICAg
ICAgIF0KLSAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICAgIm5hbWUiOiAic25hcHNo
b3ROb2RlIiwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIGEgc25hcHNob3Qg
b2YgdGhlIHNwZWNpZmllZCBub2RlIHRoYXQgZG9lcyBub3QgaW5jbHVkZSB1bnJlbGF0ZWQgbGF5
ZXJzLiIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvclBhZ2VBZ2VudC5jcHAKaW5kZXggY2Y4OWY5ZWI1MDUyMzI2ZmNmOGNiZDI2ZDg1OTZjZjQ3
MjRjMjM2MS4uZDRlNmI1ZDFmMjE1MWExZjRjMTYwODFiMjY5NWRkNjZkYTQxNmJhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcApAQCAtOTQsNiArOTQsOCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogICAg
IG1hY3JvKE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQpIFwKICAgICBtYWNybyhOZWVkc1NpdGVT
cGVjaWZpY1F1aXJrcykgXAogICAgIG1hY3JvKFNjcmlwdEVuYWJsZWQpIFwKKyAgICBtYWNybyhT
aG93RGVidWdCb3JkZXJzKSBcCisgICAgbWFjcm8oU2hvd1JlcGFpbnRDb3VudGVyKSBcCiAgICAg
bWFjcm8oV2ViUlRDRW5jcnlwdGlvbkVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJTZWN1cml0eUVu
YWJsZWQpCiAKQEAgLTkyNiwxNyArOTI4LDYgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmFw
cGx5RW11bGF0ZWRNZWRpYShTdHJpbmcmIG1lZGlhKQogICAgICAgICBtZWRpYSA9IG1fZW11bGF0
ZWRNZWRpYTsKIH0KIAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmdldENvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGUoRXJyb3JTdHJpbmcmLCBib29sKiBvdXRQYXJhbSkKLXsKLSAgICAqb3V0UGFy
YW0gPSBtX2luc3BlY3RlZFBhZ2Uuc2V0dGluZ3MoKS5zaG93RGVidWdCb3JkZXJzKCkgfHwgbV9p
bnNwZWN0ZWRQYWdlLnNldHRpbmdzKCkuc2hvd1JlcGFpbnRDb3VudGVyKCk7Ci19Ci0KLXZvaWQg
SW5zcGVjdG9yUGFnZUFnZW50OjpzZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3Ry
aW5nJiwgYm9vbCB2aXNpYmxlKQotewotICAgIG1faW5zcGVjdGVkUGFnZS5zZXR0aW5ncygpLnNl
dFNob3dEZWJ1Z0JvcmRlcnModmlzaWJsZSk7Ci0gICAgbV9pbnNwZWN0ZWRQYWdlLnNldHRpbmdz
KCkuc2V0U2hvd1JlcGFpbnRDb3VudGVyKHZpc2libGUpOwotfQotCiB2b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6c25hcHNob3ROb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IG5vZGVJ
ZCwgU3RyaW5nKiBvdXREYXRhVVJMKQogewogICAgIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2Vu
dCA9IG1faW5zdHJ1bWVudGluZ0FnZW50cy5pbnNwZWN0b3JET01BZ2VudCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5k
ZXggNGZkOGMwYjEwMTZlNWFiNDc1MjU1OGQ2NTMwYWJiNTIwZWNlYTI2YS4uM2YzYmJiOGZjZTgy
MDQ0YzFjMjMwYjBhZTcxODY2MTJjYzVkNDVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTAsOCArMTEwLDYg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoRXJyb3JTdHJpbmcmLCBib29s
IHNob3cpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0RW11bGF0ZWRNZWRpYShFcnJvclN0cmluZyYs
IGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShF
cnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ2V0Q29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyYsIGJvb2wqIG91dF9wYXJhbSkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nJiwg
Ym9vbCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzbmFwc2hvdE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQg
bm9kZUlkLCBTdHJpbmcqIG91dERhdGFVUkwpIG92ZXJyaWRlOwogICAgIHZvaWQgc25hcHNob3RS
ZWN0KEVycm9yU3RyaW5nJiwgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNv
bnN0IFN0cmluZyYgY29vcmRpbmF0ZVN5c3RlbSwgU3RyaW5nKiBvdXREYXRhVVJMKSBvdmVycmlk
ZTsKICAgICB2b2lkIGFyY2hpdmUoRXJyb3JTdHJpbmcmLCBTdHJpbmcqIGRhdGEpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IGQ1MTlkOGMxMTdjZGM5MjY5MDdhOTcx
NzQ1NmNjY2U1NDc4NzUzZGYuLjNiZTJlZjdhYjE0ODExNTVhYjNlMmI4MGJhYzY2NjU3MzkxYTdm
YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTE0NCw5ICsxNDQsMTEgQEAgYWNj
ZWxlcmF0ZWRDb21wb3NpdGVkQW5pbWF0aW9uc0VuYWJsZWQ6CiBzaG93RGVidWdCb3JkZXJzOgog
ICBpbml0aWFsOiBmYWxzZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJh
bWVzCisgIGluc3BlY3Rvck92ZXJyaWRlOiB0cnVlCiBzaG93UmVwYWludENvdW50ZXI6CiAgIGlu
aXRpYWw6IGZhbHNlCiAgIG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMK
KyAgaW5zcGVjdG9yT3ZlcnJpZGU6IHRydWUKIHZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zOgog
ICB0eXBlOiBEZWJ1Z092ZXJsYXlSZWdpb25zCiAgIGluaXRpYWw6IDAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBlOWViZDY4YTVk
Nzg0ZDVlZTE5ZjAwYjNiZGI0MzlmMTUzY2Q2YzE3Li5hODJjY2Y4MzRiZDRjY2UwZDcxYmJlMzdh
ZTk2NTZkNmZiYzk5MDZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9CYXNlL01haW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQmFzZS9NYWluLmpzCkBAIC01ODMsMTMgKzU4Myw5IEBAIFdJLmluaXRpYWxpemVUYXJn
ZXQgPSBmdW5jdGlvbih0YXJnZXQpCiAgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5v
dmVycmlkZVNldHRpbmcoc2V0dGluZywgdmFsdWUpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8g
Q09NUEFUSUJJTElUWSAoaU9TIDExLjMpCisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAx
MS4zKTogUGFnZS5zZXRTaG93UnVsZWVycyBkaWQgbm90IGV4aXN0IHlldC4KICAgICAgICAgaWYg
KHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dSdWxlcnMiKSAmJiBXSS5zZXR0aW5ncy5z
aG93UnVsZXJzLnZhbHVlKQogICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UnVs
ZXJzKHRydWUpOwotCi0gICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA4KTogUGFnZS5zZXRT
aG93UGFpbnRSZWN0cyBkaWQgbm90IGV4aXN0LgotICAgICAgICBpZiAodGFyZ2V0Lmhhc0NvbW1h
bmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKSAmJiBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0
cy52YWx1ZSkKLSAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHMo
dHJ1ZSk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvTGF5ZXJUcmVlTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0xheWVyVHJlZU1hbmFnZXIuanMK
aW5kZXggODQzZDM5N2Q2MjkyY2RlMTk1YmEzODVmMWQ2MDg1MzlhNTk0ZGJmZS4uNDNlOTFhYzUz
NGNhMDJhNWJmZTRmY2YzOTAyMWZiYjhkYmI5MzdhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvTGF5ZXJUcmVlTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9MYXll
clRyZWVNYW5hZ2VyLmpzCkBAIC0yNywxMiArMjcsNDcgQEAKIAogV0kuTGF5ZXJUcmVlTWFuYWdl
ciA9IGNsYXNzIExheWVyVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKIHsKKyAgICBjb25z
dHJ1Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcigpOworCisgICAgICAgIHRoaXMuX3Nob3dQ
YWludFJlY3RzID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGUgPSBmYWxzZTsKKyAgICB9CisKICAgICAvLyBUYXJnZXQKIAogICAgIGluaXRpYWxpemVUYXJn
ZXQodGFyZ2V0KQogICAgIHsKICAgICAgICAgaWYgKHRhcmdldC5oYXNEb21haW4oIkxheWVyVHJl
ZSIpKQogICAgICAgICAgICAgdGFyZ2V0LkxheWVyVHJlZUFnZW50LmVuYWJsZSgpOworCisgICAg
ICAgIGlmICh0YXJnZXQuaGFzRG9tYWluKCJQYWdlIikpIHsKKyAgICAgICAgICAgIGlmICh0YXJn
ZXQuaGFzQ29tbWFuZCgiUGFnZS5zZXRTaG93UGFpbnRSZWN0cyIpICYmIHRoaXMuX3Nob3dQYWlu
dFJlY3RzKQorICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVj
dHModGhpcy5fc2hvd1BhaW50UmVjdHMpOworCisgICAgICAgICAgICBpZiAodGhpcy5fY29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZSkgeworICAgICAgICAgICAgICAgIC8vIENPTVBBVElCSUxJVFko
aU9TIDEzLjEpOiBQYWdlLnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgd2FzIHJlcGxhY2Vk
IGJ5IFBhZ2UuU2V0dGluZy5TaG93RGVidWdCb3JkZXJzIGFuZCBQYWdlLlNldHRpbmcuU2hvd1Jl
cGFpbnRDb3VudGVyLgorICAgICAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFn
ZS5vdmVycmlkZVNldHRpbmciKSAmJiBJbnNwZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5n
LlNob3dEZWJ1Z0JvcmRlcnMgJiYgSW5zcGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5T
aG93UmVwYWludENvdW50ZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2Vu
dC5vdmVycmlkZVNldHRpbmcoSW5zcGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93
RGVidWdCb3JkZXJzLCB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsKKyAgICAgICAg
ICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5vdmVycmlkZVNldHRpbmcoSW5zcGVjdG9yQmFj
a2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIsIHRoaXMuX2NvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUpOworICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0Lmhh
c0NvbW1hbmQoIlBhZ2Uuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSIpKQorICAgICAgICAg
ICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUo
dGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAgICAgICB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICAvLyBTdGF0aWMKKworICAgIHN0YXRpYyBzdXBwb3J0c1Nob3dpbmdQ
YWludFJlY3RzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmhhc0Nv
bW1hbmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKTsKKyAgICB9CisKKyAgICBzdGF0aWMgc3Vw
cG9ydHNWaXNpYmxlQ29tcG9zaXRpbmdCb3JkZXJzKCkKKyAgICB7CisgICAgICAgIHJldHVybiBJ
bnNwZWN0b3JCYWNrZW5kLmhhc0NvbW1hbmQoIlBhZ2Uuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZSIpCisgICAgICAgICAgICB8fCAoSW5zcGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0dGlu
Zy5TaG93RGVidWdCb3JkZXJzICYmIEluc3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcu
U2hvd1JlcGFpbnRDb3VudGVyKTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTQyLDYgKzc3
LDc2IEBAIFdJLkxheWVyVHJlZU1hbmFnZXIgPSBjbGFzcyBMYXllclRyZWVNYW5hZ2VyIGV4dGVu
ZHMgV0kuT2JqZWN0CiAgICAgICAgIHJldHVybiBJbnNwZWN0b3JCYWNrZW5kLmhhc0RvbWFpbigi
TGF5ZXJUcmVlIik7CiAgICAgfQogCisgICAgZ2V0IHNob3dQYWludFJlY3RzKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB0aGlzLl9zaG93UGFpbnRSZWN0czsKKyAgICB9CisKKyAgICBzZXQgc2hv
d1BhaW50UmVjdHMoc2hvd1BhaW50UmVjdHMpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc2hv
d1BhaW50UmVjdHMgPT09IHNob3dQYWludFJlY3RzKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIHRoaXMuX3Nob3dQYWludFJlY3RzID0gc2hvd1BhaW50UmVjdHM7CisKKyAgICAgICAg
Zm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKKyAgICAgICAgICAgIC8vIENPTVBBVElC
SUxJVFkgKGlPUyA5KTogUGFnZS5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIGRpZCBub3Qg
ZXhpc3QgeWV0LgorICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNo
b3dQYWludFJlY3RzIikpCisgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93
UGFpbnRSZWN0cyh0aGlzLl9zaG93UGFpbnRSZWN0cyk7CisgICAgICAgIH0KKworICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhMYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQ
YWludFJlY3RzQ2hhbmdlZCk7CisgICAgfQorCisgICAgZ2V0IGNvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGUoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGU7CisgICAgfQorCisgICAgc2V0IGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoY29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZSkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlID09PSBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgPSBj
b21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlOworCisgICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBX
SS50YXJnZXRzKSB7CisgICAgICAgICAgICAvLyBDT01QQVRJQklMSVRZKGlPUyAxMy4xKTogUGFn
ZS5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIHdhcyByZXBsYWNlZCBieSBQYWdlLlNldHRp
bmcuU2hvd0RlYnVnQm9yZGVycyBhbmQgUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRlci4K
KyAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5vdmVycmlkZVNldHRpbmci
KSAmJiBJbnNwZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMg
JiYgSW5zcGVjdG9yQmFja2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIp
IHsKKyAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNw
ZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMsIHRoaXMuX2Nv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpOworICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdl
bnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hv
d1JlcGFpbnRDb3VudGVyLCB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsKKyAgICAg
ICAgICAgIH0gZWxzZSBpZiAodGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2Uuc2V0Q29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSIpKQorICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSh0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsK
KyAgICAgICAgfQorCisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKExheWVy
VHJlZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQpOworICAg
IH0KKworICAgIHVwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVGcm9tUGFnZUlmTmVlZGVk
KCkKKyAgICB7CisgICAgICAgIGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7CisgICAgICAg
ICAgICBXSS53aGVuVGFyZ2V0c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4geworICAgICAgICAgICAg
ICAgIHRoaXMudXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQo
KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgbGV0IHRhcmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOworCisgICAgICAgIC8v
IENPTVBBVElCSUxJVFkoaU9TIDEzLjEpOiBQYWdlLmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGUgd2FzIHJlcGxhY2VkIGJ5IFBhZ2UuU2V0dGluZy5TaG93RGVidWdCb3JkZXJzIGFuZCBQYWdl
LlNldHRpbmcuU2hvd1JlcGFpbnRDb3VudGVyLgorICAgICAgICBpZiAoIXRhcmdldC5oYXNDb21t
YW5kKCJQYWdlLmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0YXJnZXQuUGFnZUFnZW50LmdldENvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGUoKGVycm9yLCBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKSA9PiB7CisgICAgICAgICAg
ICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgICAgICBXSS5yZXBvcnRJbnRlcm5hbEVycm9yKGVy
cm9yKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgIHRoaXMuY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSA9IGNvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGU7CisgICAgICAgIH0pOworICAgIH0KKwogICAgIGxheWVyVHJlZU11dGF0aW9ucyhwcmV2
aW91c0xheWVycywgbmV3TGF5ZXJzKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQodGhp
cy5zdXBwb3J0ZWQpOwpAQCAtMTAxLDUgKzIwNiw3IEBAIFdJLkxheWVyVHJlZU1hbmFnZXIgPSBj
bGFzcyBMYXllclRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiB9OwogCiBXSS5MYXllclRy
ZWVNYW5hZ2VyLkV2ZW50ID0gewotICAgIExheWVyVHJlZURpZENoYW5nZTogImxheWVyLXRyZWUt
ZGlkLWNoYW5nZSIKKyAgICBTaG93UGFpbnRSZWN0c0NoYW5nZWQ6ICJzaG93LXBhaW50LXJlY3Rz
LWNoYW5nZWQiLAorICAgIENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkOiAiY29tcG9z
aXRpbmctYm9yZGVycy12aXNpYmxlLWNoYW5nZWQiLAorICAgIExheWVyVHJlZURpZENoYW5nZTog
ImxheWVyLXRyZWUtZGlkLWNoYW5nZSIsCiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3Lmpz
CmluZGV4IGJhZjdhMTc3N2NlYzU4YWQwNWUzODc1Zjg5MTBhZTA2MDE4ZDVhMDYuLjcyNjI0MDM1
ZDVlZmM4NzViYzNkZWVkOWY4NzQ1OTVjOTk0OTM0NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlQ29udGVu
dFZpZXcuanMKQEAgLTUxLDE2ICs1MSwxMyBAQCBXSS5ET01UcmVlQ29udGVudFZpZXcgPSBjbGFz
cyBET01UcmVlQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlz
Ll9mb3JjZUFwcGVhcmFuY2VCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gV0kuY3NzTWFu
YWdlci5jYW5Gb3JjZUFwcGVhcmFuY2UoKTsKIAogICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0Jv
cmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRp
b25JdGVtKCJsYXllci1ib3JkZXJzIiwgV0kuVUlTdHJpbmcoIlNob3cgY29tcG9zaXRpbmcgYm9y
ZGVycyIpLCBXSS5VSVN0cmluZygiSGlkZSBjb21wb3NpdGluZyBib3JkZXJzIiksICJJbWFnZXMv
TGF5ZXJCb3JkZXJzLnN2ZyIsIDEzLCAxMyk7Ci0gICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9y
ZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJzLCB0
aGlzKTsKLSAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzRG9tYWluKCJQYWdlIik7CisgICAgICAg
IHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlz
dGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5faGFuZGxl
Q29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZCwgdGhpcyk7CisgICAgICAgIHRoaXMuX2Nv
bXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBXSS5MYXllclRy
ZWVNYW5hZ2VyLnN1cHBvcnRzVmlzaWJsZUNvbXBvc2l0aW5nQm9yZGVycygpOwogICAgICAgICB0
aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJp
b3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OwogCi0gICAg
ICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA5KQotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFp
bnRSZWN0cy5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5f
c2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3BhaW50
Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmln
YXRpb25JdGVtKCJwYWludC1mbGFzaGluZyIsIFdJLlVJU3RyaW5nKCJFbmFibGUgcGFpbnQgZmxh
c2hpbmciKSwgV0kuVUlTdHJpbmcoIkRpc2FibGUgcGFpbnQgZmxhc2hpbmciKSwgIkltYWdlcy9Q
YWludC5zdmciLCAxNiwgMTYpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVu
dC5DbGlja2VkLCB0aGlzLl90b2dnbGVQYWludEZsYXNoaW5nLCB0aGlzKTsKLSAgICAgICAgdGhp
cy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBJbnNwZWN0b3JC
YWNrZW5kLmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKTsKLSAgICAgICAgdGhp
cy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IHRoaXMuX3Bh
aW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkICYmIFdJLnNldHRpbmdzLnNo
b3dQYWludFJlY3RzLnZhbHVlOworICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVu
dC5DbGlja2VkLCB0aGlzLl9oYW5kbGVQYWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZCwgdGhpcyk7
CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVk
ID0gV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Nob3dpbmdQYWludFJlY3RzKCk7CiAgICAg
ICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJp
b3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OwogCiAgICAg
ICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkb20tdHJlZSIpOwpAQCAtMTQ3LDcgKzE0
NCw2IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBl
eHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHN1cGVyLnNob3duKCk7CiAKICAgICAgICAg
dGhpcy5fZG9tVHJlZU91dGxpbmUuc2V0VmlzaWJsZSh0cnVlLCBXSS5pc0NvbnNvbGVGb2N1c2Vk
KCkpOwotICAgICAgICB0aGlzLl91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25Ub01hdGNo
UGFnZVNldHRpbmdzKCk7CiAKICAgICAgICAgaWYgKCF0aGlzLl9kb21UcmVlT3V0bGluZS5yb290
RE9NTm9kZSkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTM4Myw2ICszNzksMjcgQEAgV0kuRE9N
VHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudFZpZXcKIAogICAgIC8vIFByb3RlY3RlZAogCisgICAgYXR0YWNoZWQoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKworICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnVw
ZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVGcm9tUGFnZUlmTmVlZGVkKCk7CisKKyAgICAg
ICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkxheWVyVHJlZU1hbmFn
ZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hhbmRsZUNv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5faGFu
ZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQoKTsKKworICAgICAgICBXSS5sYXll
clRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5T
aG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZCwg
dGhpcyk7CisgICAgICAgIHRoaXMuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZCgpOworICAg
IH0KKworICAgIGRldGFjaGVkKCkKKyAgICB7CisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIu
cmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJl
Y3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKKyAg
ICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdJLkxheWVyVHJl
ZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMuX2hh
bmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKKworICAgICAgICBz
dXBlci5kZXRhY2hlZCgpOworICAgIH0KKwogICAgIHNpemVEaWRDaGFuZ2UoKQogICAgIHsKICAg
ICAgICAgc3VwZXIuc2l6ZURpZENoYW5nZSgpOwpAQCAtNTc5LDUxICs1OTYsMjQgQEAgV0kuRE9N
VHJlZUNvbnRlbnRWaWV3ID0gY2xhc3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29u
dGVudFZpZXcKICAgICAgICAgdGhpcy5fZm9sbG93TGlua1RpbWVvdXRJZGVudGlmaWVyID0gc2V0
VGltZW91dChmb2xsb3dMaW5rLmJpbmQodGhpcyksIDMzMyk7CiAgICAgfQogCi0gICAgX3RvZ2ds
ZUNvbXBvc2l0aW5nQm9yZGVycyhldmVudCkKKyAgICBfaGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZUNoYW5nZWQoZXZlbnQpCiAgICAgewotICAgICAgICB2YXIgYWN0aXZhdGVkID0gIXRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZDsKLSAg
ICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZh
dGVkID0gYWN0aXZhdGVkOwotCi0gICAgICAgIGZvciAobGV0IHRhcmdldCBvZiBXSS50YXJnZXRz
KSB7Ci0gICAgICAgICAgICBpZiAodGFyZ2V0Lmhhc0RvbWFpbigiUGFnZSIpKQotICAgICAgICAg
ICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShhY3Rp
dmF0ZWQpOwotICAgICAgICB9CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRv
bk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IFdJLmxheWVyVHJlZU1hbmFnZXIuY29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZTsKICAgICB9CiAKLSAgICBfdG9nZ2xlUGFpbnRGbGFzaGluZyhldmVu
dCkKKyAgICBfaGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZChldmVudCkKICAg
ICB7Ci0gICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlID0gIVdJLnNldHRp
bmdzLnNob3dQYWludFJlY3RzLnZhbHVlOworICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLmNv
bXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgPSAhV0kubGF5ZXJUcmVlTWFuYWdlci5jb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlOwogICAgIH0KIAotICAgIF91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25Ub01hdGNoUGFnZVNldHRpbmdzKCkKKyAgICBfaGFuZGxlU2hvd1BhaW50UmVjdHNDaGFu
Z2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgaWYgKCFXSS50YXJnZXRzQXZhaWxhYmxlKCkpIHsK
LSAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhlbigoKSA9PiB7Ci0gICAg
ICAgICAgICAgICAgdGhpcy5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uVG9NYXRjaFBh
Z2VTZXR0aW5ncygpOwotICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLQotICAgICAgICB2YXIgYnV0dG9uID0gdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW07Ci0KLSAgICAgICAgLy8gV2UgbmVlZCB0byBzeW5jIHdpdGggdGhl
IHBhZ2Ugc2V0dGluZ3Mgc2luY2UgdGhlc2UgY2FuIGJlIGNvbnRyb2xsZWQKLSAgICAgICAgLy8g
aW4gYSBkaWZmZXJlbnQgd2F5IHRoYW4ganVzdCB1c2luZyB0aGUgbmF2aWdhdGlvbiBiYXIgYnV0
dG9uLgotICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNzdW1pbmdNYWluVGFyZ2V0KCk7Ci0gICAg
ICAgIHRhcmdldC5QYWdlQWdlbnQuZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShmdW5jdGlv
bihlcnJvciwgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSkgewotICAgICAgICAgICAgYnV0dG9u
LmFjdGl2YXRlZCA9IGVycm9yID8gZmFsc2UgOiBjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlOwot
ICAgICAgICAgICAgYnV0dG9uLmVuYWJsZWQgPSBlcnJvciAhPT0gInVuc3VwcG9ydGVkIjsKLSAg
ICAgICAgfSk7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRl
bS5hY3RpdmF0ZWQgPSBXSS5sYXllclRyZWVNYW5hZ2VyLnNob3dQYWludFJlY3RzOwogICAgIH0K
IAotICAgIF9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKGV2ZW50KQorICAgIF9oYW5kbGVQ
YWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAgIGxldCBhY3Rp
dmF0ZWQgPSBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKLSAgICAgICAgdGhpcy5f
cGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsK
LQotICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAg
aWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJlY3RzIikpCi0gICAgICAg
ICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhhY3RpdmF0ZWQpOwot
ICAgICAgICB9CisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIuc2hvd1BhaW50UmVjdHMgPSAh
V0kubGF5ZXJUcmVlTWFuYWdlci5zaG93UGFpbnRSZWN0czsKICAgICB9CiAKICAgICBfc2hvd1By
aW50U3R5bGVzQ2hhbmdlZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50Vmlldy5qcwppbmRleCAw
NjJiNzg0NmIxNzc2NjRhNGM3ZmRhNTk2N2Q0OTVkNTdhZTIzMjNiLi42MWJjMzZkYjBhOTRlY2Nk
ZWVkZTYzYmEyNTA1ODQ2ZDU2YjhkNWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyczNEQ29udGVudFZpZXcu
anMKQEAgLTMyLDE1ICszMiwxMyBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5
ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuZWxl
bWVudC5jbGFzc0xpc3QuYWRkKCJsYXllcnMtM2QiKTsKIAogICAgICAgICB0aGlzLl9jb21wb3Np
dGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5h
dmlnYXRpb25JdGVtKCJsYXllci1ib3JkZXJzIiwgV0kuVUlTdHJpbmcoIlNob3cgY29tcG9zaXRp
bmcgYm9yZGVycyIpLCBXSS5VSVN0cmluZygiSGlkZSBjb21wb3NpdGluZyBib3JkZXJzIiksICJJ
bWFnZXMvTGF5ZXJCb3JkZXJzLnN2ZyIsIDEzLCAxMyk7Ci0gICAgICAgIHRoaXMuX2NvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV0kuQnV0dG9u
TmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fdG9nZ2xlQ29tcG9zaXRpbmdCb3Jk
ZXJzLCB0aGlzKTsKLSAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzRG9tYWluKCJQYWdlIik7Cisg
ICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2
ZW50TGlzdGVuZXIoV0kuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5f
aGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZCwgdGhpcyk7CisgICAgICAgIHRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBXSS5M
YXllclRyZWVNYW5hZ2VyLnN1cHBvcnRzVmlzaWJsZUNvbXBvc2l0aW5nQm9yZGVycygpOwogICAg
ICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmls
aXR5UHJpb3JpdHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93Owog
Ci0gICAgICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLmFkZEV2ZW50TGlzdGVuZXIoV0ku
U2V0dGluZy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2Vk
LCB0aGlzKTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVt
ID0gbmV3IFdJLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInBhaW50LWZsYXNoaW5nIiwg
V0kuVUlTdHJpbmcoIkVuYWJsZSBwYWludCBmbGFzaGluZyIpLCBXSS5VSVN0cmluZygiRGlzYWJs
ZSBwYWludCBmbGFzaGluZyIpLCAiSW1hZ2VzL1BhaW50LnN2ZyIsIDE2LCAxNik7Ci0gICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVy
KFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50
Rmxhc2hpbmcsIHRoaXMpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFuZCgiUGFnZS5zZXRT
aG93UGFpbnRSZWN0cyIpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uYWN0aXZhdGVkID0gdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVy
KFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZVBhaW5n
Rmxhc2hpbmdCdXR0b25DbGlja2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGlu
Z0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBXSS5MYXllclRyZWVNYW5hZ2VyLnN1cHBv
cnRzU2hvd2luZ1BhaW50UmVjdHMoKTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZp
c2liaWxpdHlQcmlvcml0eS5Mb3c7CiAKICAgICAgICAgdGhpcy5fbGF5ZXJzID0gW107CkBAIC04
MCw4ICs3OCw2IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRl
bnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICB7CiAgICAgICAgIHN1cGVyLnNob3du
KCk7CiAKLSAgICAgICAgdGhpcy5fdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uU3RhdGUo
KTsKLQogICAgICAgICB0aGlzLnVwZGF0ZUxheW91dCgpOwogICAgICAgICBXSS5sYXllclRyZWVN
YW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRy
ZWVEaWRDaGFuZ2UsIHRoaXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7CiAKQEAgLTkyLDE4
ICs4OCwxMiBAQCBXSS5MYXllcnMzRENvbnRlbnRWaWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50
VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgaGlkZGVuKCkKICAgICB7CiAgICAgICAg
IFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5h
Z2VyLkV2ZW50LkxheWVyVHJlZURpZENoYW5nZSwgdGhpcy5fbGF5ZXJUcmVlRGlkQ2hhbmdlLCB0
aGlzKTsKKwogICAgICAgICB0aGlzLl9zdG9wQW5pbWF0aW9uKCk7CiAKICAgICAgICAgc3VwZXIu
aGlkZGVuKCk7CiAgICAgfQogCi0gICAgY2xvc2VkKCkKLSAgICB7Ci0gICAgICAgIFdJLnNldHRp
bmdzLnNob3dQYWludFJlY3RzLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuU2V0dGluZy5FdmVudC5D
aGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkLCB0aGlzKTsKLQotICAg
ICAgICBzdXBlci5jbG9zZWQoKTsKLSAgICB9Ci0KICAgICBzZWxlY3RMYXllckJ5SWQobGF5ZXJJ
ZCkKICAgICB7CiAgICAgICAgIGxldCBsYXllckdyb3VwID0gdGhpcy5fbGF5ZXJHcm91cHNCeUlk
LmdldChsYXllcklkKTsKQEAgLTEzOSw2ICsxMjksMjcgQEAgV0kuTGF5ZXJzM0RDb250ZW50Vmll
dyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogCiAg
ICAgLy8gUHJvdGVjdGVkCiAKKyAgICBhdHRhY2hlZCgpCisgICAgeworICAgICAgICBzdXBlci5h
dHRhY2hlZCgpOworCisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIudXBkYXRlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKTsKKworICAgICAgICBXSS5sYXllclRy
ZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5Db21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9oYW5kbGVDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCgpOworCisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIu
YWRkRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LlNob3dQYWludFJlY3Rz
Q2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzKTsKKyAgICAg
ICAgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2VkKCk7CisgICAgfQorCisgICAgZGV0
YWNoZWQoKQorICAgIHsKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0
aGlzLl9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOworICAgICAgICBXSS5sYXll
clRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVu
dC5Db21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwgdGhpcy5faGFuZGxlQ29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRoaXMpOworCisgICAgICAgIHN1cGVyLmRldGFjaGVk
KCk7CisgICAgfQorCiAgICAgaW5pdGlhbExheW91dCgpCiAgICAgewogICAgICAgICBzdXBlci5p
bml0aWFsTGF5b3V0KCk7CkBAIC0zOTUsNDkgKzQwNiwyNCBAQCBXSS5MYXllcnMzRENvbnRlbnRW
aWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAg
ICAgICAgIHRoaXMuX2NhbWVyYS5wb3NpdGlvbi5hZGQoZGVsdGEpOwogICAgIH0KIAotICAgIF9z
aG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKGV2ZW50KQorICAgIF9oYW5kbGVDb21wb3NpdGlu
Z0JvcmRlcnNWaXNpYmxlQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGxldCBhY3RpdmF0
ZWQgPSBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKLSAgICAgICAgdGhpcy5fcGFp
bnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsKLQot
ICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgaWYg
KHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJlY3RzIikpCi0gICAgICAgICAg
ICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyhhY3RpdmF0ZWQpOwotICAg
ICAgICB9CisgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25J
dGVtLmFjdGl2YXRlZCA9IFdJLmxheWVyVHJlZU1hbmFnZXIuY29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZTsKICAgICB9CiAKLSAgICBfdG9nZ2xlUGFpbnRGbGFzaGluZyhldmVudCkKKyAgICBfaGFu
ZGxlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uQ2xpY2tlZChldmVudCkKICAgICB7Ci0gICAgICAg
IFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLnZhbHVlID0gIVdJLnNldHRpbmdzLnNob3dQYWlu
dFJlY3RzLnZhbHVlOworICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLmNvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGUgPSAhV0kubGF5ZXJUcmVlTWFuYWdlci5jb21wb3NpdGluZ0JvcmRlcnNWaXNp
YmxlOwogICAgIH0KIAotICAgIF91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25TdGF0ZSgp
CisgICAgX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAg
IGlmICghV0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7Ci0gICAgICAgICAgICBXSS53aGVuVGFyZ2V0
c0F2YWlsYWJsZSgpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNv
bXBvc2l0aW5nQm9yZGVyc0J1dHRvblN0YXRlKCk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIC8vIFRoaXMgdmFsdWUgY2FuIGJlIGNo
YW5nZWQgb3V0c2lkZSBvZiBXZWIgSW5zcGVjdG9yLgotICAgICAgICAvLyBGSVhNRTogSGF2ZSBQ
YWdlQWdlbnQgZGlzcGF0Y2ggYSBjaGFuZ2UgZXZlbnQgaW5zdGVhZD8KLSAgICAgICAgbGV0IHRh
cmdldCA9IFdJLmFzc3VtaW5nTWFpblRhcmdldCgpOwotICAgICAgICB0YXJnZXQuUGFnZUFnZW50
LmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoKGVycm9yLCBjb21wb3NpdGluZ0JvcmRlcnNW
aXNpYmxlKSA9PiB7Ci0gICAgICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25O
YXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBlcnJvciA/IGZhbHNlIDogY29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZTsKLSAgICAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5h
dmlnYXRpb25JdGVtLmVuYWJsZWQgPSBlcnJvciAhPT0gInVuc3VwcG9ydGVkIjsKLSAgICAgICAg
fSk7CisgICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3Rp
dmF0ZWQgPSBXSS5sYXllclRyZWVNYW5hZ2VyLnNob3dQYWludFJlY3RzOwogICAgIH0KIAotICAg
IF90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMoZXZlbnQpCisgICAgX2hhbmRsZVBhaW5nRmxhc2hp
bmdCdXR0b25DbGlja2VkKGV2ZW50KQogICAgIHsKLSAgICAgICAgbGV0IGFjdGl2YXRlZCA9ICF0
aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQ7Ci0g
ICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2
YXRlZCA9IGFjdGl2YXRlZDsKLQotICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0
cykgewotICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNEb21haW4oIlBhZ2UiKSkKLSAgICAgICAg
ICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0
aXZhdGVkKTsKLSAgICAgICAgfQorICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnNob3dQYWlu
dFJlY3RzID0gIVdJLmxheWVyVHJlZU1hbmFnZXIuc2hvd1BhaW50UmVjdHM7CiAgICAgfQogCiAg
ICAgX2J1aWxkTGF5ZXJJbmZvRWxlbWVudCgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386068</attachid>
            <date>2019-12-18 22:49:09 -0800</date>
            <delta_ts>2019-12-18 23:35:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-205201-20191218224908.patch</filename>
            <type>text/plain</type>
            <size>32999</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDVlMDk1NjRmNzBiZmYwNjI4MWY4NDNkNTQ5YTBk
YjdjM2FjM2RiZGUuLjJhMGU3MjIzOGI4MzdlYzg5Y2M5ZTgzMjdkNDhiMDIzOWMzYzY3NDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE5LTEyLTE4ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBF
bGVtZW50czogcmVzdHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcg
Ym9yZGVycyB0byB0aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBi
eSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgV2Ugb2Z0ZW4gZ2V0IGJ1Z3MgZnJvbSB1c2Vy
cyB3aG8gdHVybiBvbiBwYWludCBmbGFzaGluZyBvciBjb21wb3NpdGluZyBib3JkZXJzLCBjbG9z
ZSBXZWIKKyAgICAgICAgSW5zcGVjdG9yLCByZW9wZW4gV2ViIEluc3BlY3RvciwgYW5kIGFyZSB0
aGVuIHN1cnByaXNlZCB3aGVuIHRoZSBwYWdlIGZsYXNoZXMgcmVkIG9yIHRoZXNlCisgICAgICAg
IGJvcmRlcnMgZXhpc3QgYWxsIG92ZXIgdGhlIHBhZ2UuCisKKyAgICAgICAgR2l2ZW4gdGhhdCB0
aGUgZGFyayBtb2RlIGFuZCBwcmludCBzdHlsZXMgdG9nZ2xlcyBhcmUgbGltaXRlZCB0byB0aGUg
V2ViIEluc3BlY3RvciBzZXNzaW9uLAorICAgICAgICB3ZSBzaG91bGQgbWFrZSB0aGVzZSBoYXZl
IHRoZSBzYW1lIGJlaGF2aW9yLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2Uu
anNvbjoKKyAgICAgICAgQWxsb3cgV2ViIEluc3BlY3RvciB0byBvdmVycmlkZSB0aGUgYHNob3dE
ZWJ1Z0JvcmRlcnNgIGFuZCBgc2hvd1JlcGFpbnRDb3VudGVyYCBzZXR0aW5ncyB2aWEKKyAgICAg
ICAgdGhlIGBpbnNwZWN0b3JPdmVycmlkZWAga2V5LCByYXRoZXIgdGhhbiBzZXR0aW5nIHRoZW0g
bWFudWFsbHkgdmlhIGEgc3BlY2lhbCBgUGFnZWAgY29tbWFuZC4KKwogMjAxOS0xMi0xNyAgWXVz
dWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIDhCaXQgSlNS
b3BlU3RyaW5nIGNhbiBjb250YWluIDE2Qml0IHN0cmluZyBpbiBpdHMgcm9wZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDU3ZjNkMTlmNWVjNjU0MTQ4OTkxY2FjOTQwMDJjMjk0YjI1N2JhYWMuLjY1N2Q5OTczZjY5
OWM3MGQ4Y2E3YjM3OTNlNjdkYzdmNDVhZmFhZTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBA
QAorMjAxOS0xMi0xOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogRWxlbWVudHM6IHJlc3RyaWN0IHNob3dpbmcgcGFpbnQgZmxhc2hp
bmcgYW5kIGNvbXBvc2l0aW5nIGJvcmRlcnMgdG8gdGhlIFdlYiBJbnNwZWN0b3Igc2Vzc2lvbgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1MjAxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIFdlIG9mdGVu
IGdldCBidWdzIGZyb20gdXNlcnMgd2hvIHR1cm4gb24gcGFpbnQgZmxhc2hpbmcgb3IgY29tcG9z
aXRpbmcgYm9yZGVycywgY2xvc2UgV2ViCisgICAgICAgIEluc3BlY3RvciwgcmVvcGVuIFdlYiBJ
bnNwZWN0b3IsIGFuZCBhcmUgdGhlbiBzdXJwcmlzZWQgd2hlbiB0aGUgcGFnZSBmbGFzaGVzIHJl
ZCBvciB0aGVzZQorICAgICAgICBib3JkZXJzIGV4aXN0IGFsbCBvdmVyIHRoZSBwYWdlLgorCisg
ICAgICAgIEdpdmVuIHRoYXQgdGhlIGRhcmsgbW9kZSBhbmQgcHJpbnQgc3R5bGVzIHRvZ2dsZXMg
YXJlIGxpbWl0ZWQgdG8gdGhlIFdlYiBJbnNwZWN0b3Igc2Vzc2lvbiwKKyAgICAgICAgd2Ugc2hv
dWxkIG1ha2UgdGhlc2UgaGF2ZSB0aGUgc2FtZSBiZWhhdmlvci4KKworICAgICAgICAqIHBhZ2Uv
U2V0dGluZ3MueWFtbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VB
Z2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Z2V0Q29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdl
QWdlbnQ6OnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUpOiBEZWxldGVkLgorICAgICAgICBB
bGxvdyBXZWIgSW5zcGVjdG9yIHRvIG92ZXJyaWRlIHRoZSBgc2hvd0RlYnVnQm9yZGVyc2AgYW5k
IGBzaG93UmVwYWludENvdW50ZXJgIHNldHRpbmdzIHZpYQorICAgICAgICB0aGUgYGluc3BlY3Rv
ck92ZXJyaWRlYCBrZXksIHJhdGhlciB0aGFuIHNldHRpbmcgdGhlbSBtYW51YWxseSB2aWEgYSBz
cGVjaWFsIGBQYWdlYCBjb21tYW5kLgorCiAyMDE5LTEyLTE4ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIG1hY0NhdGFseXN0OiBDdXJzb3Igc2hvdWxk
IHVwZGF0ZSB3aGVuIHRoZSBwbGF0Zm9ybSBkZWVtcyBpdCBuZWNlc3NhcnkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCmluZGV4IDU0YzM1MzY2OTlmMTQ2NGEyNjY2NjI0NzU2MTUzZWYwZDkyYmE3ZmEu
LjAxZDIxNmJiZjU0ZWMyMWIxY2FmYmQ0YzFiYzY2ZWQxZjVkMTkxMmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDE5LTEyLTE4ICBEZXZpbiBSb3Vzc28gIDxk
cm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBFbGVtZW50czogcmVz
dHJpY3Qgc2hvd2luZyBwYWludCBmbGFzaGluZyBhbmQgY29tcG9zaXRpbmcgYm9yZGVycyB0byB0
aGUgV2ViIEluc3BlY3RvciBzZXNzaW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDUyMDEKKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhh
dGNoZXIuCisKKyAgICAgICAgV2Ugb2Z0ZW4gZ2V0IGJ1Z3MgZnJvbSB1c2VycyB3aG8gdHVybiBv
biBwYWludCBmbGFzaGluZyBvciBjb21wb3NpdGluZyBib3JkZXJzLCBjbG9zZSBXZWIKKyAgICAg
ICAgSW5zcGVjdG9yLCByZW9wZW4gV2ViIEluc3BlY3RvciwgYW5kIGFyZSB0aGVuIHN1cnByaXNl
ZCB3aGVuIHRoZSBwYWdlIGZsYXNoZXMgcmVkIG9yIHRoZXNlCisgICAgICAgIGJvcmRlcnMgZXhp
c3QgYWxsIG92ZXIgdGhlIHBhZ2UuCisKKyAgICAgICAgR2l2ZW4gdGhhdCB0aGUgZGFyayBtb2Rl
IGFuZCBwcmludCBzdHlsZXMgdG9nZ2xlcyBhcmUgbGltaXRlZCB0byB0aGUgV2ViIEluc3BlY3Rv
ciBzZXNzaW9uLAorICAgICAgICB3ZSBzaG91bGQgbWFrZSB0aGVzZSBoYXZlIHRoZSBzYW1lIGJl
aGF2aW9yLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL01haW4uanM6CisgICAgICAg
IChXSS5pbml0aWFsaXplVGFyZ2V0KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvU2V0
dGluZy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0xheWVyVHJlZU1h
bmFnZXIuanM6CisgICAgICAgIChXSS5MYXllclRyZWVNYW5hZ2VyKTogQWRkZWQuCisgICAgICAg
IChXSS5MYXllclRyZWVNYW5hZ2VyLnByb3RvdHlwZS5pbml0aWFsaXplVGFyZ2V0KToKKyAgICAg
ICAgKFdJLkxheWVyVHJlZU1hbmFnZXIuc3VwcG9ydHNTaG93aW5nUGFpbnRSZWN0cyk6IEFkZGVk
LgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Zpc2libGVDb21wb3NpdGlu
Z0JvcmRlcnMpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFnZXIucHJvdG90eXBl
LmdldCBzaG93UGFpbnRSZWN0cyk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdl
ci5wcm90b3R5cGUuc2V0IHNob3dQYWludFJlY3RzKTogQWRkZWQuCisgICAgICAgIChXSS5MYXll
clRyZWVNYW5hZ2VyLnByb3RvdHlwZS5nZXQgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk6IEFk
ZGVkLgorICAgICAgICAoV0kuTGF5ZXJUcmVlTWFuYWdlci5wcm90b3R5cGUuc2V0IGNvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyVHJlZU1hbmFnZXIu
cHJvdG90eXBlLnVwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVGcm9tUGFnZUlmTmVlZGVk
KTogQWRkZWQuCisgICAgICAgIFVzZSBgV0kuTGF5ZXJUcmVlTWFuYWdlcmAgdG8gY29udHJvbCB0
aGUgc3RhdGUgb2YgcGFpbnQgZmxhc2hpbmcgYW5kIGNvbXBvc2l0aW5nIGJvcmRlcnMsIGFzCisg
ICAgICAgIHRoZXkncmUgYm90aCByZWxhdGVkIHRvIHRoZSBjb25jZXB0IG9mIGxheWVycy4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NVHJlZUNvbnRlbnRWaWV3LmpzOgorICAg
ICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3KToKKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50
Vmlldy5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnBy
b3RvdHlwZS5jbG9zZWQpOgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlw
ZS5hdHRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3Rv
dHlwZS5kZXRhY2hlZCk6IEFkZGVkLgorICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnBy
b3RvdHlwZS5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZUNvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvbkNsaWNrZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250
ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZCk6IEFkZGVkLgor
ICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5faGFuZGxlUGFpbmdGbGFz
aGluZ0J1dHRvbkNsaWNrZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmll
dy5wcm90b3R5cGUuX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycyk6IERlbGV0ZWQuCisgICAgICAg
IChXSS5ET01UcmVlQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVQYWludEZsYXNoaW5nKTog
RGVsZXRlZC4KKyAgICAgICAgKFdJLkRPTVRyZWVDb250ZW50Vmlldy5wcm90b3R5cGUuX3VwZGF0
ZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MpOiBEZWxldGVkLgor
ICAgICAgICAoV0kuRE9NVHJlZUNvbnRlbnRWaWV3LnByb3RvdHlwZS5fc2hvd1BhaW50UmVjdHNT
ZXR0aW5nQ2hhbmdlZCk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0xheWVyczNEQ29udGVudFZpZXcuanM6CisgICAgICAgIChXSS5MYXllcnMzRENvbnRlbnRWaWV3
KToKKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLnNob3duKToKKyAg
ICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLmhpZGRlbik6CisgICAgICAg
IChXSS5MYXllcnMzRENvbnRlbnRWaWV3LnByb3RvdHlwZS5hdHRhY2hlZCk6IEFkZGVkLgorICAg
ICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuZGV0YWNoZWQpOiBBZGRlZC4K
KyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCk6IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RD
b250ZW50Vmlldy5wcm90b3R5cGUuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbkNsaWNr
ZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl9o
YW5kbGVTaG93UGFpbnRSZWN0c0NoYW5nZWQpOiBBZGRlZC4KKyAgICAgICAgKFdJLkxheWVyczNE
Q29udGVudFZpZXcucHJvdG90eXBlLl9oYW5kbGVQYWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZCk6
IEFkZGVkLgorICAgICAgICAoV0kuTGF5ZXJzM0RDb250ZW50Vmlldy5wcm90b3R5cGUuY2xvc2Vk
KTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl9z
aG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKFdJLkxheWVy
czNEQ29udGVudFZpZXcucHJvdG90eXBlLl90b2dnbGVQYWludEZsYXNoaW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKFdJLkxheWVyczNEQ29udGVudFZpZXcucHJvdG90eXBlLl91cGRhdGVDb21wb3Np
dGluZ0JvcmRlcnNCdXR0b25TdGF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChXSS5MYXllcnMzRENv
bnRlbnRWaWV3LnByb3RvdHlwZS5fdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJzKTogRGVsZXRlZC4K
KwogMjAxOS0xMi0xOCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBSdW50aW1lLmVuYWJsZSByZXBvcnRzIGR1cGxpY2F0ZXMg
KG5vbiBleGlzdGVudCkgY29udGV4dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KaW5kZXggMzY3ZDFmMjM1YTgyMTNmMTM2MGY2MDFi
YzllNjRjMDk0OWY0NzdiNC4uYThmYzUzMzJhYzkyNDI0YjAwYTNkZWM2MjE1MmZkM2M1ZjI4NTQ0
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Q
YWdlLmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9Q
YWdlLmpzb24KQEAgLTE2LDYgKzE2LDggQEAKICAgICAgICAgICAgICAgICAiTW9ja0NhcHR1cmVE
ZXZpY2VzRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAgIk5lZWRzU2l0ZVNwZWNpZmljUXVpcmtz
IiwKICAgICAgICAgICAgICAgICAiU2NyaXB0RW5hYmxlZCIsCisgICAgICAgICAgICAgICAgIlNo
b3dEZWJ1Z0JvcmRlcnMiLAorICAgICAgICAgICAgICAgICJTaG93UmVwYWludENvdW50ZXIiLAog
ICAgICAgICAgICAgICAgICJXZWJSVENFbmNyeXB0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAg
ICAgIldlYlNlY3VyaXR5RW5hYmxlZCIKICAgICAgICAgICAgIF0KQEAgLTI0NCwyMCArMjQ2LDYg
QEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFwcGVhcmFuY2UiLCAiJHJlZiI6ICJBcHBl
YXJhbmNlIiwgImRlc2NyaXB0aW9uIjogIkFwcGVhcmFuY2UgbmFtZSB0byBmb3JjZS4gRW1wdHkg
c3RyaW5nIGRpc2FibGVzIHRoZSBvdmVycmlkZS4iIH0KICAgICAgICAgICAgIF0KICAgICAgICAg
fSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Q29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiSW5kaWNhdGVzIHRoZSB2aXNp
YmlsaXR5IG9mIGNvbXBvc2l0aW5nIGJvcmRlcnMuIiwKLSAgICAgICAgICAgICJyZXR1cm5zIjog
WwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicmVzdWx0IiwgInR5cGUiOiAiYm9vbGVhbiIs
ICJkZXNjcmlwdGlvbiI6ICJJZiB0cnVlLCBjb21wb3NpdGluZyBib3JkZXJzIGFyZSB2aXNpYmxl
LiIgfQotICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAi
bmFtZSI6ICJzZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwKLSAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJDb250cm9scyB0aGUgdmlzaWJpbGl0eSBvZiBjb21wb3NpdGluZyBib3JkZXJz
LiIsCi0gICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInZpc2libGUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlRydWUgZm9y
IHNob3dpbmcgY29tcG9zaXRpbmcgYm9yZGVycy4iIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAg
fSwKICAgICAgICAgewogICAgICAgICAgICAgIm5hbWUiOiAic25hcHNob3ROb2RlIiwKICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIGEgc25hcHNob3Qgb2YgdGhlIHNwZWNpZmll
ZCBub2RlIHRoYXQgZG9lcyBub3QgaW5jbHVkZSB1bnJlbGF0ZWQgbGF5ZXJzLiIsCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHAKaW5kZXggY2Y4OWY5ZWI1MDUyMzI2ZmNmOGNiZDI2ZDg1OTZjZjQ3MjRjMjM2MS4uZDRlNmI1
ZDFmMjE1MWExZjRjMTYwODFiMjY5NWRkNjZkYTQxNmJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtOTQs
NiArOTQsOCBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogICAgIG1hY3JvKE1vY2tDYXB0
dXJlRGV2aWNlc0VuYWJsZWQpIFwKICAgICBtYWNybyhOZWVkc1NpdGVTcGVjaWZpY1F1aXJrcykg
XAogICAgIG1hY3JvKFNjcmlwdEVuYWJsZWQpIFwKKyAgICBtYWNybyhTaG93RGVidWdCb3JkZXJz
KSBcCisgICAgbWFjcm8oU2hvd1JlcGFpbnRDb3VudGVyKSBcCiAgICAgbWFjcm8oV2ViUlRDRW5j
cnlwdGlvbkVuYWJsZWQpIFwKICAgICBtYWNybyhXZWJTZWN1cml0eUVuYWJsZWQpCiAKQEAgLTky
NiwxNyArOTI4LDYgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmFwcGx5RW11bGF0ZWRNZWRp
YShTdHJpbmcmIG1lZGlhKQogICAgICAgICBtZWRpYSA9IG1fZW11bGF0ZWRNZWRpYTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJy
b3JTdHJpbmcmLCBib29sKiBvdXRQYXJhbSkKLXsKLSAgICAqb3V0UGFyYW0gPSBtX2luc3BlY3Rl
ZFBhZ2Uuc2V0dGluZ3MoKS5zaG93RGVidWdCb3JkZXJzKCkgfHwgbV9pbnNwZWN0ZWRQYWdlLnNl
dHRpbmdzKCkuc2hvd1JlcGFpbnRDb3VudGVyKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFn
ZW50OjpzZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nJiwgYm9vbCB2aXNp
YmxlKQotewotICAgIG1faW5zcGVjdGVkUGFnZS5zZXR0aW5ncygpLnNldFNob3dEZWJ1Z0JvcmRl
cnModmlzaWJsZSk7Ci0gICAgbV9pbnNwZWN0ZWRQYWdlLnNldHRpbmdzKCkuc2V0U2hvd1JlcGFp
bnRDb3VudGVyKHZpc2libGUpOwotfQotCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c25hcHNo
b3ROb2RlKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IG5vZGVJZCwgU3RyaW5nKiBvdXRE
YXRhVVJMKQogewogICAgIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5pbnNwZWN0b3JET01BZ2VudCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggNGZkOGMwYjEwMTZl
NWFiNDc1MjU1OGQ2NTMwYWJiNTIwZWNlYTI2YS4uM2YzYmJiOGZjZTgyMDQ0YzFjMjMwYjBhZTcx
ODY2MTJjYzVkNDVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMTAsOCArMTEwLDYgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0U2hvd1BhaW50UmVjdHMoRXJyb3JTdHJpbmcmLCBib29sIHNob3cpIG92ZXJyaWRl
OwogICAgIHZvaWQgc2V0RW11bGF0ZWRNZWRpYShFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYp
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Rm9yY2VkQXBwZWFyYW5jZShFcnJvclN0cmluZyYsIGNv
bnN0IFN0cmluZyYpIG92ZXJyaWRlOwotICAgIHZvaWQgZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZShFcnJvclN0cmluZyYsIGJvb2wqIG91dF9wYXJhbSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBz
ZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nJiwgYm9vbCkgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzbmFwc2hvdE5vZGUoRXJyb3JTdHJpbmcmLCBpbnQgbm9kZUlkLCBTdHJpbmcq
IG91dERhdGFVUkwpIG92ZXJyaWRlOwogICAgIHZvaWQgc25hcHNob3RSZWN0KEVycm9yU3RyaW5n
JiwgaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IFN0cmluZyYgY29v
cmRpbmF0ZVN5c3RlbSwgU3RyaW5nKiBvdXREYXRhVVJMKSBvdmVycmlkZTsKICAgICB2b2lkIGFy
Y2hpdmUoRXJyb3JTdHJpbmcmLCBTdHJpbmcqIGRhdGEpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy55YW1sCmluZGV4IGQ1MTlkOGMxMTdjZGM5MjY5MDdhOTcxNzQ1NmNjY2U1NDc4NzUz
ZGYuLjNiZTJlZjdhYjE0ODExNTVhYjNlMmI4MGJhYzY2NjU3MzkxYTdmYzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLnlhbWwKQEAgLTE0NCw5ICsxNDQsMTEgQEAgYWNjZWxlcmF0ZWRDb21wb3Np
dGVkQW5pbWF0aW9uc0VuYWJsZWQ6CiBzaG93RGVidWdCb3JkZXJzOgogICBpbml0aWFsOiBmYWxz
ZQogICBvbkNoYW5nZTogc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzCisgIGluc3BlY3Rv
ck92ZXJyaWRlOiB0cnVlCiBzaG93UmVwYWludENvdW50ZXI6CiAgIGluaXRpYWw6IGZhbHNlCiAg
IG9uQ2hhbmdlOiBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMKKyAgaW5zcGVjdG9yT3Zl
cnJpZGU6IHRydWUKIHZpc2libGVEZWJ1Z092ZXJsYXlSZWdpb25zOgogICB0eXBlOiBEZWJ1Z092
ZXJsYXlSZWdpb25zCiAgIGluaXRpYWw6IDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwppbmRleCBlOWViZDY4YTVkNzg0ZDVlZTE5ZjAwYjNi
ZGI0MzlmMTUzY2Q2YzE3Li5hODJjY2Y4MzRiZDRjY2UwZDcxYmJlMzdhZTk2NTZkNmZiYzk5MDZh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01h
aW4uanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWlu
LmpzCkBAIC01ODMsMTMgKzU4Myw5IEBAIFdJLmluaXRpYWxpemVUYXJnZXQgPSBmdW5jdGlvbih0
YXJnZXQpCiAgICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5vdmVycmlkZVNldHRpbmco
c2V0dGluZywgdmFsdWUpOwogICAgICAgICB9CiAKLSAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAo
aU9TIDExLjMpCisgICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyAxMS4zKTogUGFnZS5zZXRT
aG93UnVsZWVycyBkaWQgbm90IGV4aXN0IHlldC4KICAgICAgICAgaWYgKHRhcmdldC5oYXNDb21t
YW5kKCJQYWdlLnNldFNob3dSdWxlcnMiKSAmJiBXSS5zZXR0aW5ncy5zaG93UnVsZXJzLnZhbHVl
KQogICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRTaG93UnVsZXJzKHRydWUpOwotCi0g
ICAgICAgIC8vIENPTVBBVElCSUxJVFkgKGlPUyA4KTogUGFnZS5zZXRTaG93UGFpbnRSZWN0cyBk
aWQgbm90IGV4aXN0LgotICAgICAgICBpZiAodGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hv
d1BhaW50UmVjdHMiKSAmJiBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZSkKLSAgICAg
ICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1BhaW50UmVjdHModHJ1ZSk7CiAgICAgfQog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9TZXR0aW5nLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9T
ZXR0aW5nLmpzCmluZGV4IGMzZDk1ODQyN2QyYjc3ZmM4YjY5OTdjNTk0YjZlZTIxZjI1NmY4MTMu
LjJhMmMwMGM1ZmYzZTVlMzJiNGEzMDc5NDYyN2NlNTg1N2JiOWRjNDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvU2V0dGluZy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1NldHRpbmcuanMKQEAgLTIw
Niw3ICsyMDYsNiBAQCBXSS5zZXR0aW5ncyA9IHsKICAgICBzaG93SW1hZ2VHcmlkOiBuZXcgV0ku
U2V0dGluZygic2hvdy1pbWFnZS1ncmlkIiwgdHJ1ZSksCiAgICAgc2hvd0ludmlzaWJsZUNoYXJh
Y3RlcnM6IG5ldyBXSS5TZXR0aW5nKCJzaG93LWludmlzaWJsZS1jaGFyYWN0ZXJzIiwgISFXSS5T
ZXR0aW5nLm1pZ3JhdGVWYWx1ZSgic2hvdy1pbnZhbGlkLWNoYXJhY3RlcnMiKSksCiAgICAgc2hv
d0phdmFTY3JpcHRUeXBlSW5mb3JtYXRpb246IG5ldyBXSS5TZXR0aW5nKCJzaG93LWphdmFzY3Jp
cHQtdHlwZS1pbmZvcm1hdGlvbiIsIGZhbHNlKSwKLSAgICBzaG93UGFpbnRSZWN0czogbmV3IFdJ
LlNldHRpbmcoInNob3ctcGFpbnQtcmVjdHMiLCBmYWxzZSksCiAgICAgc2hvd1J1bGVyczogbmV3
IFdJLlNldHRpbmcoInNob3ctcnVsZXJzIiwgZmFsc2UpLAogICAgIHNob3dSdWxlcnNEdXJpbmdF
bGVtZW50U2VsZWN0aW9uOiBuZXcgV0kuU2V0dGluZygic2hvdy1ydWxlcnMtZHVyaW5nLWVsZW1l
bnQtc2VsZWN0aW9uIiwgdHJ1ZSksCiAgICAgc2hvd1Njb3BlQ2hhaW5PblBhdXNlOiBuZXcgV0ku
U2V0dGluZygic2hvdy1zY29wZS1jaGFpbi1zaWRlYmFyIiwgdHJ1ZSksCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9MYXllclRyZWVN
YW5hZ2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxl
cnMvTGF5ZXJUcmVlTWFuYWdlci5qcwppbmRleCA4NDNkMzk3ZDYyOTJjZGUxOTViYTM4NWYxZDYw
ODUzOWE1OTRkYmZlLi40M2U5MWFjNTM0Y2EwMmE1YmZlNGZjZjM5MDIxZmJiOGRiYjkzN2FkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVy
cy9MYXllclRyZWVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0NvbnRyb2xsZXJzL0xheWVyVHJlZU1hbmFnZXIuanMKQEAgLTI3LDEyICsyNyw0NyBA
QAogCiBXSS5MYXllclRyZWVNYW5hZ2VyID0gY2xhc3MgTGF5ZXJUcmVlTWFuYWdlciBleHRlbmRz
IFdJLk9iamVjdAogeworICAgIGNvbnN0cnVjdG9yKCkKKyAgICB7CisgICAgICAgIHN1cGVyKCk7
CisKKyAgICAgICAgdGhpcy5fc2hvd1BhaW50UmVjdHMgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5f
Y29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSA9IGZhbHNlOworICAgIH0KKwogICAgIC8vIFRhcmdl
dAogCiAgICAgaW5pdGlhbGl6ZVRhcmdldCh0YXJnZXQpCiAgICAgewogICAgICAgICBpZiAodGFy
Z2V0Lmhhc0RvbWFpbigiTGF5ZXJUcmVlIikpCiAgICAgICAgICAgICB0YXJnZXQuTGF5ZXJUcmVl
QWdlbnQuZW5hYmxlKCk7CisKKyAgICAgICAgaWYgKHRhcmdldC5oYXNEb21haW4oIlBhZ2UiKSkg
eworICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLnNldFNob3dQYWludFJl
Y3RzIikgJiYgdGhpcy5fc2hvd1BhaW50UmVjdHMpCisgICAgICAgICAgICAgICAgdGFyZ2V0LlBh
Z2VBZ2VudC5zZXRTaG93UGFpbnRSZWN0cyh0aGlzLl9zaG93UGFpbnRSZWN0cyk7CisKKyAgICAg
ICAgICAgIGlmICh0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKSB7CisgICAgICAgICAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWShpT1MgMTMuMSk6IFBhZ2Uuc2V0Q29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZSB3YXMgcmVwbGFjZWQgYnkgUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMg
YW5kIFBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIuCisgICAgICAgICAgICAgICAgaWYg
KHRhcmdldC5oYXNDb21tYW5kKCJQYWdlLm92ZXJyaWRlU2V0dGluZyIpICYmIEluc3BlY3RvckJh
Y2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hvd0RlYnVnQm9yZGVycyAmJiBJbnNwZWN0b3JCYWNr
ZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50Q291bnRlcikgeworICAgICAgICAgICAg
ICAgICAgICB0YXJnZXQuUGFnZUFnZW50Lm92ZXJyaWRlU2V0dGluZyhJbnNwZWN0b3JCYWNrZW5k
LkVudW0uUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMsIHRoaXMuX2NvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGUpOworICAgICAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50Lm92ZXJy
aWRlU2V0dGluZyhJbnNwZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dSZXBhaW50
Q291bnRlciwgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAgICAgICAg
ICAgfSBlbHNlIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5zZXRDb21wb3NpdGluZ0JvcmRl
cnNWaXNpYmxlIikpCisgICAgICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0Q29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZSh0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKTsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIC8vIFN0YXRpYworCisgICAg
c3RhdGljIHN1cHBvcnRzU2hvd2luZ1BhaW50UmVjdHMoKQorICAgIHsKKyAgICAgICAgcmV0dXJu
IEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFuZCgiUGFnZS5zZXRTaG93UGFpbnRSZWN0cyIpOwor
ICAgIH0KKworICAgIHN0YXRpYyBzdXBwb3J0c1Zpc2libGVDb21wb3NpdGluZ0JvcmRlcnMoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFuZCgiUGFnZS5z
ZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIikKKyAgICAgICAgICAgIHx8IChJbnNwZWN0b3JC
YWNrZW5kLkVudW0uUGFnZS5TZXR0aW5nLlNob3dEZWJ1Z0JvcmRlcnMgJiYgSW5zcGVjdG9yQmFj
a2VuZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIpOwogICAgIH0KIAogICAg
IC8vIFB1YmxpYwpAQCAtNDIsNiArNzcsNzYgQEAgV0kuTGF5ZXJUcmVlTWFuYWdlciA9IGNsYXNz
IExheWVyVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgcmV0dXJuIEluc3Bl
Y3RvckJhY2tlbmQuaGFzRG9tYWluKCJMYXllclRyZWUiKTsKICAgICB9CiAKKyAgICBnZXQgc2hv
d1BhaW50UmVjdHMoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3Nob3dQYWludFJlY3Rz
OworICAgIH0KKworICAgIHNldCBzaG93UGFpbnRSZWN0cyhzaG93UGFpbnRSZWN0cykKKyAgICB7
CisgICAgICAgIGlmICh0aGlzLl9zaG93UGFpbnRSZWN0cyA9PT0gc2hvd1BhaW50UmVjdHMpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fc2hvd1BhaW50UmVjdHMgPSBzaG93
UGFpbnRSZWN0czsKKworICAgICAgICBmb3IgKGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewor
ICAgICAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDkpOiBQYWdlLnNldENvbXBvc2l0aW5n
Qm9yZGVyc1Zpc2libGUgZGlkIG5vdCBleGlzdCB5ZXQuCisgICAgICAgICAgICBpZiAodGFyZ2V0
Lmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKSkKKyAgICAgICAgICAgICAgICB0
YXJnZXQuUGFnZUFnZW50LnNldFNob3dQYWludFJlY3RzKHRoaXMuX3Nob3dQYWludFJlY3RzKTsK
KyAgICAgICAgfQorCisgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKExheWVy
VHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50UmVjdHNDaGFuZ2VkKTsKKyAgICB9CisKKyAgICBn
ZXQgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKKyAgICB9CisKKyAgICBzZXQgY29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZShjb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKQorICAgIHsKKyAgICAg
ICAgaWYgKHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgPT09IGNvbXBvc2l0aW5nQm9y
ZGVyc1Zpc2libGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fY29tcG9z
aXRpbmdCb3JkZXJzVmlzaWJsZSA9IGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7CisKKyAgICAg
ICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKKyAgICAgICAgICAgIC8vIENPTVBB
VElCSUxJVFkoaU9TIDEzLjEpOiBQYWdlLnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUgd2Fz
IHJlcGxhY2VkIGJ5IFBhZ2UuU2V0dGluZy5TaG93RGVidWdCb3JkZXJzIGFuZCBQYWdlLlNldHRp
bmcuU2hvd1JlcGFpbnRDb3VudGVyLgorICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNDb21tYW5k
KCJQYWdlLm92ZXJyaWRlU2V0dGluZyIpICYmIEluc3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNl
dHRpbmcuU2hvd0RlYnVnQm9yZGVycyAmJiBJbnNwZWN0b3JCYWNrZW5kLkVudW0uUGFnZS5TZXR0
aW5nLlNob3dSZXBhaW50Q291bnRlcikgeworICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdl
bnQub3ZlcnJpZGVTZXR0aW5nKEluc3BlY3RvckJhY2tlbmQuRW51bS5QYWdlLlNldHRpbmcuU2hv
d0RlYnVnQm9yZGVycywgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSk7CisgICAgICAg
ICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5vdmVycmlkZVNldHRpbmcoSW5zcGVjdG9yQmFja2Vu
ZC5FbnVtLlBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIsIHRoaXMuX2NvbXBvc2l0aW5n
Qm9yZGVyc1Zpc2libGUpOworICAgICAgICAgICAgfSBlbHNlIGlmICh0YXJnZXQuaGFzQ29tbWFu
ZCgiUGFnZS5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIikpCisgICAgICAgICAgICAgICAg
dGFyZ2V0LlBhZ2VBZ2VudC5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKHRoaXMuX2NvbXBv
c2l0aW5nQm9yZGVyc1Zpc2libGUpOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5Db21wb3NpdGluZ0JvcmRl
cnNWaXNpYmxlQ2hhbmdlZCk7CisgICAgfQorCisgICAgdXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZUZyb21QYWdlSWZOZWVkZWQoKQorICAgIHsKKyAgICAgICAgaWYgKCFXSS50YXJnZXRz
QXZhaWxhYmxlKCkpIHsKKyAgICAgICAgICAgIFdJLndoZW5UYXJnZXRzQXZhaWxhYmxlKCkudGhl
bigoKSA9PiB7CisgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNW
aXNpYmxlRnJvbVBhZ2VJZk5lZWRlZCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBsZXQgdGFyZ2V0ID0gV0kuYXNzdW1pbmdNYWlu
VGFyZ2V0KCk7CisKKyAgICAgICAgLy8gQ09NUEFUSUJJTElUWShpT1MgMTMuMSk6IFBhZ2UuZ2V0
Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSB3YXMgcmVwbGFjZWQgYnkgUGFnZS5TZXR0aW5nLlNo
b3dEZWJ1Z0JvcmRlcnMgYW5kIFBhZ2UuU2V0dGluZy5TaG93UmVwYWludENvdW50ZXIuCisgICAg
ICAgIGlmICghdGFyZ2V0Lmhhc0NvbW1hbmQoIlBhZ2UuZ2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlz
aWJsZSIpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRhcmdldC5QYWdlQWdlbnQu
Z2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSgoZXJyb3IsIGNvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGUpID0+IHsKKyAgICAgICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgICAgIFdJ
LnJlcG9ydEludGVybmFsRXJyb3IoZXJyb3IpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgdGhpcy5jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxl
ID0gY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKKyAgICAgICAgfSk7CisgICAgfQorCiAgICAg
bGF5ZXJUcmVlTXV0YXRpb25zKHByZXZpb3VzTGF5ZXJzLCBuZXdMYXllcnMpCiAgICAgewogICAg
ICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnN1cHBvcnRlZCk7CkBAIC0xMDEsNSArMjA2LDcgQEAg
V0kuTGF5ZXJUcmVlTWFuYWdlciA9IGNsYXNzIExheWVyVHJlZU1hbmFnZXIgZXh0ZW5kcyBXSS5P
YmplY3QKIH07CiAKIFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQgPSB7Ci0gICAgTGF5ZXJUcmVl
RGlkQ2hhbmdlOiAibGF5ZXItdHJlZS1kaWQtY2hhbmdlIgorICAgIFNob3dQYWludFJlY3RzQ2hh
bmdlZDogInNob3ctcGFpbnQtcmVjdHMtY2hhbmdlZCIsCisgICAgQ29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZUNoYW5nZWQ6ICJjb21wb3NpdGluZy1ib3JkZXJzLXZpc2libGUtY2hhbmdlZCIsCisg
ICAgTGF5ZXJUcmVlRGlkQ2hhbmdlOiAibGF5ZXItdHJlZS1kaWQtY2hhbmdlIiwKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVl
Q29udGVudFZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9ET01UcmVlQ29udGVudFZpZXcuanMKaW5kZXggYmFmN2ExNzc3Y2VjNThhZDA1ZTM4NzVmODkx
MGFlMDYwMThkNWEwNi4uNWZjZTNlNmZlOTdiODI2ZjA4MDBiYmFjNTgyZDJhNjg0M2IzMTQ3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9N
VHJlZUNvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVDb250ZW50Vmlldy5qcwpAQCAtNTEsMTYgKzUxLDEzIEBAIFdJLkRP
TVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250ZW50VmlldyBleHRlbmRzIFdJLkNv
bnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX2ZvcmNlQXBwZWFyYW5jZUJ1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSBXSS5jc3NNYW5hZ2VyLmNhbkZvcmNlQXBwZWFyYW5jZSgpOwogCiAgICAg
ICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdJ
LkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oImxheWVyLWJvcmRlcnMiLCBXSS5VSVN0cmlu
ZygiU2hvdyBjb21wb3NpdGluZyBib3JkZXJzIiksIFdJLlVJU3RyaW5nKCJIaWRlIGNvbXBvc2l0
aW5nIGJvcmRlcnMiKSwgIkltYWdlcy9MYXllckJvcmRlcnMuc3ZnIiwgMTMsIDEzKTsKLSAgICAg
ICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRM
aXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl90b2dn
bGVDb21wb3NpdGluZ0JvcmRlcnMsIHRoaXMpOwotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0Jv
cmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gSW5zcGVjdG9yQmFja2VuZC5oYXNE
b21haW4oIlBhZ2UiKTsKKyAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVu
dC5DbGlja2VkLCB0aGlzLl9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25DbGlja2VkLCB0
aGlzKTsKKyAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uZW5hYmxlZCA9IFdJLkxheWVyVHJlZU1hbmFnZXIuc3VwcG9ydHNWaXNpYmxlQ29tcG9zaXRp
bmdCb3JkZXJzKCk7CiAgICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmln
YXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxp
dHlQcmlvcml0eS5Mb3c7CiAKLSAgICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDkpCi0gICAg
ICAgIFdJLnNldHRpbmdzLnNob3dQYWludFJlY3RzLmFkZEV2ZW50TGlzdGVuZXIoV0kuU2V0dGlu
Zy5FdmVudC5DaGFuZ2VkLCB0aGlzLl9zaG93UGFpbnRSZWN0c1NldHRpbmdDaGFuZ2VkLCB0aGlz
KTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3
IFdJLkFjdGl2YXRlQnV0dG9uTmF2aWdhdGlvbkl0ZW0oInBhaW50LWZsYXNoaW5nIiwgV0kuVUlT
dHJpbmcoIkVuYWJsZSBwYWludCBmbGFzaGluZyIpLCBXSS5VSVN0cmluZygiRGlzYWJsZSBwYWlu
dCBmbGFzaGluZyIpLCAiSW1hZ2VzL1BhaW50LnN2ZyIsIDE2LCAxNik7Ci0gICAgICAgIHRoaXMu
X3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1
dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX3RvZ2dsZVBhaW50Rmxhc2hp
bmcsIHRoaXMpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uZW5hYmxlZCA9IEluc3BlY3RvckJhY2tlbmQuaGFzQ29tbWFuZCgiUGFnZS5zZXRTaG93UGFp
bnRSZWN0cyIpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0
ZW0uYWN0aXZhdGVkID0gdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVu
YWJsZWQgJiYgV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMudmFsdWU7CisgICAgICAgIHRoaXMu
X3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1
dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZVBhaW5nRmxhc2hp
bmdCdXR0b25DbGlja2VkLCB0aGlzKTsKKyAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBXSS5MYXllclRyZWVNYW5hZ2VyLnN1cHBvcnRzU2hv
d2luZ1BhaW50UmVjdHMoKTsKICAgICAgICAgdGhpcy5fcGFpbnRGbGFzaGluZ0J1dHRvbk5hdmln
YXRpb25JdGVtLnZpc2liaWxpdHlQcmlvcml0eSA9IFdJLk5hdmlnYXRpb25JdGVtLlZpc2liaWxp
dHlQcmlvcml0eS5Mb3c7CiAKICAgICAgICAgdGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoImRv
bS10cmVlIik7CkBAIC0xNDcsNyArMTQ0LDYgQEAgV0kuRE9NVHJlZUNvbnRlbnRWaWV3ID0gY2xh
c3MgRE9NVHJlZUNvbnRlbnRWaWV3IGV4dGVuZHMgV0kuQ29udGVudFZpZXcKICAgICAgICAgc3Vw
ZXIuc2hvd24oKTsKIAogICAgICAgICB0aGlzLl9kb21UcmVlT3V0bGluZS5zZXRWaXNpYmxlKHRy
dWUsIFdJLmlzQ29uc29sZUZvY3VzZWQoKSk7Ci0gICAgICAgIHRoaXMuX3VwZGF0ZUNvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MoKTsKIAogICAgICAgICBpZiAoIXRo
aXMuX2RvbVRyZWVPdXRsaW5lLnJvb3RET01Ob2RlKQogICAgICAgICAgICAgcmV0dXJuOwpAQCAt
MTY3LDcgKzE2Myw2IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVDb250
ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgewogICAgICAgICBzdXBlci5jbG9z
ZWQoKTsKIAotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy5yZW1vdmVFdmVudExp
c3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogICAgICAgICBXSS5zZXR0aW5ncy5zaG93UnVsZXJz
LnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CiAgICAgICAgIFdJLmRlYnVn
Z2VyTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKG51bGwsIG51bGwsIHRoaXMpOwogICAgICAg
ICBXSS5kb21NYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIobnVsbCwgbnVsbCwgdGhpcyk7CkBA
IC0zODMsNiArMzc4LDI3IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAKICAgICAvLyBQcm90ZWN0ZWQKIAor
ICAgIGF0dGFjaGVkKCkKKyAgICB7CisgICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7CisKKyAgICAg
ICAgV0kubGF5ZXJUcmVlTWFuYWdlci51cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlRnJv
bVBhZ2VJZk5lZWRlZCgpOworCisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkNvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hhbmdlZCwg
dGhpcyk7CisgICAgICAgIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFu
Z2VkKCk7CisKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJ
LkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuU2hvd1BhaW50UmVjdHNDaGFuZ2VkLCB0aGlzLl9oYW5k
bGVTaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9oYW5kbGVTaG93
UGFpbnRSZWN0c0NoYW5nZWQoKTsKKyAgICB9CisKKyAgICBkZXRhY2hlZCgpCisgICAgeworICAg
ICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVl
TWFuYWdlci5FdmVudC5TaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMuX2hhbmRsZVNob3dQYWlu
dFJlY3RzQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgIFdJLmxheWVyVHJlZU1hbmFnZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50LkNvbXBvc2l0aW5nQm9yZGVy
c1Zpc2libGVDaGFuZ2VkLCB0aGlzLl9oYW5kbGVDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlQ2hh
bmdlZCwgdGhpcyk7CisKKyAgICAgICAgc3VwZXIuZGV0YWNoZWQoKTsKKyAgICB9CisKICAgICBz
aXplRGlkQ2hhbmdlKCkKICAgICB7CiAgICAgICAgIHN1cGVyLnNpemVEaWRDaGFuZ2UoKTsKQEAg
LTU3OSw1MSArNTk1LDI0IEBAIFdJLkRPTVRyZWVDb250ZW50VmlldyA9IGNsYXNzIERPTVRyZWVD
b250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAgICAgICAgIHRoaXMuX2ZvbGxvd0xp
bmtUaW1lb3V0SWRlbnRpZmllciA9IHNldFRpbWVvdXQoZm9sbG93TGluay5iaW5kKHRoaXMpLCAz
MzMpOwogICAgIH0KIAotICAgIF90b2dnbGVDb21wb3NpdGluZ0JvcmRlcnMoZXZlbnQpCisgICAg
X2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkKGV2ZW50KQogICAgIHsKLSAg
ICAgICAgdmFyIGFjdGl2YXRlZCA9ICF0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZp
Z2F0aW9uSXRlbS5hY3RpdmF0ZWQ7Ci0gICAgICAgIHRoaXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1
dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IGFjdGl2YXRlZDsKLQotICAgICAgICBmb3Ig
KGxldCB0YXJnZXQgb2YgV0kudGFyZ2V0cykgewotICAgICAgICAgICAgaWYgKHRhcmdldC5oYXNE
b21haW4oIlBhZ2UiKSkKLSAgICAgICAgICAgICAgICB0YXJnZXQuUGFnZUFnZW50LnNldENvbXBv
c2l0aW5nQm9yZGVyc1Zpc2libGUoYWN0aXZhdGVkKTsKLSAgICAgICAgfQorICAgICAgICB0aGlz
Ll9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBXSS5s
YXllclRyZWVNYW5hZ2VyLmNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7CiAgICAgfQogCi0gICAg
X3RvZ2dsZVBhaW50Rmxhc2hpbmcoZXZlbnQpCisgICAgX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVy
c0J1dHRvbkNsaWNrZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFp
bnRSZWN0cy52YWx1ZSA9ICFXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKKyAgICAg
ICAgV0kubGF5ZXJUcmVlTWFuYWdlci5jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlID0gIVdJLmxh
eWVyVHJlZU1hbmFnZXIuY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKICAgICB9CiAKLSAgICBf
dXBkYXRlQ29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uVG9NYXRjaFBhZ2VTZXR0aW5ncygpCisgICAg
X2hhbmRsZVNob3dQYWludFJlY3RzQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGlmICgh
V0kudGFyZ2V0c0F2YWlsYWJsZSgpKSB7Ci0gICAgICAgICAgICBXSS53aGVuVGFyZ2V0c0F2YWls
YWJsZSgpLnRoZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUNvbXBvc2l0
aW5nQm9yZGVyc0J1dHRvblRvTWF0Y2hQYWdlU2V0dGluZ3MoKTsKLSAgICAgICAgICAgIH0pOwot
ICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdmFyIGJ1dHRvbiA9IHRo
aXMuX2NvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtOwotCi0gICAgICAgIC8v
IFdlIG5lZWQgdG8gc3luYyB3aXRoIHRoZSBwYWdlIHNldHRpbmdzIHNpbmNlIHRoZXNlIGNhbiBi
ZSBjb250cm9sbGVkCi0gICAgICAgIC8vIGluIGEgZGlmZmVyZW50IHdheSB0aGFuIGp1c3QgdXNp
bmcgdGhlIG5hdmlnYXRpb24gYmFyIGJ1dHRvbi4KLSAgICAgICAgbGV0IHRhcmdldCA9IFdJLmFz
c3VtaW5nTWFpblRhcmdldCgpOwotICAgICAgICB0YXJnZXQuUGFnZUFnZW50LmdldENvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUoZnVuY3Rpb24oZXJyb3IsIGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2li
bGUpIHsKLSAgICAgICAgICAgIGJ1dHRvbi5hY3RpdmF0ZWQgPSBlcnJvciA/IGZhbHNlIDogY29t
cG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKLSAgICAgICAgICAgIGJ1dHRvbi5lbmFibGVkID0gZXJy
b3IgIT09ICJ1bnN1cHBvcnRlZCI7Ci0gICAgICAgIH0pOworICAgICAgICB0aGlzLl9wYWludEZs
YXNoaW5nQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gV0kubGF5ZXJUcmVlTWFuYWdl
ci5zaG93UGFpbnRSZWN0czsKICAgICB9CiAKLSAgICBfc2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hh
bmdlZChldmVudCkKKyAgICBfaGFuZGxlUGFpbmdGbGFzaGluZ0J1dHRvbkNsaWNrZWQoZXZlbnQp
CiAgICAgewotICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVj
dHMudmFsdWU7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRl
bS5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7Ci0KLSAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJ
LnRhcmdldHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5zZXRT
aG93UGFpbnRSZWN0cyIpKQotICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hv
d1BhaW50UmVjdHMoYWN0aXZhdGVkKTsKLSAgICAgICAgfQorICAgICAgICBXSS5sYXllclRyZWVN
YW5hZ2VyLnNob3dQYWludFJlY3RzID0gIVdJLmxheWVyVHJlZU1hbmFnZXIuc2hvd1BhaW50UmVj
dHM7CiAgICAgfQogCiAgICAgX3Nob3dQcmludFN0eWxlc0NoYW5nZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RDb250ZW50
Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVy
czNEQ29udGVudFZpZXcuanMKaW5kZXggMDYyYjc4NDZiMTc3NjY0YTRjN2ZkYTU5NjdkNDk1ZDU3
YWUyMzIzYi4uNjFiYzM2ZGIwYTk0ZWNjZGVlZGU2M2JhMjUwNTg0NmQ1NmI4ZDVkNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJzM0RD
b250ZW50Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9MYXllcnMzRENvbnRlbnRWaWV3LmpzCkBAIC0zMiwxNSArMzIsMTMgQEAgV0kuTGF5ZXJz
M0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250
ZW50VmlldwogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgibGF5ZXJzLTNkIik7
CiAKICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0g
PSBuZXcgV0kuQWN0aXZhdGVCdXR0b25OYXZpZ2F0aW9uSXRlbSgibGF5ZXItYm9yZGVycyIsIFdJ
LlVJU3RyaW5nKCJTaG93IGNvbXBvc2l0aW5nIGJvcmRlcnMiKSwgV0kuVUlTdHJpbmcoIkhpZGUg
Y29tcG9zaXRpbmcgYm9yZGVycyIpLCAiSW1hZ2VzL0xheWVyQm9yZGVycy5zdmciLCAxMywgMTMp
OwotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
ZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRo
aXMuX3RvZ2dsZUNvbXBvc2l0aW5nQm9yZGVycywgdGhpcyk7Ci0gICAgICAgIHRoaXMuX2NvbXBv
c2l0aW5nQm9yZGVyc0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBJbnNwZWN0b3JCYWNr
ZW5kLmhhc0RvbWFpbigiUGFnZSIpOworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdJLkJ1dHRvbk5hdmlnYXRpb25J
dGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbkNs
aWNrZWQsIHRoaXMpOworICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZp
Z2F0aW9uSXRlbS5lbmFibGVkID0gV0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Zpc2libGVD
b21wb3NpdGluZ0JvcmRlcnMoKTsKICAgICAgICAgdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0
dG9uTmF2aWdhdGlvbkl0ZW0udmlzaWJpbGl0eVByaW9yaXR5ID0gV0kuTmF2aWdhdGlvbkl0ZW0u
VmlzaWJpbGl0eVByaW9yaXR5LkxvdzsKIAotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRS
ZWN0cy5hZGRFdmVudExpc3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fc2hv
d1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZCwgdGhpcyk7CiAgICAgICAgIHRoaXMuX3BhaW50Rmxh
c2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXSS5BY3RpdmF0ZUJ1dHRvbk5hdmlnYXRp
b25JdGVtKCJwYWludC1mbGFzaGluZyIsIFdJLlVJU3RyaW5nKCJFbmFibGUgcGFpbnQgZmxhc2hp
bmciKSwgV0kuVUlTdHJpbmcoIkRpc2FibGUgcGFpbnQgZmxhc2hpbmciKSwgIkltYWdlcy9QYWlu
dC5zdmciLCAxNiwgMTYpOwotICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5D
bGlja2VkLCB0aGlzLl90b2dnbGVQYWludEZsYXNoaW5nLCB0aGlzKTsKLSAgICAgICAgdGhpcy5f
cGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBJbnNwZWN0b3JCYWNr
ZW5kLmhhc0NvbW1hbmQoIlBhZ2Uuc2V0U2hvd1BhaW50UmVjdHMiKTsKLSAgICAgICAgdGhpcy5f
cGFpbnRGbGFzaGluZ0J1dHRvbk5hdmlnYXRpb25JdGVtLmFjdGl2YXRlZCA9IHRoaXMuX3BhaW50
Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkICYmIFdJLnNldHRpbmdzLnNob3dQ
YWludFJlY3RzLnZhbHVlOworICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5nQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXSS5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5D
bGlja2VkLCB0aGlzLl9oYW5kbGVQYWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Cisg
ICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0g
V0kuTGF5ZXJUcmVlTWFuYWdlci5zdXBwb3J0c1Nob3dpbmdQYWludFJlY3RzKCk7CiAgICAgICAg
IHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS52aXNpYmlsaXR5UHJpb3Jp
dHkgPSBXSS5OYXZpZ2F0aW9uSXRlbS5WaXNpYmlsaXR5UHJpb3JpdHkuTG93OwogCiAgICAgICAg
IHRoaXMuX2xheWVycyA9IFtdOwpAQCAtODAsOCArNzgsNiBAQCBXSS5MYXllcnMzRENvbnRlbnRW
aWV3ID0gY2xhc3MgTGF5ZXJzM0RDb250ZW50VmlldyBleHRlbmRzIFdJLkNvbnRlbnRWaWV3CiAg
ICAgewogICAgICAgICBzdXBlci5zaG93bigpOwogCi0gICAgICAgIHRoaXMuX3VwZGF0ZUNvbXBv
c2l0aW5nQm9yZGVyc0J1dHRvblN0YXRlKCk7Ci0KICAgICAgICAgdGhpcy51cGRhdGVMYXlvdXQo
KTsKICAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkxheWVy
VHJlZU1hbmFnZXIuRXZlbnQuTGF5ZXJUcmVlRGlkQ2hhbmdlLCB0aGlzLl9sYXllclRyZWVEaWRD
aGFuZ2UsIHRoaXMpOwogCkBAIC05MiwxOCArODgsMTIgQEAgV0kuTGF5ZXJzM0RDb250ZW50Vmll
dyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcgZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAg
IGhpZGRlbigpCiAgICAgewogICAgICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLnJlbW92ZUV2ZW50
TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFuYWdlci5FdmVudC5MYXllclRyZWVEaWRDaGFuZ2UsIHRo
aXMuX2xheWVyVHJlZURpZENoYW5nZSwgdGhpcyk7CisKICAgICAgICAgdGhpcy5fc3RvcEFuaW1h
dGlvbigpOwogCiAgICAgICAgIHN1cGVyLmhpZGRlbigpOwogICAgIH0KIAotICAgIGNsb3NlZCgp
Ci0gICAgewotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy5yZW1vdmVFdmVudExp
c3RlbmVyKFdJLlNldHRpbmcuRXZlbnQuQ2hhbmdlZCwgdGhpcy5fc2hvd1BhaW50UmVjdHNTZXR0
aW5nQ2hhbmdlZCwgdGhpcyk7Ci0KLSAgICAgICAgc3VwZXIuY2xvc2VkKCk7Ci0gICAgfQotCiAg
ICAgc2VsZWN0TGF5ZXJCeUlkKGxheWVySWQpCiAgICAgewogICAgICAgICBsZXQgbGF5ZXJHcm91
cCA9IHRoaXMuX2xheWVyR3JvdXBzQnlJZC5nZXQobGF5ZXJJZCk7CkBAIC0xMzksNiArMTI5LDI3
IEBAIFdJLkxheWVyczNEQ29udGVudFZpZXcgPSBjbGFzcyBMYXllcnMzRENvbnRlbnRWaWV3IGV4
dGVuZHMgV0kuQ29udGVudFZpZXcKIAogICAgIC8vIFByb3RlY3RlZAogCisgICAgYXR0YWNoZWQo
KQorICAgIHsKKyAgICAgICAgc3VwZXIuYXR0YWNoZWQoKTsKKworICAgICAgICBXSS5sYXllclRy
ZWVNYW5hZ2VyLnVwZGF0ZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVGcm9tUGFnZUlmTmVlZGVk
KCk7CisKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdJLkxh
eWVyVHJlZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQsIHRo
aXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsKKyAgICAg
ICAgdGhpcy5faGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQoKTsKKworICAg
ICAgICBXSS5sYXllclRyZWVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV0kuTGF5ZXJUcmVlTWFu
YWdlci5FdmVudC5TaG93UGFpbnRSZWN0c0NoYW5nZWQsIHRoaXMuX2hhbmRsZVNob3dQYWludFJl
Y3RzQ2hhbmdlZCwgdGhpcyk7CisgICAgICAgIHRoaXMuX2hhbmRsZVNob3dQYWludFJlY3RzQ2hh
bmdlZCgpOworICAgIH0KKworICAgIGRldGFjaGVkKCkKKyAgICB7CisgICAgICAgIFdJLmxheWVy
VHJlZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5MYXllclRyZWVNYW5hZ2VyLkV2ZW50
LlNob3dQYWludFJlY3RzQ2hhbmdlZCwgdGhpcy5faGFuZGxlU2hvd1BhaW50UmVjdHNDaGFuZ2Vk
LCB0aGlzKTsKKyAgICAgICAgV0kubGF5ZXJUcmVlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVy
KFdJLkxheWVyVHJlZU1hbmFnZXIuRXZlbnQuQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5n
ZWQsIHRoaXMuX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGVDaGFuZ2VkLCB0aGlzKTsK
KworICAgICAgICBzdXBlci5kZXRhY2hlZCgpOworICAgIH0KKwogICAgIGluaXRpYWxMYXlvdXQo
KQogICAgIHsKICAgICAgICAgc3VwZXIuaW5pdGlhbExheW91dCgpOwpAQCAtMzk1LDQ5ICs0MDYs
MjQgQEAgV0kuTGF5ZXJzM0RDb250ZW50VmlldyA9IGNsYXNzIExheWVyczNEQ29udGVudFZpZXcg
ZXh0ZW5kcyBXSS5Db250ZW50VmlldwogICAgICAgICB0aGlzLl9jYW1lcmEucG9zaXRpb24uYWRk
KGRlbHRhKTsKICAgICB9CiAKLSAgICBfc2hvd1BhaW50UmVjdHNTZXR0aW5nQ2hhbmdlZChldmVu
dCkKKyAgICBfaGFuZGxlQ29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZUNoYW5nZWQoZXZlbnQpCiAg
ICAgewotICAgICAgICBsZXQgYWN0aXZhdGVkID0gV0kuc2V0dGluZ3Muc2hvd1BhaW50UmVjdHMu
dmFsdWU7Ci0gICAgICAgIHRoaXMuX3BhaW50Rmxhc2hpbmdCdXR0b25OYXZpZ2F0aW9uSXRlbS5h
Y3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7Ci0KLSAgICAgICAgZm9yIChsZXQgdGFyZ2V0IG9mIFdJLnRh
cmdldHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJnZXQuaGFzQ29tbWFuZCgiUGFnZS5zZXRTaG93
UGFpbnRSZWN0cyIpKQotICAgICAgICAgICAgICAgIHRhcmdldC5QYWdlQWdlbnQuc2V0U2hvd1Bh
aW50UmVjdHMoYWN0aXZhdGVkKTsKLSAgICAgICAgfQorICAgICAgICB0aGlzLl9jb21wb3NpdGlu
Z0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBXSS5sYXllclRyZWVNYW5h
Z2VyLmNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7CiAgICAgfQogCi0gICAgX3RvZ2dsZVBhaW50
Rmxhc2hpbmcoZXZlbnQpCisgICAgX2hhbmRsZUNvbXBvc2l0aW5nQm9yZGVyc0J1dHRvbkNsaWNr
ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1
ZSA9ICFXSS5zZXR0aW5ncy5zaG93UGFpbnRSZWN0cy52YWx1ZTsKKyAgICAgICAgV0kubGF5ZXJU
cmVlTWFuYWdlci5jb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlID0gIVdJLmxheWVyVHJlZU1hbmFn
ZXIuY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZTsKICAgICB9CiAKLSAgICBfdXBkYXRlQ29tcG9z
aXRpbmdCb3JkZXJzQnV0dG9uU3RhdGUoKQorICAgIF9oYW5kbGVTaG93UGFpbnRSZWN0c0NoYW5n
ZWQoZXZlbnQpCiAgICAgewotICAgICAgICBpZiAoIVdJLnRhcmdldHNBdmFpbGFibGUoKSkgewot
ICAgICAgICAgICAgV0kud2hlblRhcmdldHNBdmFpbGFibGUoKS50aGVuKCgpID0+IHsKLSAgICAg
ICAgICAgICAgICB0aGlzLl91cGRhdGVDb21wb3NpdGluZ0JvcmRlcnNCdXR0b25TdGF0ZSgpOwot
ICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAg
ICAvLyBUaGlzIHZhbHVlIGNhbiBiZSBjaGFuZ2VkIG91dHNpZGUgb2YgV2ViIEluc3BlY3Rvci4K
LSAgICAgICAgLy8gRklYTUU6IEhhdmUgUGFnZUFnZW50IGRpc3BhdGNoIGEgY2hhbmdlIGV2ZW50
IGluc3RlYWQ/Ci0gICAgICAgIGxldCB0YXJnZXQgPSBXSS5hc3N1bWluZ01haW5UYXJnZXQoKTsK
LSAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKChl
cnJvciwgY29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSkgPT4gewotICAgICAgICAgICAgdGhpcy5f
Y29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gZXJyb3Ig
PyBmYWxzZSA6IGNvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGU7Ci0gICAgICAgICAgICB0aGlzLl9j
b21wb3NpdGluZ0JvcmRlcnNCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gZXJyb3IgIT09
ICJ1bnN1cHBvcnRlZCI7Ci0gICAgICAgIH0pOworICAgICAgICB0aGlzLl9wYWludEZsYXNoaW5n
QnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWN0aXZhdGVkID0gV0kubGF5ZXJUcmVlTWFuYWdlci5zaG93
UGFpbnRSZWN0czsKICAgICB9CiAKLSAgICBfdG9nZ2xlQ29tcG9zaXRpbmdCb3JkZXJzKGV2ZW50
KQorICAgIF9oYW5kbGVQYWluZ0ZsYXNoaW5nQnV0dG9uQ2xpY2tlZChldmVudCkKICAgICB7Ci0g
ICAgICAgIGxldCBhY3RpdmF0ZWQgPSAhdGhpcy5fY29tcG9zaXRpbmdCb3JkZXJzQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uYWN0aXZhdGVkOwotICAgICAgICB0aGlzLl9jb21wb3NpdGluZ0JvcmRlcnNC
dXR0b25OYXZpZ2F0aW9uSXRlbS5hY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7Ci0KLSAgICAgICAgZm9y
IChsZXQgdGFyZ2V0IG9mIFdJLnRhcmdldHMpIHsKLSAgICAgICAgICAgIGlmICh0YXJnZXQuaGFz
RG9tYWluKCJQYWdlIikpCi0gICAgICAgICAgICAgICAgdGFyZ2V0LlBhZ2VBZ2VudC5zZXRDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlKGFjdGl2YXRlZCk7Ci0gICAgICAgIH0KKyAgICAgICAgV0ku
bGF5ZXJUcmVlTWFuYWdlci5zaG93UGFpbnRSZWN0cyA9ICFXSS5sYXllclRyZWVNYW5hZ2VyLnNo
b3dQYWludFJlY3RzOwogICAgIH0KIAogICAgIF9idWlsZExheWVySW5mb0VsZW1lbnQoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>