<?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>230201</bug_id>
          
          <creation_ts>2021-09-12 07:39:44 -0700</creation_ts>
          <short_desc>[Flatpak SDK] Move toolchains to UserFlatpak and improve SDK upgrades</short_desc>
          <delta_ts>2021-09-21 04:01:22 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=230547</see_also>
          <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>229919</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Philippe Normand">pnormand</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>clopez</cc>
    
    <cc>lmoura</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1792775</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-12 07:39:44 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1792776</commentid>
    <comment_count>1</comment_count>
      <attachid>437988</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-12 07:47:16 -0700</bug_when>
    <thetext>Created attachment 437988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794018</commentid>
    <comment_count>2</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-09-16 06:07:51 -0700</bug_when>
    <thetext>I had an issue with the Toolchain folders inside the source UserFlatpak being invisible while inside flatpak (maybe a flatpak thing to avoid some kind of recursion?)

To work, I used the patch below to point ICECC_VERSION to the mapped (/app/webkit) toolchain file in the sandbox.

Other than that, it seems to be working fine (build still running, though).

diff --git a/Tools/flatpak/flatpakutils.py b/Tools/flatpak/flatpakutils.py
index fbcfd3bdc12c..cf86e817dfbd 100644
--- a/Tools/flatpak/flatpakutils.py
+++ b/Tools/flatpak/flatpakutils.py
@@ -887,13 +887,16 @@ class WebkitFlatpak:
             except KeyError:
                 Console.error_message(&quot;Toolchains configuration not found. Please run webkit-flatpak -r&quot;)
                 return 1
+            if not os.path.isfile(toolchain_path):
+                Console.error_message(&quot;%s is not a valid IceCC toolchain. Please run webkit-flatpak -r&quot;, toolchain_path)
+                return 1
+            # Normalize toolchain path so it&apos;s visible inside Flatpak
+            toolchain_dir, _ = os.path.split(toolchain_path)
+            if toolchain_dir.startswith(self.flatpak_build_path):
+                toolchain_path = toolchain_path.replace(self.source_root, self.sandbox_source_root)
             if &quot;ICECC_VERSION_APPEND&quot; in os.environ:
                 toolchain_path += &quot;,&quot;
                 toolchain_path += os.environ[&quot;ICECC_VERSION_APPEND&quot;]
