<?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>234648</bug_id>
          
          <creation_ts>2021-12-23 13:46:56 -0800</creation_ts>
          <short_desc>Web Inspector: blackboxed call frames should be grouped everywhere</short_desc>
          <delta_ts>2022-01-19 14:39:33 -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 Nightly 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>
          
          <blocked>234581</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1826628</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-12-23 13:46:56 -0800</bug_when>
    <thetext># STEPS TO REPRODUCE
1. inspect &lt;http://bogojoker.com/shell/&gt;
2. create a &quot;click&quot; global Event Breakpoint
3. blackbox the &lt;http://bogojoker.com/shell/js/jquery.js&gt; script
4. click on the down arrow in the page
-&gt; should pause on &lt;http://bogojoker.com/shell/js/easySlider.min.js:64&gt; with two blackboxed call frames
5. evaluate `console.trace()`

## EXPECTED
(anonymous function) (easySlider.min.js:56)
Blackboxed - 2 call frames

## ACTUAL
(anonymous function) (easySlider.min.js:56)
handle (jquery.js:26:2120)
(anonymous function) (jquery.js:25:11369)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1827263</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-30 13:47:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/87018103&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1831283</commentid>
    <comment_count>2</comment_count>
      <attachid>449279</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-01-15 18:31:55 -0800</bug_when>
    <thetext>Created attachment 449279
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832088</commentid>
    <comment_count>3</comment_count>
      <attachid>449279</attachid>
    <who name="Patrick Angle">pangle</who>
    <bug_when>2022-01-19 10:53:06 -0800</bug_when>
    <thetext>Comment on attachment 449279
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Models/StackTrace.js:163
&gt; +                firstNonNativeNonAnonymousCallFrame ??= frame;

Nice catch. It&apos;s a bit concerning that we don&apos;t seem to test this anywhere, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832124</commentid>
    <comment_count>4</comment_count>
      <attachid>449279</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-01-19 11:51:50 -0800</bug_when>
    <thetext>Comment on attachment 449279
Patch

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/StackTrace.js:163
&gt;&gt; +                firstNonNativeNonAnonymousCallFrame ??= frame;
&gt; 
&gt; Nice catch. It&apos;s a bit concerning that we don&apos;t seem to test this anywhere, though.

Good point!  I&apos;ll add a test for this :)

And actually, I&apos;ll split this into a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832135</commentid>
    <comment_count>5</comment_count>
      <attachid>449505</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2022-01-19 12:07:05 -0800</bug_when>
    <thetext>Created attachment 449505
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1832238</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-19 14:39:29 -0800</bug_when>
    <thetext>Committed r288243 (246196@main): &lt;https://commits.webkit.org/246196@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 449505.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449279</attachid>
            <date>2022-01-15 18:31:55 -0800</date>
            <delta_ts>2022-01-19 12:07:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234648-20220115193047.patch</filename>
            <type>text/plain</type>
            <size>35868</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDI4Y2IwYzkxNjA0MDEwOGVlNjQzMmE4MWUxMTE5
