<?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>229110</bug_id>
          
          <creation_ts>2021-08-14 12:22:37 -0700</creation_ts>
          <short_desc>[WebXR] A session with only one view should cover the full screen</short_desc>
          <delta_ts>2021-08-20 12:42:51 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebXR</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>adachan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1784337</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-08-14 12:22:37 -0700</bug_when>
    <thetext>[WebXR] A session with only one view should cover the full screen</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784338</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-14 12:23:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/81940621&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784339</commentid>
    <comment_count>2</comment_count>
      <attachid>435542</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-08-14 12:26:23 -0700</bug_when>
    <thetext>Created attachment 435542
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784368</commentid>
    <comment_count>3</comment_count>
      <attachid>435542</attachid>
    <who name="Ada Chan">adachan</who>
    <bug_when>2021-08-15 00:46:17 -0700</bug_when>
    <thetext>Comment on attachment 435542
Patch

Looks good!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784942</commentid>
    <comment_count>4</comment_count>
      <attachid>435714</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-08-17 14:57:12 -0700</bug_when>
    <thetext>Created attachment 435714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784974</commentid>
    <comment_count>5</comment_count>
      <attachid>435714</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-08-17 16:14:05 -0700</bug_when>
    <thetext>Comment on attachment 435714
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRWebGLLayer.cpp:327
&gt; +    if (m_session-&gt;mode() == XRSessionMode::ImmersiveVr &amp;&amp; m_session-&gt;views().size() &gt; 1) {

Odd that &quot;number of views is &gt; 1&quot; then goes around and assumes it&apos;s 2. I guess we won&apos;t need WebXR for spiders any time soon.

&gt; LayoutTests/http/wpt/webxr/resources/webxr_test_constants_single_view.js:150
&gt; +  supportsImmersive: true,

This file is fairly chaotic indentationwise (as are the others)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1785950</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-08-20 12:42:51 -0700</bug_when>
    <thetext>Committed r281331 (240748@main): &lt;https://commits.webkit.org/240748@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435542</attachid>
            <date>2021-08-14 12:26:23 -0700</date>
            <delta_ts>2021-08-17 14:57:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229110-20210815052622.patch</filename>
            <type>text/plain</type>
            <size>2637</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwOTg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUwODU0MzYxZmZkMGIw
YWRiOTljZGE4Njc1ZDdiMDIzZDYwMjE3NS4uZjVlNDhmMjgwZjFmZWM1NWQ3YWIxZDcyOTJjMmM3
ZTI4MzFlNTc4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDIxLTA4LTE0ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIEEgc2Vzc2lvbiB3
aXRoIG9ubHkgb25lIHZpZXcgc2hvdWxkIGNvdmVyIHRoZSBmdWxsIHNjcmVlbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MTk0MDYyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJZiB3ZSBnZXQgaW50byB0aGUgc3RhdGUgd2l0aCBhbiBpbW1lcnNp
dmUgc2Vzc2lvbiBhbmQgb25seSBvbmUgdmlldywKKyAgICAgICAgd2Ugc2hvdWxkIHRyZWF0IHRo
YXQgdmlldyBhcyB0aGUgZnVsbCB3aWR0aC4KKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2Vi
WFJXZWJHTExheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSV2ViR0xMYXllcjo6Y29t
cHV0ZVZpZXdwb3J0cyk6IEFkZCB0ZXN0IGZvciBvbmx5IG9uZQorICAgICAgICB2aWV3IGFuZCBh
c3N1bWUgaXQgaXMgdGhlIGxlZnQgZXllLgorCiAyMDIxLTA4LTEyICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWlncmF0ZSBQZXJmb3JtYW5j
ZTo6cmVzb3VyY2VUaW1pbmdCdWZmZXJGdWxsVGltZXJGaXJlZCB0byBIVE1MIGV2ZW50IGxvb3AK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmNwcApp
bmRleCAxZGQwMzgyOTM4YjVlNWMzOTBhNjMxNzRjZTAzZjg4NzJmNzE0OWE4Li43OGIxNWNiOGIw
N2IyYzBlM2MxMGQ4MWM3NTdiZWFjNzZjMTUzMDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuY3BwCkBAIC0zMjQsMTggKzMyNCwxMyBAQCB2
b2lkIFdlYlhSV2ViR0xMYXllcjo6Y29tcHV0ZVZpZXdwb3J0cygpCiAgICAgYXV0byB3aWR0aCA9
IGZyYW1lYnVmZmVyV2lkdGgoKTsKICAgICBhdXRvIGhlaWdodCA9IGZyYW1lYnVmZmVySGVpZ2h0
KCk7CiAKLSAgICBpZiAobV9zZXNzaW9uLT5tb2RlKCkgPT0gWFJTZXNzaW9uTW9kZTo6SW1tZXJz
aXZlVnIpIHsKLSAgICAgICAgLy8gVXBkYXRlIGxlZnQgdmlld3BvcnQKLSAgICAgICAgYXV0byBz
Y2FsZSA9IG1fbGVmdFZpZXdwb3J0RGF0YS5jdXJyZW50U2NhbGU7Ci0gICAgICAgIG1fbGVmdFZp
ZXdwb3J0RGF0YS52aWV3cG9ydC0+dXBkYXRlVmlld3BvcnQoSW50UmVjdCgwLCAwLCByb3VuZERv
d24od2lkdGggKiAwLjUgKiBzY2FsZSksIHJvdW5kRG93bihoZWlnaHQgKiBzY2FsZSkpKTsKLQot
ICAgICAgICAvLyBVcGRhdGUgcmlnaHQgdmlld3BvcnQKLSAgICAgICAgc2NhbGUgPSBtX3JpZ2h0
Vmlld3BvcnREYXRhLmN1cnJlbnRTY2FsZTsKLSAgICAgICAgbV9yaWdodFZpZXdwb3J0RGF0YS52
aWV3cG9ydC0+dXBkYXRlVmlld3BvcnQoSW50UmVjdCh3aWR0aCAqIDAuNSwgMCwgcm91bmREb3du
KHdpZHRoICogMC41ICogc2NhbGUpLCByb3VuZERvd24oaGVpZ2h0ICogc2NhbGUpKSk7Ci0gICAg
fSBlbHNlIHsKLSAgICAgICAgLy8gV2UgcmV1c2UgbV9sZWZ0Vmlld3BvcnQgZm9yIFhSRXllOjpO
b25lLgorICAgIGlmIChtX3Nlc3Npb24tPm1vZGUoKSA9PSBYUlNlc3Npb25Nb2RlOjpJbW1lcnNp
dmVWciAmJiBtX3Nlc3Npb24tPnZpZXdzKCkuc2l6ZSgpID4gMSkgeworICAgICAgICBhdXRvIGxl
ZnRTY2FsZSA9IG1fbGVmdFZpZXdwb3J0RGF0YS5jdXJyZW50U2NhbGU7CisgICAgICAgIG1fbGVm
dFZpZXdwb3J0RGF0YS52aWV3cG9ydC0+dXBkYXRlVmlld3BvcnQoSW50UmVjdCgwLCAwLCByb3Vu
ZERvd24od2lkdGggKiAwLjUgKiBsZWZ0U2NhbGUpLCByb3VuZERvd24oaGVpZ2h0ICogbGVmdFNj
YWxlKSkpOworICAgICAgICBhdXRvIHJpZ2h0U2NhbGUgPSBtX3JpZ2h0Vmlld3BvcnREYXRhLmN1
cnJlbnRTY2FsZTsKKyAgICAgICAgbV9yaWdodFZpZXdwb3J0RGF0YS52aWV3cG9ydC0+dXBkYXRl
Vmlld3BvcnQoSW50UmVjdCh3aWR0aCAqIDAuNSwgMCwgcm91bmREb3duKHdpZHRoICogMC41ICog
cmlnaHRTY2FsZSksIHJvdW5kRG93bihoZWlnaHQgKiByaWdodFNjYWxlKSkpOworICAgIH0gZWxz
ZQogICAgICAgICBtX2xlZnRWaWV3cG9ydERhdGEudmlld3BvcnQtPnVwZGF0ZVZpZXdwb3J0KElu
dFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCkpOwotICAgIH0KIAogICAgIG1fdmlld3BvcnRzRGly
dHkgPSBmYWxzZTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435714</attachid>
            <date>2021-08-17 14:57:12 -0700</date>
            <delta_ts>2021-08-17 16:14:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229110-20210818075711.patch</filename>
            <type>text/plain</type>
            <size>24379</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDEwMDVmNWU1ZTBiOGJj
YWFlMzczZmQ5OTA1OGY1OTBjMDAyYzlmZC4uMWNlNjRkOGZhYWM3ZGVlNjg4NGVhZDVlMTNhYTZi
NjhmNjcwYWE3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA4LTE3ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIEEgc2Vzc2lvbiB3
aXRoIG9ubHkgb25lIHZpZXcgc2hvdWxkIGNvdmVyIHRoZSBmdWxsIHNjcmVlbgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MTEwCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS84MTk0MDYyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBJZiB3ZSBnZXQgaW50byB0aGUgc3RhdGUgd2l0aCBhbiBpbW1lcnNp
dmUgc2Vzc2lvbiBhbmQgb25seSBvbmUgdmlldywKKyAgICAgICAgd2Ugc2hvdWxkIHRyZWF0IHRo
YXQgdmlldyBhcyB0aGUgZnVsbCB3aWR0aC4gVGhpcyBzaXR1YXRpb24gc2hvdWxkIG5ldmVyCisg
ICAgICAgIGhhcHBlbiB3aXRoIGEgcmVhbCBoZWFkc2V0LCBidXQgY2FuIGJlIGZvdW5kIGluIHRl
c3Rpbmcgc2NlbmFyaW9zLgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3dlYnhyL3hyVmlld3Bv
cnRfc2luZ2xlVmlld192YWxpZC5odHRwcy5odG1sCisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhy
L1dlYlhSV2ViR0xMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUldlYkdMTGF5ZXI6
OmNvbXB1dGVWaWV3cG9ydHMpOiBBZGQgdGVzdCBmb3Igb25seSBvbmUKKyAgICAgICAgdmlldyBh
bmQgYXNzdW1lIGl0IGlzIHRoZSBsZWZ0IGV5ZS4KKwogMjAyMS0wOC0xNiAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViWFIgY29udGV4dHMgaGF2ZSB0byB1c2Ug
aGlnaC1wb3dlciBHUFVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSV2ViR0xMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
V2ViR0xMYXllci5jcHAKaW5kZXggMWRkMDM4MjkzOGI1ZTVjMzkwYTYzMTc0Y2UwM2Y4ODcyZjcx
NDlhOC4uNzhiMTVjYjhiMDdiMmMwZTNjMTBkODFjNzU3YmVhYzc2YzE1MzA3MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUldlYkdMTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmNwcApAQCAtMzI0
LDE4ICszMjQsMTMgQEAgdm9pZCBXZWJYUldlYkdMTGF5ZXI6OmNvbXB1dGVWaWV3cG9ydHMoKQog
ICAgIGF1dG8gd2lkdGggPSBmcmFtZWJ1ZmZlcldpZHRoKCk7CiAgICAgYXV0byBoZWlnaHQgPSBm
cmFtZWJ1ZmZlckhlaWdodCgpOwogCi0gICAgaWYgKG1fc2Vzc2lvbi0+bW9kZSgpID09IFhSU2Vz
c2lvbk1vZGU6OkltbWVyc2l2ZVZyKSB7Ci0gICAgICAgIC8vIFVwZGF0ZSBsZWZ0IHZpZXdwb3J0
Ci0gICAgICAgIGF1dG8gc2NhbGUgPSBtX2xlZnRWaWV3cG9ydERhdGEuY3VycmVudFNjYWxlOwot
ICAgICAgICBtX2xlZnRWaWV3cG9ydERhdGEudmlld3BvcnQtPnVwZGF0ZVZpZXdwb3J0KEludFJl
Y3QoMCwgMCwgcm91bmREb3duKHdpZHRoICogMC41ICogc2NhbGUpLCByb3VuZERvd24oaGVpZ2h0
ICogc2NhbGUpKSk7Ci0KLSAgICAgICAgLy8gVXBkYXRlIHJpZ2h0IHZpZXdwb3J0Ci0gICAgICAg
IHNjYWxlID0gbV9yaWdodFZpZXdwb3J0RGF0YS5jdXJyZW50U2NhbGU7Ci0gICAgICAgIG1fcmln
aHRWaWV3cG9ydERhdGEudmlld3BvcnQtPnVwZGF0ZVZpZXdwb3J0KEludFJlY3Qod2lkdGggKiAw
LjUsIDAsIHJvdW5kRG93bih3aWR0aCAqIDAuNSAqIHNjYWxlKSwgcm91bmREb3duKGhlaWdodCAq
IHNjYWxlKSkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIFdlIHJldXNlIG1fbGVmdFZpZXdw
b3J0IGZvciBYUkV5ZTo6Tm9uZS4KKyAgICBpZiAobV9zZXNzaW9uLT5tb2RlKCkgPT0gWFJTZXNz
aW9uTW9kZTo6SW1tZXJzaXZlVnIgJiYgbV9zZXNzaW9uLT52aWV3cygpLnNpemUoKSA+IDEpIHsK
KyAgICAgICAgYXV0byBsZWZ0U2NhbGUgPSBtX2xlZnRWaWV3cG9ydERhdGEuY3VycmVudFNjYWxl
OworICAgICAgICBtX2xlZnRWaWV3cG9ydERhdGEudmlld3BvcnQtPnVwZGF0ZVZpZXdwb3J0KElu
dFJlY3QoMCwgMCwgcm91bmREb3duKHdpZHRoICogMC41ICogbGVmdFNjYWxlKSwgcm91bmREb3du
KGhlaWdodCAqIGxlZnRTY2FsZSkpKTsKKyAgICAgICAgYXV0byByaWdodFNjYWxlID0gbV9yaWdo
dFZpZXdwb3J0RGF0YS5jdXJyZW50U2NhbGU7CisgICAgICAgIG1fcmlnaHRWaWV3cG9ydERhdGEu
dmlld3BvcnQtPnVwZGF0ZVZpZXdwb3J0KEludFJlY3Qod2lkdGggKiAwLjUsIDAsIHJvdW5kRG93
bih3aWR0aCAqIDAuNSAqIHJpZ2h0U2NhbGUpLCByb3VuZERvd24oaGVpZ2h0ICogcmlnaHRTY2Fs
ZSkpKTsKKyAgICB9IGVsc2UKICAgICAgICAgbV9sZWZ0Vmlld3BvcnREYXRhLnZpZXdwb3J0LT51
cGRhdGVWaWV3cG9ydChJbnRSZWN0KDAsIDAsIHdpZHRoLCBoZWlnaHQpKTsKLSAgICB9CiAKICAg
ICBtX3ZpZXdwb3J0c0RpcnR5ID0gZmFsc2U7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzA5NjU1M2VhYWE0MTg4MTcx
ZWZjOGM1N2Y5OTFjMThhN2I5YzUwZC4uMmE4NWRmOTZiMzEyYjc5NTAxZDUzOGNiMzU5YzRlMmQz
ZDA2YTA3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA4LTE3ICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIEEgc2Vzc2lvbiB3aXRoIG9ubHkg
b25lIHZpZXcgc2hvdWxkIGNvdmVyIHRoZSBmdWxsIHNjcmVlbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5MTEwCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MTk0MDYyMT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgYSB0ZXN0IHRoYXQgcHJvdmlkZXMgYW4gaW1tZXJzaXZlIHNlc3Npb24gd2l0
aCBvbmx5IG9uZSB2aWV3LgorICAgICAgICBUaGlzIHJlcXVpcmVkIGNvcHlpbmcgYSBmZXcgbW9y
ZSB0aGluZ3Mgb3ZlciBmcm9tIHRoZSBXUFQgZGlyZWN0b3J5LgorCisgICAgICAgICogaHR0cC93
cHQvd2VieHIvcmVzb3VyY2VzL3Rlc3Qtb25seS1hcGkuanM6IEFkZGVkLgorICAgICAgICAobG9h
ZFNjcmlwdCk6CisgICAgICAgICogaHR0cC93cHQvd2VieHIvcmVzb3VyY2VzL3dlYnhyX3Rlc3Rf
Y29uc3RhbnRzX3NpbmdsZV92aWV3LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJ4
ci9yZXNvdXJjZXMvd2VieHJfdXRpbC5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2Vi
eHIveHJWaWV3cG9ydF9zaW5nbGVWaWV3X3ZhbGlkLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogaHR0cC93cHQvd2VieHIveHJWaWV3cG9ydF9zaW5nbGVWaWV3X3ZhbGlkLmh0
dHBzLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA4LTE2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJYUiBjb250ZXh0cyBoYXZlIHRvIHVzZSBoaWdoLXBvd2VyIEdQ
VXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3Jlc291cmNlcy90ZXN0
LW9ubHktYXBpLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIvcmVzb3VyY2VzL3Rlc3Qt
b25seS1hcGkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTY2ZWI0NGVkZTdjMTVhMzdmYjFhM2M1ZGQ1ZDJhYmMx
NzE3N2M4ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3Jl
c291cmNlcy90ZXN0LW9ubHktYXBpLmpzCkBAIC0wLDAgKzEsMzEgQEAKKyd1c2Ugc3RyaWN0JzsK
KworLyogV2hldGhlciB0aGUgYnJvd3NlciBpcyBDaHJvbWl1bS1iYXNlZCB3aXRoIE1vam9KUyBl
bmFibGVkICovCitjb25zdCBpc0Nocm9taXVtQmFzZWQgPSAnTW9qb0ludGVyZmFjZUludGVyY2Vw
dG9yJyBpbiBzZWxmOworLyogV2hldGhlciB0aGUgYnJvd3NlciBpcyBXZWJLaXQtYmFzZWQgd2l0
aCBpbnRlcm5hbCB0ZXN0LW9ubHkgQVBJIGVuYWJsZWQgKi8KK2NvbnN0IGlzV2ViS2l0QmFzZWQg
PSAhaXNDaHJvbWl1bUJhc2VkICYmICdpbnRlcm5hbHMnIGluIHNlbGY7CisKKy8qKgorICogTG9h
ZHMgYSBzY3JpcHQgaW4gYSB3aW5kb3cgb3Igd29ya2VyLgorICoKKyAqIEBwYXJhbSB7c3RyaW5n
fSBwYXRoIC0gQSBzY3JpcHQgcGF0aAorICogQHJldHVybnMge1Byb21pc2V9CisgKi8KK2Z1bmN0
aW9uIGxvYWRTY3JpcHQocGF0aCkgeworICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZp
bmVkJykgeworICAgIC8vIFdvcmtlcnMgKGltcG9ydFNjcmlwdHMgaXMgc3luY2hyb25vdXMgYW5k
IG1heSB0aHJvdy4pCisgICAgaW1wb3J0U2NyaXB0cyhwYXRoKTsKKyAgICByZXR1cm4gUHJvbWlz
ZS5yZXNvbHZlKCk7CisgIH0gZWxzZSB7CisgICAgLy8gV2luZG93CisgICAgY29uc3Qgc2NyaXB0
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7CisgICAgc2NyaXB0LnNyYyA9IHBh
dGg7CisgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7CisgICAgY29uc3QgcCA9IG5ldyBQcm9taXNl
KChyZXNvbHZlLCByZWplY3QpID0+IHsKKyAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiB7IHJl
c29sdmUoKTsgfTsKKyAgICAgIHNjcmlwdC5vbmVycm9yID0gZSA9PiB7IHJlamVjdChgRXJyb3Ig
bG9hZGluZyAke3BhdGh9YCk7IH07CisgICAgfSkKKyAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENo
aWxkKHNjcmlwdCk7CisgICAgcmV0dXJuIHA7CisgIH0KK30KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYnhyL3Jlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50c19zaW5nbGVf
dmlldy5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3Jlc291cmNlcy93ZWJ4cl90ZXN0
X2NvbnN0YW50c19zaW5nbGVfdmlldy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMzcyMGU1MGU1YTlkZWUxNmE5
NTRjMTkzM2JiM2IzNzRhODkwN2E1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VieHIvcmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzX3NpbmdsZV92aWV3Lmpz
CkBAIC0wLDAgKzEsMTk5IEBACisvLyBhc3NlcnRfZXF1YWxzIGNhbiBmYWlsIHdoZW4gY29tcGFy
aW5nIGZsb2F0cyBkdWUgdG8gcHJlY2lzaW9uIGVycm9ycywgc28KKy8vIHVzZSBhc3NlcnRfYXBw
cm94X2VxdWFscyB3aXRoIHRoaXMgY29uc3RhbnQgaW5zdGVhZAorY29uc3QgRkxPQVRfRVBTSUxP
TiA9IDAuMDAxOworCisvLyBJZGVudGl0eSBtYXRyaXgKK2NvbnN0IElERU5USVRZX01BVFJJWCA9
IFsxLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDEsIDAsIDAsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgMSwgMCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAwLCAwLCAwLCAxXTsKKworY29uc3QgSURFTlRJVFlfVFJBTlNGT1JNID0geworICAgIHBvc2l0
aW9uOiBbMCwgMCwgMF0sCisgICAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXSwKK307CisKKy8v
IEEgdmFsaWQgcG9zZSBtYXRyaXgvdHJhbnNmb3JtIGZvciAgd2hlbiB3ZSBkb24ndCBjYXJlIGFi
b3V0IHNwZWNpZmljIHZhbHVlcworLy8gTm90ZSB0aGF0IHRoZXNlIHR3byBzaG91bGQgYmUgaWRl
bnRpY2FsLCBqdXN0IGRpZmZlcmVudCByZXByZXNlbnRhdGlvbnMKK2NvbnN0IFZBTElEX1BPU0Vf
TUFUUklYID0gWzAsIDEsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAx
LCAwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwgMCwgMCwgMCwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDEsIDEsIDEsIDFdOworCitjb25zdCBWQUxJRF9QT1NFX1RSQU5TRk9S
TSA9IHsKKyAgICBwb3NpdGlvbjogWzEsIDEsIDFdLAorICAgIG9yaWVudGF0aW9uOiBbMC41LCAw
LjUsIDAuNSwgMC41XQorfTsKKworY29uc3QgVkFMSURfUFJPSkVDVElPTl9NQVRSSVggPQorICAg
IFsxLCAwLCAwLCAwLCAwLCAxLCAwLCAwLCAzLCAyLCAtMSwgLTEsIDAsIDAsIC0wLjIsIDBdOwor
CisvLyBUaGlzIGlzIGEgZGVjb21wb3NlZCB2ZXJzaW9uIG9mIHRoZSBhYm92ZS4KK2NvbnN0IFZB
TElEX0ZJRUxEX09GX1ZJRVcgPSB7CisgICAgdXBEZWdyZWVzOiA3MS41NjUsCisgICAgZG93bkRl
Z3JlZXM6IC00NSwKKyAgICBsZWZ0RGVncmVlczotNjMuNDM0OSwKKyAgICByaWdodERlZ3JlZXM6
IDc1Ljk2MzcKK307CisKKy8vIEEgdmFsaWQgaW5wdXQgZ3JpcCBtYXRyaXggZm9yICB3aGVuIHdl
IGRvbid0IGNhcmUgYWJvdXQgc3BlY2lmaWMgdmFsdWVzCitjb25zdCBWQUxJRF9HUklQID0gWzEs
IDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgIDAsIDEsIDAsIDAsCisgICAgICAgICAgICAg
ICAgICAgIDAsIDAsIDEsIDAsCisgICAgICAgICAgICAgICAgICAgIDQsIDMsIDIsIDFdOworCitj
b25zdCBWQUxJRF9HUklQX1RSQU5TRk9STSA9IHsKKyAgICBwb3NpdGlvbjogWzQsIDMsIDJdLAor
ICAgIG9yaWVudGF0aW9uOiBbMCwgMCwgMCwgMV0KK307CisKKy8vIEEgdmFsaWQgaW5wdXQgcG9p
bnRlciBvZmZzZXQgZm9yICB3aGVuIHdlIGRvbid0IGNhcmUgYWJvdXQgc3BlY2lmaWMgdmFsdWVz
Citjb25zdCBWQUxJRF9QT0lOVEVSID0gWzEsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgICAg
ICAgIDAsIDEsIDAsIDAsCisgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIDEsIDAsCisgICAg
ICAgICAgICAgICAgICAgICAgIDAsIDAsIDEsIDFdOworCitjb25zdCBWQUxJRF9QT0lOVEVSX1RS
QU5TRk9STSA9IHsKKyAgICBwb3NpdGlvbjogWzAsIDAsIDFdLAorICAgIG9yaWVudGF0aW9uOiBb
MCwgMCwgMCwgMV0KK307CisKKy8vIEEgVmFsaWQgTG9jYWwgdG8gZmxvb3IgbWF0cml4L3RyYW5z
Zm9ybSBmb3Igd2hlbiB3ZSBkb24ndCBjYXJlIGFib3V0IHNwZWNpZmljCisvLyB2YWx1ZXMuICBO
b3RlIHRoYXQgdGhlc2Ugc2hvdWxkIGJlIGlkZW50aWNhbCwganVzdCBkaWZmZXJlbnQgcmVwcmVz
ZW50YXRpb25zLgorY29uc3QgVkFMSURfRkxPT1JfT1JJR0lOX01BVFJJWCA9IFsxLCAwLCAgICAw
LCAgMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxLCAgICAwLCAg
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCAgICAxLCAgMCwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAxLjY1LCAtMSwgMV07CisK
K2NvbnN0IFZBTElEX0ZMT09SX09SSUdJTiA9IHsKKyAgICBwb3NpdGlvbjogWy0xLjAsIC0xLjY1
LCAxLjBdLAorICAgIG9yaWVudGF0aW9uOiBbMCwgMCwgMCwgMV0KK307CisKK2NvbnN0IFZBTElE
X0JPVU5EUyA9IFsKKyAgICB7IHg6IDMuMCwgejogLTIuMCB9LAorICAgIHsgeDogMy41LCB6OiAw
LjAgfSwKKyAgICB7IHg6IDMuMCwgejogMi4wIH0sCisgICAgeyB4OiAtMy4wLCB6OiAyLjAgfSwK
KyAgICB7IHg6IC0zLjUsIHo6IDAuMCB9LAorICAgIHsgeDogLTMuMCwgejogLTIuMCB9CitdOwor
Citjb25zdCBWQUxJRF9SRVNPTFVUSU9OID0geworICAgIHdpZHRoOiAyMDAsCisgICAgaGVpZ2h0
OiAyMDAKK307CisKK2NvbnN0IExFRlRfT0ZGU0VUID0geworICAgIHBvc2l0aW9uOiBbLTAuMSwg
MCwgMF0sCisgICAgb3JpZW50YXRpb246IFswLCAwLCAwLCAxXQorfTsKKworY29uc3QgUklHSFRf
T0ZGU0VUID0geworICAgIHBvc2l0aW9uOiBbMC4xLCAwLCAwXSwKKyAgICBvcmllbnRhdGlvbjog
WzAsIDAsIDAsIDFdCit9OworCitjb25zdCBWQUxJRF9WSUVXUyA9IFt7CisgICAgICAgIGV5ZToi
bGVmdCIsCisgICAgICAgIHByb2plY3Rpb25NYXRyaXg6IFZBTElEX1BST0pFQ1RJT05fTUFUUklY
LAorICAgICAgICB2aWV3T2Zmc2V0OiBMRUZUX09GRlNFVCwKKyAgICAgICAgcmVzb2x1dGlvbjog
VkFMSURfUkVTT0xVVElPTgorICAgIH0sIHsKKyAgICAgICAgZXllOiJyaWdodCIsCisgICAgICAg
IHByb2plY3Rpb25NYXRyaXg6IFZBTElEX1BST0pFQ1RJT05fTUFUUklYLAorICAgICAgICB2aWV3
T2Zmc2V0OiBSSUdIVF9PRkZTRVQsCisgICAgICAgIHJlc29sdXRpb246IFZBTElEX1JFU09MVVRJ
T04KKyAgICB9LAorXTsKKworY29uc3QgTk9OX0lNTUVSU0lWRV9WSUVXUyA9IFt7CisgICAgICAg
IGV5ZTogIm5vbmUiLAorICAgICAgICBwcm9qZWN0aW9uTWF0cml4OiBWQUxJRF9QUk9KRUNUSU9O
X01BVFJJWCwKKyAgICAgICAgdmlld09mZnNldDogSURFTlRJVFlfVFJBTlNGT1JNLAorICAgICAg
ICByZXNvbHV0aW9uOiBWQUxJRF9SRVNPTFVUSU9OLAorICAgIH0KK107CisKK2NvbnN0IExFRlRf
T05MWV9JTU1FUlNJVkVfVklFV1MgPSBbeworICAgICAgICBleWU6ICJsZWZ0IiwKKyAgICAgICAg
cHJvamVjdGlvbk1hdHJpeDogVkFMSURfUFJPSkVDVElPTl9NQVRSSVgsCisgICAgICAgIHZpZXdP
ZmZzZXQ6IElERU5USVRZX1RSQU5TRk9STSwKKyAgICAgICAgcmVzb2x1dGlvbjogVkFMSURfUkVT
T0xVVElPTiwKKyAgICB9CitdOworCitjb25zdCBBTExfRkVBVFVSRVMgPSBbCisgICd2aWV3ZXIn
LAorICAnbG9jYWwnLAorICAnbG9jYWwtZmxvb3InLAorICAnYm91bmRlZC1mbG9vcicsCisgICd1
bmJvdW5kZWQnLAorICAnaGl0LXRlc3QnLAorICAnZG9tLW92ZXJsYXknLAorICAnbGlnaHQtZXN0
aW1hdGlvbicsCisgICdhbmNob3JzJywKKyAgJ2RlcHRoLXNlbnNpbmcnLAorXTsKKworY29uc3Qg
VFJBQ0tFRF9JTU1FUlNJVkVfREVWSUNFID0geworICAgIHN1cHBvcnRzSW1tZXJzaXZlOiB0cnVl
LAorICAgIHN1cHBvcnRlZE1vZGVzOiBbICJpbmxpbmUiLCAiaW1tZXJzaXZlLXZyIl0sCisgICAg
dmlld3M6IFZBTElEX1ZJRVdTLAorICAgIHZpZXdlck9yaWdpbjogSURFTlRJVFlfVFJBTlNGT1JN
LAorICAgIHN1cHBvcnRlZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgICAgZW52aXJvbm1lbnRC
bGVuZE1vZGU6ICJvcGFxdWUiLAorICAgIGludGVyYWN0aW9uTW9kZTogIndvcmxkLXNwYWNlIgor
fTsKKworY29uc3QgSU1NRVJTSVZFX0FSX0RFVklDRSA9IHsKKyAgc3VwcG9ydHNJbW1lcnNpdmU6
IHRydWUsCisgIHN1cHBvcnRlZE1vZGVzOiBbICJpbmxpbmUiLCAiaW1tZXJzaXZlLWFyIl0sCisg
IHZpZXdzOiBWQUxJRF9WSUVXUywKKyAgdmlld2VyT3JpZ2luOiBJREVOVElUWV9UUkFOU0ZPUk0s
CisgIHN1cHBvcnRlZEZlYXR1cmVzOiBBTExfRkVBVFVSRVMsCisgIGVudmlyb25tZW50QmxlbmRN
b2RlOiAiYWRkaXRpdmUiLAorICBpbnRlcmFjdGlvbk1vZGU6ICJzY3JlZW4tc3BhY2UiCit9Owor
Citjb25zdCBWQUxJRF9OT05fSU1NRVJTSVZFX0RFVklDRSA9IHsKKyAgICBzdXBwb3J0c0ltbWVy
c2l2ZTogZmFsc2UsCisgICAgc3VwcG9ydGVkTW9kZXM6IFsiaW5saW5lIl0sCisgICAgdmlld3M6
IE5PTl9JTU1FUlNJVkVfVklFV1MsCisgICAgdmlld2VyT3JpZ2luOiBJREVOVElUWV9UUkFOU0ZP
Uk0sCisgICAgc3VwcG9ydGVkRmVhdHVyZXM6IEFMTF9GRUFUVVJFUywKKyAgICBlbnZpcm9ubWVu
dEJsZW5kTW9kZTogIm9wYXF1ZSIsCisgICAgaW50ZXJhY3Rpb25Nb2RlOiAic2NyZWVuLXNwYWNl
IgorfTsKKworY29uc3QgVFJBQ0tFRF9JTU1FUlNJVkVfU0lOR0xFX1ZJRVdERVZJQ0UgPSB7Cisg
ICAgc3VwcG9ydHNJbW1lcnNpdmU6IHRydWUsCisgICAgc3VwcG9ydGVkTW9kZXM6IFsgImlubGlu
ZSIsICJpbW1lcnNpdmUtdnIiXSwKKyAgICB2aWV3czogTEVGVF9PTkxZX0lNTUVSU0lWRV9WSUVX
UywKKyAgICB2aWV3ZXJPcmlnaW46IElERU5USVRZX1RSQU5TRk9STSwKKyAgICBzdXBwb3J0ZWRG
ZWF0dXJlczogQUxMX0ZFQVRVUkVTLAorICAgIGVudmlyb25tZW50QmxlbmRNb2RlOiAib3BhcXVl
IiwKKyAgICBpbnRlcmFjdGlvbk1vZGU6ICJ3b3JsZC1zcGFjZSIKK307CisKKworY29uc3QgVkFM
SURfQ09OVFJPTExFUiA9IHsKKyAgICBoYW5kZWRuZXNzOiAibm9uZSIsCisgICAgdGFyZ2V0UmF5
TW9kZTogInRyYWNrZWQtcG9pbnRlciIsCisgICAgcG9pbnRlck9yaWdpbjogVkFMSURfUE9JTlRF
Ul9UUkFOU0ZPUk0sCisgICAgcHJvZmlsZXM6IFtdCit9OworCitjb25zdCBSSUdIVF9DT05UUk9M
TEVSID0geworICAgIGhhbmRlZG5lc3M6ICJyaWdodCIsCisgICAgdGFyZ2V0UmF5TW9kZTogInRy
YWNrZWQtcG9pbnRlciIsCisgICAgcG9pbnRlck9yaWdpbjogVkFMSURfUE9JTlRFUl9UUkFOU0ZP
Uk0sCisgICAgcHJvZmlsZXM6IFtdCit9OworCitjb25zdCBTQ1JFRU5fQ09OVFJPTExFUiA9IHsK
KyAgICBoYW5kZWRuZXNzOiAibm9uZSIsCisgICAgdGFyZ2V0UmF5TW9kZTogInNjcmVlbiIsCisg
ICAgcG9pbnRlck9yaWdpbjogVkFMSURfUE9JTlRFUl9UUkFOU0ZPUk0sCisgICAgcHJvZmlsZXM6
IFtdCit9OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIvcmVzb3VyY2Vz
L3dlYnhyX3V0aWwuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci9yZXNvdXJjZXMvd2Vi
eHJfdXRpbC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWYyYjM1N2ExZmEzZDY2ZmI2ZTY2Yjk2YjA2NTU5MGIy
YTgwNDE5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIvcmVz
b3VyY2VzL3dlYnhyX3V0aWwuanMKQEAgLTAsMCArMSwyNDAgQEAKKyd1c2Ugc3RyaWN0JzsKKwor
Ly8gVGhlc2UgdGVzdHMgcmVseSBvbiB0aGUgVXNlciBBZ2VudCBwcm92aWRpbmcgYW4gaW1wbGVt
ZW50YXRpb24gb2YgdGhlCisvLyBXZWJYUiBUZXN0aW5nIEFQSSAoaHR0cHM6Ly9naXRodWIuY29t
L2ltbWVyc2l2ZS13ZWIvd2VieHItdGVzdC1hcGkpLgorLy8KKy8vIEluIENocm9taXVtLWJhc2Vk
IGJyb3dzZXJzLCB0aGlzIGltcGxlbWVudGF0aW9uIGlzIHByb3ZpZGVkIGJ5IGEgSmF2YVNjcmlw
dAorLy8gc2hpbSBpbiBvcmRlciB0byByZWR1Y2UgdGhlIGFtb3VudCBvZiB0ZXN0LW9ubHkgY29k
ZSBzaGlwcGVkIHRvIHVzZXJzLiBUbworLy8gZW5hYmxlIHRoZXNlIHRlc3RzIHRoZSBicm93c2Vy
IG11c3QgYmUgcnVuIHdpdGggdGhlc2Ugb3B0aW9uczoKKy8vCisvLyAgIC0tZW5hYmxlLWJsaW5r
LWZlYXR1cmVzPU1vam9KUyxNb2pvSlNUZXN0CisKKy8vIERlYnVnZ2luZyBtZXNzYWdlIGhlbHBl
ciwgYnkgZGVmYXVsdCBkb2VzIG5vdGhpbmcuIEltcGxlbWVudGF0aW9ucyBjYW4KKy8vIG92ZXJy
aWRlIHRoaXMuCit2YXIgeHJfZGVidWcgPSBmdW5jdGlvbihuYW1lLCBtc2cpIHt9OworCitmdW5j
dGlvbiB4cl9wcm9taXNlX3Rlc3QobmFtZSwgZnVuYywgcHJvcGVydGllcywgZ2xDb250ZXh0VHlw
ZSwgZ2xDb250ZXh0UHJvcGVydGllcykgeworICBwcm9taXNlX3Rlc3QoYXN5bmMgKHQpID0+IHsK
KyAgICBpZiAoZ2xDb250ZXh0VHlwZSA9PT0gJ3dlYmdsMicpIHsKKyAgICAgIC8vIEZhc3QgZmFp
bCBvbiBwbGF0Zm9ybXMgbm90IHN1cHBvcnRpbmcgV2ViR0wyLgorICAgICAgYXNzZXJ0X2ltcGxl
bWVudHMoJ1dlYkdMMlJlbmRlcmluZ0NvbnRleHQnIGluIHdpbmRvdywgJ3dlYmdsMiBub3Qgc3Vw
cG9ydGVkLicpOworICAgIH0KKyAgICAvLyBQZXJmb3JtIGFueSByZXF1aXJlZCB0ZXN0IHNldHVw
OgorICAgIHhyX2RlYnVnKG5hbWUsICdzZXR1cCcpOworCisgICAgYXNzZXJ0X2ltcGxlbWVudHMo
bmF2aWdhdG9yLnhyLCAnbWlzc2luZyBuYXZpZ2F0b3IueHIgLSBlbnN1cmUgdGVzdCBpcyBydW4g
aW4gYSBzZWN1cmUgY29udGV4dC4nKTsKKworICAgIC8vIE9ubHkgc2V0IHVwIG9uY2UuCisgICAg
aWYgKCFuYXZpZ2F0b3IueHIudGVzdCkgeworICAgICAgLy8gTG9hZCB0ZXN0LW9ubHkgQVBJIGhl
bHBlcnMuCisgICAgICBjb25zdCBzY3JpcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3Jp
cHQnKTsKKyAgICAgIHNjcmlwdC5zcmMgPSAncmVzb3VyY2VzL3Rlc3Qtb25seS1hcGkuanMnOwor
ICAgICAgc2NyaXB0LmFzeW5jID0gZmFsc2U7CisgICAgICBjb25zdCBwID0gbmV3IFByb21pc2Uo
KHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBzY3JpcHQub25sb2FkID0gKCkgPT4geyBy
ZXNvbHZlKCk7IH07CisgICAgICAgIHNjcmlwdC5vbmVycm9yID0gZSA9PiB7IHJlamVjdChlKTsg
fTsKKyAgICAgIH0pCisgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNjcmlwdCk7Cisg
ICAgICBhd2FpdCBwOworCisgICAgICBpZiAoaXNDaHJvbWl1bUJhc2VkKSB7CisgICAgICAgIC8v
IENocm9tZSBzZXR1cAorICAgICAgICBhd2FpdCBsb2FkQ2hyb21pdW1SZXNvdXJjZXMoKTsKKyAg
ICAgIH0gZWxzZSBpZiAoaXNXZWJLaXRCYXNlZCkgeworICAgICAgICAvLyBXZWJLaXQgc2V0dXAK
KyAgICAgICAgYXdhaXQgc2V0dXBXZWJLaXRXZWJYUlRlc3RBUEkoKTsKKyAgICAgIH0KKyAgICB9
CisKKyAgICAvLyBFaXRoZXIgdGhlIHRlc3QgYXBpIG5lZWRzIHRvIGJlIHBvbHlmaWxsZWQgYW5k
IGl0J3Mgbm90IHNldCB1cCBhYm92ZSwgb3IKKyAgICAvLyBzb21ldGhpbmcgaGFwcGVuZWQgdG8g
b25lIG9mIHRoZSBrbm93biBwb2x5ZmlsbHMgYW5kIGl0IGZhaWxlZCB0byBiZQorICAgIC8vIHNl
dHVwIHByb3Blcmx5LiBFaXRoZXIgd2F5LCB0aGUgZmFjdCB0aGF0IHhyX3Byb21pc2VfdGVzdCBp
cyBiZWluZyB1c2VkCisgICAgLy8gbWVhbnMgdGhhdCB0aGUgdGVzdHMgZXhwZWN0IG5hdmlnYXRv
ci54ci50ZXN0IHRvIGJlIHNldC4gQnkgcmVqZWN0aW5nIG5vdworICAgIC8vIHdlIGNhbiBob3Bl
ZnVsbHkgcHJvdmlkZSBhIGNsZWFyZXIgaW5kaWNhdGlvbiBvZiB3aGF0IHdlbnQgd3JvbmcuCisg
ICAgYXNzZXJ0X2ltcGxlbWVudHMobmF2aWdhdG9yLnhyLnRlc3QsICdtaXNzaW5nIG5hdmlnYXRv
ci54ci50ZXN0LCBldmVuIGFmdGVyIGF0dGVtcHRlZCBsb2FkJyk7CisKKyAgICBsZXQgZ2wgPSBu
dWxsOworICAgIGxldCBjYW52YXMgPSBudWxsOworICAgIGlmIChnbENvbnRleHRUeXBlKSB7Cisg
ICAgICBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTsKKyAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFzKTsKKyAgICAgIGdsID0gY2FudmFzLmdldENv
bnRleHQoZ2xDb250ZXh0VHlwZSwgZ2xDb250ZXh0UHJvcGVydGllcyk7CisgICAgfQorCisgICAg
Ly8gRW5zdXJlIHRoYXQgYW55IGRldmljZXMgYXJlIGRpc2Nvbm5lY3RlZCB3aGVuIGRvbmUuIElm
IHRoaXMgd2VyZSBkb25lIGluCisgICAgLy8gYSAudGhlbigpIGZvciB0aGUgc3VjY2VzcyBjYXNl
LCBhIHRlc3QgdGhhdCBleHBlY3RlZCBmYWlsdXJlIHdvdWxkCisgICAgLy8gYWxyZWFkeSBiZSBt
YXJrZWQgZG9uZSBhdCB0aGUgdGltZSB0aGF0IHJ1bnMgYW5kIHRoZSBzaHV0ZG93biB3b3VsZAor
ICAgIC8vIGludGVyZmVyZSB3aXRoIHRoZSBuZXh0IHRlc3QuCisgICAgdC5hZGRfY2xlYW51cChh
c3luYyAoKSA9PiB7CisgICAgICAvLyBFbnN1cmUgc3lzdGVtIHN0YXRlIGlzIGNsZWFuZWQgdXAu
CisgICAgICB4cl9kZWJ1ZyhuYW1lLCAnY2xlYW51cCcpOworICAgICAgYXdhaXQgbmF2aWdhdG9y
LnhyLnRlc3QuZGlzY29ubmVjdEFsbERldmljZXMoKTsKKyAgICB9KTsKKworICAgIHhyX2RlYnVn
KG5hbWUsICdtYWluJyk7CisgICAgcmV0dXJuIGZ1bmModCwgZ2wpOworICB9LCBuYW1lLCBwcm9w
ZXJ0aWVzKTsKK30KKworLy8gQSB1dGlsaXR5IGZ1bmN0aW9uIGZvciB3YWl0aW5nIG9uZSBhbmlt
YXRpb24gZnJhbWUgYmVmb3JlIHJ1bm5pbmcgdGhlIGNhbGxiYWNrCisvLworLy8gVGhpcyBpcyBv
bmx5IG5lZWRlZCBhZnRlciBjYWxsaW5nIEZha2VYUkRldmljZSBtZXRob2RzIG91dHNpZGUgb2Yg
YW4gYW5pbWF0aW9uIGZyYW1lCisvLworLy8gVGhpcyBpcyBzbyB0aGF0IHdlIGNhbiBwYXBlciBv
dmVyIHRoZSBwb3RlbnRpYWwgcmFjZSBhbGxvd2VkIGJ5IHRoZSAibmV4dCBhbmltYXRpb24gZnJh
bWUiCisvLyBjb25jZXB0IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItdGVz
dC1hcGkvI3hyc2Vzc2lvbi1uZXh0LWFuaW1hdGlvbi1mcmFtZQorZnVuY3Rpb24gcmVxdWVzdFNr
aXBBbmltYXRpb25GcmFtZShzZXNzaW9uLCBjYWxsYmFjaykgeworIHNlc3Npb24ucmVxdWVzdEFu
aW1hdGlvbkZyYW1lKCgpID0+IHsKKyAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2Fs
bGJhY2spOworIH0pOworfQorCisvLyBBIHRlc3QgZnVuY3Rpb24gd2hpY2ggcnVucyB0aHJvdWdo
IHRoZSBjb21tb24gc3RlcHMgb2YgcmVxdWVzdGluZyBhIHNlc3Npb24uCisvLyBDYWxscyB0aGUg
cGFzc2VkIGluIHRlc3QgZnVuY3Rpb24gd2l0aCB0aGUgc2Vzc2lvbiwgdGhlIGNvbnRyb2xsZXIg
Zm9yIHRoZQorLy8gZGV2aWNlLCBhbmQgdGhlIHRlc3Qgb2JqZWN0LgorZnVuY3Rpb24geHJfc2Vz
c2lvbl9wcm9taXNlX3Rlc3QoCisgICAgbmFtZSwgZnVuYywgZmFrZURldmljZUluaXQsIHNlc3Np
b25Nb2RlLCBzZXNzaW9uSW5pdCwgcHJvcGVydGllcywKKyAgICBnbGNvbnRleHRQcm9wZXJ0aWVz
UGFyYW0sIGdsbGF5ZXJQcm9wZXJ0aWVzUGFyYW0pIHsKKyAgY29uc3QgZ2xjb250ZXh0UHJvcGVy
dGllcyA9IChnbGNvbnRleHRQcm9wZXJ0aWVzUGFyYW0pID8gZ2xjb250ZXh0UHJvcGVydGllc1Bh
cmFtIDoge307CisgIGNvbnN0IGdsbGF5ZXJQcm9wZXJ0aWVzID0gKGdsbGF5ZXJQcm9wZXJ0aWVz
UGFyYW0pID8gZ2xsYXllclByb3BlcnRpZXNQYXJhbSA6IHt9OworCisgIGZ1bmN0aW9uIHJ1blRl
c3QodCwgZ2xDb250ZXh0KSB7CisgICAgbGV0IHRlc3RTZXNzaW9uOworICAgIGxldCB0ZXN0RGV2
aWNlQ29udHJvbGxlcjsKKyAgICBsZXQgc2Vzc2lvbk9iamVjdHMgPSB7Z2w6IGdsQ29udGV4dH07
CisKKyAgICAvLyBFbnN1cmUgdGhhdCBhbnkgcGVuZGluZyBzZXNzaW9ucyBhcmUgZW5kZWQgd2hl
biBkb25lLiBUaGlzIG5lZWRzIHRvCisgICAgLy8gdXNlIGEgY2xlYW51cCBmdW5jdGlvbiB0byBl
bnN1cmUgcHJvcGVyIHNlcXVlbmNpbmcuIElmIHRoaXMgd2VyZQorICAgIC8vIGRvbmUgaW4gYSAu
dGhlbigpIGZvciB0aGUgc3VjY2VzcyBjYXNlLCBhIHRlc3QgdGhhdCBleHBlY3RlZAorICAgIC8v
IGZhaWx1cmUgd291bGQgYWxyZWFkeSBiZSBtYXJrZWQgZG9uZSBhdCB0aGUgdGltZSB0aGF0IHJ1
bnMsIGFuZCB0aGUKKyAgICAvLyBzaHV0ZG93biB3b3VsZCBpbnRlcmZlcmUgd2l0aCB0aGUgbmV4
dCB0ZXN0IHdoaWNoIG1heSBoYXZlIHN0YXJ0ZWQuCisgICAgdC5hZGRfY2xlYW51cChhc3luYyAo
KSA9PiB7CisgICAgICAvLyBJZiBhIHNlc3Npb24gd2FzIGNyZWF0ZWQsIGVuZCBpdC4KKyAgICAg
IGlmICh0ZXN0U2Vzc2lvbikgeworICAgICAgICBhd2FpdCB0ZXN0U2Vzc2lvbi5lbmQoKS5jYXRj
aCgoKSA9PiB7fSk7CisgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gbmF2aWdhdG9yLnhy
LnRlc3Quc2ltdWxhdGVEZXZpY2VDb25uZWN0aW9uKGZha2VEZXZpY2VJbml0KQorICAgICAgICAu
dGhlbigoY29udHJvbGxlcikgPT4geworICAgICAgICAgIHRlc3REZXZpY2VDb250cm9sbGVyID0g
Y29udHJvbGxlcjsKKyAgICAgICAgICByZXR1cm4gc2Vzc2lvbk9iamVjdHMuZ2wubWFrZVhSQ29t
cGF0aWJsZSgpOworICAgICAgICB9KQorICAgICAgICAudGhlbigoKSA9PiBuZXcgUHJvbWlzZSgo
cmVzb2x2ZSwgcmVqZWN0KSA9PiB7CisgICAgICAgICAgICAgICAgLy8gUGVyZm9ybSB0aGUgc2Vz
c2lvbiByZXF1ZXN0IGluIGEgdXNlciBnZXN0dXJlLgorICAgICAgICAgICAgICAgIHhyX2RlYnVn
KG5hbWUsICdzaW11bGF0ZVVzZXJBY3RpdmF0aW9uJyk7CisgICAgICAgICAgICAgICAgbmF2aWdh
dG9yLnhyLnRlc3Quc2ltdWxhdGVVc2VyQWN0aXZhdGlvbigoKSA9PiB7CisgICAgICAgICAgICAg
ICAgICB4cl9kZWJ1ZyhuYW1lLCAnZG9jdW1lbnQuaGFzRm9jdXMoKT0nICsgZG9jdW1lbnQuaGFz
Rm9jdXMoKSk7CisgICAgICAgICAgICAgICAgICBuYXZpZ2F0b3IueHIucmVxdWVzdFNlc3Npb24o
c2Vzc2lvbk1vZGUsIHNlc3Npb25Jbml0IHx8IHt9KQorICAgICAgICAgICAgICAgICAgICAgIC50
aGVuKChzZXNzaW9uKSA9PiB7CisgICAgICAgICAgICAgICAgICAgICAgICB4cl9kZWJ1ZyhuYW1l
LCAnc2Vzc2lvbiBzdGFydCcpOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFNlc3Npb24g
PSBzZXNzaW9uOworICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbi5tb2RlID0gc2Vzc2lv
bk1vZGU7CisgICAgICAgICAgICAgICAgICAgICAgICBsZXQgZ2xMYXllciA9IG5ldyBYUldlYkdM
TGF5ZXIoc2Vzc2lvbiwgc2Vzc2lvbk9iamVjdHMuZ2wsIGdsbGF5ZXJQcm9wZXJ0aWVzKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGdsTGF5ZXIuY29udGV4dCA9IHNlc3Npb25PYmplY3RzLmds
OworICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2Vzc2lvbiBtdXN0IGhhdmUgYSBiYXNlTGF5
ZXIgb3IgZnJhbWUgcmVxdWVzdHMKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgYmUg
aWdub3JlZC4KKyAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24udXBkYXRlUmVuZGVyU3Rh
dGUoeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2VMYXllcjogZ2xMYXllcgorICAg
ICAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgICAgICAgICBzZXNzaW9u
T2JqZWN0cy5nbExheWVyID0gZ2xMYXllcjsKKyAgICAgICAgICAgICAgICAgICAgICAgIHhyX2Rl
YnVnKG5hbWUsICdzZXNzaW9uLnZpc2liaWxpdHlTdGF0ZT0nICsgc2Vzc2lvbi52aXNpYmlsaXR5
U3RhdGUpOworICAgICAgICAgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgcmVzb2x2ZShmdW5jKHNlc3Npb24sIHRlc3REZXZpY2VDb250cm9sbGVyLCB0LCBz
ZXNzaW9uT2JqZWN0cykpOworICAgICAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlcnIpIHsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KCJUZXN0IGZ1bmN0aW9uIGZhaWxlZCB3
aXRoOiAiICsgZXJyKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICAgICAgICB9KQorICAgICAgICAgICAgICAgICAgICAgIC5jYXRjaCgoZXJyKSA9PiB7CisgICAg
ICAgICAgICAgICAgICAgICAgICB4cl9kZWJ1ZyhuYW1lLCAnZXJyb3I6ICcgKyBlcnIpOworICAg
ICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdTZXNzaW9uIHdpdGggcGFyYW1zICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEpT
T04uc3RyaW5naWZ5KHNlc3Npb25Nb2RlKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
JyB3YXMgcmVqZWN0ZWQgb24gZGV2aWNlICcgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEpTT04uc3RyaW5naWZ5KGZha2VEZXZpY2VJbml0KSArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJyB3aXRoIGVycm9yOiAnICsgZXJyKTsKKyAgICAgICAgICAgICAgICAgICAgICB9KTsK
KyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgfSkpOworICB9CisKKyAgeHJfcHJvbWlzZV90
ZXN0KAorICAgIG5hbWUgKyAnIC0gd2ViZ2wnLAorICAgIHJ1blRlc3QsCisgICAgcHJvcGVydGll
cywKKyAgICAnd2ViZ2wnLAorICAgIHthbHBoYTogZmFsc2UsIGFudGlhbGlhczogZmFsc2UsIC4u
LmdsY29udGV4dFByb3BlcnRpZXN9CisgICAgKTsKKyAgeHJfcHJvbWlzZV90ZXN0KAorICAgIG5h
bWUgKyAnIC0gd2ViZ2wyJywKKyAgICBydW5UZXN0LAorICAgIHByb3BlcnRpZXMsCisgICAgJ3dl
YmdsMicsCisgICAge2FscGhhOiBmYWxzZSwgYW50aWFsaWFzOiBmYWxzZSwgLi4uZ2xjb250ZXh0
UHJvcGVydGllc30pOworfQorCisKKy8vIFRoaXMgZnVuY3Rpb24gd3JhcHMgdGhlIHByb3ZpZGVk
IGZ1bmN0aW9uIGluIGEKKy8vIHNpbXVsYXRlVXNlckFjdGl2YXRpb24oKSBjYWxsLCBhbmQgcmVz
b2x2ZXMgdGhlIHByb21pc2Ugd2l0aCB0aGUKKy8vIHJlc3VsdCBvZiBmdW5jKCksIG9yIGFuIGVy
cm9yIGlmIG9uZSBpcyB0aHJvd24KK2Z1bmN0aW9uIHByb21pc2Vfc2ltdWxhdGVfdXNlcl9hY3Rp
dmF0aW9uKGZ1bmMpIHsKKyAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICBuYXZpZ2F0b3IueHIudGVzdC5zaW11bGF0ZVVzZXJBY3RpdmF0aW9uKCgpID0+IHsK
KyAgICAgIHRyeSB7IGxldCBhID0gZnVuYygpOyByZXNvbHZlKGEpOyB9IGNhdGNoKGUpIHsgcmVq
ZWN0KGUpOyB9CisgICAgfSk7CisgIH0pOworfQorCisvLyBUaGlzIGZ1bmN0aW9ucyBjYWxscyBh
IGNhbGxiYWNrIHdpdGggZWFjaCBBUEkgb2JqZWN0IGFzIHNwZWNpZmllZAorLy8gYnkgaHR0cHM6
Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci9zcGVjL2xhdGVzdC8sIGFsbG93aW5nCisv
LyBjaGVja3MgdG8gYmUgbWFkZSBvbiBhbGwgb2plY3RzLgorLy8gQXJndWVtZW50czoKKy8vICAg
ICAgY2FsbGJhY2s6IEEgY2FsbGJhY2sgZnVuY3Rpb24gd2l0aCB0d28gYXJndWVtZW50cywgdGhl
IGZpcnN0CisvLyAgICAgICAgICAgICAgICBiZWluZyB0aGUgQVBJIG9iamVjdCwgdGhlIHNlY29u
ZCBiZWluZyB0aGUgbmFtZSBvZgorLy8gICAgICAgICAgICAgICAgdGhhdCBBUEkgb2JqZWN0Lgor
ZnVuY3Rpb24gZm9yRWFjaFdlYnhyT2JqZWN0KGNhbGxiYWNrKSB7CisgIGNhbGxiYWNrKHdpbmRv
dy5uYXZpZ2F0b3IueHIsICduYXZpZ2F0b3IueHInKTsKKyAgY2FsbGJhY2sod2luZG93LlhSU2Vz
c2lvbiwgJ1hSU2Vzc2lvbicpOworICBjYWxsYmFjayh3aW5kb3cuWFJTZXNzaW9uQ3JlYXRpb25P
cHRpb25zLCAnWFJTZXNzaW9uQ3JlYXRpb25PcHRpb25zJyk7CisgIGNhbGxiYWNrKHdpbmRvdy5Y
UkZyYW1lUmVxdWVzdENhbGxiYWNrLCAnWFJGcmFtZVJlcXVlc3RDYWxsYmFjaycpOworICBjYWxs
YmFjayh3aW5kb3cuWFJQcmVzZW50YXRpb25Db250ZXh0LCAnWFJQcmVzZW50YXRpb25Db250ZXh0
Jyk7CisgIGNhbGxiYWNrKHdpbmRvdy5YUkZyYW1lLCAnWFJGcmFtZScpOworICBjYWxsYmFjayh3
aW5kb3cuWFJMYXllciwgJ1hSTGF5ZXInKTsKKyAgY2FsbGJhY2sod2luZG93LlhSVmlldywgJ1hS
VmlldycpOworICBjYWxsYmFjayh3aW5kb3cuWFJWaWV3cG9ydCwgJ1hSVmlld3BvcnQnKTsKKyAg
Y2FsbGJhY2sod2luZG93LlhSVmlld2VyUG9zZSwgJ1hSVmlld2VyUG9zZScpOworICBjYWxsYmFj
ayh3aW5kb3cuWFJXZWJHTExheWVyLCAnWFJXZWJHTExheWVyJyk7CisgIGNhbGxiYWNrKHdpbmRv
dy5YUldlYkdMTGF5ZXJJbml0LCAnWFJXZWJHTExheWVySW5pdCcpOworICBjYWxsYmFjayh3aW5k
b3cuWFJDb29yZGluYXRlU3lzdGVtLCAnWFJDb29yZGluYXRlU3lzdGVtJyk7CisgIGNhbGxiYWNr
KHdpbmRvdy5YUkZyYW1lT2ZSZWZlcmVuY2UsICdYUkZyYW1lT2ZSZWZlcmVuY2UnKTsKKyAgY2Fs
bGJhY2sod2luZG93LlhSU3RhZ2VCb3VuZHMsICdYUlN0YWdlQm91bmRzJyk7CisgIGNhbGxiYWNr
KHdpbmRvdy5YUlNlc3Npb25FdmVudCwgJ1hSU2Vzc2lvbkV2ZW50Jyk7CisgIGNhbGxiYWNrKHdp
bmRvdy5YUkNvb3JkaW5hdGVTeXN0ZW1FdmVudCwgJ1hSQ29vcmRpbmF0ZVN5c3RlbUV2ZW50Jyk7
Cit9CisKKy8vIENvZGUgZm9yIGxvYWRpbmcgdGVzdCBBUEkgaW4gQ2hyb21pdW0uCithc3luYyBm
dW5jdGlvbiBsb2FkQ2hyb21pdW1SZXNvdXJjZXMoKSB7CisgIGF3YWl0IGxvYWRTY3JpcHQoJy9y
ZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC1tYXRoLWhlbHBlci5qcycpOworICBhd2FpdCBp
bXBvcnQoJy9yZXNvdXJjZXMvY2hyb21pdW0vd2VieHItdGVzdC5qcycpOworICBhd2FpdCBsb2Fk
U2NyaXB0KCcvcmVzb3VyY2VzL3Rlc3Rkcml2ZXIuanMnKTsKKyAgYXdhaXQgbG9hZFNjcmlwdCgn
L3Jlc291cmNlcy90ZXN0ZHJpdmVyLXZlbmRvci5qcycpOworCisgIC8vIFRoaXMgaW5mcmFzdHJ1
Y3R1cmUgaXMgYWxzbyB1c2VkIGJ5IENocm9taXVtLXNwZWNpZmljIGludGVybmFsIHRlc3RzIHRo
YXQKKyAgLy8gbWF5IG5lZWQgYWRkaXRpb25hbCByZXNvdXJjZXMgKGUuZy4gaW50ZXJuYWwgQVBJ
IGV4dGVuc2lvbnMpLCB0aGlzIGFsbG93cworICAvLyB0aG9zZSB0ZXN0cyB0byByZWx5IG9uIHRo
aXMgaW5mcmFzdHJ1Y3R1cmUgd2hpbGUgZW5zdXJpbmcgdGhhdCBubyB0ZXN0cworICAvLyBtYWtl
IGl0IGludG8gcHVibGljIFdQVHMgdGhhdCByZWx5IG9uIEFQSXMgb3V0c2lkZSBvZiB0aGUgd2Vi
eHIgdGVzdCBBUEkuCisgIGlmICh0eXBlb2YoYWRkaXRpb25hbENocm9taXVtUmVzb3VyY2VzKSAh
PT0gJ3VuZGVmaW5lZCcpIHsKKyAgICBmb3IgKGNvbnN0IHBhdGggb2YgYWRkaXRpb25hbENocm9t
aXVtUmVzb3VyY2VzKSB7CisgICAgICBhd2FpdCBsb2FkU2NyaXB0KHBhdGgpOworICAgIH0KKyAg
fQorCisgIHhyX2RlYnVnID0gbmF2aWdhdG9yLnhyLnRlc3QuRGVidWc7Cit9CisKK2Z1bmN0aW9u
IHNldHVwV2ViS2l0V2ViWFJUZXN0QVBJKCkgeworICAvLyBXZWJLaXQgc2V0dXAuIFRoZSBpbnRl
cm5hbHMgb2JqZWN0IGlzIHVzZWQgYnkgdGhlIFdlYktpdCB0ZXN0IHJ1bm5lcgorICAvLyB0byBw
cm92aWRlIEpTIGFjY2VzcyB0byBpbnRlcm5hbCBBUElzLiBJbiB0aGlzIGNhc2UgaXQncyB1c2Vk
IHRvCisgIC8vIGVuc3VyZSB0aGF0IFhSVGVzdCBpcyBvbmx5IGV4cG9zZWQgdG8gd3B0IHRlc3Rz
LgorICBuYXZpZ2F0b3IueHIudGVzdCA9IGludGVybmFscy54clRlc3Q7CisgIHJldHVybiBQcm9t
aXNlLnJlc29sdmUoKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhy
L3hyVmlld3BvcnRfc2luZ2xlVmlld192YWxpZC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJ4ci94clZpZXdwb3J0X3NpbmdsZVZpZXdfdmFsaWQuaHR0cHMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5NTQ1Y2M3ZDk5ZWYwMGQyZjYwNzQ0NWFmNmY3OTIxOGQ4
ODViZGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci94clZp
ZXdwb3J0X3NpbmdsZVZpZXdfdmFsaWQuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBA
QAorCitQQVNTIFhSVmlld3BvcnQgYXR0cmlidXRlcyBhcmUgdmFsaWQgZXZlbiB3aGVuIHRoZXJl
IGlzIG9ubHkgb25lIHZpZXcgLSB3ZWJnbAorUEFTUyBYUlZpZXdwb3J0IGF0dHJpYnV0ZXMgYXJl
IHZhbGlkIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB2aWV3IC0gd2ViZ2wyCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hyVmlld3BvcnRfc2luZ2xlVmlld192
YWxpZC5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJWaWV3cG9ydF9z
aW5nbGVWaWV3X3ZhbGlkLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcyNzEzYmRmMTA1ZTk5YjMw
NmI0ODU2MWJkNzBjNmZjYWJlY2Q5OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYnhyL3hyVmlld3BvcnRfc2luZ2xlVmlld192YWxpZC5odHRwcy5odG1sCkBAIC0w
LDAgKzEsNTkgQEAKKzwhRE9DVFlQRSBodG1sPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVz
dGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5l
c3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJ4cl91dGls
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJfdGVzdF9jb25zdGFu
dHNfc2luZ2xlX3ZpZXcuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorbGV0IHRlc3ROYW1lID0g
IlhSVmlld3BvcnQgYXR0cmlidXRlcyBhcmUgdmFsaWQgZXZlbiB3aGVuIHRoZXJlIGlzIG9ubHkg
b25lIHZpZXciOworCitsZXQgZmFrZURldmljZUluaXRQYXJhbXMgPSBUUkFDS0VEX0lNTUVSU0lW
RV9TSU5HTEVfVklFV0RFVklDRTsKKworbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Np
b24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0LCBzZXNzaW9uT2JqZWN0cykgeworICByZXR1cm4g
c2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xvY2FsJykKKyAgICAudGhlbigocmVmZXJl
bmNlU3BhY2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PnsKKyAgICAgIGxldCB3ZWJnbExh
eWVyID0gc2Vzc2lvbk9iamVjdHMuZ2xMYXllcjsKKyAgICAgIGZ1bmN0aW9uIG9uRnJhbWUodGlt
ZSwgeHJGcmFtZSkgeworICAgICAgICBsZXQgcG9zZSA9IHhyRnJhbWUuZ2V0Vmlld2VyUG9zZShy
ZWZlcmVuY2VTcGFjZSk7CisgICAgICAgIGFzc2VydF9ub3RfZXF1YWxzKHBvc2UsIG51bGwpOwor
ICAgICAgICBhc3NlcnRfbm90X2VxdWFscyhwb3NlLnZpZXdzLCBudWxsKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhwb3NlLnZpZXdzLmxlbmd0aCwgMSk7CisKKyAgICAgICAgbGV0IGxlZnRWaWV3
ID0gcG9zZS52aWV3c1swXTsKKworICAgICAgICBsZXQgbGVmdFZpZXdwb3J0ID0gd2ViZ2xMYXll
ci5nZXRWaWV3cG9ydChsZWZ0Vmlldyk7CisKKyAgICAgICAgdC5zdGVwKCgpID0+IHsKKyAgICAg
ICAgICAvLyBFbnN1cmUgdGhlIHZpZXdzIHJlcG9ydCB0aGUgZXhwZWN0ZWQgdmlld3BvcnRzIGlu
dG8gdGhlIFdlYkdMIGxheWVyLgorICAgICAgICAgIGFzc2VydF90cnVlKGxlZnRWaWV3cG9ydCBp
bnN0YW5jZW9mIFhSVmlld3BvcnQpOworCisgICAgICAgICAgYXNzZXJ0X25vdF9lcXVhbHMobGVm
dFZpZXdwb3J0LCBudWxsKTsKKworICAgICAgICAgIC8vIEV4YWN0IHZpZXdwb3J0IHZhbHVlcyBk
b24ndCBtYXR0ZXIsIGJ1dCB0aGV5IG11c3QgcGFzcyBzZXZlcmFsIHRlc3RzOgorCisgICAgICAg
ICAgLy8gVmlld3BvcnRzIGhhdmUgbm9uLXplcm8gd2lkdGhzIGFuZCBoZWlnaHRzLgorICAgICAg
ICAgIGFzc2VydF9ncmVhdGVyX3RoYW4obGVmdFZpZXdwb3J0LndpZHRoLCAwKTsKKyAgICAgICAg
ICBhc3NlcnRfZ3JlYXRlcl90aGFuKGxlZnRWaWV3cG9ydC5oZWlnaHQsIDApOworCisgICAgICAg
ICAgLy8gVmlld3BvcnRzIGFyZSBsb2NhdGVkIHdpdGhpbiB0aGUgZnJhbWVidWZmZXIuCisgICAg
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChsZWZ0Vmlld3BvcnQueCwgMCk7CisgICAg
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChsZWZ0Vmlld3BvcnQueSwgMCk7CisgICAg
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChsZWZ0Vmlld3BvcnQueCwgMCk7CisgICAg
ICAgICAgYXNzZXJ0X2dyZWF0ZXJfdGhhbl9lcXVhbChsZWZ0Vmlld3BvcnQueSwgMCk7CisKKyAg
ICAgICAgICBhc3NlcnRfbGVzc190aGFuX2VxdWFsKAorICAgICAgICAgICAgbGVmdFZpZXdwb3J0
LnggKyBsZWZ0Vmlld3BvcnQud2lkdGgsIHdlYmdsTGF5ZXIuZnJhbWVidWZmZXJXaWR0aCk7Cisg
ICAgICAgICAgYXNzZXJ0X2xlc3NfdGhhbl9lcXVhbCgKKyAgICAgICAgICAgIGxlZnRWaWV3cG9y
dC55ICsgbGVmdFZpZXdwb3J0LmhlaWdodCwgd2ViZ2xMYXllci5mcmFtZWJ1ZmZlckhlaWdodCk7
CisgICAgICAgIH0pOworCisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0KKyAgICAgIHNlc3Np
b24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKG9uRnJhbWUpOworICB9KSk7Cit9OworCit4cl9zZXNz
aW9uX3Byb21pc2VfdGVzdCgKKyAgdGVzdE5hbWUsIHRlc3RGdW5jdGlvbiwgZmFrZURldmljZUlu
aXRQYXJhbXMsICdpbW1lcnNpdmUtdnInKTsKKworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="458596"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>