-            native_toolchain = toolchain_path.split(&quot;,&quot;)[0]
-            if not os.path.isfile(native_toolchain):
-                Console.error_message(&quot;%s is not a valid IceCC toolchain. Please run webkit-flatpak -r&quot;, native_toolchain)
-                return 1
             sandbox_environment.update({
                 &quot;CCACHE_PREFIX&quot;: &quot;icecc&quot;,
                 &quot;ICECC_TEST_SOCKET&quot;: &quot;/run/icecc/iceccd.socket&quot;,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794085</commentid>
    <comment_count>3</comment_count>
      <attachid>437988</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2021-09-16 10:20:07 -0700</bug_when>
    <thetext>Comment on attachment 437988
Patch

r=me
Please check suggestion from Lauro before landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794130</commentid>
    <comment_count>4</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-16 11:33:49 -0700</bug_when>
    <thetext>(In reply to Lauro Moura from comment #2)
&gt; I had an issue with the Toolchain folders inside the source UserFlatpak
&gt; being invisible while inside flatpak (maybe a flatpak thing to avoid some
&gt; kind of recursion?)
&gt; 
&gt; To work, I used the patch below to point ICECC_VERSION to the mapped
&gt; (/app/webkit) toolchain file in the sandbox.
&gt; 

Strange, I didn&apos;t notice this with sccache. Thanks for raising this issue, I&apos;ll check it here as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794301</commentid>
    <comment_count>5</comment_count>
    <who name="Lauro Moura">lmoura</who>
    <bug_when>2021-09-16 18:50:12 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; (In reply to Lauro Moura from comment #2)
&gt; &gt; I had an issue with the Toolchain folders inside the source UserFlatpak
&gt; &gt; being invisible while inside flatpak (maybe a flatpak thing to avoid some
&gt; &gt; kind of recursion?)
&gt; &gt; 
&gt; &gt; To work, I used the patch below to point ICECC_VERSION to the mapped
&gt; &gt; (/app/webkit) toolchain file in the sandbox.
&gt; &gt; 
&gt; 
&gt; Strange, I didn&apos;t notice this with sccache. Thanks for raising this issue,
&gt; I&apos;ll check it here as well.

For context, I tested with icecc driven by local ccache (network still too slow for sccache).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794369</commentid>
    <comment_count>6</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-17 00:59:44 -0700</bug_when>
    <thetext>Yes, I understood your initial comment, it was clear. I was mentioning sccache because it behaves similarly to icecc and uses the same toolchains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794390</commentid>
    <comment_count>7</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-17 04:16:34 -0700</bug_when>
    <thetext>Actually there was an issue with sccache too ;) As this patch moves toolchains deeper, in a path that is not directly mapped in the sandbox, we now need to have icecc/sccache configs use sandbox paths.

Can you try this?

http://sprunge.us/IB3zTn</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794460</commentid>
    <comment_count>8</comment_count>
      <attachid>438479</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-17 09:00:10 -0700</bug_when>
    <thetext>Created attachment 438479
[fast-cq] Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794993</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-20 01:08:57 -0700</bug_when>
    <thetext>Committed r282742 (241879@main): &lt;https://commits.webkit.org/241879@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438479.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794994</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-20 01:09:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/83297236&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795161</commentid>
    <comment_count>11</comment_count>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-09-20 10:51:20 -0700</bug_when>
    <thetext>This has broken the icecc builds, everytime I try to build I get

  Building flatpak based environment

  /app/webkit/WebKitBuild/UserFlatpak/Toolchains/webkit-sdk-gcc-86e1cecb502cd13a11a8fb18b58071fd.tar.gz is not a valid IceCC toolchain. Please run webkit-flatpak -r

over and over again even if I run webkit-flatpak -r</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795164</commentid>
    <comment_count>12</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-20 10:56:35 -0700</bug_when>
    <thetext>webkit-flatpak -c ls /app/webkit/WebKitBuild/UserFlatpak/Toolchains/

shows nothing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1795192</commentid>
    <comment_count>13</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2021-09-20 11:54:31 -0700</bug_when>
    <thetext>Workaround is to comment this out: https://github.com/WebKit/WebKit/blob/main/Tools/flatpak/flatpakutils.py#L896..L898

Follow-up patch coming soon.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437988</attachid>
            <date>2021-09-12 07:47:16 -0700</date>
            <delta_ts>2021-09-17 09:00:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-230201-20210912074715.patch</filename>
            <type>text/plain</type>
            <size>8015</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyMzE1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZjNlMTAyMWUyYjliMDQ4NzExZjk2ODJiYjg4YTA0MDQ1
MmQ1YjNlZC4uZmNmZTBiMDFmOTI5YmY3OGU0YmQzNzhkYWQ2N2M3OTVjNTEwYzU5ZCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTA5LTEyICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbRmxhdHBhayBTREtdIE1vdmUgdG9vbGNoYWlucyB0byBVc2VyRmxhdHBhayBh
bmQgaW1wcm92ZSBTREsgdXBncmFkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDIwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFzIHRvb2xjaGFpbiBhcmNoaXZlcyBkZXBlbmQgb24gdGhlIFNESyBy
dW50aW1lLCBpdCBtYWtlcyBzZW5zZSB0byBtb3ZlIHRoZW0gaW4gdGhlCisgICAgICAgIGNvcnJl
c3BvbmRpbmcgVXNlckZsYXRwYWsgZm9sZGVyLCBzbyB0aGF0IHdoZW4gU0RLIGlzIHVwZ3JhZGVk
LCBzdGFsZSB0b29sY2hhaW5zIGFyZQorICAgICAgICByZW1vdmVkLiBUaGUgU0RLIHVwZ3JhZGUg
aXMgYWxzbyBub3cgaGFuZGxpbmcgY2FjaGVkIFNTQ2FjaGUgYXV0aGVudGljYXRpb24gdG9rZW5z
IGFuZAorICAgICAgICBwcm9wYWdhdGluZyB0aG9zZSBpbiB0aGUgbmV3bHkgaW5zdGFsbGVkIFNE
Sy4gRmluYWxseSwgU0RLIHVwZ3JhZGVzIHdpbGwgbm93IGFsc28gY2xlYXIKKyAgICAgICAgQ01h
a2UgY2FjaGUgZmlsZXMgb24gV2ViS2l0IGJ1aWxkcywgc28gdGhhdCBob3BlZnVsbHksIGV4aXN0
aW5nIGJ1aWxkIGRpcmVjdG9yaWVzIG5vIGxvbmdlcgorICAgICAgICBuZWVkIHRvIGJlIG1hbnVh
bGx5IHJlbW92ZWQuCisKKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRwYWt1dGlscy5weToKKyAgICAg
ICAgKFdlYmtpdEZsYXRwYWsuX19pbml0X18pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5jbGVh
bl9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZ3N0YnVpbGQpOgorICAgICAg
ICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJveCk6CisgICAgICAgIChXZWJraXRGbGF0cGFr
Lm1haW4pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5hY3F1aXJlX3NjY2FjaGVfYXV0aF90b2tl
bl9mcm9tX2NvbmZpZ19maWxlKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2F2ZV9jb25maWcp
OgorCiAyMDIxLTA5LTEwICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhbiBsbGRiIHN1bW1hcnkgcHJvdmlkZXIgZm9yIHRoZSBXZWJDb3JlOjpM
ZW5ndGggdHlwZQpkaWZmIC0tZ2l0IGEvVG9vbHMvZmxhdHBhay9mbGF0cGFrdXRpbHMucHkgYi9U
b29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQppbmRleCAyNDRlZmY4NWFmN2NlZDkwNmZiMmM4
ZjYwODZjNTZkN2U1ODY1ZjIzLi5mYmNmZDNiZGMxMmM2ZDJjYmNlMDliYTRmMmIzMWZjODhkNjNh
MjQwIDEwMDY0NAotLS0gYS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQorKysgYi9Ub29s
cy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weQpAQCAtNTA4LDYgKzUwOCw4IEBAIGNsYXNzIFdlYmtp
dEZsYXRwYWs6CiAgICAgICAgICMgV2hlcmUgdGhlIHNvdXJjZSBmb2xkZXIgaXMgbW91bnRlZCBp
bnNpZGUgdGhlIHNhbmRib3guCiAgICAgICAgIHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCA9ICIv
YXBwL3dlYmtpdCIKIAorICAgICAgICBzZWxmLmJhc2VfYnVpbGRfZGlyID0gJ1dlYktpdEJ1aWxk
JworCiAgICAgICAgIHNlbGYuYnVpbGRfZ3N0ID0gRmFsc2UKIAogICAgICAgICBzZWxmLnNka19i
cmFuY2ggPSAiMC4zIgpAQCAtNTY2LDIwICs1NjgsMTkgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoK
ICAgICAgICAgaWYgc2VsZi5nZGIgaXMgTm9uZSBhbmQgJy0tZ2RiJyBpbiBzeXMuYXJndjoKICAg
ICAgICAgICAgIHNlbGYuZ2RiID0gVHJ1ZQogCi0gICAgICAgIGJhc2VfYnVpbGRfZGlyID0gJ1dl
YktpdEJ1aWxkJwotCiAgICAgICAgICMgVGhpcyBwYXRoIGRvZXNuJ3QgdGFrZSAkV0VCS0lUX09V
VFBVVERJUiBpbiBhY2NvdW50IGJlY2F1c2UgdGhlIHN0YW5kYWxvbmUgdG9vbGNoYWlucwogICAg
ICAgICAjIHBhdGhzIGRlcGVuZCBvbiBpdCBhbmQgdGhvc2UgYXJlIGFsc28gaGFyZC1jb2RlZCBp
biB0aGUgZ2VuZXJhdGVkIHNjY2FjaGUgY29uZmlnLgotICAgICAgICBzZWxmLmJ1aWxkX3Jvb3Qg
PSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgYmFzZV9idWlsZF9kaXIpCisgICAgICAg
IHNlbGYuZGVmYXVsdF9idWlsZF9yb290ID0gb3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3Qs
IHNlbGYuYmFzZV9idWlsZF9kaXIpCiAKICAgICAgICAgc2VsZi5jb25maWdfZmlsZSA9IG9zLnBh
dGguam9pbihzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCwgJ3dlYmtpdF9mbGF0cGFrX2NvbmZpZy5q
c29uJykKICAgICAgICAgc2VsZi5zY2NhY2hlX2NvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNl
bGYuZmxhdHBha19idWlsZF9wYXRoLCAnc2NjYWNoZS50b21sJykKIAogICAgICAgICBidWlsZF9y
b290ID0gb3MuZW52aXJvbi5nZXQoIldFQktJVF9PVVRQVVRESVIiLCBzZWxmLnNvdXJjZV9yb290
KQotICAgICAgICBzZWxmLmJ1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oYnVpbGRfcm9vdCwgYmFz
ZV9idWlsZF9kaXIsIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkKKyAgICAgICAgc2Vs
Zi5idWlsZF9yb290ID0gb3MucGF0aC5qb2luKGJ1aWxkX3Jvb3QsIHNlbGYuYmFzZV9idWlsZF9k
aXIpCisgICAgICAgIHNlbGYuYnVpbGRfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3Jv
b3QsIHNlbGYucGxhdGZvcm0sIHNlbGYuYnVpbGRfdHlwZSkKICAgICAgICAgX2xvZy5kZWJ1Zygi
QnVpbGRpbmcgJXMgcG9ydCBpbiAlcyIgJSAoc2VsZi5wbGF0Zm9ybSwgc2VsZi5idWlsZF9wYXRo
KSkKIAotICAgICAgICBzZWxmLnRvb2xjaGFpbnNfZGlyZWN0b3J5ID0gb3MucGF0aC5qb2luKHNl
bGYuYnVpbGRfcm9vdCwgIlRvb2xjaGFpbnMiKQorICAgICAgICBzZWxmLnRvb2xjaGFpbnNfZGly
ZWN0b3J5ID0gb3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19idWlsZF9wYXRoLCAiVG9vbGNoYWlu
cyIpCiAgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHNlbGYudG9vbGNoYWluc19kaXJlY3Rv
cnkpOgogICAgICAgICAgICAgb3MubWFrZWRpcnMoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSkK
IApAQCAtNjM4LDggKzYzOSw4IEBAIGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgICAgIGlmIG5v
dCBvcy5wYXRoLmV4aXN0cyhvcy5wYXRoLmpvaW4oZ3N0X2RpciwgJ2dzdC1lbnYucHknKSk6CiAg
ICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ0dTVF9CVUlMRF9QQVRIIHNldCB0byAlcyBi
dXQgaXQgZG9lc25cJ3Qgc2VlbSB0byBiZSBhIHZhbGlkIGBnc3QtYnVpbGRgIGNoZWNrb3V0Licg
JSBnc3RfZGlyKQogCi0gICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxmLnNv
dXJjZV9yb290LCAiV2ViS2l0QnVpbGQiLCAnZ3N0LWJ1aWxkJykKLSAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3Jvb3QsICdnc3QtYnVpbGQnLCAn
YnVpbGQubmluamEnKSk6CisgICAgICAgIGdzdF9idWlsZGRpciA9IG9zLnBhdGguam9pbihzZWxm
LnNvdXJjZV9yb290LCBzZWxmLmJhc2VfYnVpbGRfZGlyLCAnZ3N0LWJ1aWxkJykKKyAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9pbihzZWxmLmRlZmF1bHRfYnVpbGRfcm9v
dCwgJ2dzdC1idWlsZCcsICdidWlsZC5uaW5qYScpKToKICAgICAgICAgICAgIGlmIG5vdCBidWls
ZGluZzoKICAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoJ1RyeWluZyB0byBlbnRl
ciBnc3QtYnVpbGQgZW52IGZyb20gJXMgYnV0IGl0IGlzIG5vdCBidWlsdCwgbWFrZSBzdXJlIHRv
IHJlYnVpbGQgd2Via2l0LicgJSBnc3RfZGlyKQogCkBAIC03MjEsNyArNzIyLDcgQEAgY2xhc3Mg
V2Via2l0RmxhdHBhazoKICAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoYXJncywgbGlzdCk6CiAg
ICAgICAgICAgICBhcmdzID0gbGlzdChhcmdzKQogCi0gICAgICAgIHNhbmRib3hfYnVpbGRfcGF0
aCA9IG9zLnBhdGguam9pbihzZWxmLnNhbmRib3hfc291cmNlX3Jvb3QsICJXZWJLaXRCdWlsZCIs
IHNlbGYuYnVpbGRfdHlwZSkKKyAgICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5q
b2luKHNlbGYuc2FuZGJveF9zb3VyY2Vfcm9vdCwgc2VsZi5iYXNlX2J1aWxkX2Rpciwgc2VsZi5i
dWlsZF90eXBlKQogICAgICAgICBzYW5kYm94X2Vudmlyb25tZW50ID0gewogICAgICAgICAgICAg
IlRFU1RfUlVOTkVSX0lOSkVDVEVEX0JVTkRMRV9GSUxFTkFNRSI6IG9zLnBhdGguam9pbihzYW5k
Ym94X2J1aWxkX3BhdGgsICJsaWIvbGliVGVzdFJ1bm5lckluamVjdGVkQnVuZGxlLnNvIiksCiAg
ICAgICAgICAgICAiUEFUSCI6ICIvdXNyL2xpYi9zZGsvbGx2bTExL2JpbjovdXNyL2JpbjovdXNy
L2xpYi9zZGsvcnVzdC1zdGFibGUvYmluLyIsCkBAIC05OTEsOCArOTkyLDIxIEBAIGNsYXNzIFdl
YmtpdEZsYXRwYWs6CiAgICAgICAgICAgICAgICAgaWYgcGFja2FnZS5uYW1lLnN0YXJ0c3dpdGgo
Im9yZy53ZWJraXQiKSBcCiAgICAgICAgICAgICAgICAgICAgYW5kIHNlbGYucmVwb3MuaXNfcGFj
a2FnZV9pbnN0YWxsZWQocGFja2FnZS5uYW1lKSBcCiAgICAgICAgICAgICAgICAgICAgYW5kIG5v
dCBzZWxmLnJlcG9zLmlzX3BhY2thZ2VfaW5zdGFsbGVkKHBhY2thZ2UubmFtZSwgYnJhbmNoPXNl
bGYuc2RrX2JyYW5jaCk6CisKKyAgICAgICAgICAgICAgICAgICAgIyBDYWNoZSBzY2NhY2hlIGF1
dGggdG9rZW4gYmVmb3JlIHJlbW92aW5nIFVzZXJGbGF0cGFrLgorICAgICAgICAgICAgICAgICAg
ICBzZWxmLmFjcXVpcmVfc2NjYWNoZV9hdXRoX3Rva2VuX2Zyb21fY29uZmlnX2ZpbGUoKQorCiAg
ICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTmV3IFNESyB2ZXJzaW9uIGF2YWls
YWJsZSwgcmVtb3ZpbmcgbG9jYWwgVXNlckZsYXRwYWsgZGlyZWN0b3J5IGJlZm9yZSBzd2l0Y2hp
bmcgdG8gbmV3IHZlcnNpb24iKQogICAgICAgICAgICAgICAgICAgICBzaHV0aWwucm10cmVlKHNl
bGYuZmxhdHBha19idWlsZF9wYXRoKQorCisgICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVz
c2FnZSgiRm9yY2luZyBuZXh0IFdlYktpdCBidWlsZCB0byByZS1ydW4gQ01ha2UiKQorICAgICAg
ICAgICAgICAgICAgICBmb3IgcGxhdGZvcm0gaW4gKCdHVEsnLCAnV1BFJyk6CisgICAgICAgICAg
ICAgICAgICAgICAgICBmb3IgYnVpbGRfdHlwZSBpbiAoJ1JlbGVhc2UnLCAnRGVidWcnKToKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZV9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYu
YnVpbGRfcm9vdCwgcGxhdGZvcm0sIGJ1aWxkX3R5cGUsICdDTWFrZUNhY2hlLnR4dCcpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoY2FjaGVfcGF0aCk6Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiUmVtb3Zpbmcg
JXMiLCBjYWNoZV9wYXRoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5yZW1v
dmUoY2FjaGVfcGF0aCkKKwogICAgICAgICAgICAgICAgICAgICBzZWxmLl9yZXNldF9yZXBvc2l0
b3J5KCkKICAgICAgICAgICAgICAgICAgICAgYnJlYWsKIApAQCAtMTAwNiw2ICsxMDIwLDE3IEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAKICAgICAgICAgcmVzdWx0ID0gc2VsZi5zZXR1cF9kZXZf
ZW52KCkKICAgICAgICAgaWYgcmVnZW5lcmF0ZV90b29sY2hhaW5zOgorCisgICAgICAgICAgICAj
IFRvb2xjaGFpbnMgdXNlZCB0byBiZSBzdG9yZWQgaW4gV2ViS2l0QnVpbGQvVG9vbGNoYWlucy4g
UmVtb3ZlIHRoaXMgcGF0aCBpZiBmb3VuZCwgdG8gc2F2ZQorICAgICAgICAgICAgIyB1cCBkaXNr
IHNwYWNlLgorICAgICAgICAgICAgb2xkX3Rvb2xjaGFpbnNfcGF0aCA9IG9zLnBhdGguam9pbihz
ZWxmLmRlZmF1bHRfYnVpbGRfcm9vdCwgIlRvb2xjaGFpbnMiKQorICAgICAgICAgICAgaWYgb3Mu
cGF0aC5pc2RpcihvbGRfdG9vbGNoYWluc19wYXRoKToKKyAgICAgICAgICAgICAgICBDb25zb2xl
Lm1lc3NhZ2UoIlB1cmdpbmcgb2Jzb2xldGUgdG9vbGNoYWlucyIpCisgICAgICAgICAgICAgICAg
c2h1dGlsLnJtdHJlZShvbGRfdG9vbGNoYWluc19wYXRoKQorCisgICAgICAgICAgICBpZiBub3Qg
b3MucGF0aC5pc2RpcihzZWxmLnRvb2xjaGFpbnNfZGlyZWN0b3J5KToKKyAgICAgICAgICAgICAg
ICBvcy5tYWtlZGlycyhzZWxmLnRvb2xjaGFpbnNfZGlyZWN0b3J5KQorCiAgICAgICAgICAgICBD
b25zb2xlLm1lc3NhZ2UoIlVwZGF0aW5nIGljZWNjL3NjY2FjaGUgc3RhbmRhbG9uZSB0b29sY2hh
aW4gYXJjaGl2ZXMiKQogICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbiA9IHt9CiAgICAgICAg
ICAgICBnY2NfYXJjaGl2ZSwgdG9vbGNoYWlucyA9IHNlbGYucGFja190b29sY2hhaW4oKCJnY2Mi
LCAiZysrIiksIHsiL3Vzci9iaW4vYysrIjogImcrKyIsCkBAIC0xMDMzLDE3ICsxMDU4LDIwIEBA
IGNsYXNzIFdlYmtpdEZsYXRwYWs6CiAgICAgZGVmIGhhc19lbnZpcm9ubWVudChzZWxmKToKICAg
ICAgICAgcmV0dXJuIG9zLnBhdGguZXhpc3RzKHNlbGYuZmxhdHBha19idWlsZF9wYXRoKQogCi0g
ICAgZGVmIHNhdmVfY29uZmlnKHNlbGYsIHRvb2xjaGFpbnMpOgotICAgICAgICB3aXRoIG9wZW4o
c2VsZi5jb25maWdfZmlsZSwgJ3cnKSBhcyBjb25maWc6Ci0gICAgICAgICAgICBqc29uX2NvbmZp
ZyA9IHsnaWNlY2NfdmVyc2lvbic6IHNlbGYuaWNjX3ZlcnNpb259Ci0gICAgICAgICAgICBqc29u
LmR1bXAoanNvbl9jb25maWcsIGNvbmZpZykKLQorICAgIGRlZiBhY3F1aXJlX3NjY2FjaGVfYXV0
aF90b2tlbl9mcm9tX2NvbmZpZ19maWxlKHNlbGYpOgogICAgICAgICBpZiBvcy5wYXRoLmlzZmls
ZShzZWxmLnNjY2FjaGVfY29uZmlnX2ZpbGUpIGFuZCBub3Qgc2VsZi5zY2NhY2hlX3Rva2VuOgog
ICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJSZXVzaW5nIHNjY2FjaGUgYXV0aCB0b2tlbiBm
cm9tIG9sZCBjb25maWd1cmF0aW9uIGZpbGUiKQogICAgICAgICAgICAgd2l0aCBvcGVuKHNlbGYu
c2NjYWNoZV9jb25maWdfZmlsZSkgYXMgY29uZmlnOgogICAgICAgICAgICAgICAgIHNjY2FjaGVf
Y29uZmlnID0gdG9tbC5sb2FkKGNvbmZpZykKICAgICAgICAgICAgICAgICBzZWxmLnNjY2FjaGVf
dG9rZW4gPSBzY2NhY2hlX2NvbmZpZ1snZGlzdCddWydhdXRoJ11bJ3Rva2VuJ10KIAorICAgIGRl
ZiBzYXZlX2NvbmZpZyhzZWxmLCB0b29sY2hhaW5zKToKKyAgICAgICAgd2l0aCBvcGVuKHNlbGYu
Y29uZmlnX2ZpbGUsICd3JykgYXMgY29uZmlnOgorICAgICAgICAgICAganNvbl9jb25maWcgPSB7
J2ljZWNjX3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQorICAgICAgICAgICAganNvbi5kdW1w
KGpzb25fY29uZmlnLCBjb25maWcpCisKKyAgICAgICAgc2VsZi5hY3F1aXJlX3NjY2FjaGVfYXV0
aF90b2tlbl9mcm9tX2NvbmZpZ19maWxlKCkKKwogICAgICAgICBpZiBub3Qgc2VsZi5zY2NhY2hl
X3Rva2VuOgogICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJObyBhdXRoZW50aWNhdGlvbiB0
b2tlbiBwcm92aWRlZC4gUmUtcnVuIHRoaXMgd2l0aCB0aGUgLXQgb3B0aW9uIGlmIGFuIHNjY2Fj
aGUgdG9rZW4gd2FzIHByb3ZpZGVkIHRvIHlvdS4gU2tpcHBpbmcgc2NjYWNoZSBjb25maWd1cmF0
aW9uIGZvciBub3cuIikKICAgICAgICAgICAgIHJldHVybgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438479</attachid>
            <date>2021-09-17 09:00:10 -0700</date>
            <delta_ts>2021-09-20 01:08:59 -0700</delta_ts>
            <desc>[fast-cq] Patch</desc>
            <filename>bug-230201-20210917090008.patch</filename>
            <type>text/plain</type>
            <size>10072</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgyNjYzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGVmNDdkNjkwY2MzZjQ5MGY4ZWNkMDE3Njk4MGY5NmJl
MDFjYTczYS4uYzBjNjUwMmNmZGM4MDZlOGYxYjQ2YWY5MmQ3YjgwNzk3YjFhMWYyYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2
IEBACisyMDIxLTA5LTE3ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
KworICAgICAgICBbRmxhdHBhayBTREtdIE1vdmUgdG9vbGNoYWlucyB0byBVc2VyRmxhdHBhayBh
bmQgaW1wcm92ZSBTREsgdXBncmFkZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDIwMQorCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBBbGJl
cnRvIExvcGV6IFBlcmV6LgorCisgICAgICAgIEFzIHRvb2xjaGFpbiBhcmNoaXZlcyBkZXBlbmQg
b24gdGhlIFNESyBydW50aW1lLCBpdCBtYWtlcyBzZW5zZSB0byBtb3ZlIHRoZW0gaW4gdGhlCisg
ICAgICAgIGNvcnJlc3BvbmRpbmcgVXNlckZsYXRwYWsgZm9sZGVyLCBzbyB0aGF0IHdoZW4gU0RL
IGlzIHVwZ3JhZGVkLCBzdGFsZSB0b29sY2hhaW5zIGFyZQorICAgICAgICByZW1vdmVkLiBUaGUg
U0RLIHVwZ3JhZGUgaXMgYWxzbyBub3cgaGFuZGxpbmcgY2FjaGVkIFNTQ2FjaGUgYXV0aGVudGlj
YXRpb24gdG9rZW5zIGFuZAorICAgICAgICBwcm9wYWdhdGluZyB0aG9zZSBpbiB0aGUgbmV3bHkg
aW5zdGFsbGVkIFNESy4gRmluYWxseSwgU0RLIHVwZ3JhZGVzIHdpbGwgbm93IGFsc28gY2xlYXIK
KyAgICAgICAgQ01ha2UgY2FjaGUgZmlsZXMgb24gV2ViS2l0IGJ1aWxkcywgc28gdGhhdCBob3Bl
ZnVsbHksIGV4aXN0aW5nIGJ1aWxkIGRpcmVjdG9yaWVzIG5vIGxvbmdlcgorICAgICAgICBuZWVk
IHRvIGJlIG1hbnVhbGx5IHJlbW92ZWQuCisKKyAgICAgICAgKiBmbGF0cGFrL2ZsYXRwYWt1dGls
cy5weToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuX19pbml0X18pOgorICAgICAgICAoV2Via2l0
RmxhdHBhay5jbGVhbl9hcmdzKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsuc2V0dXBfZ3N0YnVp
bGQpOgorICAgICAgICAoV2Via2l0RmxhdHBhay5ydW5faW5fc2FuZGJveCk6CisgICAgICAgIChX
ZWJraXRGbGF0cGFrLm1haW4pOgorICAgICAgICAoV2Via2l0RmxhdHBhay5hY3F1aXJlX3NjY2Fj
aGVfYXV0aF90b2tlbl9mcm9tX2NvbmZpZ19maWxlKToKKyAgICAgICAgKFdlYmtpdEZsYXRwYWsu
c2F2ZV9jb25maWcpOgorCiAyMDIxLTA5LTE3ICBMYXVybyBNb3VyYSAgPGxtb3VyYUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3NTI2NykgW0dMSUJdIEFQSSB0ZXN0IC93ZWJr
aXQvV2ViS2l0V2Vic2l0ZURhdGEvY29uZmlndXJhdGlvbiBpcyBmYWlsaW5nCmRpZmYgLS1naXQg
YS9Ub29scy9mbGF0cGFrL2ZsYXRwYWt1dGlscy5weSBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0
aWxzLnB5CmluZGV4IDI0NGVmZjg1YWY3Y2VkOTA2ZmIyYzhmNjA4NmM1NmQ3ZTU4NjVmMjMuLjcz
OTc1OWE4ODI2YjNkNGZkMGE5MjZkN2NlMWQ0ZDVkOThkNWQ3YTMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L2ZsYXRwYWsvZmxhdHBha3V0aWxzLnB5CisrKyBiL1Rvb2xzL2ZsYXRwYWsvZmxhdHBha3V0aWxz
LnB5CkBAIC01MDgsNiArNTA4LDggQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgIyBX
aGVyZSB0aGUgc291cmNlIGZvbGRlciBpcyBtb3VudGVkIGluc2lkZSB0aGUgc2FuZGJveC4KICAg
ICAgICAgc2VsZi5zYW5kYm94X3NvdXJjZV9yb290ID0gIi9hcHAvd2Via2l0IgogCisgICAgICAg
IHNlbGYuYmFzZV9idWlsZF9kaXIgPSAnV2ViS2l0QnVpbGQnCisKICAgICAgICAgc2VsZi5idWls
ZF9nc3QgPSBGYWxzZQogCiAgICAgICAgIHNlbGYuc2RrX2JyYW5jaCA9ICIwLjMiCkBAIC01NjYs
MjAgKzU2OCwxOSBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAgICBpZiBzZWxmLmdkYiBp
cyBOb25lIGFuZCAnLS1nZGInIGluIHN5cy5hcmd2OgogICAgICAgICAgICAgc2VsZi5nZGIgPSBU
cnVlCiAKLSAgICAgICAgYmFzZV9idWlsZF9kaXIgPSAnV2ViS2l0QnVpbGQnCi0KICAgICAgICAg
IyBUaGlzIHBhdGggZG9lc24ndCB0YWtlICRXRUJLSVRfT1VUUFVURElSIGluIGFjY291bnQgYmVj
YXVzZSB0aGUgc3RhbmRhbG9uZSB0b29sY2hhaW5zCiAgICAgICAgICMgcGF0aHMgZGVwZW5kIG9u
IGl0IGFuZCB0aG9zZSBhcmUgYWxzbyBoYXJkLWNvZGVkIGluIHRoZSBnZW5lcmF0ZWQgc2NjYWNo
ZSBjb25maWcuCi0gICAgICAgIHNlbGYuYnVpbGRfcm9vdCA9IG9zLnBhdGguam9pbihzZWxmLnNv
dXJjZV9yb290LCBiYXNlX2J1aWxkX2RpcikKKyAgICAgICAgc2VsZi5kZWZhdWx0X2J1aWxkX3Jv
b3QgPSBvcy5wYXRoLmpvaW4oc2VsZi5zb3VyY2Vfcm9vdCwgc2VsZi5iYXNlX2J1aWxkX2RpcikK
IAogICAgICAgICBzZWxmLmNvbmZpZ19maWxlID0gb3MucGF0aC5qb2luKHNlbGYuZmxhdHBha19i
dWlsZF9wYXRoLCAnd2Via2l0X2ZsYXRwYWtfY29uZmlnLmpzb24nKQogICAgICAgICBzZWxmLnNj
Y2FjaGVfY29uZmlnX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgs
ICdzY2NhY2hlLnRvbWwnKQogCiAgICAgICAgIGJ1aWxkX3Jvb3QgPSBvcy5lbnZpcm9uLmdldCgi
V0VCS0lUX09VVFBVVERJUiIsIHNlbGYuc291cmNlX3Jvb3QpCi0gICAgICAgIHNlbGYuYnVpbGRf
cGF0aCA9IG9zLnBhdGguam9pbihidWlsZF9yb290LCBiYXNlX2J1aWxkX2Rpciwgc2VsZi5wbGF0
Zm9ybSwgc2VsZi5idWlsZF90eXBlKQorICAgICAgICBzZWxmLmJ1aWxkX3Jvb3QgPSBvcy5wYXRo
LmpvaW4oYnVpbGRfcm9vdCwgc2VsZi5iYXNlX2J1aWxkX2RpcikKKyAgICAgICAgc2VsZi5idWls
ZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuYnVpbGRfcm9vdCwgc2VsZi5wbGF0Zm9ybSwgc2Vs
Zi5idWlsZF90eXBlKQogICAgICAgICBfbG9nLmRlYnVnKCJCdWlsZGluZyAlcyBwb3J0IGluICVz
IiAlIChzZWxmLnBsYXRmb3JtLCBzZWxmLmJ1aWxkX3BhdGgpKQogCi0gICAgICAgIHNlbGYudG9v
bGNoYWluc19kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4oc2VsZi5idWlsZF9yb290LCAiVG9vbGNo
YWlucyIpCisgICAgICAgIHNlbGYudG9vbGNoYWluc19kaXJlY3RvcnkgPSBvcy5wYXRoLmpvaW4o
c2VsZi5mbGF0cGFrX2J1aWxkX3BhdGgsICJUb29sY2hhaW5zIikKICAgICAgICAgaWYgbm90IG9z
LnBhdGguaXNkaXIoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSk6CiAgICAgICAgICAgICBvcy5t
YWtlZGlycyhzZWxmLnRvb2xjaGFpbnNfZGlyZWN0b3J5KQogCkBAIC02MzgsOCArNjM5LDggQEAg
Y2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBh
dGguam9pbihnc3RfZGlyLCAnZ3N0LWVudi5weScpKToKICAgICAgICAgICAgIHJhaXNlIFJ1bnRp
bWVFcnJvcignR1NUX0JVSUxEX1BBVEggc2V0IHRvICVzIGJ1dCBpdCBkb2VzblwndCBzZWVtIHRv
IGJlIGEgdmFsaWQgYGdzdC1idWlsZGAgY2hlY2tvdXQuJyAlIGdzdF9kaXIpCiAKLSAgICAgICAg
Z3N0X2J1aWxkZGlyID0gb3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsICJXZWJLaXRCdWls
ZCIsICdnc3QtYnVpbGQnKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5q
b2luKHNlbGYuYnVpbGRfcm9vdCwgJ2dzdC1idWlsZCcsICdidWlsZC5uaW5qYScpKToKKyAgICAg
ICAgZ3N0X2J1aWxkZGlyID0gb3MucGF0aC5qb2luKHNlbGYuc291cmNlX3Jvb3QsIHNlbGYuYmFz
ZV9idWlsZF9kaXIsICdnc3QtYnVpbGQnKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMo
b3MucGF0aC5qb2luKHNlbGYuZGVmYXVsdF9idWlsZF9yb290LCAnZ3N0LWJ1aWxkJywgJ2J1aWxk
Lm5pbmphJykpOgogICAgICAgICAgICAgaWYgbm90IGJ1aWxkaW5nOgogICAgICAgICAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcignVHJ5aW5nIHRvIGVudGVyIGdzdC1idWlsZCBlbnYgZnJvbSAl
cyBidXQgaXQgaXMgbm90IGJ1aWx0LCBtYWtlIHN1cmUgdG8gcmVidWlsZCB3ZWJraXQuJyAlIGdz
dF9kaXIpCiAKQEAgLTcyMSw3ICs3MjIsNyBAQCBjbGFzcyBXZWJraXRGbGF0cGFrOgogICAgICAg
ICBpZiBub3QgaXNpbnN0YW5jZShhcmdzLCBsaXN0KToKICAgICAgICAgICAgIGFyZ3MgPSBsaXN0
KGFyZ3MpCiAKLSAgICAgICAgc2FuZGJveF9idWlsZF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYu
c2FuZGJveF9zb3VyY2Vfcm9vdCwgIldlYktpdEJ1aWxkIiwgc2VsZi5idWlsZF90eXBlKQorICAg
ICAgICBzYW5kYm94X2J1aWxkX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5zYW5kYm94X3NvdXJj
ZV9yb290LCBzZWxmLmJhc2VfYnVpbGRfZGlyLCBzZWxmLmJ1aWxkX3R5cGUpCiAgICAgICAgIHNh
bmRib3hfZW52aXJvbm1lbnQgPSB7CiAgICAgICAgICAgICAiVEVTVF9SVU5ORVJfSU5KRUNURURf
QlVORExFX0ZJTEVOQU1FIjogb3MucGF0aC5qb2luKHNhbmRib3hfYnVpbGRfcGF0aCwgImxpYi9s
aWJUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGUuc28iKSwKICAgICAgICAgICAgICJQQVRIIjogIi91
c3IvbGliL3Nkay9sbHZtMTEvYmluOi91c3IvYmluOi91c3IvbGliL3Nkay9ydXN0LXN0YWJsZS9i
aW4vIiwKQEAgLTg4Niw5ICs4ODcsMTEgQEAgY2xhc3MgV2Via2l0RmxhdHBhazoKICAgICAgICAg
ICAgIGV4Y2VwdCBLZXlFcnJvcjoKICAgICAgICAgICAgICAgICBDb25zb2xlLmVycm9yX21lc3Nh
Z2UoIlRvb2xjaGFpbnMgY29uZmlndXJhdGlvbiBub3QgZm91bmQuIFBsZWFzZSBydW4gd2Via2l0
LWZsYXRwYWsgLXIiKQogICAgICAgICAgICAgICAgIHJldHVybiAxCisgICAgICAgICAgICBlbHNl
OgorICAgICAgICAgICAgICAgIHRvb2xjaGFpbl9wYXRoID0gc2VsZi5ob3N0X3BhdGhfdG9fc2Fu
ZGJveF9wYXRoKHRvb2xjaGFpbl9wYXRoKQogICAgICAgICAgICAgaWYgIklDRUNDX1ZFUlNJT05f
QVBQRU5EIiBpbiBvcy5lbnZpcm9uOgogICAgICAgICAgICAgICAgIHRvb2xjaGFpbl9wYXRoICs9
ICIsIgotICAgICAgICAgICAgICAgIHRvb2xjaGFpbl9wYXRoICs9IG9zLmVudmlyb25bIklDRUND
X1ZFUlNJT05fQVBQRU5EIl0KKyAgICAgICAgICAgICAgICB0b29sY2hhaW5fcGF0aCArPSBzZWxm
Lmhvc3RfcGF0aF90b19zYW5kYm94X3BhdGgob3MuZW52aXJvblsiSUNFQ0NfVkVSU0lPTl9BUFBF
TkQiXSkKICAgICAgICAgICAgIG5hdGl2ZV90b29sY2hhaW4gPSB0b29sY2hhaW5fcGF0aC5zcGxp
dCgiLCIpWzBdCiAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUobmF0aXZlX3Rvb2xj
aGFpbik6CiAgICAgICAgICAgICAgICAgQ29uc29sZS5lcnJvcl9tZXNzYWdlKCIlcyBpcyBub3Qg
YSB2YWxpZCBJY2VDQyB0b29sY2hhaW4uIFBsZWFzZSBydW4gd2Via2l0LWZsYXRwYWsgLXIiLCBu
YXRpdmVfdG9vbGNoYWluKQpAQCAtOTkxLDggKzk5NCwyMSBAQCBjbGFzcyBXZWJraXRGbGF0cGFr
OgogICAgICAgICAgICAgICAgIGlmIHBhY2thZ2UubmFtZS5zdGFydHN3aXRoKCJvcmcud2Via2l0
IikgXAogICAgICAgICAgICAgICAgICAgIGFuZCBzZWxmLnJlcG9zLmlzX3BhY2thZ2VfaW5zdGFs
bGVkKHBhY2thZ2UubmFtZSkgXAogICAgICAgICAgICAgICAgICAgIGFuZCBub3Qgc2VsZi5yZXBv
cy5pc19wYWNrYWdlX2luc3RhbGxlZChwYWNrYWdlLm5hbWUsIGJyYW5jaD1zZWxmLnNka19icmFu
Y2gpOgorCisgICAgICAgICAgICAgICAgICAgICMgQ2FjaGUgc2NjYWNoZSBhdXRoIHRva2VuIGJl
Zm9yZSByZW1vdmluZyBVc2VyRmxhdHBhay4KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5hY3F1
aXJlX3NjY2FjaGVfYXV0aF90b2tlbl9mcm9tX2NvbmZpZ19maWxlKCkKKwogICAgICAgICAgICAg
ICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIk5ldyBTREsgdmVyc2lvbiBhdmFpbGFibGUsIHJlbW92
aW5nIGxvY2FsIFVzZXJGbGF0cGFrIGRpcmVjdG9yeSBiZWZvcmUgc3dpdGNoaW5nIHRvIG5ldyB2
ZXJzaW9uIikKICAgICAgICAgICAgICAgICAgICAgc2h1dGlsLnJtdHJlZShzZWxmLmZsYXRwYWtf
YnVpbGRfcGF0aCkKKworICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkZvcmNp
bmcgbmV4dCBXZWJLaXQgYnVpbGQgdG8gcmUtcnVuIENNYWtlIikKKyAgICAgICAgICAgICAgICAg
ICAgZm9yIHBsYXRmb3JtIGluICgnR1RLJywgJ1dQRScpOgorICAgICAgICAgICAgICAgICAgICAg
ICAgZm9yIGJ1aWxkX3R5cGUgaW4gKCdSZWxlYXNlJywgJ0RlYnVnJyk6CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2FjaGVfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmJ1aWxkX3Jvb3Qs
IHBsYXRmb3JtLCBidWlsZF90eXBlLCAnQ01ha2VDYWNoZS50eHQnKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKGNhY2hlX3BhdGgpOgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIlJlbW92aW5nICVzIiwgY2FjaGVf
cGF0aCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucmVtb3ZlKGNhY2hlX3Bh
dGgpCisKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fcmVzZXRfcmVwb3NpdG9yeSgpCiAgICAg
ICAgICAgICAgICAgICAgIGJyZWFrCiAKQEAgLTEwMDYsNiArMTAyMiwxNyBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogCiAgICAgICAgIHJlc3VsdCA9IHNlbGYuc2V0dXBfZGV2X2VudigpCiAgICAg
ICAgIGlmIHJlZ2VuZXJhdGVfdG9vbGNoYWluczoKKworICAgICAgICAgICAgIyBUb29sY2hhaW5z
IHVzZWQgdG8gYmUgc3RvcmVkIGluIFdlYktpdEJ1aWxkL1Rvb2xjaGFpbnMuIFJlbW92ZSB0aGlz
IHBhdGggaWYgZm91bmQsIHRvIHNhdmUKKyAgICAgICAgICAgICMgdXAgZGlzayBzcGFjZS4KKyAg
ICAgICAgICAgIG9sZF90b29sY2hhaW5zX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5kZWZhdWx0
X2J1aWxkX3Jvb3QsICJUb29sY2hhaW5zIikKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIo
b2xkX3Rvb2xjaGFpbnNfcGF0aCk6CisgICAgICAgICAgICAgICAgQ29uc29sZS5tZXNzYWdlKCJQ
dXJnaW5nIG9ic29sZXRlIHRvb2xjaGFpbnMiKQorICAgICAgICAgICAgICAgIHNodXRpbC5ybXRy
ZWUob2xkX3Rvb2xjaGFpbnNfcGF0aCkKKworICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNk
aXIoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSk6CisgICAgICAgICAgICAgICAgb3MubWFrZWRp
cnMoc2VsZi50b29sY2hhaW5zX2RpcmVjdG9yeSkKKwogICAgICAgICAgICAgQ29uc29sZS5tZXNz
YWdlKCJVcGRhdGluZyBpY2VjYy9zY2NhY2hlIHN0YW5kYWxvbmUgdG9vbGNoYWluIGFyY2hpdmVz
IikKICAgICAgICAgICAgIHNlbGYuaWNjX3ZlcnNpb24gPSB7fQogICAgICAgICAgICAgZ2NjX2Fy
Y2hpdmUsIHRvb2xjaGFpbnMgPSBzZWxmLnBhY2tfdG9vbGNoYWluKCgiZ2NjIiwgImcrKyIpLCB7
Ii91c3IvYmluL2MrKyI6ICJnKysiLApAQCAtMTAzMywxNyArMTA2MCwyMCBAQCBjbGFzcyBXZWJr
aXRGbGF0cGFrOgogICAgIGRlZiBoYXNfZW52aXJvbm1lbnQoc2VsZik6CiAgICAgICAgIHJldHVy
biBvcy5wYXRoLmV4aXN0cyhzZWxmLmZsYXRwYWtfYnVpbGRfcGF0aCkKIAotICAgIGRlZiBzYXZl
X2NvbmZpZyhzZWxmLCB0b29sY2hhaW5zKToKLSAgICAgICAgd2l0aCBvcGVuKHNlbGYuY29uZmln
X2ZpbGUsICd3JykgYXMgY29uZmlnOgotICAgICAgICAgICAganNvbl9jb25maWcgPSB7J2ljZWNj
X3ZlcnNpb24nOiBzZWxmLmljY192ZXJzaW9ufQotICAgICAgICAgICAganNvbi5kdW1wKGpzb25f
Y29uZmlnLCBjb25maWcpCi0KKyAgICBkZWYgYWNxdWlyZV9zY2NhY2hlX2F1dGhfdG9rZW5fZnJv
bV9jb25maWdfZmlsZShzZWxmKToKICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoc2VsZi5zY2Nh
Y2hlX2NvbmZpZ19maWxlKSBhbmQgbm90IHNlbGYuc2NjYWNoZV90b2tlbjoKICAgICAgICAgICAg
IENvbnNvbGUubWVzc2FnZSgiUmV1c2luZyBzY2NhY2hlIGF1dGggdG9rZW4gZnJvbSBvbGQgY29u
ZmlndXJhdGlvbiBmaWxlIikKICAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLnNjY2FjaGVfY29u
ZmlnX2ZpbGUpIGFzIGNvbmZpZzoKICAgICAgICAgICAgICAgICBzY2NhY2hlX2NvbmZpZyA9IHRv
bWwubG9hZChjb25maWcpCiAgICAgICAgICAgICAgICAgc2VsZi5zY2NhY2hlX3Rva2VuID0gc2Nj
YWNoZV9jb25maWdbJ2Rpc3QnXVsnYXV0aCddWyd0b2tlbiddCiAKKyAgICBkZWYgc2F2ZV9jb25m
aWcoc2VsZiwgdG9vbGNoYWlucyk6CisgICAgICAgIHdpdGggb3BlbihzZWxmLmNvbmZpZ19maWxl
LCAndycpIGFzIGNvbmZpZzoKKyAgICAgICAgICAgIGpzb25fY29uZmlnID0geydpY2VjY192ZXJz
aW9uJzogc2VsZi5pY2NfdmVyc2lvbn0KKyAgICAgICAgICAgIGpzb24uZHVtcChqc29uX2NvbmZp
ZywgY29uZmlnKQorCisgICAgICAgIHNlbGYuYWNxdWlyZV9zY2NhY2hlX2F1dGhfdG9rZW5fZnJv
bV9jb25maWdfZmlsZSgpCisKICAgICAgICAgaWYgbm90IHNlbGYuc2NjYWNoZV90b2tlbjoKICAg
ICAgICAgICAgIENvbnNvbGUubWVzc2FnZSgiTm8gYXV0aGVudGljYXRpb24gdG9rZW4gcHJvdmlk
ZWQuIFJlLXJ1biB0aGlzIHdpdGggdGhlIC10IG9wdGlvbiBpZiBhbiBzY2NhY2hlIHRva2VuIHdh
cyBwcm92aWRlZCB0byB5b3UuIFNraXBwaW5nIHNjY2FjaGUgY29uZmlndXJhdGlvbiBmb3Igbm93
LiIpCiAgICAgICAgICAgICByZXR1cm4KQEAgLTEwOTEsMTQgKzExMjEsMTUgQEAgY2xhc3MgV2Vi
a2l0RmxhdHBhazoKICAgICAgICAgICAgIHJlbGF0aXZlX2ZpbGVuYW1lID0gIndlYmtpdC1zZGst
e25hbWV9LXtmaWxlbmFtZX0iLmZvcm1hdChuYW1lPWNvbXBpbGVyc1swXSwgZmlsZW5hbWU9aWNj
X3ZlcnNpb25fZmlsZW5hbWUuZGVjb2RlKCkpCiAgICAgICAgICAgICBhcmNoaXZlX2ZpbGVuYW1l
ID0gb3MucGF0aC5qb2luKHNlbGYudG9vbGNoYWluc19kaXJlY3RvcnksIHJlbGF0aXZlX2ZpbGVu
YW1lKQogICAgICAgICAgICAgb3MucmVuYW1lKGljY192ZXJzaW9uX2ZpbGVuYW1lLCBhcmNoaXZl
X2ZpbGVuYW1lKQotICAgICAgICAgICAgc2VsZi5pY2NfdmVyc2lvbltjb21waWxlcnNbMF1dID0g
YXJjaGl2ZV9maWxlbmFtZQorICAgICAgICAgICAgYXJjaGl2ZV9zYW5kYm94X3BhdGggPSBzZWxm
Lmhvc3RfcGF0aF90b19zYW5kYm94X3BhdGgoYXJjaGl2ZV9maWxlbmFtZSkKKyAgICAgICAgICAg
IHNlbGYuaWNjX3ZlcnNpb25bY29tcGlsZXJzWzBdXSA9IGFyY2hpdmVfc2FuZGJveF9wYXRoCiAg
ICAgICAgICAgICBDb25zb2xlLm1lc3NhZ2UoIkNyZWF0ZWQgJXMgc2VsZi1jb250YWluZWQgdG9v
bGNoYWluIGFyY2hpdmUiLCBhcmNoaXZlX2ZpbGVuYW1lKQogCiAgICAgICAgICAgICBzY2NhY2hl
X3Rvb2xjaGFpbnMgPSBbXQogICAgICAgICAgICAgZm9yIChjb21waWxlcl9leGVjdXRhYmxlLCBh
cmNoaXZlX2NvbXBpbGVyX2V4ZWN1dGFibGUpIGluIHBhdGhfbWFwcGluZy5pdGVtcygpOgogICAg
ICAgICAgICAgICAgIGl0ZW0gPSB7J3R5cGUnOiAncGF0aF9vdmVycmlkZScsCiAgICAgICAgICAg
ICAgICAgICAgICAgICAnY29tcGlsZXJfZXhlY3V0YWJsZSc6IGNvbXBpbGVyX2V4ZWN1dGFibGUs
Ci0gICAgICAgICAgICAgICAgICAgICAgICAnYXJjaGl2ZSc6IGFyY2hpdmVfZmlsZW5hbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAnYXJjaGl2ZSc6IGFyY2hpdmVfc2FuZGJveF9wYXRoLAog
ICAgICAgICAgICAgICAgICAgICAgICAgJ2FyY2hpdmVfY29tcGlsZXJfZXhlY3V0YWJsZSc6IGNv
bXBpbGVyX21hcHBpbmdbYXJjaGl2ZV9jb21waWxlcl9leGVjdXRhYmxlXX0KICAgICAgICAgICAg
ICAgICBzY2NhY2hlX3Rvb2xjaGFpbnMuYXBwZW5kKGl0ZW0pCiAgICAgICAgICAgICByZXR1cm4g
KHJlbGF0aXZlX2ZpbGVuYW1lLCBzY2NhY2hlX3Rvb2xjaGFpbnMpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>