NWFkNjNhZmI2YzguLjkyZGQ4ZGY5NTY2OTEyOTQzNjQzNjJlM2NkODE5ZWI5NmM1YmVmYmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDg2IEBACisyMDIyLTAxLTE1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBi
bGFja2JveGVkIGNhbGwgZnJhbWVzIHNob3VsZCBiZSBncm91cGVkIGV2ZXJ5d2hlcmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDY0OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODcwMTgxMDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NhbGxGcmFt
ZVRyZWVDb250cm9sbGVyLmpzOgorICAgICAgICAoV0kuQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIu
cHJvdG90eXBlLmdyb3VwQmxhY2tib3hlZENhbGxGcmFtZXMpOiBBZGRlZC4KKyAgICAgICAgKFdJ
LkNhbGxGcmFtZVRyZWVDb250cm9sbGVyLnByb3RvdHlwZS5ncm91cEJsYWNrYm94ZWRDYWxsRnJh
bWVzLmRpc3BsYXlhYmxlKTogQWRkZWQuCisgICAgICAgIChXSS5DYWxsRnJhbWVUcmVlQ29udHJv
bGxlci5wcm90b3R5cGUuc2V0IGNhbGxGcmFtZXMpOiBBZGRlZC4KKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL1N0YWNrVHJhY2VWaWV3LmpzOgorICAgICAgICAoV0kuU3RhY2tUcmFjZVZp
ZXcpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVGhyZWFkVHJlZUVsZW1lbnQuanM6
CisgICAgICAgIChXSS5UaHJlYWRUcmVlRWxlbWVudC5wcm90b3R5cGUucmVmcmVzaCk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzOgorICAgICAgICAo
V0kuVGltZWxpbmVEYXRhR3JpZC5wcm90b3R5cGUuX2NyZWF0ZVBvcG92ZXJDb250ZW50KToKKyAg
ICAgICAgKFdJLlRpbWVsaW5lRGF0YUdyaWQucHJvdG90eXBlLl9wb3BvdmVyQ2FsbFN0YWNrVHJl
ZUVsZW1lbnRSZW1vdmVkKToKKyAgICAgICAgQ2VudHJhbGl6ZSBjb2RlIGZvciBjcmVhdGluZyBz
dGFjayB0cmFjZSB2aWV3cyBzbyB0aGF0IHRoZSBsb2dpYyB0aGF0IGdyb3VwcyBibGFja2JveGVk
IGNhbGwKKyAgICAgICAgZnJhbWVzIChhbmQgdGhlIGFzc29jaWF0ZWQgYFdJLkJsYWNrYm94ZWRH
cm91cFRyZWVFbGVtZW50YC9gV0kuQmxhY2tib3hlZEdyb3VwVmlld2ApIGNhbiBiZQorICAgICAg
ICBzaGFyZWQgd2l0aG91dCBkdXBsaWNhdGlvbi4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXSS5CbGFja2Jv
eGVkR3JvdXBUcmVlRWxlbWVudCk6CisgICAgICAgIChXSS5CbGFja2JveGVkR3JvdXBUcmVlRWxl
bWVudC5wcm90b3R5cGUuZXhwYW5kKToKKyAgICAgICAgKFdJLkJsYWNrYm94ZWRHcm91cFRyZWVF
bGVtZW50LnByb3RvdHlwZS5jdXN0b21UaXRsZVRvb2x0aXApOiBBZGRlZC4KKyAgICAgICAgQWRk
IGEgcGFyYW1ldGVyIHRvIGNvbnRyb2wgd2hldGhlciB0byByZW1lbWJlciB3aGVuIGV4cGFuZGlu
ZyBibGFja2JveGVkIGNhbGwgZnJhbWUgZ3JvdXBzCisgICAgICAgIHNvIHRoYXQgdGhleSBjYW4g
bGF0ZXIgYmUgYXV0by1leHBhbmRlZC4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGF0IGZlYXR1
cmUgaXMgaW50ZW5kZWQgc28KKyAgICAgICAgdGhhdCBzdGVwcGluZyBkb2Vzbid0IHJlLWNvbGxh
cHNlIHByZXZpb3VzbHkgZXhwYW5kZWQgYmxhY2tib3hlZCBjYWxsIGZyYW1lIGdyb3Vwcy4gQSBt
b3JlCisgICAgICAgIHRlY2huaWNhbCByZWFzb24gaXMgdGhhdCBub24tZGVidWdnaW5nIGNhbGwg
c3RhY2tzIGNhbiBsaXZlIChpLmUuIGJlIHNob3duKSBmb3IgYSBsb25nIHRpbWUKKyAgICAgICAg
YW5kIHRoZXJlZm9yZSB0aGVyZSdzIG5vIGdvb2Qgd2F5IHRvIGNsZWFyIHRoZSByZW1lbWJlcmVk
IHN0YXRlLCBhbmQgd2UgcHJvYmFibHkgZG9uJ3Qgd2FudAorICAgICAgICB0byBoYXZlIGEgcHJl
dmlvdXMgZXhwYW5zaW9uIGluIHRoZSBUaW1lbGluZXMgVGFiIG9yIENhbnZhcyBUYWIgc3VkZGVu
bHkgY2F1c2UgYWxsIG1hdGNoaW5nCisgICAgICAgIGJsYWNrYm94ZWQgY2FsbCBmcmFtZSBncm91
cHMgaW4gdGhlIFNvdXJjZXMgVGFiIHRvIGFsd2F5cyBiZSBleHBhbmRlZC4KKyAgICAgICAgRHJp
dmUtYnk6IE92ZXJyaWRlIHRoZSB0b29sdGlwIHRvIGV4cGxhaW4gdGhhdCBjbGlja2luZyBzaG93
cyB0aGUgYmxhY2tib3hlZCBjYWxsIGZyYW1lcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5qczogQWRkZWQuCisgICAgICAgIChXSS5CbGFja2Jv
eGVkR3JvdXBWaWV3KToKKyAgICAgICAgKFdJLkJsYWNrYm94ZWRHcm91cFZpZXcuZ2VuZXJhdGVU
aXRsZSk6CisgICAgICAgIChXSS5CbGFja2JveGVkR3JvdXBWaWV3LmdlbmVyYXRlU3VidGl0bGUp
OgorICAgICAgICAoV0kuQmxhY2tib3hlZEdyb3VwVmlldy5nZW5lcmF0ZVRvb2x0aXApOgorICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5jc3M6IEFkZGVk
LgorICAgICAgICAoLmJsYWNrYm94ZWQtZ3JvdXApOgorICAgICAgICAoLmJsYWNrYm94ZWQtZ3Jv
dXAgPiAqKToKKyAgICAgICAgKC5ibGFja2JveGVkLWdyb3VwIC5pY29uKToKKyAgICAgICAgKC5i
bGFja2JveGVkLWdyb3VwIC5zdWJ0aXRsZSk6CisgICAgICAgICguYmxhY2tib3hlZC1ncm91cCAu
c2VwYXJhdG9yKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmsp
IC5ibGFja2JveGVkLWdyb3VwIC5pY29uKToKKyAgICAgICAgKEBtZWRpYSAocHJlZmVycy1jb2xv
ci1zY2hlbWU6IGRhcmspIC5ibGFja2JveGVkLWdyb3VwIC5zdWJ0aXRsZSk6CisgICAgICAgIChA
bWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSAuYmxhY2tib3hlZC1ncm91cCAuc2Vw
YXJhdG9yKToKKyAgICAgICAgQWRkIGEgbm9uLXRyZWUgVUkgY2xhc3MgZm9yIHNob3dpbmcgYmxh
Y2tib3hlZCBjYWxsIGZyYW1lIGdyb3VwcyAoanVzdCBsaWtlIGhvdyB0aGVyZSdzCisgICAgICAg
IGBXSS5DYWxsRnJhbWVUcmVlRWxlbWVudGAgZm9yIHRyZWUgVUlzIGFuZCBgV0kuQ2FsbEZyYW1l
Vmlld2AgZm9yIG5vbi10cmVlIFVJcykuIEFsc28KKyAgICAgICAgY2VudHJhbGl6ZSB0aGUgVUkg
c3RyaW5ncyBmb3IgYWxsIGJsYWNrYm94ZWQgY2FsbCBmcmFtZSBncm91cCBVSXMgYXMgYHN0YXRp
Y2AgbWV0aG9kcy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdy
b3VwVHJlZUVsZW1lbnQuY3NzOgorICAgICAgICAoLnRyZWUtb3V0bGluZSAuaXRlbS5ibGFja2Jv
eGVkLWdyb3VwLnNlbGVjdGVkID4gKik6IEFkZGVkLgorICAgICAgICAoLnRyZWUtb3V0bGluZTpu
b3QoOmZvY3VzLXdpdGhpbikgLml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCA+ICosIGJv
ZHk6aXMoLndpbmRvdy1pbmFjdGl2ZSwgLndpbmRvdy1kb2NrZWQtaW5hY3RpdmUpIC50cmVlLW91
dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCA+ICopOiBBZGRlZC4KKyAgICAg
ICAgKC50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cCk6IERlbGV0ZWQuCisgICAg
ICAgICgudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3JvdXA6bm90KC5zZWxlY3RlZCkg
PiAqLCAudHJlZS1vdXRsaW5lOm5vdCg6Zm9jdXMtd2l0aGluKSAuaXRlbS5ibGFja2JveGVkLWdy
b3VwLnNlbGVjdGVkID4gKiwgYm9keTppcygud2luZG93LWluYWN0aXZlLCAud2luZG93LWRvY2tl
ZC1pbmFjdGl2ZSkgLnRyZWUtb3V0bGluZSAuaXRlbS5ibGFja2JveGVkLWdyb3VwLnNlbGVjdGVk
ID4gKik6IERlbGV0ZWQuCisgICAgICAgICgudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQt
Z3JvdXAgLmljb24pOiBEZWxldGVkLgorICAgICAgICAoQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNj
aGVtZTogZGFyaykgLnRyZWUtb3V0bGluZSAuaXRlbS5ibGFja2JveGVkLWdyb3VwIC5pY29uKTog
RGVsZXRlZC4KKyAgICAgICAgU2hhcmUgc3R5bGVzIGZyb20gYFVzZXJJbnRlcmZhY2UvVmlld3Mv
QmxhY2tib3hlZEdyb3VwVmlldy5jc3NgIHNpbmNlIGJvdGggc2hhcmUgYC5ibGFja2JveGVkLWdy
b3VwYC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1N0YWNrVHJhY2UuanM6Cisg
ICAgICAgIChXSS5TdGFja1RyYWNlKToKKyAgICAgICAgRHJpdmUtYnk6IERvbid0IGFzc2lnbiB0
byBgZmlyc3ROb25OYXRpdmVOb25Bbm9ueW1vdXNDYWxsRnJhbWVgIG1vcmUgdGhhbiBvbmNlIHNp
bmNlIGl0J3MKKyAgICAgICAgICAgICAgICAgIHN1cHBvc2VkIHRvIGJlIHRoZSAqZmlyc3QqLCBu
b3QgdGhlIGxhc3QuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRy
ZWVFbGVtZW50LmpzOgorICAgICAgICBEcml2ZS1ieTogQ29tYmluZSBvcHRpb25hbCBwYXJhbWV0
ZXJzIGludG8gYW4gYG9wdGlvbnMgPSB7fWAgZm9yIGN1cnJlbnQgY29kZSBjbGVhbmxpbmVzcwor
ICAgICAgICAgICAgICAgICAgYW5kIGdyZWF0ZXIgZmxleGliaWxpdHkgZm9yIGZ1dHVyZSBjaGFu
Z2VzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WYXJpYWJsZXMuY3NzOgorICAg
ICAgICAoOnJvb3QpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJl
ZUVsZW1lbnQuY3NzOgorICAgICAgICAoLnRyZWUtb3V0bGluZSAuaXRlbS5jYWxsLWZyYW1lLmJs
YWNrYm94ZWQ6bm90KC5zZWxlY3RlZCkpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Q2FsbEZyYW1lVmlldy5jc3M6CisgICAgICAgICguY2FsbC1mcmFtZS5ibGFja2JveGVkID4gLnRp
dGxlLCk6CisgICAgICAgIERyaXZlLWJ5OiBSZW5hbWUgYC0tYmxhY2tib3hlZC10cmVlLWl0ZW0t
b3BhY2l0eWAgc2luY2UgaXQncyBub3cgYWxzbyB1c2VkIG91dHNpZGUgdHJlZXMuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL01haW4uaHRtbDoKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2Vu
Lmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisKIDIwMjItMDEtMTQgIERldmluIFJvdXNzbyAg
PGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNvdXJjZXM6IGNh
bm5vdCBjb3B5IGdyb3VwaW5nIG9mIGJsYWNrYm94ZWQgY2FsbCBmcmFtZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGJhMmVmNjE3YjZjMDUyMmMwOWMwYmZhNGNlZjQxYmU3
YzQ3M2ZmMGUuLjY2YzBmMzI3M2U0YWNlZTdhM2YyMzViZGNmYWU1YTEyNjYwODI5ODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2Fs
aXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMv
ZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpAQCAtMzI3LDYgKzMyNywxMCBAQCBsb2NhbGl6
ZWRTdHJpbmdzWyJDbGljayB0byBzaG93ICVkIGVycm9yIGluIHRoZSBDb25zb2xlIl0gPSAiQ2xp
Y2sgdG8gc2hvdyAlZCBlcgogbG9jYWxpemVkU3RyaW5nc1siQ2xpY2sgdG8gc2hvdyAlZCBlcnJv
cnMgaW4gdGhlIENvbnNvbGUiXSA9ICJDbGljayB0byBzaG93ICVkIGVycm9ycyBpbiB0aGUgQ29u
c29sZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJDbGljayB0byBzaG93ICVkIHdhcm5pbmcgaW4gdGhl
IENvbnNvbGUiXSA9ICJDbGljayB0byBzaG93ICVkIHdhcm5pbmcgaW4gdGhlIENvbnNvbGUiOwog
bG9jYWxpemVkU3RyaW5nc1siQ2xpY2sgdG8gc2hvdyAlZCB3YXJuaW5ncyBpbiB0aGUgQ29uc29s
ZSJdID0gIkNsaWNrIHRvIHNob3cgJWQgd2FybmluZ3MgaW4gdGhlIENvbnNvbGUiOworLyogVG9v
bHRpcCBmb3IgdGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZScgbGFiZWwgc2hvd24gaW4g
dGhlIGRlYnVnZ2VyIGNhbGwgc3RhY2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1ZW50
IGNhbGwgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGJsYWNrYm94ZWQuICovCitsb2NhbGl6ZWRTdHJp
bmdzWyJDbGljayB0byBzaG93IGJsYWNrYm94ZWQgY2FsbCBmcmFtZSBAIERlYnVnZ2VyIENhbGwg
U3RhY2siXSA9ICJDbGljayB0byBzaG93ICVkIGJsYWNrYm94ZWQgY2FsbCBmcmFtZSI7CisvKiBU
b29sdGlwIGZvciB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxsIGZyYW1lcycgbGFiZWwgc2hvd24g
aW4gdGhlIGRlYnVnZ2VyIGNhbGwgc3RhY2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1
ZW50IGNhbGwgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGJsYWNrYm94ZWQuICovCitsb2NhbGl6ZWRT
dHJpbmdzWyJDbGljayB0byBzaG93IGJsYWNrYm94ZWQgY2FsbCBmcmFtZXMgQCBEZWJ1Z2dlciBD
YWxsIFN0YWNrIl0gPSAiQ2xpY2sgdG8gc2hvdyAlZCBibGFja2JveGVkIGNhbGwgZnJhbWVzIjsK
IC8qIFRvb2x0aXAgdG8gc2hvdyBwdXJwb3NlIG9mIHRoZSBDU1MgZG9jdW1lbnRhdGlvbiBidXR0
b24gKi8KIGxvY2FsaXplZFN0cmluZ3NbIkNsaWNrIHRvIHNob3cgZG9jdW1lbnRhdGlvbiBAIENT
UyBEb2N1bWVudGF0aW9uIEJ1dHRvbiJdID0gIkNsaWNrIHRvIHNob3cgZG9jdW1lbnRhdGlvbiI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJDbGljayB0byB2aWV3IHZhcmlhYmxlIHZhbHVlXG5TaGlmdC1j
bGljayB0byByZXBsYWNlIHZhcmlhYmxlIHdpdGggdmFsdWUiXSA9ICJDbGljayB0byB2aWV3IHZh
cmlhYmxlIHZhbHVlXG5TaGlmdC1jbGljayB0byByZXBsYWNlIHZhcmlhYmxlIHdpdGggdmFsdWUi
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJv
bGxlcnMvQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db250cm9sbGVycy9DYWxsRnJhbWVUcmVlQ29udHJvbGxlci5qcwppbmRl
eCA4NzQ0YTE5YjgyZjBmNzMzNjA3OWJlOTk0YTM1MzZiN2M1OGExZjc2Li41YWU0Y2UyODg3ZmJm
M2E4YjQwYTFjNmMwODY2Y2IxYWYzM2FlZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9DYWxsRnJhbWVUcmVlQ29udHJvbGxlci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9D
YWxsRnJhbWVUcmVlQ29udHJvbGxlci5qcwpAQCAtMzksNiArMzksNzUgQEAgV0kuQ2FsbEZyYW1l
VHJlZUNvbnRyb2xsZXIgPSBjbGFzcyBDYWxsRnJhbWVUcmVlQ29udHJvbGxlciBleHRlbmRzIFdJ
Lk9iamVjdAogICAgICAgICAgICAgdGhpcy5fdHJlZU91dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihX
SS5UcmVlT3V0bGluZS5FdmVudC5FbGVtZW50Q2xpY2tlZCwgdGhpcy5fdHJlZUVsZW1lbnRDbGlj
a2VkLCB0aGlzKTsKICAgICB9CiAKKyAgICAvLyBTdGF0aWMKKworICAgIHN0YXRpYyBncm91cEJs
YWNrYm94ZWRDYWxsRnJhbWVzKHBhcmVudCwgY2FsbEZyYW1lcywge3JlbWVtYmVyQmxhY2tib3hl
ZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kfSA9IHt9KQorICAgIHsKKyAgICAgICAgbGV0IHBh
cmVudElzTm9kZSA9IHBhcmVudCBpbnN0YW5jZW9mIE5vZGU7CisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KHBhcmVudElzTm9kZSB8fCBwYXJlbnQgaW5zdGFuY2VvZiBXSS5UcmVlT3V0bGluZSB8fCBw
YXJlbnQgaW5zdGFuY2VvZiBXSS5UcmVlRWxlbWVudCwgcGFyZW50KTsKKyAgICAgICAgY29uc29s
ZS5hc3NlcnQoQXJyYXkuaXNBcnJheShjYWxsRnJhbWVzKSAmJiBjYWxsRnJhbWVzLmxlbmd0aCAm
JiBjYWxsRnJhbWVzLmV2ZXJ5KChjYWxsRnJhbWUpID0+IGNhbGxGcmFtZSBpbnN0YW5jZW9mIFdJ
LkNhbGxGcmFtZSksIGNhbGxGcmFtZXMpOworCisgICAgICAgIGxldCBCbGFja2JveGVkR3JvdXBV
SUNsYXNzID0gcGFyZW50SXNOb2RlID8gV0kuQmxhY2tib3hlZEdyb3VwVmlldyA6IFdJLkJsYWNr
Ym94ZWRHcm91cFRyZWVFbGVtZW50OworICAgICAgICBsZXQgYmxhY2tib3hlZEdyb3VwVUlPcHRp
b25zID0ge3JlbWVtYmVyQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kfTsKKwor
ICAgICAgICBsZXQgQ2FsbEZyYW1lVUlDbGFzcyA9IHBhcmVudElzTm9kZSA/IFdJLkNhbGxGcmFt
ZVZpZXcgOiBXSS5DYWxsRnJhbWVUcmVlRWxlbWVudDsKKyAgICAgICAgbGV0IGNhbGxGcmFtZVVJ
T3B0aW9ucyA9IHtzaG93RnVuY3Rpb25OYW1lOiB0cnVlLCBpbmRpY2F0ZUlmQmxhY2tib3hlZDog
dHJ1ZX07CisKKyAgICAgICAgbGV0IGFjdGl2ZUNhbGxGcmFtZSA9IFdJLmRlYnVnZ2VyTWFuYWdl
ci5hY3RpdmVDYWxsRnJhbWU7CisgICAgICAgIGxldCBhY3RpdmVDYWxsRnJhbWVUcmVlRWxlbWVu
dCA9IG51bGw7CisKKyAgICAgICAgbGV0IGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFN0YXJ0SW5k
ZXggPSB1bmRlZmluZWQ7CisKKyAgICAgICAgZnVuY3Rpb24gZGlzcGxheWFibGUoY2FsbEZyYW1l
KSB7CisgICAgICAgICAgICBpZiAocGFyZW50SXNOb2RlKSB7CisgICAgICAgICAgICAgICAgaWYg
KCFjYWxsRnJhbWUuc291cmNlQ29kZUxvY2F0aW9uICYmIGNhbGxGcmFtZS5mdW5jdGlvbk5hbWUg
PT09IG51bGwpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAg
ICAgICAgIGlmIChjYWxsRnJhbWUuaXNDb25zb2xlRXZhbHVhdGlvbiAmJiAhV0kuc2V0dGluZ3Mu
ZGVidWdTaG93Q29uc29sZUV2YWx1YXRpb25zLnZhbHVlKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gQWRkIG9uZSBleHRyYSBpdGVyYXRpb24gdG8gaGFuZGxl
IGNhbGwgc3RhY2tzIHRoYXQgc3RhcnQgYmxhY2tib3hlZC4KKyAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCBjYWxsRnJhbWVzLmxlbmd0aCArIDE7ICsraSkgeworICAgICAgICAgICAgbGV0IGNh
bGxGcmFtZSA9IGNhbGxGcmFtZXNbaV07CisKKyAgICAgICAgICAgIGlmIChjYWxsRnJhbWUpIHsK
KyAgICAgICAgICAgICAgICBpZiAoIWRpc3BsYXlhYmxlKGNhbGxGcmFtZSkpCisgICAgICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS5ibGFj
a2JveGVkICYmIFdJLnNldHRpbmdzLmV4cGVyaW1lbnRhbENvbGxhcHNlQmxhY2tib3hlZENhbGxG
cmFtZXMudmFsdWUpIHsKKyAgICAgICAgICAgICAgICAgICAgYmxhY2tib3hlZENhbGxGcmFtZUdy
b3VwU3RhcnRJbmRleCA/Pz0gaTsKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoYmxhY2tib3hl
ZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCAhPT0gdW5kZWZpbmVkKSB7CisgICAgICAgICAgICAg
ICAgbGV0IGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cCA9IGNhbGxGcmFtZXMuc2xpY2UoYmxhY2ti
b3hlZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCwgaSkuZmlsdGVyKGRpc3BsYXlhYmxlKTsKKyAg
ICAgICAgICAgICAgICBibGFja2JveGVkQ2FsbEZyYW1lR3JvdXBTdGFydEluZGV4ID0gdW5kZWZp
bmVkOworCisgICAgICAgICAgICAgICAgaWYgKCFyZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVH
cm91cFRvQXV0b0V4cGFuZCB8fCAhV0kuZGVidWdnZXJNYW5hZ2VyLnNob3VsZEF1dG9FeHBhbmRC
bGFja2JveGVkQ2FsbEZyYW1lR3JvdXAoYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKSkKKyAgICAg
ICAgICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKG5ldyBCbGFja2JveGVkR3JvdXBVSUNs
YXNzKGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cCwgYmxhY2tib3hlZEdyb3VwVUlPcHRpb25zKSk7
CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGJs
YWNrYm94ZWRDYWxsRnJhbWUgb2YgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKQorICAgICAgICAg
ICAgICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKG5ldyBDYWxsRnJhbWVVSUNsYXNzKGJs
YWNrYm94ZWRDYWxsRnJhbWUsIGNhbGxGcmFtZVVJT3B0aW9ucykpOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFjYWxsRnJhbWUpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgICAgIGxldCBjYWxsRnJhbWVUcmVlRWxlbWVu
dCA9IG5ldyBDYWxsRnJhbWVVSUNsYXNzKGNhbGxGcmFtZSwgY2FsbEZyYW1lVUlPcHRpb25zKTsK
KyAgICAgICAgICAgIGlmIChjYWxsRnJhbWUgPT09IGFjdGl2ZUNhbGxGcmFtZSAmJiAhcGFyZW50
SXNOb2RlKQorICAgICAgICAgICAgICAgIGFjdGl2ZUNhbGxGcmFtZVRyZWVFbGVtZW50ID0gY2Fs
bEZyYW1lVHJlZUVsZW1lbnQ7CisgICAgICAgICAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoY2FsbEZy
YW1lVHJlZUVsZW1lbnQpOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGFjdGl2ZUNhbGxG
cmFtZVRyZWVFbGVtZW50OworICAgIH0KKwogICAgIC8vIFB1YmxpYwogCiAgICAgZ2V0IHRyZWVP
dXRsaW5lKCkgeyByZXR1cm4gdGhpcy5fdHJlZU91dGxpbmU7IH0KQEAgLTU4LDggKzEyNyw3IEBA
IFdJLkNhbGxGcmFtZVRyZWVDb250cm9sbGVyID0gY2xhc3MgQ2FsbEZyYW1lVHJlZUNvbnRyb2xs
ZXIgZXh0ZW5kcyBXSS5PYmplY3QKIAogICAgICAgICB0aGlzLl90cmVlT3V0bGluZS5yZW1vdmVD
aGlsZHJlbigpOwogCi0gICAgICAgIGZvciAobGV0IGNhbGxGcmFtZSBvZiB0aGlzLl9jYWxsRnJh
bWVzKQotICAgICAgICAgICAgdGhpcy5fdHJlZU91dGxpbmUuYXBwZW5kQ2hpbGQobmV3IFdJLkNh
bGxGcmFtZVRyZWVFbGVtZW50KGNhbGxGcmFtZSkpOworICAgICAgICBXSS5DYWxsRnJhbWVUcmVl
Q29udHJvbGxlci5ncm91cEJsYWNrYm94ZWRDYWxsRnJhbWVzKHRoaXMuX3RyZWVPdXRsaW5lLCB0
aGlzLl9jYWxsRnJhbWVzKTsKICAgICB9CiAKICAgICBkaXNjb25uZWN0KCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbCBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRtbAppbmRleCAyNzhmYzBhMThkNTg1
NjYzOTkzODc3ZWRmMTUwZTUwNzhkMTUwNWE5Li5jYWJjZmQzOWMzYjJiMmRmOWNmZjA3OTljOGRk
MjhmZmJkMWM0MzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9NYWluLmh0bWwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5odG1sCkBAIC00Nyw2ICs0Nyw3IEBACiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9CYW5uZXJWaWV3LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJWaWV3cy9CZXppZXJFZGl0b3IuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9IlZpZXdzL0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50LmNzcyI+CisgICAgPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9CbGFja2JveGVkR3JvdXBWaWV3LmNzcyI+CiAg
ICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9CbGFja2JveFNldHRpbmdzVmll
dy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvQm9vdHN0cmFw
U2NyaXB0VHJlZUVsZW1lbnQuY3NzIj4KICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
IlZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuY3NzIj4KQEAgLTYzOCw2ICs2MzksNyBA
QAogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9CZXppZXJFZGl0b3IuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgc3JjPSJWaWV3cy9CbGFja2JveFNldHRpbmdzVmlldy5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50LmpzIj48L3Nj
cmlwdD4KKyAgICA8c2NyaXB0IHNyYz0iVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0Jvb3RzdHJhcFNjcmlwdFRyZWVFbGVtZW50
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iVmlld3MvQm94TW9kZWxEZXRhaWxzU2Vj
dGlvblJvdy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0JveFNoYWRvd0Vk
aXRvci5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvU3RhY2tUcmFjZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCmluZGV4IGMxYmQwMTM0YTg1YTYwYzBk
OGY2NWM5N2ZkZjk5ZDE1MTFlM2YwM2MuLjlmZDVlMjY2YjU5N2UxMWNjOWQyOGU2OTgxZTQwMzky
NDNiNDU3YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01vZGVscy9TdGFja1RyYWNlLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9TdGFja1RyYWNlLmpzCkBAIC0xNjAsNyArMTYwLDcgQEAgV0kuU3RhY2tU
cmFjZSA9IGNsYXNzIFN0YWNrVHJhY2UKIAogICAgICAgICAgICAgICAgIC8vIFNhdmUgdGhlIGZp
cnN0IG5vbi1uYXRpdmUgbm9uLWFub255bW91cyBjYWxsIGZyYW1lIHNvIGl0IGNhbiBiZSB1c2Vk
IGFzIGEKICAgICAgICAgICAgICAgICAvLyBmYWxsYmFjayBpZiBhbGwgcmVtYWluaW5nIGNhbGwg
ZnJhbWVzIGFyZSBibGFja2JveGVkLgotICAgICAgICAgICAgICAgIGZpcnN0Tm9uTmF0aXZlTm9u
QW5vbnltb3VzQ2FsbEZyYW1lID0gZnJhbWU7CisgICAgICAgICAgICAgICAgZmlyc3ROb25OYXRp
dmVOb25Bbm9ueW1vdXNDYWxsRnJhbWUgPz89IGZyYW1lOwogCiAgICAgICAgICAgICAgICAgaWYg
KFdJLmRlYnVnZ2VyTWFuYWdlci5ibGFja2JveERhdGFGb3JTb3VyY2VDb2RlKHNvdXJjZUNvZGUp
KQogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50
LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94
ZWRHcm91cFRyZWVFbGVtZW50LmNzcwppbmRleCA1ZGY3ZWIwZWRhMmIzNmZjYzAwMzFkMDdjOWYw
YWIxZTZiZGQ3ZjUwLi42NTBjODAwZThmMGEyMmRkZWM2ODkxNWJjNTYyYWY3NzdkM2VkY2UxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CbGFj
a2JveGVkR3JvdXBUcmVlRWxlbWVudC5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuY3NzCkBAIC0yMywy
NiArMjMsMTcgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0u
dHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3JvdXAgewotICAgIGN1cnNvcjogcG9pbnRl
cjsKKy8qIFN0eWxlcyBzaGFyZWQgd2l0aCBgV0kuQmxhY2tib3hlZEdyb3VwVmlld2AuICovCisK
Ky50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCA+ICogeworICAg
IG9wYWNpdHk6IHVuc2V0OwogfQogCi0udHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3Jv
dXA6bm90KC5zZWxlY3RlZCkgPiAqLAogLnRyZWUtb3V0bGluZTpub3QoOmZvY3VzLXdpdGhpbikg
Lml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCA+ICosCiBib2R5OmlzKC53aW5kb3ctaW5h
Y3RpdmUsIC53aW5kb3ctZG9ja2VkLWluYWN0aXZlKSAudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNr
Ym94ZWQtZ3JvdXAuc2VsZWN0ZWQgPiAqIHsKLSAgICBvcGFjaXR5OiB2YXIoLS1ibGFja2JveGVk
LXRyZWUtaXRlbS1vcGFjaXR5KTsKLX0KLQotLnRyZWUtb3V0bGluZSAuaXRlbS5ibGFja2JveGVk
LWdyb3VwIC5pY29uIHsKLSAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL0hpZGUuc3ZnI2JsYWNr
KTsKKyAgICBvcGFjaXR5OiB2YXIoLS1ibGFja2JveGVkLW9wYWNpdHkpOwogfQogCiBib2R5Om5v
dCgud2luZG93LWluYWN0aXZlLCAud2luZG93LWRvY2tlZC1pbmFjdGl2ZSkgLnRyZWUtb3V0bGlu
ZTpmb2N1cy13aXRoaW4gLml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCAuaWNvbiB7CiAg
ICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9IaWRlLnN2ZyN3aGl0ZSk7CiB9Ci0KLUBtZWRpYSAo
cHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKLSAgICAudHJlZS1vdXRsaW5lIC5pdGVtLmJs
YWNrYm94ZWQtZ3JvdXAgLmljb24gewotICAgICAgICBjb250ZW50OiB1cmwoLi4vSW1hZ2VzL0hp
ZGUuc3ZnI3doaXRlKTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudC5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91cFRy
ZWVFbGVtZW50LmpzCmluZGV4IDlmY2VmMzczZjAyNWRhNTVmYzkwNTE4YmY4MDUzNzIwOTdhODRh
ZjIuLjU3MWZhMjcyYzhlNjAxODZiY2QyOGNiYjQ0NDlhMGNlNDcwN2M1ZjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91
cFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50LmpzCkBAIC0yNSwyMiArMjUsMTcgQEAK
IAogV0kuQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQgPSBjbGFzcyBCbGFja2JveGVkR3JvdXBU
cmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUcmVlRWxlbWVudAogewotICAgIGNvbnN0cnVj
dG9yKGNhbGxGcmFtZXMpCisgICAgY29uc3RydWN0b3IoY2FsbEZyYW1lcywge3JlbWVtYmVyQmxh
Y2tib3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kfSA9IHt9KQogICAgIHsKLSAgICAgICAg
Y29uc29sZS5hc3NlcnQoIVdJLmRlYnVnZ2VyTWFuYWdlci5zaG91bGRBdXRvRXhwYW5kQmxhY2ti
b3hlZENhbGxGcmFtZUdyb3VwKGNhbGxGcmFtZXMpLCBjYWxsRnJhbWVzKTsKKyAgICAgICAgY29u
c29sZS5hc3NlcnQoIXJlbWVtYmVyQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5k
IHx8ICFXSS5kZWJ1Z2dlck1hbmFnZXIuc2hvdWxkQXV0b0V4cGFuZEJsYWNrYm94ZWRDYWxsRnJh
bWVHcm91cChjYWxsRnJhbWVzKSwgY2FsbEZyYW1lcyk7CiAKICAgICAgICAgY29uc3QgY2xhc3NO
YW1lcyA9IFsiYmxhY2tib3hlZC1ncm91cCJdOwotICAgICAgICBjb25zdCB0aXRsZSA9IFdJLlVJ
U3RyaW5nKCJCbGFja2JveGVkIiwgIkJsYWNrYm94ZWQgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIiwg
IlBhcnQgb2YgdGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZXMnIGxhYmVsIHNob3duIGlu
IHRoZSBkZWJ1Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVu
dCBjYWxsIGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiIpOwotICAgICAgICBsZXQg
c3VidGl0bGU7Ci0gICAgICAgIGlmIChjYWxsRnJhbWVzLmxlbmd0aCA9PT0gMSkKLSAgICAgICAg
ICAgIHN1YnRpdGxlID0gV0kuVUlTdHJpbmcoIiVkIGNhbGwgZnJhbWUiLCAiY2FsbCBmcmFtZSBA
IERlYnVnZ2VyIENhbGwgU3RhY2siLCAiUGFydCBvZiB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxs
IGZyYW1lJyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNl
ZCBpbnN0ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2ti
b3hlZC4iKS5mb3JtYXQoY2FsbEZyYW1lcy5sZW5ndGgpOwotICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBzdWJ0aXRsZSA9IFdJLlVJU3RyaW5nKCIlZCBjYWxsIGZyYW1lcyIsICJjYWxsIGZyYW1l
cyBAIERlYnVnZ2VyIENhbGwgU3RhY2siLCAiUGFydCBvZiB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBj
YWxsIGZyYW1lcycgbGFiZWwgc2hvd24gaW4gdGhlIGRlYnVnZ2VyIGNhbGwgc3RhY2sgd2hlbiBw
YXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1ZW50IGNhbGwgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGJs
YWNrYm94ZWQuIikuZm9ybWF0KGNhbGxGcmFtZXMubGVuZ3RoKTsKLQotICAgICAgICBzdXBlcihj
bGFzc05hbWVzLCB0aXRsZSwgc3VidGl0bGUpOworICAgICAgICBzdXBlcihjbGFzc05hbWVzLCBX
SS5CbGFja2JveGVkR3JvdXBWaWV3LmdlbmVyYXRlVGl0bGUoY2FsbEZyYW1lcyksIFdJLkJsYWNr
Ym94ZWRHcm91cFZpZXcuZ2VuZXJhdGVTdWJ0aXRsZShjYWxsRnJhbWVzKSk7CiAKICAgICAgICAg
dGhpcy50b2dnbGVPbkNsaWNrID0gdHJ1ZTsKKwogICAgICAgICB0aGlzLl9jYWxsRnJhbWVzID0g
Y2FsbEZyYW1lczsKKyAgICAgICAgdGhpcy5fcmVtZW1iZXJCbGFja2JveGVkQ2FsbEZyYW1lR3Jv
dXBUb0F1dG9FeHBhbmQgPSByZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4
cGFuZCB8fCBmYWxzZTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTU0LDcgKzQ5LDggQEAg
V0kuQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQgPSBjbGFzcyBCbGFja2JveGVkR3JvdXBUcmVl
RWxlbWVudCBleHRlbmRzIFdJLkdlbmUKIAogICAgIGV4cGFuZCgpCiAgICAgewotICAgICAgICBX
SS5kZWJ1Z2dlck1hbmFnZXIucmVtZW1iZXJCbGFja2JveGVkQ2FsbEZyYW1lR3JvdXBUb0F1dG9F
eHBhbmQodGhpcy5fY2FsbEZyYW1lcyk7CisgICAgICAgIGlmICh0aGlzLl9yZW1lbWJlckJsYWNr
Ym94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZCkKKyAgICAgICAgICAgIFdJLmRlYnVnZ2Vy
TWFuYWdlci5yZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZCh0aGlz
Ll9jYWxsRnJhbWVzKTsKIAogICAgICAgICBsZXQgaW5kZXggPSB0aGlzLnBhcmVudC5jaGlsZHJl
bi5pbmRleE9mKHRoaXMpOwogICAgICAgICBmb3IgKGxldCBpID0gdGhpcy5fY2FsbEZyYW1lcy5s
ZW5ndGggLSAxOyBpID49IDA7IC0taSkKQEAgLTc0LDQgKzcwLDExIEBAIFdJLkJsYWNrYm94ZWRH
cm91cFRyZWVFbGVtZW50ID0gY2xhc3MgQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQgZXh0ZW5k
cyBXSS5HZW5lCiAgICAgICAgIHRoaXMuZXhwYW5kKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KKworICAgIC8vIFByb3RlY3RlZAorCisgICAgY3VzdG9tVGl0bGVUb29sdGlwKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiBXSS5CbGFja2JveGVkR3JvdXBWaWV3LmdlbmVyYXRlVG9vbHRp
cCh0aGlzLl9jYWxsRnJhbWVzKTsKKyAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5jc3MgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CbGFja2JveGVkR3JvdXBW
aWV3LmNzcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4yNWE1YjkwZjk4MTM3MzI3NmY0NGFiZmI5ZmM3MTA4MmE2OWE2
Yjc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5jc3MKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKy8qIFN0eWxlcyBzaGFyZWQgd2l0aCBgV0kuQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1l
bnRgLiAqLworCisuYmxhY2tib3hlZC1ncm91cCB7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAg
ICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKKyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAg
IGN1cnNvcjogcG9pbnRlcjsKK30KKworLmJsYWNrYm94ZWQtZ3JvdXAgPiAqIHsKKyAgICBvcGFj
aXR5OiB2YXIoLS1ibGFja2JveGVkLW9wYWNpdHkpOworfQorCisuYmxhY2tib3hlZC1ncm91cCAu
aWNvbiB7CisgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAgIHdpZHRoOiAxNnB4OworICAg
IGhlaWdodDogMTZweDsKKyAgICBtYXJnaW4taW5saW5lLWVuZDogM3B4OworICAgIHZlcnRpY2Fs
LWFsaWduOiB0b3A7CisgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9IaWRlLnN2ZyNibGFjayk7
Cit9CisKKy5ibGFja2JveGVkLWdyb3VwIC5zdWJ0aXRsZSB7CisgICAgY29sb3I6IGhzbGEoMCwg
MCUsIDAlLCAwLjYpOworICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKK30KKworLmJsYWNrYm94
ZWQtZ3JvdXAgLnNlcGFyYXRvciB7CisgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKKyAgICBjb2xv
cjogaHNsYSgwLCAwJSwgMCUsIDAuMik7Cit9CisKK0BtZWRpYSAocHJlZmVycy1jb2xvci1zY2hl
bWU6IGRhcmspIHsKKyAgICAuYmxhY2tib3hlZC1ncm91cCAuaWNvbiB7CisgICAgICAgIGNvbnRl
bnQ6IHVybCguLi9JbWFnZXMvSGlkZS5zdmcjd2hpdGUpOworICAgIH0KKworICAgIC5ibGFja2Jv
eGVkLWdyb3VwIC5zdWJ0aXRsZSB7CisgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCB2YXIoLS1m
b3JlZ3JvdW5kLWxpZ2h0bmVzcyksIDAuNik7CisgICAgfQorCisgICAgLmJsYWNrYm94ZWQtZ3Jv
dXAgLnNlcGFyYXRvciB7CisgICAgICAgIGNvbG9yOiBoc2xhKDAsIDAlLCB2YXIoLS1mb3JlZ3Jv
dW5kLWxpZ2h0bmVzcyksIDAuMik7CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5qcyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91cFZp
ZXcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzA1ZDY0OTE1M2UyY2ZmY2UxMjRlN2ZjZTc1MzgxN2I2ZjhlYzlm
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0JsYWNrYm94ZWRHcm91cFZpZXcuanMKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1dJLkJsYWNrYm94ZWRHcm91cFZpZXcgPSBjbGFzcyBCbGFja2JveGVkR3JvdXBWaWV3Cit7
CisgICAgY29uc3RydWN0b3IoY2FsbEZyYW1lcykKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNz
ZXJ0KEFycmF5LmlzQXJyYXkoY2FsbEZyYW1lcykgJiYgY2FsbEZyYW1lcy5sZW5ndGggJiYgY2Fs
bEZyYW1lcy5ldmVyeSgoY2FsbEZyYW1lKSA9PiBjYWxsRnJhbWUgaW5zdGFuY2VvZiBXSS5DYWxs
RnJhbWUpLCBjYWxsRnJhbWVzKTsKKworICAgICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICBlbGVtZW50LmNsYXNzTmFtZSA9ICJibGFja2Jv
eGVkLWdyb3VwIjsKKyAgICAgICAgZWxlbWVudC50aXRsZSA9IFdJLkJsYWNrYm94ZWRHcm91cFZp
ZXcuZ2VuZXJhdGVUb29sdGlwKGNhbGxGcmFtZXMpOworICAgICAgICBlbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgKGV2ZW50KSA9PiB7CisgICAgICAgICAgICBjb25zdCBvcHRpb25z
ID0ge3Nob3dGdW5jdGlvbk5hbWU6IHRydWUsIGluZGljYXRlSWZCbGFja2JveGVkOiB0cnVlfTsK
KyAgICAgICAgICAgIGZvciAobGV0IGkgPSBjYWxsRnJhbWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsg
LS1pKQorICAgICAgICAgICAgICAgIGVsZW1lbnQucGFyZW50RWxlbWVudC5pbnNlcnRCZWZvcmUo
bmV3IFdJLkNhbGxGcmFtZVZpZXcoY2FsbEZyYW1lc1tpXSwgb3B0aW9ucyksIGVsZW1lbnQpOwor
CisgICAgICAgICAgICBlbGVtZW50LnJlbW92ZSgpOworICAgICAgICB9KTsKKworICAgICAgICBs
ZXQgdGl0bGVFbGVtZW50ID0gZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIikpOworICAgICAgICB0aXRsZUVsZW1lbnQuY2xhc3NOYW1lID0gInRpdGxlIjsK
KworICAgICAgICBsZXQgaWNvbkVsZW1lbnQgPSB0aXRsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikpOworICAgICAgICBpY29uRWxlbWVudC5jbGFzc05h
bWUgPSAiaWNvbiI7CisKKyAgICAgICAgdGl0bGVFbGVtZW50LmFwcGVuZChXSS5CbGFja2JveGVk
R3JvdXBWaWV3LmdlbmVyYXRlVGl0bGUoY2FsbEZyYW1lcykpOworCisgICAgICAgIGxldCBzdWJ0
aXRsZUVsZW1lbnQgPSBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InNwYW4iKSk7CisgICAgICAgIHN1YnRpdGxlRWxlbWVudC5jbGFzc05hbWUgPSAic3VidGl0bGUi
OworCisgICAgICAgIGxldCBzZXBhcmF0b3JFbGVtZW50ID0gc3VidGl0bGVFbGVtZW50LmFwcGVu
ZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7CisgICAgICAgIHNlcGFyYXRv
ckVsZW1lbnQuY2xhc3NOYW1lID0gInNlcGFyYXRvciI7CisgICAgICAgIHNlcGFyYXRvckVsZW1l
bnQudGV4dENvbnRlbnQgPSAiICIgKyBlbURhc2ggKyAiICI7CisKKyAgICAgICAgc3VidGl0bGVF
bGVtZW50LmFwcGVuZChXSS5CbGFja2JveGVkR3JvdXBWaWV3LmdlbmVyYXRlU3VidGl0bGUoY2Fs
bEZyYW1lcykpOworCisgICAgICAgIHJldHVybiBlbGVtZW50OworICAgIH0KKworICAgIC8vIFN0
YXRpYworCisgICAgc3RhdGljIGdlbmVyYXRlVGl0bGUoY2FsbEZyYW1lcykKKyAgICB7CisgICAg
ICAgIHJldHVybiBXSS5VSVN0cmluZygiQmxhY2tib3hlZCIsICJCbGFja2JveGVkIEAgRGVidWdn
ZXIgQ2FsbCBTdGFjayIsICJQYXJ0IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWVz
JyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0
ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4i
KTsKKyAgICB9CisKKyAgICBzdGF0aWMgZ2VuZXJhdGVTdWJ0aXRsZShjYWxsRnJhbWVzKQorICAg
IHsKKyAgICAgICAgaWYgKGNhbGxGcmFtZXMubGVuZ3RoID09PSAxKQorICAgICAgICAgICAgcmV0
dXJuIFdJLlVJU3RyaW5nKCIlZCBjYWxsIGZyYW1lIiwgImNhbGwgZnJhbWUgQCBEZWJ1Z2dlciBD
YWxsIFN0YWNrIiwgIlBhcnQgb2YgdGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZScgbGFi
ZWwgc2hvd24gaW4gdGhlIGRlYnVnZ2VyIGNhbGwgc3RhY2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBv
ZiBzdWJzZXF1ZW50IGNhbGwgZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGJsYWNrYm94ZWQuIikuZm9y
bWF0KGNhbGxGcmFtZXMubGVuZ3RoKTsKKworICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiVk
IGNhbGwgZnJhbWVzIiwgImNhbGwgZnJhbWVzIEAgRGVidWdnZXIgQ2FsbCBTdGFjayIsICJQYXJ0
IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWVzJyBsYWJlbCBzaG93biBpbiB0aGUg
ZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0ZWFkIG9mIHN1YnNlcXVlbnQgY2Fs
bCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4iKS5mb3JtYXQoY2FsbEZyYW1lcy5s
ZW5ndGgpOworICAgIH0KKworICAgIHN0YXRpYyBnZW5lcmF0ZVRvb2x0aXAoY2FsbEZyYW1lcykK
KyAgICB7CisgICAgICAgIGlmIChjYWxsRnJhbWVzLmxlbmd0aCA9PT0gMSkKKyAgICAgICAgICAg
IHJldHVybiBXSS5VSVN0cmluZygiQ2xpY2sgdG8gc2hvdyAlZCBibGFja2JveGVkIGNhbGwgZnJh
bWUiLCAiQ2xpY2sgdG8gc2hvdyBibGFja2JveGVkIGNhbGwgZnJhbWUgQCBEZWJ1Z2dlciBDYWxs
IFN0YWNrIiwgIlRvb2x0aXAgZm9yIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWUnIGxh
YmVsIHNob3duIGluIHRoZSBkZWJ1Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQg
b2Ygc3Vic2VxdWVudCBjYWxsIGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiIpLmZv
cm1hdChjYWxsRnJhbWVzLmxlbmd0aCk7CisKKyAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJD
bGljayB0byBzaG93ICVkIGJsYWNrYm94ZWQgY2FsbCBmcmFtZXMiLCAiQ2xpY2sgdG8gc2hvdyBi
bGFja2JveGVkIGNhbGwgZnJhbWVzIEAgRGVidWdnZXIgQ2FsbCBTdGFjayIsICJUb29sdGlwIGZv
ciB0aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxsIGZyYW1lcycgbGFiZWwgc2hvd24gaW4gdGhlIGRl
YnVnZ2VyIGNhbGwgc3RhY2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1ZW50IGNhbGwg
ZnJhbWVzIHRoYXQgaGF2ZSBiZWVuIGJsYWNrYm94ZWQuIikuZm9ybWF0KGNhbGxGcmFtZXMubGVu
Z3RoKTsKKyAgICB9Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJlZUVsZW1lbnQuY3NzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJlZUVsZW1lbnQuY3NzCmluZGV4
IDJhZDRhYjVkNjU5ZGQ3OTQ1OWExZTdlMjFiNWY2MGRjZjZmZjk5ZGQuLjI1MWRhNjVjMGM0Y2Zj
ODcyYTM0Yzc3NWI2MDBmZjg4ZTAxYWY3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRyZWVFbGVtZW50LmNzcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYWxsRnJhbWVUcmVlRWxl
bWVudC5jc3MKQEAgLTk5LDUgKzk5LDUgQEAgYm9keTpub3QoLndpbmRvdy1pbmFjdGl2ZSwgLndp
bmRvdy1kb2NrZWQtaW5hY3RpdmUpIC50cmVlLW91dGxpbmU6Zm9jdXMtd2l0aGluIC4KIH0KIAog
LnRyZWUtb3V0bGluZSAuaXRlbS5jYWxsLWZyYW1lLmJsYWNrYm94ZWQ6bm90KC5zZWxlY3RlZCkg
ewotICAgIG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQtdHJlZS1pdGVtLW9wYWNpdHkpOworICAg
IG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQtb3BhY2l0eSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYWxsRnJhbWVUcmVlRWxlbWVu
dC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFt
ZVRyZWVFbGVtZW50LmpzCmluZGV4IDg0NGI1YThlMjFiZDRiYmFkOTY3NjVlMjY0NzFlMDZkOWQy
NzI4ZjYuLmU3ZmVhZjkxNTBjY2YxODkzMTljOGJkMzAzYjgwNzljZTVjNTU5NmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRy
ZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0NhbGxGcmFtZVRyZWVFbGVtZW50LmpzCkBAIC0yNSw3ICsyNSw3IEBACiAKIFdJLkNhbGxG
cmFtZVRyZWVFbGVtZW50ID0gY2xhc3MgQ2FsbEZyYW1lVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5H
ZW5lcmFsVHJlZUVsZW1lbnQKIHsKLSAgICBjb25zdHJ1Y3RvcihjYWxsRnJhbWUsIGlzQXN5bmNC
b3VuZGFyeUNhbGxGcmFtZSkKKyAgICBjb25zdHJ1Y3RvcihjYWxsRnJhbWUsIHtpc0FzeW5jQm91
bmRhcnlDYWxsRnJhbWV9ID0ge30pCiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydChjYWxs
RnJhbWUgaW5zdGFuY2VvZiBXSS5DYWxsRnJhbWUpOwogCkBAIC0zNyw3ICszNyw3IEBAIFdJLkNh
bGxGcmFtZVRyZWVFbGVtZW50ID0gY2xhc3MgQ2FsbEZyYW1lVHJlZUVsZW1lbnQgZXh0ZW5kcyBX
SS5HZW5lcmFsVHJlZUVsZW1lCiAgICAgICAgIHRoaXMuX2NhbGxGcmFtZSA9IGNhbGxGcmFtZTsK
ICAgICAgICAgdGhpcy5faXNBY3RpdmVDYWxsRnJhbWUgPSBmYWxzZTsKIAotICAgICAgICB0aGlz
Ll9pc0FzeW5jQm91bmRhcnlDYWxsRnJhbWUgPSBpc0FzeW5jQm91bmRhcnlDYWxsRnJhbWU7Cisg
ICAgICAgIHRoaXMuX2lzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZSA9IGlzQXN5bmNCb3VuZGFyeUNh
bGxGcmFtZSB8fCBmYWxzZTsKICAgICAgICAgIGlmICh0aGlzLl9pc0FzeW5jQm91bmRhcnlDYWxs
RnJhbWUpIHsKICAgICAgICAgICAgIHRoaXMuYWRkQ2xhc3NOYW1lKCJhc3luYy1ib3VuZGFyeSIp
OwogICAgICAgICAgICAgdGhpcy5zZWxlY3RhYmxlID0gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYWxsRnJhbWVWaWV3LmNzcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVZpZXcu
Y3NzCmluZGV4IDkwNzA4ZTJlNjY2Yzg2NWFmMjg4MTk2ODU3MDIxNjUwZTAyMzdkMDkuLjMxMTEz
MTE2YzU2ZjExNmZkYjQ0MDcwMTI2ZmQxN2NmNWQxYWMyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVZpZXcuY3NzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVZpZXcu
Y3NzCkBAIC0zMiw3ICszMiw3IEBACiAKIC5jYWxsLWZyYW1lLmJsYWNrYm94ZWQgPiAudGl0bGUs
CiAuY2FsbC1mcmFtZS5ibGFja2JveGVkOm5vdCg6aG92ZXIsIDpmb2N1cykgPiAuc3VidGl0bGUg
ewotICAgIG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQtdHJlZS1pdGVtLW9wYWNpdHkpOworICAg
IG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQtb3BhY2l0eSk7CiB9CiAKIC5jYWxsLWZyYW1lIC5p
Y29uIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1N0YWNrVHJhY2VWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3RhY2tUcmFjZVZpZXcuanMKaW5kZXggZWUwNWFkNDk1YjE2ZmFmYTExZjQzZjBl
YjQzMmI5Y2E5MTBhZjcyMS4uN2NiYTUwZWNhYTI2MzE3MmMxOWY4M2E3ZDA2M2JkNGVjNDgwMmM4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
U3RhY2tUcmFjZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3RhY2tUcmFjZVZpZXcuanMKQEAgLTMyLDE1ICszMiw3IEBAIFdJLlN0YWNrVHJh
Y2VWaWV3ID0gY2xhc3MgU3RhY2tUcmFjZVZpZXcgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAg
dmFyIGVsZW1lbnQgPSB0aGlzLl9lbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2
Iik7CiAgICAgICAgIGVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic3RhY2stdHJhY2UiKTsKIAotICAg
ICAgICBmb3IgKHZhciBjYWxsRnJhbWUgb2Ygc3RhY2tUcmFjZS5jYWxsRnJhbWVzKSB7Ci0gICAg
ICAgICAgICBpZiAoIWNhbGxGcmFtZS5zb3VyY2VDb2RlTG9jYXRpb24gJiYgY2FsbEZyYW1lLmZ1
bmN0aW9uTmFtZSA9PT0gbnVsbCkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
ICAgIGlmIChjYWxsRnJhbWUuaXNDb25zb2xlRXZhbHVhdGlvbiAmJiAhV0kuc2V0dGluZ3MuZGVi
dWdTaG93Q29uc29sZUV2YWx1YXRpb25zLnZhbHVlKQotICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwotCi0gICAgICAgICAgICBsZXQgY2FsbEZyYW1lRWxlbWVudCA9IG5ldyBXSS5DYWxsRnJhbWVW
aWV3KGNhbGxGcmFtZSwge3Nob3dGdW5jdGlvbk5hbWU6IHRydWUsIGluZGljYXRlSWZCbGFja2Jv
eGVkOiB0cnVlfSk7Ci0gICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGNhbGxGcmFtZUVs
ZW1lbnQpOwotICAgICAgICB9CisgICAgICAgIFdJLkNhbGxGcmFtZVRyZWVDb250cm9sbGVyLmdy
b3VwQmxhY2tib3hlZENhbGxGcmFtZXMoZWxlbWVudCwgc3RhY2tUcmFjZS5jYWxsRnJhbWVzKTsK
ICAgICB9CiAKICAgICBnZXQgZWxlbWVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaHJlYWRUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RocmVhZFRyZWVFbGVtZW50LmpzCmlu
ZGV4IDExMGQ3N2YwYzc4NTExNzMzYmFiOGQ1Yzc5N2VmZjBlNTkyNTA2MDguLjM0ZTQxMzE3YjZk
NzJjNWFjM2Y5MTY4OWRhODAxOWE4MDYyNDY4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RocmVhZFRyZWVFbGVtZW50LmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RocmVhZFRyZWVFbGVtZW50
LmpzCkBAIC00NSw1MyArNDUsMTQgQEAgV0kuVGhyZWFkVHJlZUVsZW1lbnQgPSBjbGFzcyBUaHJl
YWRUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUcmVlRWxlbWVudAogICAgICAgICB0aGlz
Ll91cGRhdGVTdGF0dXMoKTsKIAogICAgICAgICBsZXQgdGFyZ2V0RGF0YSA9IFdJLmRlYnVnZ2Vy
TWFuYWdlci5kYXRhRm9yVGFyZ2V0KHRoaXMuX3RhcmdldCk7Ci0gICAgICAgIGxldCBjYWxsRnJh
bWVzID0gdGFyZ2V0RGF0YS5jYWxsRnJhbWVzOwogCi0gICAgICAgIGlmICh0YXJnZXREYXRhLnBh
dXNpbmcgfHwgIWNhbGxGcmFtZXMubGVuZ3RoKSB7CisgICAgICAgIGlmICh0YXJnZXREYXRhLnBh
dXNpbmcgfHwgIXRhcmdldERhdGEuY2FsbEZyYW1lcy5sZW5ndGgpIHsKICAgICAgICAgICAgIHRo
aXMuYXBwZW5kQ2hpbGQodGhpcy5faWRsZVRyZWVFbGVtZW50KTsKICAgICAgICAgICAgIHRoaXMu
ZXhwYW5kKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBsZXQg
YWN0aXZlQ2FsbEZyYW1lID0gV0kuZGVidWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFtZTsKLSAg
ICAgICAgbGV0IGFjdGl2ZUNhbGxGcmFtZVRyZWVFbGVtZW50ID0gbnVsbDsKLQotICAgICAgICBs
ZXQgcmVuZGVyQ2FsbEZyYW1lcyA9IChjYWxsRnJhbWVzLCBzaG91bGRTZWxlY3RBY3RpdmVGcmFt
ZSkgPT4gewotICAgICAgICAgICAgbGV0IGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFN0YXJ0SW5k
ZXggPSB1bmRlZmluZWQ7Ci0KLSAgICAgICAgICAgIC8vIEFkZCBvbmUgZXh0cmEgaXRlcmF0aW9u
IHRvIGhhbmRsZSBjYWxsIHN0YWNrcyB0aGF0IHN0YXJ0IGJsYWNrYm94ZWQuCi0gICAgICAgICAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGNhbGxGcmFtZXMubGVuZ3RoICsgMTsgKytpKSB7Ci0gICAg
ICAgICAgICAgICAgbGV0IGNhbGxGcmFtZSA9IGNhbGxGcmFtZXNbaV07Ci0KLSAgICAgICAgICAg
ICAgICBpZiAoY2FsbEZyYW1lPy5ibGFja2JveGVkICYmIFdJLnNldHRpbmdzLmV4cGVyaW1lbnRh
bENvbGxhcHNlQmxhY2tib3hlZENhbGxGcmFtZXMudmFsdWUpIHsKLSAgICAgICAgICAgICAgICAg
ICAgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCA/Pz0gaTsKLSAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAg
aWYgKGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFN0YXJ0SW5kZXggIT09IHVuZGVmaW5lZCkgewot
ICAgICAgICAgICAgICAgICAgICBsZXQgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwID0gY2FsbEZy
YW1lcy5zbGljZShibGFja2JveGVkQ2FsbEZyYW1lR3JvdXBTdGFydEluZGV4LCBpKTsKLSAgICAg
ICAgICAgICAgICAgICAgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCA9IHVuZGVm
aW5lZDsKLQotICAgICAgICAgICAgICAgICAgICBpZiAoIVdJLmRlYnVnZ2VyTWFuYWdlci5zaG91
bGRBdXRvRXhwYW5kQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKGJsYWNrYm94ZWRDYWxsRnJhbWVH
cm91cCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQobmV3IFdJ
LkJsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50KGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cCkpOwot
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBibGFja2JveGVkQ2FsbEZyYW1lIG9mIGJs
YWNrYm94ZWRDYWxsRnJhbWVHcm91cCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuYXBw
ZW5kQ2hpbGQobmV3IFdJLkNhbGxGcmFtZVRyZWVFbGVtZW50KGJsYWNrYm94ZWRDYWxsRnJhbWUp
KTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoIWNhbGxGcmFtZSkK
LSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgICAgICBsZXQgY2Fs
bEZyYW1lVHJlZUVsZW1lbnQgPSBuZXcgV0kuQ2FsbEZyYW1lVHJlZUVsZW1lbnQoY2FsbEZyYW1l
KTsKLSAgICAgICAgICAgICAgICBpZiAoc2hvdWxkU2VsZWN0QWN0aXZlRnJhbWUgJiYgY2FsbEZy
YW1lID09PSBhY3RpdmVDYWxsRnJhbWUpCi0gICAgICAgICAgICAgICAgICAgIGFjdGl2ZUNhbGxG
cmFtZVRyZWVFbGVtZW50ID0gY2FsbEZyYW1lVHJlZUVsZW1lbnQ7Ci0gICAgICAgICAgICAgICAg
dGhpcy5hcHBlbmRDaGlsZChjYWxsRnJhbWVUcmVlRWxlbWVudCk7Ci0gICAgICAgICAgICB9Ci0g
ICAgICAgIH07Ci0KLSAgICAgICAgcmVuZGVyQ2FsbEZyYW1lcyhjYWxsRnJhbWVzLCB0cnVlKTsK
KyAgICAgICAgbGV0IGFjdGl2ZUNhbGxGcmFtZVRyZWVFbGVtZW50ID0gV0kuQ2FsbEZyYW1lVHJl
ZUNvbnRyb2xsZXIuZ3JvdXBCbGFja2JveGVkQ2FsbEZyYW1lcyh0aGlzLCB0YXJnZXREYXRhLmNh
bGxGcmFtZXMsIHtyZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZDog
dHJ1ZX0pOwogCiAgICAgICAgIGlmIChhY3RpdmVDYWxsRnJhbWVUcmVlRWxlbWVudCkgewogICAg
ICAgICAgICAgYWN0aXZlQ2FsbEZyYW1lVHJlZUVsZW1lbnQuc2VsZWN0KHRydWUsIHRydWUpOwpA
QCAtMTE1LDExICs3NiwxMSBAQCBXSS5UaHJlYWRUcmVlRWxlbWVudCA9IGNsYXNzIFRocmVhZFRy
ZWVFbGVtZW50IGV4dGVuZHMgV0kuR2VuZXJhbFRyZWVFbGVtZW50CiAgICAgICAgICAgICAgICAg
Ym91bmRhcnlDYWxsRnJhbWUgPSBuZXcgV0kuQ2FsbEZyYW1lKG51bGwsIG51bGwsIG51bGwsIGZ1
bmN0aW9uTmFtZSwgbnVsbCwgbnVsbCwgbmF0aXZlQ29kZSk7CiAgICAgICAgICAgICB9CiAKLSAg
ICAgICAgICAgIGNvbnN0IGlzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZSA9IHRydWU7Ci0gICAgICAg
ICAgICB0aGlzLmFwcGVuZENoaWxkKG5ldyBXSS5DYWxsRnJhbWVUcmVlRWxlbWVudChib3VuZGFy
eUNhbGxGcmFtZSwgaXNBc3luY0JvdW5kYXJ5Q2FsbEZyYW1lKSk7CisgICAgICAgICAgICB0aGlz
LmFwcGVuZENoaWxkKG5ldyBXSS5DYWxsRnJhbWVUcmVlRWxlbWVudChib3VuZGFyeUNhbGxGcmFt
ZSwge2lzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZTogdHJ1ZX0pKTsKIAogICAgICAgICAgICAgbGV0
IHN0YXJ0SW5kZXggPSBjdXJyZW50U3RhY2tUcmFjZS50b3BDYWxsRnJhbWVJc0JvdW5kYXJ5ID8g
MSA6IDA7Ci0gICAgICAgICAgICByZW5kZXJDYWxsRnJhbWVzKHN0YXJ0SW5kZXggPyBjdXJyZW50
U3RhY2tUcmFjZS5jYWxsRnJhbWVzLnNsaWNlKHN0YXJ0SW5kZXgpIDogY3VycmVudFN0YWNrVHJh
Y2UuY2FsbEZyYW1lcyk7CisgICAgICAgICAgICBsZXQgY3VycmVudENhbGxGcmFtZXMgPSBzdGFy
dEluZGV4ID8gY3VycmVudFN0YWNrVHJhY2UuY2FsbEZyYW1lcy5zbGljZShzdGFydEluZGV4KSA6
IGN1cnJlbnRTdGFja1RyYWNlLmNhbGxGcmFtZXM7CisgICAgICAgICAgICBXSS5DYWxsRnJhbWVU
cmVlQ29udHJvbGxlci5ncm91cEJsYWNrYm94ZWRDYWxsRnJhbWVzKHRoaXMsIGN1cnJlbnRDYWxs
RnJhbWVzLCB7cmVtZW1iZXJCbGFja2JveGVkQ2FsbEZyYW1lR3JvdXBUb0F1dG9FeHBhbmQ6IHRy
dWV9KTsKIAogICAgICAgICAgICAgaWYgKGN1cnJlbnRTdGFja1RyYWNlLnRydW5jYXRlZCkgewog
ICAgICAgICAgICAgICAgIGxldCB0cnVuY2F0ZWRUcmVlRWxlbWVudCA9IG5ldyBXSS5HZW5lcmFs
VHJlZUVsZW1lbnQoInRydW5jYXRlZC1jYWxsLWZyYW1lcyIsIFdJLlVJU3RyaW5nKCJDYWxsIEZy
YW1lcyBUcnVuY2F0ZWQiKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcwppbmRleCA2NTk5MGMw
MmVmMDNiNGEzNGJlMmM2YmExOGRlOTgxMTAxZDVkMjJmLi45ZDIzYmQ4NTY1ZmNhZjI5YzcxZjhj
NzY0N2RlZGQ1ZmIyMjA2ZWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWQuanMKQEAgLTM5NSwx
NCArMzk1LDExIEBAIFdJLlRpbWVsaW5lRGF0YUdyaWQgPSBjbGFzcyBUaW1lbGluZURhdGFHcmlk
IGV4dGVuZHMgV0kuRGF0YUdyaWQKICAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tU
cmVlT3V0bGluZS5kaXNjbG9zdXJlQnV0dG9ucyA9IGZhbHNlOwogICAgICAgICAgICAgdGhpcy5f
cG9wb3ZlckNhbGxTdGFja1RyZWVPdXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidGltZWxp
bmUtZGF0YS1ncmlkIik7CiAgICAgICAgICAgICB0aGlzLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZU91
dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXSS5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRD
aGFuZ2UsIHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlz
KTsKKyAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5hZGRFdmVu
dExpc3RlbmVyKFdJLlRyZWVPdXRsaW5lLkV2ZW50LkVsZW1lbnRSZW1vdmVkLCB0aGlzLl9wb3Bv
dmVyQ2FsbFN0YWNrVHJlZUVsZW1lbnRSZW1vdmVkLCB0aGlzKTsKICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICB0aGlzLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRy
ZW4oKTsKIAotICAgICAgICB2YXIgY2FsbEZyYW1lcyA9IHRoaXMuc2VsZWN0ZWROb2RlLnJlY29y
ZC5jYWxsRnJhbWVzOwotICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhbGxGcmFtZXMubGVu
Z3RoOyArK2kpIHsKLSAgICAgICAgICAgIHZhciBjYWxsRnJhbWVUcmVlRWxlbWVudCA9IG5ldyBX
SS5DYWxsRnJhbWVUcmVlRWxlbWVudChjYWxsRnJhbWVzW2ldKTsKLSAgICAgICAgICAgIHRoaXMu
X3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5hcHBlbmRDaGlsZChjYWxsRnJhbWVUcmVlRWxl
bWVudCk7Ci0gICAgICAgIH0KKyAgICAgICAgV0kuQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIuZ3Jv
dXBCbGFja2JveGVkQ2FsbEZyYW1lcyh0aGlzLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZU91dGxpbmUs
IHRoaXMuc2VsZWN0ZWROb2RlLnJlY29yZC5jYWxsRnJhbWVzKTsKIAogICAgICAgICBsZXQgY29u
dGVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICBjb250ZW50LmFw
cGVuZENoaWxkKHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5lbGVtZW50KTsKQEAg
LTQyNyw2ICs0MjQsMTIgQEAgV0kuVGltZWxpbmVEYXRhR3JpZCA9IGNsYXNzIFRpbWVsaW5lRGF0
YUdyaWQgZXh0ZW5kcyBXSS5EYXRhR3JpZAogICAgICAgICAgICAgaWdub3JlU2VhcmNoVGFiOiB0
cnVlLAogICAgICAgICB9KTsKICAgICB9CisKKyAgICBfcG9wb3ZlckNhbGxTdGFja1RyZWVFbGVt
ZW50UmVtb3ZlZChldmVudCkKKyAgICB7CisgICAgICAgIGlmIChldmVudC5kYXRhLmVsZW1lbnQg
aW5zdGFuY2VvZiBXSS5CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudCkKKyAgICAgICAgICAgIHRo
aXMuX3BvcG92ZXI/LnVwZGF0ZSgpOworICAgIH0KIH07CiAKIFdJLlRpbWVsaW5lRGF0YUdyaWQu
SGFzTm9uRGVmYXVsdEZpbHRlclN0eWxlQ2xhc3NOYW1lID0gImhhcy1ub24tZGVmYXVsdC1maWx0
ZXIiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVmFyaWFibGVzLmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1ZhcmlhYmxlcy5jc3MKaW5kZXggYTdhMzA0MDhiMzM5NzExNDViY2U3NzY2NjA1OWZkMmQ2
YThhYTllYy4uYjFkOWFmODVlNzFhMjZmNDk4YjVlNjUyODFkZGUzODQxMWVlODViZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVz
LmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WYXJp
YWJsZXMuY3NzCkBAIC0yMTYsNyArMjE2LDcgQEAKIAogICAgIC0taW1hZ2UtYnV0dG9uLW5hdmln
YXRpb24taXRlbS13aWR0aDogMjZweDsKIAotICAgIC0tYmxhY2tib3hlZC10cmVlLWl0ZW0tb3Bh
Y2l0eTogMC41OworICAgIC0tYmxhY2tib3hlZC1vcGFjaXR5OiAwLjU7CiB9CiAKIGJvZHkud2lu
ZG93LWluYWN0aXZlIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>449505</attachid>
            <date>2022-01-19 12:07:05 -0800</date>
            <delta_ts>2022-01-19 14:39:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234648-20220119130704.patch</filename>
            <type>text/plain</type>
            <size>34820</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDI4Y2IwYzkxNjA0MDEwOGVlNjQzMmE4MWUxMTE5
NWFkNjNhZmI2YzguLjE1YjgyZmUxOWFkNmE4OGJiZjg4NWFiOGU0NzRmMzg3NjgwM2ExZmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDgxIEBACisyMDIyLTAxLTE1ICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBi
bGFja2JveGVkIGNhbGwgZnJhbWVzIHNob3VsZCBiZSBncm91cGVkIGV2ZXJ5d2hlcmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzNDY0OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODcwMTgxMDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF0cmlj
ayBBbmdsZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FsbEZyYW1l
VHJlZUNvbnRyb2xsZXIuanM6CisgICAgICAgIChXSS5DYWxsRnJhbWVUcmVlQ29udHJvbGxlci5w
cm90b3R5cGUuZ3JvdXBCbGFja2JveGVkQ2FsbEZyYW1lcyk6IEFkZGVkLgorICAgICAgICAoV0ku
Q2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIucHJvdG90eXBlLmdyb3VwQmxhY2tib3hlZENhbGxGcmFt
ZXMuZGlzcGxheWFibGUpOiBBZGRlZC4KKyAgICAgICAgKFdJLkNhbGxGcmFtZVRyZWVDb250cm9s
bGVyLnByb3RvdHlwZS5zZXQgY2FsbEZyYW1lcyk6IEFkZGVkLgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvU3RhY2tUcmFjZVZpZXcuanM6CisgICAgICAgIChXSS5TdGFja1RyYWNlVmll
dyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaHJlYWRUcmVlRWxlbWVudC5qczoK
KyAgICAgICAgKFdJLlRocmVhZFRyZWVFbGVtZW50LnByb3RvdHlwZS5yZWZyZXNoKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWQuanM6CisgICAgICAgIChX
SS5UaW1lbGluZURhdGFHcmlkLnByb3RvdHlwZS5fY3JlYXRlUG9wb3ZlckNvbnRlbnQpOgorICAg
ICAgICAoV0kuVGltZWxpbmVEYXRhR3JpZC5wcm90b3R5cGUuX3BvcG92ZXJDYWxsU3RhY2tUcmVl
RWxlbWVudFJlbW92ZWQpOgorICAgICAgICBDZW50cmFsaXplIGNvZGUgZm9yIGNyZWF0aW5nIHN0
YWNrIHRyYWNlIHZpZXdzIHNvIHRoYXQgdGhlIGxvZ2ljIHRoYXQgZ3JvdXBzIGJsYWNrYm94ZWQg
Y2FsbAorICAgICAgICBmcmFtZXMgKGFuZCB0aGUgYXNzb2NpYXRlZCBgV0kuQmxhY2tib3hlZEdy
b3VwVHJlZUVsZW1lbnRgL2BXSS5CbGFja2JveGVkR3JvdXBWaWV3YCkgY2FuIGJlCisgICAgICAg
IHNoYXJlZCB3aXRob3V0IGR1cGxpY2F0aW9uLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdJLkJsYWNrYm94
ZWRHcm91cFRyZWVFbGVtZW50KToKKyAgICAgICAgKFdJLkJsYWNrYm94ZWRHcm91cFRyZWVFbGVt
ZW50LnByb3RvdHlwZS5leHBhbmQpOgorICAgICAgICAoV0kuQmxhY2tib3hlZEdyb3VwVHJlZUVs
ZW1lbnQucHJvdG90eXBlLmN1c3RvbVRpdGxlVG9vbHRpcCk6IEFkZGVkLgorICAgICAgICBBZGQg
YSBwYXJhbWV0ZXIgdG8gY29udHJvbCB3aGV0aGVyIHRvIHJlbWVtYmVyIHdoZW4gZXhwYW5kaW5n
IGJsYWNrYm94ZWQgY2FsbCBmcmFtZSBncm91cHMKKyAgICAgICAgc28gdGhhdCB0aGV5IGNhbiBs
YXRlciBiZSBhdXRvLWV4cGFuZGVkLiBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlIHRoYXQgZmVhdHVy
ZSBpcyBpbnRlbmRlZCBzbworICAgICAgICB0aGF0IHN0ZXBwaW5nIGRvZXNuJ3QgcmUtY29sbGFw
c2UgcHJldmlvdXNseSBleHBhbmRlZCBibGFja2JveGVkIGNhbGwgZnJhbWUgZ3JvdXBzLiBBIG1v
cmUKKyAgICAgICAgdGVjaG5pY2FsIHJlYXNvbiBpcyB0aGF0IG5vbi1kZWJ1Z2dpbmcgY2FsbCBz
dGFja3MgY2FuIGxpdmUgKGkuZS4gYmUgc2hvd24pIGZvciBhIGxvbmcgdGltZQorICAgICAgICBh
bmQgdGhlcmVmb3JlIHRoZXJlJ3Mgbm8gZ29vZCB3YXkgdG8gY2xlYXIgdGhlIHJlbWVtYmVyZWQg
c3RhdGUsIGFuZCB3ZSBwcm9iYWJseSBkb24ndCB3YW50CisgICAgICAgIHRvIGhhdmUgYSBwcmV2
aW91cyBleHBhbnNpb24gaW4gdGhlIFRpbWVsaW5lcyBUYWIgb3IgQ2FudmFzIFRhYiBzdWRkZW5s
eSBjYXVzZSBhbGwgbWF0Y2hpbmcKKyAgICAgICAgYmxhY2tib3hlZCBjYWxsIGZyYW1lIGdyb3Vw
cyBpbiB0aGUgU291cmNlcyBUYWIgdG8gYWx3YXlzIGJlIGV4cGFuZGVkLgorICAgICAgICBEcml2
ZS1ieTogT3ZlcnJpZGUgdGhlIHRvb2x0aXAgdG8gZXhwbGFpbiB0aGF0IGNsaWNraW5nIHNob3dz
IHRoZSBibGFja2JveGVkIGNhbGwgZnJhbWVzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9CbGFja2JveGVkR3JvdXBWaWV3LmpzOiBBZGRlZC4KKyAgICAgICAgKFdJLkJsYWNrYm94
ZWRHcm91cFZpZXcpOgorICAgICAgICAoV0kuQmxhY2tib3hlZEdyb3VwVmlldy5nZW5lcmF0ZVRp
dGxlKToKKyAgICAgICAgKFdJLkJsYWNrYm94ZWRHcm91cFZpZXcuZ2VuZXJhdGVTdWJ0aXRsZSk6
CisgICAgICAgIChXSS5CbGFja2JveGVkR3JvdXBWaWV3LmdlbmVyYXRlVG9vbHRpcCk6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9CbGFja2JveGVkR3JvdXBWaWV3LmNzczogQWRkZWQu
CisgICAgICAgICguYmxhY2tib3hlZC1ncm91cCk6CisgICAgICAgICguYmxhY2tib3hlZC1ncm91
cCA+ICopOgorICAgICAgICAoLmJsYWNrYm94ZWQtZ3JvdXAgLmljb24pOgorICAgICAgICAoLmJs
YWNrYm94ZWQtZ3JvdXAgLnN1YnRpdGxlKToKKyAgICAgICAgKC5ibGFja2JveGVkLWdyb3VwIC5z
ZXBhcmF0b3IpOgorICAgICAgICAoQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykg
LmJsYWNrYm94ZWQtZ3JvdXAgLmljb24pOgorICAgICAgICAoQG1lZGlhIChwcmVmZXJzLWNvbG9y
LXNjaGVtZTogZGFyaykgLmJsYWNrYm94ZWQtZ3JvdXAgLnN1YnRpdGxlKToKKyAgICAgICAgKEBt
ZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIC5ibGFja2JveGVkLWdyb3VwIC5zZXBh
cmF0b3IpOgorICAgICAgICBBZGQgYSBub24tdHJlZSBVSSBjbGFzcyBmb3Igc2hvd2luZyBibGFj
a2JveGVkIGNhbGwgZnJhbWUgZ3JvdXBzIChqdXN0IGxpa2UgaG93IHRoZXJlJ3MKKyAgICAgICAg
YFdJLkNhbGxGcmFtZVRyZWVFbGVtZW50YCBmb3IgdHJlZSBVSXMgYW5kIGBXSS5DYWxsRnJhbWVW
aWV3YCBmb3Igbm9uLXRyZWUgVUlzKS4gQWxzbworICAgICAgICBjZW50cmFsaXplIHRoZSBVSSBz
dHJpbmdzIGZvciBhbGwgYmxhY2tib3hlZCBjYWxsIGZyYW1lIGdyb3VwIFVJcyBhcyBgc3RhdGlj
YCBtZXRob2RzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9CbGFja2JveGVkR3Jv
dXBUcmVlRWxlbWVudC5jc3M6CisgICAgICAgICgudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94
ZWQtZ3JvdXAuc2VsZWN0ZWQgPiAqKTogQWRkZWQuCisgICAgICAgICgudHJlZS1vdXRsaW5lOm5v
dCg6Zm9jdXMtd2l0aGluKSAuaXRlbS5ibGFja2JveGVkLWdyb3VwLnNlbGVjdGVkID4gKiwgYm9k
eTppcygud2luZG93LWluYWN0aXZlLCAud2luZG93LWRvY2tlZC1pbmFjdGl2ZSkgLnRyZWUtb3V0
bGluZSAuaXRlbS5ibGFja2JveGVkLWdyb3VwLnNlbGVjdGVkID4gKik6IEFkZGVkLgorICAgICAg
ICAoLnRyZWUtb3V0bGluZSAuaXRlbS5ibGFja2JveGVkLWdyb3VwKTogRGVsZXRlZC4KKyAgICAg
ICAgKC50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cDpub3QoLnNlbGVjdGVkKSA+
ICosIC50cmVlLW91dGxpbmU6bm90KDpmb2N1cy13aXRoaW4pIC5pdGVtLmJsYWNrYm94ZWQtZ3Jv
dXAuc2VsZWN0ZWQgPiAqLCBib2R5OmlzKC53aW5kb3ctaW5hY3RpdmUsIC53aW5kb3ctZG9ja2Vk
LWluYWN0aXZlKSAudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3JvdXAuc2VsZWN0ZWQg
PiAqKTogRGVsZXRlZC4KKyAgICAgICAgKC50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1n
cm91cCAuaWNvbik6IERlbGV0ZWQuCisgICAgICAgIChAbWVkaWEgKHByZWZlcnMtY29sb3Itc2No
ZW1lOiBkYXJrKSAudHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3JvdXAgLmljb24pOiBE
ZWxldGVkLgorICAgICAgICBTaGFyZSBzdHlsZXMgZnJvbSBgVXNlckludGVyZmFjZS9WaWV3cy9C
bGFja2JveGVkR3JvdXBWaWV3LmNzc2Agc2luY2UgYm90aCBzaGFyZSBgLmJsYWNrYm94ZWQtZ3Jv
dXBgLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DYWxsRnJhbWVUcmVlRWxlbWVu
dC5qczoKKyAgICAgICAgRHJpdmUtYnk6IENvbWJpbmUgb3B0aW9uYWwgcGFyYW1ldGVycyBpbnRv
IGFuIGBvcHRpb25zID0ge31gIGZvciBjdXJyZW50IGNvZGUgY2xlYW5saW5lc3MKKyAgICAgICAg
ICAgICAgICAgIGFuZCBncmVhdGVyIGZsZXhpYmlsaXR5IGZvciBmdXR1cmUgY2hhbmdlcy4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNzczoKKyAgICAgICAgKDpy
b290KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRyZWVFbGVtZW50
LmNzczoKKyAgICAgICAgKC50cmVlLW91dGxpbmUgLml0ZW0uY2FsbC1mcmFtZS5ibGFja2JveGVk
Om5vdCguc2VsZWN0ZWQpKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFt
ZVZpZXcuY3NzOgorICAgICAgICAoLmNhbGwtZnJhbWUuYmxhY2tib3hlZCA+IC50aXRsZSwpOgor
ICAgICAgICBEcml2ZS1ieTogUmVuYW1lIGAtLWJsYWNrYm94ZWQtdHJlZS1pdGVtLW9wYWNpdHlg
IHNpbmNlIGl0J3Mgbm93IGFsc28gdXNlZCBvdXRzaWRlIHRyZWVzLgorCisgICAgICAgICogVXNl
ckludGVyZmFjZS9NYWluLmh0bWw6CisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzOgorCiAyMDIyLTAxLTE0ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTb3VyY2VzOiBjYW5ub3QgY29w
eSBncm91cGluZyBvZiBibGFja2JveGVkIGNhbGwgZnJhbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwppbmRleCBiYTJlZjYxN2I2YzA1MjJjMDljMGJmYTRjZWY0MWJlN2M0NzNmZjBl
Li42NmMwZjMyNzNlNGFjZWU3YTNmMjM1YmRjZmFlNWExMjY2MDgyOTg4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9q
L2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTMyNyw2ICszMjcsMTAgQEAgbG9jYWxpemVkU3RyaW5n
c1siQ2xpY2sgdG8gc2hvdyAlZCBlcnJvciBpbiB0aGUgQ29uc29sZSJdID0gIkNsaWNrIHRvIHNo
b3cgJWQgZXIKIGxvY2FsaXplZFN0cmluZ3NbIkNsaWNrIHRvIHNob3cgJWQgZXJyb3JzIGluIHRo
ZSBDb25zb2xlIl0gPSAiQ2xpY2sgdG8gc2hvdyAlZCBlcnJvcnMgaW4gdGhlIENvbnNvbGUiOwog
bG9jYWxpemVkU3RyaW5nc1siQ2xpY2sgdG8gc2hvdyAlZCB3YXJuaW5nIGluIHRoZSBDb25zb2xl
Il0gPSAiQ2xpY2sgdG8gc2hvdyAlZCB3YXJuaW5nIGluIHRoZSBDb25zb2xlIjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIkNsaWNrIHRvIHNob3cgJWQgd2FybmluZ3MgaW4gdGhlIENvbnNvbGUiXSA9ICJD
bGljayB0byBzaG93ICVkIHdhcm5pbmdzIGluIHRoZSBDb25zb2xlIjsKKy8qIFRvb2x0aXAgZm9y
IHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWUnIGxhYmVsIHNob3duIGluIHRoZSBkZWJ1
Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVudCBjYWxsIGZy
YW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiAqLworbG9jYWxpemVkU3RyaW5nc1siQ2xp
Y2sgdG8gc2hvdyBibGFja2JveGVkIGNhbGwgZnJhbWUgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIl0g
PSAiQ2xpY2sgdG8gc2hvdyAlZCBibGFja2JveGVkIGNhbGwgZnJhbWUiOworLyogVG9vbHRpcCBm
b3IgdGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZXMnIGxhYmVsIHNob3duIGluIHRoZSBk
ZWJ1Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVudCBjYWxs
IGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiAqLworbG9jYWxpemVkU3RyaW5nc1si
Q2xpY2sgdG8gc2hvdyBibGFja2JveGVkIGNhbGwgZnJhbWVzIEAgRGVidWdnZXIgQ2FsbCBTdGFj
ayJdID0gIkNsaWNrIHRvIHNob3cgJWQgYmxhY2tib3hlZCBjYWxsIGZyYW1lcyI7CiAvKiBUb29s
dGlwIHRvIHNob3cgcHVycG9zZSBvZiB0aGUgQ1NTIGRvY3VtZW50YXRpb24gYnV0dG9uICovCiBs
b2NhbGl6ZWRTdHJpbmdzWyJDbGljayB0byBzaG93IGRvY3VtZW50YXRpb24gQCBDU1MgRG9jdW1l
bnRhdGlvbiBCdXR0b24iXSA9ICJDbGljayB0byBzaG93IGRvY3VtZW50YXRpb24iOwogbG9jYWxp
emVkU3RyaW5nc1siQ2xpY2sgdG8gdmlldyB2YXJpYWJsZSB2YWx1ZVxuU2hpZnQtY2xpY2sgdG8g
cmVwbGFjZSB2YXJpYWJsZSB3aXRoIHZhbHVlIl0gPSAiQ2xpY2sgdG8gdmlldyB2YXJpYWJsZSB2
YWx1ZVxuU2hpZnQtY2xpY2sgdG8gcmVwbGFjZSB2YXJpYWJsZSB3aXRoIHZhbHVlIjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0Nh
bGxGcmFtZVRyZWVDb250cm9sbGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvQ29udHJvbGxlcnMvQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIuanMKaW5kZXggODc0NGEx
OWI4MmYwZjczMzYwNzliZTk5NGEzNTM2YjdjNThhMWY3Ni4uNWFlNGNlMjg4N2ZiZjNhOGI0MGEx
YzZjMDg2NmNiMWFmMzNhZWY5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ2FsbEZyYW1l
VHJlZUNvbnRyb2xsZXIuanMKQEAgLTM5LDYgKzM5LDc1IEBAIFdJLkNhbGxGcmFtZVRyZWVDb250
cm9sbGVyID0gY2xhc3MgQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIgZXh0ZW5kcyBXSS5PYmplY3QK
ICAgICAgICAgICAgIHRoaXMuX3RyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91
dGxpbmUuRXZlbnQuRWxlbWVudENsaWNrZWQsIHRoaXMuX3RyZWVFbGVtZW50Q2xpY2tlZCwgdGhp
cyk7CiAgICAgfQogCisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZ3JvdXBCbGFja2JveGVk
Q2FsbEZyYW1lcyhwYXJlbnQsIGNhbGxGcmFtZXMsIHtyZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJh
bWVHcm91cFRvQXV0b0V4cGFuZH0gPSB7fSkKKyAgICB7CisgICAgICAgIGxldCBwYXJlbnRJc05v
ZGUgPSBwYXJlbnQgaW5zdGFuY2VvZiBOb2RlOworICAgICAgICBjb25zb2xlLmFzc2VydChwYXJl
bnRJc05vZGUgfHwgcGFyZW50IGluc3RhbmNlb2YgV0kuVHJlZU91dGxpbmUgfHwgcGFyZW50IGlu
c3RhbmNlb2YgV0kuVHJlZUVsZW1lbnQsIHBhcmVudCk7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0
KEFycmF5LmlzQXJyYXkoY2FsbEZyYW1lcykgJiYgY2FsbEZyYW1lcy5sZW5ndGggJiYgY2FsbEZy
YW1lcy5ldmVyeSgoY2FsbEZyYW1lKSA9PiBjYWxsRnJhbWUgaW5zdGFuY2VvZiBXSS5DYWxsRnJh
bWUpLCBjYWxsRnJhbWVzKTsKKworICAgICAgICBsZXQgQmxhY2tib3hlZEdyb3VwVUlDbGFzcyA9
IHBhcmVudElzTm9kZSA/IFdJLkJsYWNrYm94ZWRHcm91cFZpZXcgOiBXSS5CbGFja2JveGVkR3Jv
dXBUcmVlRWxlbWVudDsKKyAgICAgICAgbGV0IGJsYWNrYm94ZWRHcm91cFVJT3B0aW9ucyA9IHty
ZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZH07CisKKyAgICAgICAg
bGV0IENhbGxGcmFtZVVJQ2xhc3MgPSBwYXJlbnRJc05vZGUgPyBXSS5DYWxsRnJhbWVWaWV3IDog
V0kuQ2FsbEZyYW1lVHJlZUVsZW1lbnQ7CisgICAgICAgIGxldCBjYWxsRnJhbWVVSU9wdGlvbnMg
PSB7c2hvd0Z1bmN0aW9uTmFtZTogdHJ1ZSwgaW5kaWNhdGVJZkJsYWNrYm94ZWQ6IHRydWV9Owor
CisgICAgICAgIGxldCBhY3RpdmVDYWxsRnJhbWUgPSBXSS5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZl
Q2FsbEZyYW1lOworICAgICAgICBsZXQgYWN0aXZlQ2FsbEZyYW1lVHJlZUVsZW1lbnQgPSBudWxs
OworCisgICAgICAgIGxldCBibGFja2JveGVkQ2FsbEZyYW1lR3JvdXBTdGFydEluZGV4ID0gdW5k
ZWZpbmVkOworCisgICAgICAgIGZ1bmN0aW9uIGRpc3BsYXlhYmxlKGNhbGxGcmFtZSkgeworICAg
ICAgICAgICAgaWYgKHBhcmVudElzTm9kZSkgeworICAgICAgICAgICAgICAgIGlmICghY2FsbEZy
YW1lLnNvdXJjZUNvZGVMb2NhdGlvbiAmJiBjYWxsRnJhbWUuZnVuY3Rpb25OYW1lID09PSBudWxs
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgICAgICBp
ZiAoY2FsbEZyYW1lLmlzQ29uc29sZUV2YWx1YXRpb24gJiYgIVdJLnNldHRpbmdzLmRlYnVnU2hv
d0NvbnNvbGVFdmFsdWF0aW9ucy52YWx1ZSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
fQorCisgICAgICAgIC8vIEFkZCBvbmUgZXh0cmEgaXRlcmF0aW9uIHRvIGhhbmRsZSBjYWxsIHN0
YWNrcyB0aGF0IHN0YXJ0IGJsYWNrYm94ZWQuCisgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
Y2FsbEZyYW1lcy5sZW5ndGggKyAxOyArK2kpIHsKKyAgICAgICAgICAgIGxldCBjYWxsRnJhbWUg
PSBjYWxsRnJhbWVzW2ldOworCisgICAgICAgICAgICBpZiAoY2FsbEZyYW1lKSB7CisgICAgICAg
ICAgICAgICAgaWYgKCFkaXNwbGF5YWJsZShjYWxsRnJhbWUpKQorICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgIGlmIChjYWxsRnJhbWUuYmxhY2tib3hlZCAm
JiBXSS5zZXR0aW5ncy5leHBlcmltZW50YWxDb2xsYXBzZUJsYWNrYm94ZWRDYWxsRnJhbWVzLnZh
bHVlKSB7CisgICAgICAgICAgICAgICAgICAgIGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFN0YXJ0
SW5kZXggPz89IGk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKGJsYWNrYm94ZWRDYWxsRnJh
bWVHcm91cFN0YXJ0SW5kZXggIT09IHVuZGVmaW5lZCkgeworICAgICAgICAgICAgICAgIGxldCBi
bGFja2JveGVkQ2FsbEZyYW1lR3JvdXAgPSBjYWxsRnJhbWVzLnNsaWNlKGJsYWNrYm94ZWRDYWxs
RnJhbWVHcm91cFN0YXJ0SW5kZXgsIGkpLmZpbHRlcihkaXNwbGF5YWJsZSk7CisgICAgICAgICAg
ICAgICAgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCA9IHVuZGVmaW5lZDsKKwor
ICAgICAgICAgICAgICAgIGlmICghcmVtZW1iZXJCbGFja2JveGVkQ2FsbEZyYW1lR3JvdXBUb0F1
dG9FeHBhbmQgfHwgIVdJLmRlYnVnZ2VyTWFuYWdlci5zaG91bGRBdXRvRXhwYW5kQmxhY2tib3hl
ZENhbGxGcmFtZUdyb3VwKGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cCkpCisgICAgICAgICAgICAg
ICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChuZXcgQmxhY2tib3hlZEdyb3VwVUlDbGFzcyhibGFj
a2JveGVkQ2FsbEZyYW1lR3JvdXAsIGJsYWNrYm94ZWRHcm91cFVJT3B0aW9ucykpOworICAgICAg
ICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBibGFja2JveGVk
Q2FsbEZyYW1lIG9mIGJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHBhcmVudC5hcHBlbmRDaGlsZChuZXcgQ2FsbEZyYW1lVUlDbGFzcyhibGFja2JveGVk
Q2FsbEZyYW1lLCBjYWxsRnJhbWVVSU9wdGlvbnMpKTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICghY2FsbEZyYW1lKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworCisgICAgICAgICAgICBsZXQgY2FsbEZyYW1lVHJlZUVsZW1lbnQgPSBuZXcg
Q2FsbEZyYW1lVUlDbGFzcyhjYWxsRnJhbWUsIGNhbGxGcmFtZVVJT3B0aW9ucyk7CisgICAgICAg
ICAgICBpZiAoY2FsbEZyYW1lID09PSBhY3RpdmVDYWxsRnJhbWUgJiYgIXBhcmVudElzTm9kZSkK
KyAgICAgICAgICAgICAgICBhY3RpdmVDYWxsRnJhbWVUcmVlRWxlbWVudCA9IGNhbGxGcmFtZVRy
ZWVFbGVtZW50OworICAgICAgICAgICAgcGFyZW50LmFwcGVuZENoaWxkKGNhbGxGcmFtZVRyZWVF
bGVtZW50KTsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBhY3RpdmVDYWxsRnJhbWVUcmVl
RWxlbWVudDsKKyAgICB9CisKICAgICAvLyBQdWJsaWMKIAogICAgIGdldCB0cmVlT3V0bGluZSgp
IHsgcmV0dXJuIHRoaXMuX3RyZWVPdXRsaW5lOyB9CkBAIC01OCw4ICsxMjcsNyBAQCBXSS5DYWxs
RnJhbWVUcmVlQ29udHJvbGxlciA9IGNsYXNzIENhbGxGcmFtZVRyZWVDb250cm9sbGVyIGV4dGVu
ZHMgV0kuT2JqZWN0CiAKICAgICAgICAgdGhpcy5fdHJlZU91dGxpbmUucmVtb3ZlQ2hpbGRyZW4o
KTsKIAotICAgICAgICBmb3IgKGxldCBjYWxsRnJhbWUgb2YgdGhpcy5fY2FsbEZyYW1lcykKLSAg
ICAgICAgICAgIHRoaXMuX3RyZWVPdXRsaW5lLmFwcGVuZENoaWxkKG5ldyBXSS5DYWxsRnJhbWVU
cmVlRWxlbWVudChjYWxsRnJhbWUpKTsKKyAgICAgICAgV0kuQ2FsbEZyYW1lVHJlZUNvbnRyb2xs
ZXIuZ3JvdXBCbGFja2JveGVkQ2FsbEZyYW1lcyh0aGlzLl90cmVlT3V0bGluZSwgdGhpcy5fY2Fs
bEZyYW1lcyk7CiAgICAgfQogCiAgICAgZGlzY29ubmVjdCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggMjc4ZmMwYTE4ZDU4NTY2Mzk5Mzg3
N2VkZjE1MGU1MDc4ZDE1MDVhOS4uY2FiY2ZkMzljM2IyYjJkZjljZmYwNzk5YzhkZDI4ZmZiZDFj
NDMzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFp
bi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uaHRt
bApAQCAtNDcsNiArNDcsNyBAQAogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmll
d3MvQmFubmVyVmlldy5jc3MiPgogICAgIDxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmll
d3MvQmV6aWVyRWRpdG9yLmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJW
aWV3cy9CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudC5jc3MiPgorICAgIDxsaW5rIHJlbD0ic3R5
bGVzaGVldCIgaHJlZj0iVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5jc3MiPgogICAgIDxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iVmlld3MvQmxhY2tib3hTZXR0aW5nc1ZpZXcuY3NzIj4K
ICAgICA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9IlZpZXdzL0Jvb3RzdHJhcFNjcmlwdFRy
ZWVFbGVtZW50LmNzcyI+CiAgICAgPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJWaWV3cy9C
b3hNb2RlbERldGFpbHNTZWN0aW9uUm93LmNzcyI+CkBAIC02MzgsNiArNjM5LDcgQEAKICAgICA8
c2NyaXB0IHNyYz0iVmlld3MvQmV6aWVyRWRpdG9yLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHNyYz0iVmlld3MvQmxhY2tib3hTZXR0aW5nc1ZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3Jp
cHQgc3JjPSJWaWV3cy9CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudC5qcyI+PC9zY3JpcHQ+Cisg
ICAgPHNjcmlwdCBzcmM9IlZpZXdzL0JsYWNrYm94ZWRHcm91cFZpZXcuanMiPjwvc2NyaXB0Pgog
ICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9Cb290c3RyYXBTY3JpcHRUcmVlRWxlbWVudC5qcyI+PC9z
Y3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9IlZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cu
anMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgc3JjPSJWaWV3cy9Cb3hTaGFkb3dFZGl0b3IuanMi
Pjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuY3NzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuY3Nz
CmluZGV4IDVkZjdlYjBlZGEyYjM2ZmNjMDAzMWQwN2M5ZjBhYjFlNmJkZDdmNTAuLjY1MGM4MDBl
OGYwYTIyZGRlYzY4OTE1YmM1NjJhZjc3N2QzZWRjZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50
LmNzcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CbGFj
a2JveGVkR3JvdXBUcmVlRWxlbWVudC5jc3MKQEAgLTIzLDI2ICsyMywxNyBAQAogICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLS50cmVlLW91dGxpbmUgLml0ZW0uYmxh
Y2tib3hlZC1ncm91cCB7Ci0gICAgY3Vyc29yOiBwb2ludGVyOworLyogU3R5bGVzIHNoYXJlZCB3
aXRoIGBXSS5CbGFja2JveGVkR3JvdXBWaWV3YC4gKi8KKworLnRyZWUtb3V0bGluZSAuaXRlbS5i
bGFja2JveGVkLWdyb3VwLnNlbGVjdGVkID4gKiB7CisgICAgb3BhY2l0eTogdW5zZXQ7CiB9CiAK
LS50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cDpub3QoLnNlbGVjdGVkKSA+ICos
CiAudHJlZS1vdXRsaW5lOm5vdCg6Zm9jdXMtd2l0aGluKSAuaXRlbS5ibGFja2JveGVkLWdyb3Vw
LnNlbGVjdGVkID4gKiwKIGJvZHk6aXMoLndpbmRvdy1pbmFjdGl2ZSwgLndpbmRvdy1kb2NrZWQt
aW5hY3RpdmUpIC50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cC5zZWxlY3RlZCA+
ICogewotICAgIG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQtdHJlZS1pdGVtLW9wYWNpdHkpOwot
fQotCi0udHJlZS1vdXRsaW5lIC5pdGVtLmJsYWNrYm94ZWQtZ3JvdXAgLmljb24gewotICAgIGNv
bnRlbnQ6IHVybCguLi9JbWFnZXMvSGlkZS5zdmcjYmxhY2spOworICAgIG9wYWNpdHk6IHZhcigt
LWJsYWNrYm94ZWQtb3BhY2l0eSk7CiB9CiAKIGJvZHk6bm90KC53aW5kb3ctaW5hY3RpdmUsIC53
aW5kb3ctZG9ja2VkLWluYWN0aXZlKSAudHJlZS1vdXRsaW5lOmZvY3VzLXdpdGhpbiAuaXRlbS5i
bGFja2JveGVkLWdyb3VwLnNlbGVjdGVkIC5pY29uIHsKICAgICBjb250ZW50OiB1cmwoLi4vSW1h
Z2VzL0hpZGUuc3ZnI3doaXRlKTsKIH0KLQotQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTog
ZGFyaykgewotICAgIC50cmVlLW91dGxpbmUgLml0ZW0uYmxhY2tib3hlZC1ncm91cCAuaWNvbiB7
Ci0gICAgICAgIGNvbnRlbnQ6IHVybCguLi9JbWFnZXMvSGlkZS5zdmcjd2hpdGUpOwotICAgIH0K
LX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0JsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuanMKaW5kZXggOWZj
ZWYzNzNmMDI1ZGE1NWZjOTA1MThiZjgwNTM3MjA5N2E4NGFmMi4uNTcxZmEyNzJjOGU2MDE4NmJj
ZDI4Y2JiNDQ0OWEwY2U0NzA3YzVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3Vw
VHJlZUVsZW1lbnQuanMKQEAgLTI1LDIyICsyNSwxNyBAQAogCiBXSS5CbGFja2JveGVkR3JvdXBU
cmVlRWxlbWVudCA9IGNsYXNzIEJsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50IGV4dGVuZHMgV0ku
R2VuZXJhbFRyZWVFbGVtZW50CiB7Ci0gICAgY29uc3RydWN0b3IoY2FsbEZyYW1lcykKKyAgICBj
b25zdHJ1Y3RvcihjYWxsRnJhbWVzLCB7cmVtZW1iZXJCbGFja2JveGVkQ2FsbEZyYW1lR3JvdXBU
b0F1dG9FeHBhbmR9ID0ge30pCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCghV0kuZGVi
dWdnZXJNYW5hZ2VyLnNob3VsZEF1dG9FeHBhbmRCbGFja2JveGVkQ2FsbEZyYW1lR3JvdXAoY2Fs
bEZyYW1lcyksIGNhbGxGcmFtZXMpOworICAgICAgICBjb25zb2xlLmFzc2VydCghcmVtZW1iZXJC
bGFja2JveGVkQ2FsbEZyYW1lR3JvdXBUb0F1dG9FeHBhbmQgfHwgIVdJLmRlYnVnZ2VyTWFuYWdl
ci5zaG91bGRBdXRvRXhwYW5kQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKGNhbGxGcmFtZXMpLCBj
YWxsRnJhbWVzKTsKIAogICAgICAgICBjb25zdCBjbGFzc05hbWVzID0gWyJibGFja2JveGVkLWdy
b3VwIl07Ci0gICAgICAgIGNvbnN0IHRpdGxlID0gV0kuVUlTdHJpbmcoIkJsYWNrYm94ZWQiLCAi
QmxhY2tib3hlZCBAIERlYnVnZ2VyIENhbGwgU3RhY2siLCAiUGFydCBvZiB0aGUgJ0JsYWNrYm94
ZWQgLSAlZCBjYWxsIGZyYW1lcycgbGFiZWwgc2hvd24gaW4gdGhlIGRlYnVnZ2VyIGNhbGwgc3Rh
Y2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1ZW50IGNhbGwgZnJhbWVzIHRoYXQgaGF2
ZSBiZWVuIGJsYWNrYm94ZWQuIik7Ci0gICAgICAgIGxldCBzdWJ0aXRsZTsKLSAgICAgICAgaWYg
KGNhbGxGcmFtZXMubGVuZ3RoID09PSAxKQotICAgICAgICAgICAgc3VidGl0bGUgPSBXSS5VSVN0
cmluZygiJWQgY2FsbCBmcmFtZSIsICJjYWxsIGZyYW1lIEAgRGVidWdnZXIgQ2FsbCBTdGFjayIs
ICJQYXJ0IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWUnIGxhYmVsIHNob3duIGlu
IHRoZSBkZWJ1Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVu
dCBjYWxsIGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiIpLmZvcm1hdChjYWxsRnJh
bWVzLmxlbmd0aCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHN1YnRpdGxlID0gV0kuVUlT
dHJpbmcoIiVkIGNhbGwgZnJhbWVzIiwgImNhbGwgZnJhbWVzIEAgRGVidWdnZXIgQ2FsbCBTdGFj
ayIsICJQYXJ0IG9mIHRoZSAnQmxhY2tib3hlZCAtICVkIGNhbGwgZnJhbWVzJyBsYWJlbCBzaG93
biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0ZWFkIG9mIHN1YnNl
cXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4iKS5mb3JtYXQoY2Fs
bEZyYW1lcy5sZW5ndGgpOwotCi0gICAgICAgIHN1cGVyKGNsYXNzTmFtZXMsIHRpdGxlLCBzdWJ0
aXRsZSk7CisgICAgICAgIHN1cGVyKGNsYXNzTmFtZXMsIFdJLkJsYWNrYm94ZWRHcm91cFZpZXcu
Z2VuZXJhdGVUaXRsZShjYWxsRnJhbWVzKSwgV0kuQmxhY2tib3hlZEdyb3VwVmlldy5nZW5lcmF0
ZVN1YnRpdGxlKGNhbGxGcmFtZXMpKTsKIAogICAgICAgICB0aGlzLnRvZ2dsZU9uQ2xpY2sgPSB0
cnVlOworCiAgICAgICAgIHRoaXMuX2NhbGxGcmFtZXMgPSBjYWxsRnJhbWVzOworICAgICAgICB0
aGlzLl9yZW1lbWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZCA9IHJlbWVt
YmVyQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kIHx8IGZhbHNlOwogICAgIH0K
IAogICAgIC8vIFB1YmxpYwpAQCAtNTQsNyArNDksOCBAQCBXSS5CbGFja2JveGVkR3JvdXBUcmVl
RWxlbWVudCA9IGNsYXNzIEJsYWNrYm94ZWRHcm91cFRyZWVFbGVtZW50IGV4dGVuZHMgV0kuR2Vu
ZQogCiAgICAgZXhwYW5kKCkKICAgICB7Ci0gICAgICAgIFdJLmRlYnVnZ2VyTWFuYWdlci5yZW1l
bWJlckJsYWNrYm94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZCh0aGlzLl9jYWxsRnJhbWVz
KTsKKyAgICAgICAgaWYgKHRoaXMuX3JlbWVtYmVyQmxhY2tib3hlZENhbGxGcmFtZUdyb3VwVG9B
dXRvRXhwYW5kKQorICAgICAgICAgICAgV0kuZGVidWdnZXJNYW5hZ2VyLnJlbWVtYmVyQmxhY2ti
b3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kKHRoaXMuX2NhbGxGcmFtZXMpOwogCiAgICAg
ICAgIGxldCBpbmRleCA9IHRoaXMucGFyZW50LmNoaWxkcmVuLmluZGV4T2YodGhpcyk7CiAgICAg
ICAgIGZvciAobGV0IGkgPSB0aGlzLl9jYWxsRnJhbWVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1p
KQpAQCAtNzQsNCArNzAsMTEgQEAgV0kuQmxhY2tib3hlZEdyb3VwVHJlZUVsZW1lbnQgPSBjbGFz
cyBCbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmUKICAgICAgICAgdGhp
cy5leHBhbmQoKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorCisgICAgLy8gUHJvdGVj
dGVkCisKKyAgICBjdXN0b21UaXRsZVRvb2x0aXAoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJ
LkJsYWNrYm94ZWRHcm91cFZpZXcuZ2VuZXJhdGVUb29sdGlwKHRoaXMuX2NhbGxGcmFtZXMpOwor
ICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9CbGFja2JveGVkR3JvdXBWaWV3LmNzcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0JsYWNrYm94ZWRHcm91cFZpZXcuY3NzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
YTViOTBmOTgxMzczMjc2ZjQ0YWJmYjlmYzcxMDgyYTY5YTZiNzcKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9CbGFja2JveGVkR3Jv
dXBWaWV3LmNzcwpAQCAtMCwwICsxLDcwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyogU3R5bGVzIHNoYXJl
ZCB3aXRoIGBXSS5CbGFja2JveGVkR3JvdXBUcmVlRWxlbWVudGAuICovCisKKy5ibGFja2JveGVk
LWdyb3VwIHsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlw
c2lzOworICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CisgICAgY3Vyc29yOiBwb2ludGVyOworfQor
CisuYmxhY2tib3hlZC1ncm91cCA+ICogeworICAgIG9wYWNpdHk6IHZhcigtLWJsYWNrYm94ZWQt
b3BhY2l0eSk7Cit9CisKKy5ibGFja2JveGVkLWdyb3VwIC5pY29uIHsKKyAgICBkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7CisgICAgd2lkdGg6IDE2cHg7CisgICAgaGVpZ2h0OiAxNnB4OworICAgIG1h
cmdpbi1pbmxpbmUtZW5kOiAzcHg7CisgICAgdmVydGljYWwtYWxpZ246IHRvcDsKKyAgICBjb250
ZW50OiB1cmwoLi4vSW1hZ2VzL0hpZGUuc3ZnI2JsYWNrKTsKK30KKworLmJsYWNrYm94ZWQtZ3Jv
dXAgLnN1YnRpdGxlIHsKKyAgICBjb2xvcjogaHNsYSgwLCAwJSwgMCUsIDAuNik7CisgICAgdGV4
dC1kZWNvcmF0aW9uOiBub25lOworfQorCisuYmxhY2tib3hlZC1ncm91cCAuc2VwYXJhdG9yIHsK
KyAgICB3aGl0ZS1zcGFjZTogbm93cmFwOworICAgIGNvbG9yOiBoc2xhKDAsIDAlLCAwJSwgMC4y
KTsKK30KKworQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgeworICAgIC5ibGFj
a2JveGVkLWdyb3VwIC5pY29uIHsKKyAgICAgICAgY29udGVudDogdXJsKC4uL0ltYWdlcy9IaWRl
LnN2ZyN3aGl0ZSk7CisgICAgfQorCisgICAgLmJsYWNrYm94ZWQtZ3JvdXAgLnN1YnRpdGxlIHsK
KyAgICAgICAgY29sb3I6IGhzbGEoMCwgMCUsIHZhcigtLWZvcmVncm91bmQtbGlnaHRuZXNzKSwg
MC42KTsKKyAgICB9CisKKyAgICAuYmxhY2tib3hlZC1ncm91cCAuc2VwYXJhdG9yIHsKKyAgICAg
ICAgY29sb3I6IGhzbGEoMCwgMCUsIHZhcigtLWZvcmVncm91bmQtbGlnaHRuZXNzKSwgMC4yKTsK
KyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9CbGFja2JveGVkR3JvdXBWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3VwVmlldy5qcwpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMDVk
NjQ5MTUzZTJjZmZjZTEyNGU3ZmNlNzUzODE3YjZmOGVjOWY3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmxhY2tib3hlZEdyb3Vw
Vmlldy5qcwpAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIyIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworV0kuQmxhY2tib3hlZEdyb3Vw
VmlldyA9IGNsYXNzIEJsYWNrYm94ZWRHcm91cFZpZXcKK3sKKyAgICBjb25zdHJ1Y3RvcihjYWxs
RnJhbWVzKQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoQXJyYXkuaXNBcnJheShjYWxs
RnJhbWVzKSAmJiBjYWxsRnJhbWVzLmxlbmd0aCAmJiBjYWxsRnJhbWVzLmV2ZXJ5KChjYWxsRnJh
bWUpID0+IGNhbGxGcmFtZSBpbnN0YW5jZW9mIFdJLkNhbGxGcmFtZSksIGNhbGxGcmFtZXMpOwor
CisgICAgICAgIGxldCBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Cisg
ICAgICAgIGVsZW1lbnQuY2xhc3NOYW1lID0gImJsYWNrYm94ZWQtZ3JvdXAiOworICAgICAgICBl
bGVtZW50LnRpdGxlID0gV0kuQmxhY2tib3hlZEdyb3VwVmlldy5nZW5lcmF0ZVRvb2x0aXAoY2Fs
bEZyYW1lcyk7CisgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZl
bnQpID0+IHsKKyAgICAgICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7c2hvd0Z1bmN0aW9uTmFtZTog
dHJ1ZSwgaW5kaWNhdGVJZkJsYWNrYm94ZWQ6IHRydWV9OworICAgICAgICAgICAgZm9yIChsZXQg
aSA9IGNhbGxGcmFtZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpCisgICAgICAgICAgICAgICAg
ZWxlbWVudC5wYXJlbnRFbGVtZW50Lmluc2VydEJlZm9yZShuZXcgV0kuQ2FsbEZyYW1lVmlldyhj
YWxsRnJhbWVzW2ldLCBvcHRpb25zKSwgZWxlbWVudCk7CisKKyAgICAgICAgICAgIGVsZW1lbnQu
cmVtb3ZlKCk7CisgICAgICAgIH0pOworCisgICAgICAgIGxldCB0aXRsZUVsZW1lbnQgPSBlbGVt
ZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7CisgICAgICAg
IHRpdGxlRWxlbWVudC5jbGFzc05hbWUgPSAidGl0bGUiOworCisgICAgICAgIGxldCBpY29uRWxl
bWVudCA9IHRpdGxlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKSk7CisgICAgICAgIGljb25FbGVtZW50LmNsYXNzTmFtZSA9ICJpY29uIjsKKworICAgICAg
ICB0aXRsZUVsZW1lbnQuYXBwZW5kKFdJLkJsYWNrYm94ZWRHcm91cFZpZXcuZ2VuZXJhdGVUaXRs
ZShjYWxsRnJhbWVzKSk7CisKKyAgICAgICAgbGV0IHN1YnRpdGxlRWxlbWVudCA9IGVsZW1lbnQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKKyAgICAgICAgc3Vi
dGl0bGVFbGVtZW50LmNsYXNzTmFtZSA9ICJzdWJ0aXRsZSI7CisKKyAgICAgICAgbGV0IHNlcGFy
YXRvckVsZW1lbnQgPSBzdWJ0aXRsZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpKTsKKyAgICAgICAgc2VwYXJhdG9yRWxlbWVudC5jbGFzc05hbWUgPSAi
c2VwYXJhdG9yIjsKKyAgICAgICAgc2VwYXJhdG9yRWxlbWVudC50ZXh0Q29udGVudCA9ICIgIiAr
IGVtRGFzaCArICIgIjsKKworICAgICAgICBzdWJ0aXRsZUVsZW1lbnQuYXBwZW5kKFdJLkJsYWNr
Ym94ZWRHcm91cFZpZXcuZ2VuZXJhdGVTdWJ0aXRsZShjYWxsRnJhbWVzKSk7CisKKyAgICAgICAg
cmV0dXJuIGVsZW1lbnQ7CisgICAgfQorCisgICAgLy8gU3RhdGljCisKKyAgICBzdGF0aWMgZ2Vu
ZXJhdGVUaXRsZShjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5n
KCJCbGFja2JveGVkIiwgIkJsYWNrYm94ZWQgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIiwgIlBhcnQg
b2YgdGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZXMnIGxhYmVsIHNob3duIGluIHRoZSBk
ZWJ1Z2dlciBjYWxsIHN0YWNrIHdoZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVudCBjYWxs
IGZyYW1lcyB0aGF0IGhhdmUgYmVlbiBibGFja2JveGVkLiIpOworICAgIH0KKworICAgIHN0YXRp
YyBnZW5lcmF0ZVN1YnRpdGxlKGNhbGxGcmFtZXMpCisgICAgeworICAgICAgICBpZiAoY2FsbEZy
YW1lcy5sZW5ndGggPT09IDEpCisgICAgICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIiVkIGNh
bGwgZnJhbWUiLCAiY2FsbCBmcmFtZSBAIERlYnVnZ2VyIENhbGwgU3RhY2siLCAiUGFydCBvZiB0
aGUgJ0JsYWNrYm94ZWQgLSAlZCBjYWxsIGZyYW1lJyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdn
ZXIgY2FsbCBzdGFjayB3aGVuIHBhdXNlZCBpbnN0ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFt
ZXMgdGhhdCBoYXZlIGJlZW4gYmxhY2tib3hlZC4iKS5mb3JtYXQoY2FsbEZyYW1lcy5sZW5ndGgp
OworCisgICAgICAgIHJldHVybiBXSS5VSVN0cmluZygiJWQgY2FsbCBmcmFtZXMiLCAiY2FsbCBm
cmFtZXMgQCBEZWJ1Z2dlciBDYWxsIFN0YWNrIiwgIlBhcnQgb2YgdGhlICdCbGFja2JveGVkIC0g
JWQgY2FsbCBmcmFtZXMnIGxhYmVsIHNob3duIGluIHRoZSBkZWJ1Z2dlciBjYWxsIHN0YWNrIHdo
ZW4gcGF1c2VkIGluc3RlYWQgb2Ygc3Vic2VxdWVudCBjYWxsIGZyYW1lcyB0aGF0IGhhdmUgYmVl
biBibGFja2JveGVkLiIpLmZvcm1hdChjYWxsRnJhbWVzLmxlbmd0aCk7CisgICAgfQorCisgICAg
c3RhdGljIGdlbmVyYXRlVG9vbHRpcChjYWxsRnJhbWVzKQorICAgIHsKKyAgICAgICAgaWYgKGNh
bGxGcmFtZXMubGVuZ3RoID09PSAxKQorICAgICAgICAgICAgcmV0dXJuIFdJLlVJU3RyaW5nKCJD
bGljayB0byBzaG93ICVkIGJsYWNrYm94ZWQgY2FsbCBmcmFtZSIsICJDbGljayB0byBzaG93IGJs
YWNrYm94ZWQgY2FsbCBmcmFtZSBAIERlYnVnZ2VyIENhbGwgU3RhY2siLCAiVG9vbHRpcCBmb3Ig
dGhlICdCbGFja2JveGVkIC0gJWQgY2FsbCBmcmFtZScgbGFiZWwgc2hvd24gaW4gdGhlIGRlYnVn
Z2VyIGNhbGwgc3RhY2sgd2hlbiBwYXVzZWQgaW5zdGVhZCBvZiBzdWJzZXF1ZW50IGNhbGwgZnJh
bWVzIHRoYXQgaGF2ZSBiZWVuIGJsYWNrYm94ZWQuIikuZm9ybWF0KGNhbGxGcmFtZXMubGVuZ3Ro
KTsKKworICAgICAgICByZXR1cm4gV0kuVUlTdHJpbmcoIkNsaWNrIHRvIHNob3cgJWQgYmxhY2ti
b3hlZCBjYWxsIGZyYW1lcyIsICJDbGljayB0byBzaG93IGJsYWNrYm94ZWQgY2FsbCBmcmFtZXMg
QCBEZWJ1Z2dlciBDYWxsIFN0YWNrIiwgIlRvb2x0aXAgZm9yIHRoZSAnQmxhY2tib3hlZCAtICVk
IGNhbGwgZnJhbWVzJyBsYWJlbCBzaG93biBpbiB0aGUgZGVidWdnZXIgY2FsbCBzdGFjayB3aGVu
IHBhdXNlZCBpbnN0ZWFkIG9mIHN1YnNlcXVlbnQgY2FsbCBmcmFtZXMgdGhhdCBoYXZlIGJlZW4g
YmxhY2tib3hlZC4iKS5mb3JtYXQoY2FsbEZyYW1lcy5sZW5ndGgpOworICAgIH0KK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DYWxsRnJh
bWVUcmVlRWxlbWVudC5jc3MgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9DYWxsRnJhbWVUcmVlRWxlbWVudC5jc3MKaW5kZXggMmFkNGFiNWQ2NTlkZDc5NDU5YTFl
N2UyMWI1ZjYwZGNmNmZmOTlkZC4uMjUxZGE2NWMwYzRjZmM4NzJhMzRjNzc1YjYwMGZmODhlMDFh
ZjcwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ2FsbEZyYW1lVHJlZUVsZW1lbnQuY3NzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRyZWVFbGVtZW50LmNzcwpAQCAtOTksNSArOTks
NSBAQCBib2R5Om5vdCgud2luZG93LWluYWN0aXZlLCAud2luZG93LWRvY2tlZC1pbmFjdGl2ZSkg
LnRyZWUtb3V0bGluZTpmb2N1cy13aXRoaW4gLgogfQogCiAudHJlZS1vdXRsaW5lIC5pdGVtLmNh
bGwtZnJhbWUuYmxhY2tib3hlZDpub3QoLnNlbGVjdGVkKSB7Ci0gICAgb3BhY2l0eTogdmFyKC0t
YmxhY2tib3hlZC10cmVlLWl0ZW0tb3BhY2l0eSk7CisgICAgb3BhY2l0eTogdmFyKC0tYmxhY2ti
b3hlZC1vcGFjaXR5KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJlZUVsZW1lbnQuanMKaW5kZXgg
ODQ0YjVhOGUyMWJkNGJiYWQ5Njc2NWUyNjQ3MWUwNmQ5ZDI3MjhmNi4uZTdmZWFmOTE1MGNjZjE4
OTMxOWM4YmQzMDNiODA3OWNlNWM1NTk2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJlZUVsZW1lbnQuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVHJlZUVsZW1l
bnQuanMKQEAgLTI1LDcgKzI1LDcgQEAKIAogV0kuQ2FsbEZyYW1lVHJlZUVsZW1lbnQgPSBjbGFz
cyBDYWxsRnJhbWVUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUcmVlRWxlbWVudAogewot
ICAgIGNvbnN0cnVjdG9yKGNhbGxGcmFtZSwgaXNBc3luY0JvdW5kYXJ5Q2FsbEZyYW1lKQorICAg
IGNvbnN0cnVjdG9yKGNhbGxGcmFtZSwge2lzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZX0gPSB7fSkK
ICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGNhbGxGcmFtZSBpbnN0YW5jZW9mIFdJLkNh
bGxGcmFtZSk7CiAKQEAgLTM3LDcgKzM3LDcgQEAgV0kuQ2FsbEZyYW1lVHJlZUVsZW1lbnQgPSBj
bGFzcyBDYWxsRnJhbWVUcmVlRWxlbWVudCBleHRlbmRzIFdJLkdlbmVyYWxUcmVlRWxlbWUKICAg
ICAgICAgdGhpcy5fY2FsbEZyYW1lID0gY2FsbEZyYW1lOwogICAgICAgICB0aGlzLl9pc0FjdGl2
ZUNhbGxGcmFtZSA9IGZhbHNlOwogCi0gICAgICAgIHRoaXMuX2lzQXN5bmNCb3VuZGFyeUNhbGxG
cmFtZSA9IGlzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZTsKKyAgICAgICAgdGhpcy5faXNBc3luY0Jv
dW5kYXJ5Q2FsbEZyYW1lID0gaXNBc3luY0JvdW5kYXJ5Q2FsbEZyYW1lIHx8IGZhbHNlOwogICAg
ICAgICAgaWYgKHRoaXMuX2lzQXN5bmNCb3VuZGFyeUNhbGxGcmFtZSkgewogICAgICAgICAgICAg
dGhpcy5hZGRDbGFzc05hbWUoImFzeW5jLWJvdW5kYXJ5Iik7CiAgICAgICAgICAgICB0aGlzLnNl
bGVjdGFibGUgPSBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NhbGxGcmFtZVZpZXcuY3NzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVmlldy5jc3MKaW5kZXggOTA3MDhlMmU2NjZj
ODY1YWYyODgxOTY4NTcwMjE2NTBlMDIzN2QwOS4uMzExMTMxMTZjNTZmMTE2ZmRiNDQwNzAxMjZm
ZDE3Y2Y1ZDFhYzJkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ2FsbEZyYW1lVmlldy5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ2FsbEZyYW1lVmlldy5jc3MKQEAgLTMyLDcgKzMyLDcgQEAK
IAogLmNhbGwtZnJhbWUuYmxhY2tib3hlZCA+IC50aXRsZSwKIC5jYWxsLWZyYW1lLmJsYWNrYm94
ZWQ6bm90KDpob3ZlciwgOmZvY3VzKSA+IC5zdWJ0aXRsZSB7Ci0gICAgb3BhY2l0eTogdmFyKC0t
YmxhY2tib3hlZC10cmVlLWl0ZW0tb3BhY2l0eSk7CisgICAgb3BhY2l0eTogdmFyKC0tYmxhY2ti
b3hlZC1vcGFjaXR5KTsKIH0KIAogLmNhbGwtZnJhbWUgLmljb24gewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3RhY2tUcmFjZVZpZXcuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdGFja1RyYWNlVmll
dy5qcwppbmRleCBlZTA1YWQ0OTViMTZmYWZhMTFmNDNmMGViNDMyYjljYTkxMGFmNzIxLi43Y2Jh
NTBlY2FhMjYzMTcyYzE5ZjgzYTdkMDYzYmQ0ZWM0ODAyYzgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdGFja1RyYWNlVmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdGFja1RyYWNlVmll
dy5qcwpAQCAtMzIsMTUgKzMyLDcgQEAgV0kuU3RhY2tUcmFjZVZpZXcgPSBjbGFzcyBTdGFja1Ry
YWNlVmlldyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMuX2Vs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAgZWxlbWVudC5j
bGFzc0xpc3QuYWRkKCJzdGFjay10cmFjZSIpOwogCi0gICAgICAgIGZvciAodmFyIGNhbGxGcmFt
ZSBvZiBzdGFja1RyYWNlLmNhbGxGcmFtZXMpIHsKLSAgICAgICAgICAgIGlmICghY2FsbEZyYW1l
LnNvdXJjZUNvZGVMb2NhdGlvbiAmJiBjYWxsRnJhbWUuZnVuY3Rpb25OYW1lID09PSBudWxsKQot
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgaWYgKGNhbGxGcmFtZS5pc0Nv
bnNvbGVFdmFsdWF0aW9uICYmICFXSS5zZXR0aW5ncy5kZWJ1Z1Nob3dDb25zb2xlRXZhbHVhdGlv
bnMudmFsdWUpCi0gICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgICAgIGxldCBj
YWxsRnJhbWVFbGVtZW50ID0gbmV3IFdJLkNhbGxGcmFtZVZpZXcoY2FsbEZyYW1lLCB7c2hvd0Z1
bmN0aW9uTmFtZTogdHJ1ZSwgaW5kaWNhdGVJZkJsYWNrYm94ZWQ6IHRydWV9KTsKLSAgICAgICAg
ICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoY2FsbEZyYW1lRWxlbWVudCk7Ci0gICAgICAgIH0KKyAg
ICAgICAgV0kuQ2FsbEZyYW1lVHJlZUNvbnRyb2xsZXIuZ3JvdXBCbGFja2JveGVkQ2FsbEZyYW1l
cyhlbGVtZW50LCBzdGFja1RyYWNlLmNhbGxGcmFtZXMpOwogICAgIH0KIAogICAgIGdldCBlbGVt
ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RocmVhZFRyZWVFbGVtZW50LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvVGhyZWFkVHJlZUVsZW1lbnQuanMKaW5kZXggMTEwZDc3ZjBjNzg1MTE3MzNi
YWI4ZDVjNzk3ZWZmMGU1OTI1MDYwOC4uMzRlNDEzMTdiNmQ3MmM1YWMzZjkxNjg5ZGE4MDE5YTgw
NjI0NjhlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGhyZWFkVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGhyZWFkVHJlZUVsZW1lbnQuanMKQEAgLTQ1LDUzICs0NSwxNCBA
QCBXSS5UaHJlYWRUcmVlRWxlbWVudCA9IGNsYXNzIFRocmVhZFRyZWVFbGVtZW50IGV4dGVuZHMg
V0kuR2VuZXJhbFRyZWVFbGVtZW50CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1cygpOwogCiAg
ICAgICAgIGxldCB0YXJnZXREYXRhID0gV0kuZGVidWdnZXJNYW5hZ2VyLmRhdGFGb3JUYXJnZXQo
dGhpcy5fdGFyZ2V0KTsKLSAgICAgICAgbGV0IGNhbGxGcmFtZXMgPSB0YXJnZXREYXRhLmNhbGxG
cmFtZXM7CiAKLSAgICAgICAgaWYgKHRhcmdldERhdGEucGF1c2luZyB8fCAhY2FsbEZyYW1lcy5s
ZW5ndGgpIHsKKyAgICAgICAgaWYgKHRhcmdldERhdGEucGF1c2luZyB8fCAhdGFyZ2V0RGF0YS5j
YWxsRnJhbWVzLmxlbmd0aCkgewogICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZCh0aGlzLl9p
ZGxlVHJlZUVsZW1lbnQpOwogICAgICAgICAgICAgdGhpcy5leHBhbmQoKTsKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGxldCBhY3RpdmVDYWxsRnJhbWUgPSBXSS5k
ZWJ1Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1lOwotICAgICAgICBsZXQgYWN0aXZlQ2FsbEZy
YW1lVHJlZUVsZW1lbnQgPSBudWxsOwotCi0gICAgICAgIGxldCByZW5kZXJDYWxsRnJhbWVzID0g
KGNhbGxGcmFtZXMsIHNob3VsZFNlbGVjdEFjdGl2ZUZyYW1lKSA9PiB7Ci0gICAgICAgICAgICBs
ZXQgYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwU3RhcnRJbmRleCA9IHVuZGVmaW5lZDsKLQotICAg
ICAgICAgICAgLy8gQWRkIG9uZSBleHRyYSBpdGVyYXRpb24gdG8gaGFuZGxlIGNhbGwgc3RhY2tz
IHRoYXQgc3RhcnQgYmxhY2tib3hlZC4KLSAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwg
Y2FsbEZyYW1lcy5sZW5ndGggKyAxOyArK2kpIHsKLSAgICAgICAgICAgICAgICBsZXQgY2FsbEZy
YW1lID0gY2FsbEZyYW1lc1tpXTsKLQotICAgICAgICAgICAgICAgIGlmIChjYWxsRnJhbWU/LmJs
YWNrYm94ZWQgJiYgV0kuc2V0dGluZ3MuZXhwZXJpbWVudGFsQ29sbGFwc2VCbGFja2JveGVkQ2Fs
bEZyYW1lcy52YWx1ZSkgewotICAgICAgICAgICAgICAgICAgICBibGFja2JveGVkQ2FsbEZyYW1l
R3JvdXBTdGFydEluZGV4ID8/PSBpOwotICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAg
ICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBpZiAoYmxhY2tib3hlZENhbGxGcmFt
ZUdyb3VwU3RhcnRJbmRleCAhPT0gdW5kZWZpbmVkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGxl
dCBibGFja2JveGVkQ2FsbEZyYW1lR3JvdXAgPSBjYWxsRnJhbWVzLnNsaWNlKGJsYWNrYm94ZWRD
YWxsRnJhbWVHcm91cFN0YXJ0SW5kZXgsIGkpOwotICAgICAgICAgICAgICAgICAgICBibGFja2Jv
eGVkQ2FsbEZyYW1lR3JvdXBTdGFydEluZGV4ID0gdW5kZWZpbmVkOwotCi0gICAgICAgICAgICAg
ICAgICAgIGlmICghV0kuZGVidWdnZXJNYW5hZ2VyLnNob3VsZEF1dG9FeHBhbmRCbGFja2JveGVk
Q2FsbEZyYW1lR3JvdXAoYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKSkgewotICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChuZXcgV0kuQmxhY2tib3hlZEdyb3VwVHJlZUVs
ZW1lbnQoYmxhY2tib3hlZENhbGxGcmFtZUdyb3VwKSk7Ci0gICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAgICAg
IGZvciAobGV0IGJsYWNrYm94ZWRDYWxsRnJhbWUgb2YgYmxhY2tib3hlZENhbGxGcmFtZUdyb3Vw
KQotICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChuZXcgV0kuQ2FsbEZy
YW1lVHJlZUVsZW1lbnQoYmxhY2tib3hlZENhbGxGcmFtZSkpOwotICAgICAgICAgICAgICAgIH0K
LQotICAgICAgICAgICAgICAgIGlmICghY2FsbEZyYW1lKQotICAgICAgICAgICAgICAgICAgICBj
b250aW51ZTsKLQotICAgICAgICAgICAgICAgIGxldCBjYWxsRnJhbWVUcmVlRWxlbWVudCA9IG5l
dyBXSS5DYWxsRnJhbWVUcmVlRWxlbWVudChjYWxsRnJhbWUpOwotICAgICAgICAgICAgICAgIGlm
IChzaG91bGRTZWxlY3RBY3RpdmVGcmFtZSAmJiBjYWxsRnJhbWUgPT09IGFjdGl2ZUNhbGxGcmFt
ZSkKLSAgICAgICAgICAgICAgICAgICAgYWN0aXZlQ2FsbEZyYW1lVHJlZUVsZW1lbnQgPSBjYWxs
RnJhbWVUcmVlRWxlbWVudDsKLSAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxkKGNhbGxG
cmFtZVRyZWVFbGVtZW50KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfTsKLQotICAgICAgICBy
ZW5kZXJDYWxsRnJhbWVzKGNhbGxGcmFtZXMsIHRydWUpOworICAgICAgICBsZXQgYWN0aXZlQ2Fs
bEZyYW1lVHJlZUVsZW1lbnQgPSBXSS5DYWxsRnJhbWVUcmVlQ29udHJvbGxlci5ncm91cEJsYWNr
Ym94ZWRDYWxsRnJhbWVzKHRoaXMsIHRhcmdldERhdGEuY2FsbEZyYW1lcywge3JlbWVtYmVyQmxh
Y2tib3hlZENhbGxGcmFtZUdyb3VwVG9BdXRvRXhwYW5kOiB0cnVlfSk7CiAKICAgICAgICAgaWYg
KGFjdGl2ZUNhbGxGcmFtZVRyZWVFbGVtZW50KSB7CiAgICAgICAgICAgICBhY3RpdmVDYWxsRnJh
bWVUcmVlRWxlbWVudC5zZWxlY3QodHJ1ZSwgdHJ1ZSk7CkBAIC0xMTUsMTEgKzc2LDExIEBAIFdJ
LlRocmVhZFRyZWVFbGVtZW50ID0gY2xhc3MgVGhyZWFkVHJlZUVsZW1lbnQgZXh0ZW5kcyBXSS5H
ZW5lcmFsVHJlZUVsZW1lbnQKICAgICAgICAgICAgICAgICBib3VuZGFyeUNhbGxGcmFtZSA9IG5l
dyBXSS5DYWxsRnJhbWUobnVsbCwgbnVsbCwgbnVsbCwgZnVuY3Rpb25OYW1lLCBudWxsLCBudWxs
LCBuYXRpdmVDb2RlKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgY29uc3QgaXNBc3lu
Y0JvdW5kYXJ5Q2FsbEZyYW1lID0gdHJ1ZTsKLSAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQo
bmV3IFdJLkNhbGxGcmFtZVRyZWVFbGVtZW50KGJvdW5kYXJ5Q2FsbEZyYW1lLCBpc0FzeW5jQm91
bmRhcnlDYWxsRnJhbWUpKTsKKyAgICAgICAgICAgIHRoaXMuYXBwZW5kQ2hpbGQobmV3IFdJLkNh
bGxGcmFtZVRyZWVFbGVtZW50KGJvdW5kYXJ5Q2FsbEZyYW1lLCB7aXNBc3luY0JvdW5kYXJ5Q2Fs
bEZyYW1lOiB0cnVlfSkpOwogCiAgICAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9IGN1cnJlbnRT
dGFja1RyYWNlLnRvcENhbGxGcmFtZUlzQm91bmRhcnkgPyAxIDogMDsKLSAgICAgICAgICAgIHJl
bmRlckNhbGxGcmFtZXMoc3RhcnRJbmRleCA/IGN1cnJlbnRTdGFja1RyYWNlLmNhbGxGcmFtZXMu
c2xpY2Uoc3RhcnRJbmRleCkgOiBjdXJyZW50U3RhY2tUcmFjZS5jYWxsRnJhbWVzKTsKKyAgICAg
ICAgICAgIGxldCBjdXJyZW50Q2FsbEZyYW1lcyA9IHN0YXJ0SW5kZXggPyBjdXJyZW50U3RhY2tU
cmFjZS5jYWxsRnJhbWVzLnNsaWNlKHN0YXJ0SW5kZXgpIDogY3VycmVudFN0YWNrVHJhY2UuY2Fs
bEZyYW1lczsKKyAgICAgICAgICAgIFdJLkNhbGxGcmFtZVRyZWVDb250cm9sbGVyLmdyb3VwQmxh
Y2tib3hlZENhbGxGcmFtZXModGhpcywgY3VycmVudENhbGxGcmFtZXMsIHtyZW1lbWJlckJsYWNr
Ym94ZWRDYWxsRnJhbWVHcm91cFRvQXV0b0V4cGFuZDogdHJ1ZX0pOwogCiAgICAgICAgICAgICBp
ZiAoY3VycmVudFN0YWNrVHJhY2UudHJ1bmNhdGVkKSB7CiAgICAgICAgICAgICAgICAgbGV0IHRy
dW5jYXRlZFRyZWVFbGVtZW50ID0gbmV3IFdJLkdlbmVyYWxUcmVlRWxlbWVudCgidHJ1bmNhdGVk
LWNhbGwtZnJhbWVzIiwgV0kuVUlTdHJpbmcoIkNhbGwgRnJhbWVzIFRydW5jYXRlZCIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZURhdGFHcmlkLmpzCmluZGV4IDY1OTkwYzAyZWYwM2I0YTM0YmUyYzZiYTE4ZGU5
ODExMDFkNWQyMmYuLjlkMjNiZDg1NjVmY2FmMjljNzFmOGM3NjQ3ZGVkZDVmYjIyMDZlYTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVs
aW5lRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVEYXRhR3JpZC5qcwpAQCAtMzk1LDE0ICszOTUsMTEgQEAgV0kuVGltZWxp
bmVEYXRhR3JpZCA9IGNsYXNzIFRpbWVsaW5lRGF0YUdyaWQgZXh0ZW5kcyBXSS5EYXRhR3JpZAog
ICAgICAgICAgICAgdGhpcy5fcG9wb3ZlckNhbGxTdGFja1RyZWVPdXRsaW5lLmRpc2Nsb3N1cmVC
dXR0b25zID0gZmFsc2U7CiAgICAgICAgICAgICB0aGlzLl9wb3BvdmVyQ2FsbFN0YWNrVHJlZU91
dGxpbmUuZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJ0aW1lbGluZS1kYXRhLWdyaWQiKTsKICAgICAg
ICAgICAgIHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVy
KFdJLlRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGlvbkRpZENoYW5nZSwgdGhpcy5fcG9wb3ZlckNh
bGxTdGFja1RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOworICAgICAgICAgICAgdGhpcy5f
cG9wb3ZlckNhbGxTdGFja1RyZWVPdXRsaW5lLmFkZEV2ZW50TGlzdGVuZXIoV0kuVHJlZU91dGxp
bmUuRXZlbnQuRWxlbWVudFJlbW92ZWQsIHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlRWxlbWVu
dFJlbW92ZWQsIHRoaXMpOwogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIHRoaXMuX3BvcG92
ZXJDYWxsU3RhY2tUcmVlT3V0bGluZS5yZW1vdmVDaGlsZHJlbigpOwogCi0gICAgICAgIHZhciBj
YWxsRnJhbWVzID0gdGhpcy5zZWxlY3RlZE5vZGUucmVjb3JkLmNhbGxGcmFtZXM7Ci0gICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgY2FsbEZyYW1lcy5sZW5ndGg7ICsraSkgewotICAgICAgICAg
ICAgdmFyIGNhbGxGcmFtZVRyZWVFbGVtZW50ID0gbmV3IFdJLkNhbGxGcmFtZVRyZWVFbGVtZW50
KGNhbGxGcmFtZXNbaV0pOwotICAgICAgICAgICAgdGhpcy5fcG9wb3ZlckNhbGxTdGFja1RyZWVP
dXRsaW5lLmFwcGVuZENoaWxkKGNhbGxGcmFtZVRyZWVFbGVtZW50KTsKLSAgICAgICAgfQorICAg
ICAgICBXSS5DYWxsRnJhbWVUcmVlQ29udHJvbGxlci5ncm91cEJsYWNrYm94ZWRDYWxsRnJhbWVz
KHRoaXMuX3BvcG92ZXJDYWxsU3RhY2tUcmVlT3V0bGluZSwgdGhpcy5zZWxlY3RlZE5vZGUucmVj
b3JkLmNhbGxGcmFtZXMpOwogCiAgICAgICAgIGxldCBjb250ZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgiZGl2Iik7CiAgICAgICAgIGNvbnRlbnQuYXBwZW5kQ2hpbGQodGhpcy5fcG9wb3Zl
ckNhbGxTdGFja1RyZWVPdXRsaW5lLmVsZW1lbnQpOwpAQCAtNDI3LDYgKzQyNCwxMiBAQCBXSS5U
aW1lbGluZURhdGFHcmlkID0gY2xhc3MgVGltZWxpbmVEYXRhR3JpZCBleHRlbmRzIFdJLkRhdGFH
cmlkCiAgICAgICAgICAgICBpZ25vcmVTZWFyY2hUYWI6IHRydWUsCiAgICAgICAgIH0pOwogICAg
IH0KKworICAgIF9wb3BvdmVyQ2FsbFN0YWNrVHJlZUVsZW1lbnRSZW1vdmVkKGV2ZW50KQorICAg
IHsKKyAgICAgICAgaWYgKGV2ZW50LmRhdGEuZWxlbWVudCBpbnN0YW5jZW9mIFdJLkJsYWNrYm94
ZWRHcm91cFRyZWVFbGVtZW50KQorICAgICAgICAgICAgdGhpcy5fcG9wb3Zlcj8udXBkYXRlKCk7
CisgICAgfQogfTsKIAogV0kuVGltZWxpbmVEYXRhR3JpZC5IYXNOb25EZWZhdWx0RmlsdGVyU3R5
bGVDbGFzc05hbWUgPSAiaGFzLW5vbi1kZWZhdWx0LWZpbHRlciI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WYXJpYWJsZXMuY3NzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmFyaWFibGVzLmNzcwppbmRl
eCBhN2EzMDQwOGIzMzk3MTE0NWJjZTc3NjY2MDU5ZmQyZDZhOGFhOWVjLi5iMWQ5YWY4NWU3MWEy
NmY0OThiNWU2NTI4MWRkZTM4NDExZWU4NWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9WYXJpYWJsZXMuY3NzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1ZhcmlhYmxlcy5jc3MKQEAgLTIxNiw3ICsy
MTYsNyBAQAogCiAgICAgLS1pbWFnZS1idXR0b24tbmF2aWdhdGlvbi1pdGVtLXdpZHRoOiAyNnB4
OwogCi0gICAgLS1ibGFja2JveGVkLXRyZWUtaXRlbS1vcGFjaXR5OiAwLjU7CisgICAgLS1ibGFj
a2JveGVkLW9wYWNpdHk6IDAuNTsKIH0KIAogYm9keS53aW5kb3ctaW5hY3RpdmUgewo=
</data>

          </attachment>
      

    </bug>

</bugzilla>