<?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>195393</bug_id>
          
          <creation_ts>2019-03-06 20:26:53 -0800</creation_ts>
          <short_desc>run-benchmark should close windows between iterations</short_desc>
          <delta_ts>2019-04-30 16:29:39 -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>
          
          
          <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="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Stephanie Lewis">slewis</assigned_to>
          <cc>ap</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jbedard</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>slewis</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1513359</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 20:26:53 -0800</bug_when>
    <thetext>If old tab state isn&apos;t cleared correctly run-benchmark can open old tabs as well as the test.

3 things to fix:
a) Make sure the pref to restore old sessions isn&apos;t set
b) Terminate Safari correctly so that we don&apos;t restore state on launch because AppKit thinks Safari crashed.
c) Open Safari and close all windows in between iterations so even if Safari is killed we&apos;ll have reset the state.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513361</commentid>
    <comment_count>1</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 20:28:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/46885583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513365</commentid>
    <comment_count>2</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 20:30:14 -0800</bug_when>
    <thetext>c is tricky because the solution involves AppleScript and it triggers the automation security feature that says automation can&apos;t send apple events without user approval.  

The prompt is a one time prompt so its not a big deal but this means bots can&apos;t run the apple-event code.  So we also need to add an option to disable that codepath.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513376</commentid>
    <comment_count>3</comment_count>
      <attachid>363838</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 20:52:12 -0800</bug_when>
    <thetext>Created attachment 363838
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513379</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-06 20:54:16 -0800</bug_when>
    <thetext>Attachment 363838 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:12:  expected 2 blank lines, found 1  [pep8/E302] [5]
ERROR: Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:8:  No name &apos;NSRunningApplication&apos; in module &apos;AppKit&apos;  [pylint/E0611] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513383</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-03-06 20:57:52 -0800</bug_when>
    <thetext>Was there a different way to do this that no longer works?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513385</commentid>
    <comment_count>6</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 20:58:56 -0800</bug_when>
    <thetext>yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513391</commentid>
    <comment_count>7</comment_count>
      <attachid>363838</attachid>
    <who name="">dewei_zhu</who>
    <bug_when>2019-03-06 21:07:32 -0800</bug_when>
    <thetext>Comment on attachment 363838
patch

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

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:8
&gt; +from AppKit import NSRunningApplication

All the BrowserDriver classes will be loaded ahead. We should deferring this import still we use it otherwise, it may break on linux machines or Mac without AppKit module.

&gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:52
&gt; +    parser.add_argument(&apos;--no-apple-events&apos;, dest=&apos;allow_apple_events&apos;, action=&apos;store_false&apos;, default=&apos;store_true&apos;, help=&quot;Calling apple events requires user interation. Disable features which use apple events. Currently used for ensuring windows are closed in between test iterations.&quot;)

The option name and dest are opposite which is confusing here. I think we should make it consistent here. Maybe call it --allow-apple-events and default to false?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513397</commentid>
    <comment_count>8</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 21:11:13 -0800</bug_when>
    <thetext>(In reply to dewei_zhu from comment #7)
&gt; Comment on attachment 363838 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=363838&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:8
&gt; &gt; +from AppKit import NSRunningApplication
&gt; 
&gt; All the BrowserDriver classes will be loaded ahead. We should deferring this
&gt; import still we use it otherwise, it may break on linux machines or Mac
&gt; without AppKit module.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:52
&gt; &gt; +    parser.add_argument(&apos;--no-apple-events&apos;, dest=&apos;allow_apple_events&apos;, action=&apos;store_false&apos;, default=&apos;store_true&apos;, help=&quot;Calling apple events requires user interation. Disable features which use apple events. Currently used for ensuring windows are closed in between test iterations.&quot;)
&gt; 
&gt; The option name and dest are opposite which is confusing here. I think we
&gt; should make it consistent here. Maybe call it --allow-apple-events and
&gt; default to false?

We want the default to be true and the use to have to explicitly disable the feature</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513398</commentid>
    <comment_count>9</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 21:12:13 -0800</bug_when>
    <thetext>Alexey pointed out some prefs in run-safari to go test

    if (checkForArgumentAndRemoveFromARGV(&quot;--no-saved-state&quot;)) {
        push @args, (&quot;-ApplePersistenceIgnoreStateQuietly&quot;, &quot;YES&quot;);
        # FIXME: Don&apos;t set ApplePersistenceIgnoreState once all supported OS versions respect ApplePersistenceIgnoreStateQuietly (rdar://15032886).
        push @args, (&quot;-ApplePersistenceIgnoreState&quot;, &quot;YES&quot;);
    }

so back to the drawing board</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513399</commentid>
    <comment_count>10</comment_count>
      <attachid>363845</attachid>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-03-06 21:34:37 -0800</bug_when>
    <thetext>Created attachment 363845
take2

Now with more preferences and less window closing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1513400</commentid>
    <comment_count>11</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-03-06 21:38:44 -0800</bug_when>
    <thetext>Attachment 363845 did not pass style-queue:


ERROR: Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:58:  [OSXBrowserDriver._terminate_processes] No name &apos;NSRunningApplication&apos; in module &apos;AppKit&apos;  [pylint/E0611] [5]
Total errors found: 1 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531489</commentid>
    <comment_count>12</comment_count>
      <attachid>363845</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2019-04-30 07:52:43 -0700</bug_when>
    <thetext>Comment on attachment 363845
take2

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

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_browser_driver.py:60
&gt; +        for app in NSRunningApplication.runningApplicationsWithBundleIdentifier_(bundle_id):

How many apps are we expecting in this list? I think it&apos;s better to terminate them all first, then kill any which aren&apos;t terminated. It means that instead of waiting 2 * n seconds, you can just wait 2 seconds.

&gt; Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:-25
&gt; -        self._safari_preferences = [&quot;-HomePage&quot;, &quot;about:blank&quot;, &quot;-WarnAboutFraudulentWebsites&quot;, &quot;0&quot;, &quot;-ExtensionsEnabled&quot;, &quot;0&quot;, &quot;-ShowStatusBar&quot;, &quot;0&quot;, &quot;-NewWindowBehavior&quot;, &quot;1&quot;, &quot;-NewTabBehavior&quot;, &quot;1&quot;]

This seems like a change outside the scope of this bug. Why are we moving it? The only reason I can think of is if the preferences were not respected if run after the OSXBrowserDriver constructor (which seems plausible)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531754</commentid>
    <comment_count>13</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2019-04-30 16:29:39 -0700</bug_when>
    <thetext>Landed https://trac.webkit.org/changeset/242653/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363838</attachid>
            <date>2019-03-06 20:52:12 -0800</date>
            <delta_ts>2019-03-06 21:34:37 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-Ensure-old-tab-state-is-cleared-between-iterations-o.patch</filename>
            <type>text/plain</type>
            <size>13918</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSA0MzZhODE5OWNkYmZiYTA3NWNiMzY1MGJiMmNjYmQyYjE5NzRhNjBhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IFdlZCwgNiBNYXIgMjAxOSAyMDozODoyMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEVuc3Vy
ZSBvbGQgdGFiIHN0YXRlIGlzIGNsZWFyZWQgYmV0d2VlbiBpdGVyYXRpb25zIG9mCiBydW4tYmVu
Y2htYXJrIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUzOTMKIDxy
ZGFyOi8vcHJvYmxlbS80Njg4NTU4Mz4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKYSkg
ZW5zdXJlIHRoZSBkZWZhdWx0IHRvIHJlc3RvcmUgc3RhdGUgaXMgbm90IHNldApiKSB0ZXJtaW5h
dGUgU2FmYXJpIGNvcnJlY3RseQpjKSBPcGVuIFNhZmFyaSBiZXR3ZWVuIGl0ZXJhdGlvbnMgYW5k
IGNsb3NlIGFsbCB3aW5kb3dzCiAgIFRoaXMgdXNlcyBhcHBsZSBldmVudHMgd2hpY2ggd2lsbCB0
aHJvdyB1cCBhIHByb21wdCB0byB0aGUgdXNlciBhc2tpbmcgZm9yIHBlcm1pc3Npb24gZm9yIHRl
cm1pbmFsIHRvIHNlbmQgYXBwbGUgZXZlbnRzLgogICBBZGQgYW4gb3B0aW9uIHRvIGRpc2FibGUg
dGhpcyBmZWF0dXJlIGZvciBhdXRvbWF0aW9uLgoKKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFy
a19ydW5uZXIvYmVuY2htYXJrX3J1bm5lci5weToKKEJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6
CihCZW5jaG1hcmtSdW5uZXIuX3J1bl9iZW5jaG1hcmspOiBhZGQgbmV3IG9wdGlvbgoqIFNjcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9k
cml2ZXIucHk6CihydW5uaW5nX2FwcGxpY2F0aW9ucyk6CihPU1hCcm93c2VyRHJpdmVyKToKKE9T
WEJyb3dzZXJEcml2ZXIucHJlcGFyZV9lbnYpOiBjbG9zZSB3aW5kb3dzIGJldHdlZW4gdGVzdCBp
dGVyYXRpb25zCihPU1hCcm93c2VyRHJpdmVyLnJlc3RvcmVfZW52KToKKE9TWEJyb3dzZXJEcml2
ZXIuY2xvc2VfYnJvd3NlcnMpOgooT1NYQnJvd3NlckRyaXZlci5jbG9zZV93aW5kb3dzKToKKF90
ZXJtaW5hdGVfcHJvY2Vzc2VzKTogY2FsbCB0ZXJtaW5hdGUgb24gdGhlIGFwcCBiZWZvcmUga2ls
bGluZwooT1NYQnJvd3NlckRyaXZlci5fbGF1bmNoX3Byb2Nlc3MpOiBEZWxldGVkLgooT1NYQnJv
d3NlckRyaXZlci5fbGF1bmNoX3dlYmRyaXZlcik6IERlbGV0ZWQuCihPU1hCcm93c2VyRHJpdmVy
Ll90ZXJtaW5hdGVfcHJvY2Vzc2VzKTogRGVsZXRlZC4KKE9TWEJyb3dzZXJEcml2ZXIuX2xhdW5j
aF9wcm9jZXNzX3dpdGhfY2FmZmVpbmF0ZSk6IERlbGV0ZWQuCihPU1hCcm93c2VyRHJpdmVyLl9z
Y3JlZW5fc2l6ZSk6IERlbGV0ZWQuCihPU1hCcm93c2VyRHJpdmVyLl9pbnNlcnRfdXJsKTogRGVs
ZXRlZC4KKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIv
b3N4X2Nocm9tZV9kcml2ZXIucHk6IHNldCBidW5kbGUgaWRzIGZvciBvdGhlciBlYWNoIGJyb3dz
ZXIKKE9TWENocm9tZURyaXZlcik6CiogU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVy
L2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weToKKE9TWEZpcmVmb3hEcml2ZXIp
OgoqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hf
c2FmYXJpX2RyaXZlci5weToKKE9TWFNhZmFyaURyaXZlcik6CihPU1hTYWZhcmlEcml2ZXIucHJl
cGFyZV9lbnYpOgoqIFNjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2ht
YXJrLnB5OgoocGFyc2VfYXJncyk6CihydW5fYmVuY2htYXJrX3BsYW4pOgoqIFNjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5lci5weToKKFdl
YlNlcnZlckJlbmNobWFya1J1bm5lci5fX2luaXRfXyk6Ci0tLQogLi4uL2JlbmNobWFya19ydW5u
ZXIvYmVuY2htYXJrX3J1bm5lci5weSAgICAgIHwgIDUgKystCiAuLi4vYnJvd3Nlcl9kcml2ZXIv
b3N4X2Jyb3dzZXJfZHJpdmVyLnB5ICAgICAgfCAzOCArKysrKysrKysrKysrKysrLS0tCiAuLi4v
YnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkgICAgICAgfCAgMiArCiAuLi4vYnJv
d3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5ICAgICAgfCAgMSArCiAuLi4vYnJvd3Nl
cl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHkgICAgICAgfCAgMyArLQogLi4uL2JlbmNobWFy
a19ydW5uZXIvcnVuX2JlbmNobWFyay5weSAgICAgICAgIHwgIDMgKy0KIC4uLi93ZWJzZXJ2ZXJf
YmVuY2htYXJrX3J1bm5lci5weSAgICAgICAgICAgICB8ICA0ICstCiA3IGZpbGVzIGNoYW5nZWQs
IDQ0IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1Rvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVyLnB5IGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2JlbmNobWFya19ydW5uZXIucHkK
aW5kZXggNzU3ZDhiOGFkYWQ2Li4xNmUwYjYxYjY2MmIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVyLnB5CisrKyBiL1Rv
b2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9iZW5jaG1hcmtfcnVubmVyLnB5
CkBAIC0yMyw3ICsyMyw3IEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNs
YXNzIEJlbmNobWFya1J1bm5lcihvYmplY3QpOgogICAgIG5hbWUgPSAnYmVuY2htYXJrX3J1bm5l
cicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50
X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJv
d3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwg
ZGV2aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2ZpbGUsIGxvY2Fs
X2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBwbGF0Zm9ybSwg
YnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRlcmF0aW9uX3Zh
bHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUsIGFsbG93X2FwcGxlX2V2ZW50cz1UcnVlKToKICAg
ICAgICAgdHJ5OgogICAgICAgICAgICAgcGxhbl9maWxlID0gc2VsZi5fZmluZF9wbGFuX2ZpbGUo
cGxhbl9maWxlKQogICAgICAgICAgICAgd2l0aCBvcGVuKHBsYW5fZmlsZSwgJ3InKSBhcyBmcDoK
QEAgLTQ0LDYgKzQ0LDggQEAgY2xhc3MgQmVuY2htYXJrUnVubmVyKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgc2VsZi5fY29uZmlnID0gc2VsZi5fcGxhbi5nZXQoJ2NvbmZpZycsIHt9KQogICAg
ICAgICAgICAgICAgIGlmIGRldmljZV9pZDoKICAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29u
ZmlnWydkZXZpY2VfaWQnXSA9IGRldmljZV9pZAorICAgICAgICAgICAgICAgIGlmIG5vdCBhbGxv
d19hcHBsZV9ldmVudHM6CisgICAgICAgICAgICAgICAgICAgIHNlbGYuX2NvbmZpZ1snYWxsb3df
YXBwbGVfZXZlbnRzJ10gPSBGYWxzZQogICAgICAgICBleGNlcHQgSU9FcnJvciBhcyBlcnJvcjoK
ICAgICAgICAgICAgIF9sb2cuZXJyb3IoJ0NhbiBub3Qgb3BlbiBwbGFuIGZpbGU6IHtwbGFuX2Zp
bGV9IC0gRXJyb3Ige2Vycm9yfScuZm9ybWF0KHBsYW5fZmlsZT1wbGFuX2ZpbGUsIGVycm9yPWVy
cm9yKSkKICAgICAgICAgICAgIHJhaXNlIGVycm9yCkBAIC05OCw3ICsxMDAsNiBAQCBjbGFzcyBC
ZW5jaG1hcmtSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICAgICAgcmVzdWx0cy5hcHBl
bmQocnVuX3Jlc3VsdCkKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ1BsYW4gZG9lcyBub3QgY29udGFpbiBlbnRyeV9wb2ludCBvciB0
ZXN0X2ZpbGVzJykKLQogICAgICAgICAgICAgZmluYWxseToKICAgICAgICAgICAgICAgICBzZWxm
Ll9icm93c2VyX2RyaXZlci5yZXN0b3JlX2VudigpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9k
cml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nl
cl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CmluZGV4IDkwOTU5MzFjMzQ2NS4uZTZmNTdl
ZWEwNGY4IDEwMDY0NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfYnJvd3Nlcl9k
cml2ZXIucHkKQEAgLTUsMzAgKzUsNTIgQEAgaW1wb3J0IHN1YnByb2Nlc3MKIAogZnJvbSBicm93
c2VyX2RyaXZlciBpbXBvcnQgQnJvd3NlckRyaXZlcgogZnJvbSB3ZWJraXRweS5iZW5jaG1hcmtf
cnVubmVyLnV0aWxzIGltcG9ydCB3cml0ZV9kZWZhdWx0cwotCitmcm9tIEFwcEtpdCBpbXBvcnQg
TlNSdW5uaW5nQXBwbGljYXRpb24KIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9f
KQogCitkZWYgcnVubmluZ19hcHBsaWNhdGlvbnMoYnVuZGxlX2lkKToKKyAgICBydW5uaW5nX2Fw
cHMgPSBOU1J1bm5pbmdBcHBsaWNhdGlvbi5ydW5uaW5nQXBwbGljYXRpb25zV2l0aEJ1bmRsZUlk
ZW50aWZpZXJfKGJ1bmRsZV9pZCkKKyAgICBmb3IgYXBwIGluIHJ1bm5pbmdfYXBwczoKKyAgICAg
ICAgeWllbGQgYXBwCisKIAogY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToK
ICAgICBwcm9jZXNzX25hbWUgPSBOb25lCiAgICAgcGxhdGZvcm0gPSAnb3N4JworICAgIGJ1bmRs
ZV9pZCA9IE5vbmUKIAogICAgIGRlZiBwcmVwYXJlX2VudihzZWxmLCBjb25maWcpOgogICAgICAg
ICBzZWxmLmNsb3NlX2Jyb3dzZXJzKCkKKyAgICAgICAgaWYgY29uZmlnLmdldCgnYWxsb3dfYXBw
bGVfZXZlbnRzJywgVHJ1ZSk6CisgICAgICAgICAgICBzZWxmLmNsb3NlX3dpbmRvd3MoKQogICAg
ICAgICBmcm9tIFF1YXJ0eiBpbXBvcnQgQ0dXYXJwTW91c2VDdXJzb3JQb3NpdGlvbgogICAgICAg
ICBDR1dhcnBNb3VzZUN1cnNvclBvc2l0aW9uKCgxMCwgMCkpCiAgICAgICAgIHNlbGYudXBkYXRl
ZF9kb2NrX2FuaW1hdGlvbl9kZWZhdWx0cyA9IHdyaXRlX2RlZmF1bHRzKCdjb20uYXBwbGUuZG9j
aycsICdsYXVuY2hhbmltJywgRmFsc2UpCiAgICAgICAgIGlmIHNlbGYudXBkYXRlZF9kb2NrX2Fu
aW1hdGlvbl9kZWZhdWx0czoKLSAgICAgICAgICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNzZXMo
J0RvY2snKQorICAgICAgICAgICAgc2VsZi5fdGVybWluYXRlX3Byb2Nlc3NlcygnRG9jaycsICdj
b20uYXBwbGUuZG9jaycpCiAKICAgICBkZWYgcmVzdG9yZV9lbnYoc2VsZik6CiAgICAgICAgIGlm
IHNlbGYudXBkYXRlZF9kb2NrX2FuaW1hdGlvbl9kZWZhdWx0czoKICAgICAgICAgICAgIHdyaXRl
X2RlZmF1bHRzKCdjb20uYXBwbGUuZG9jaycsICdsYXVuY2hhbmltJywgVHJ1ZSkKLSAgICAgICAg
ICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNzZXMoJ0RvY2snKQorICAgICAgICAgICAgc2VsZi5f
dGVybWluYXRlX3Byb2Nlc3NlcygnRG9jaycsICdjb20uYXBwbGUuZG9jaycpCiAKICAgICBkZWYg
Y2xvc2VfYnJvd3NlcnMoc2VsZik6Ci0gICAgICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNzZXMo
c2VsZi5wcm9jZXNzX25hbWUpCisgICAgICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNzZXMoc2Vs
Zi5wcm9jZXNzX25hbWUsIHNlbGYuYnVuZGxlX2lkKQorCisgICAgZGVmIGNsb3NlX3dpbmRvd3Mo
c2VsZik6CisgICAgICAgIHNjcmlwdCA9ICIiInRlbGwgYXBwbGljYXRpb24gIntuYW1lfSIKKyAg
ICBvcGVuICJhYm91dDpibGFuayIKKyAgICBhY3RpdmF0ZQorICAgIGNsb3NlIGV2ZXJ5IHdpbmRv
dworICAgIHF1aXQKK2VuZCB0ZWxsIiIiLmZvcm1hdChuYW1lPXNlbGYucHJvY2Vzc19uYW1lKQor
CisgICAgICAgIF9sb2cuaW5mbygiQ2xvc2luZyBvcGVuIGJyb3dzZXIgd2luZG93cy4gTWF5IHBy
b21wdCB0byBhbGxvdyB0ZXJtaW5hbCBhY2Nlc3MgdG8gYWNjZXNzaWJpbGl0eSBmZWF0dXJlcy4i
KQorICAgICAgICB0cnk6CisgICAgICAgICAgICBzdWJwcm9jZXNzLmNoZWNrX2NhbGwoWyJvc2Fz
Y3JpcHQiLCAiLWUiLCBzY3JpcHRdKQorICAgICAgICBleGNlcHQgc3VicHJvY2Vzcy5DYWxsZWRQ
cm9jZXNzRXJyb3I6CisgICAgICAgICAgICBfbG9nLmVycm9yKCJGYWlsZWQgdG8gY2xvc2UgYnJv
d3NlciB3aW5kb3dzIikKIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBfbGF1bmNoX3Byb2Nl
c3MoY2xzLCBidWlsZF9kaXIsIGFwcF9uYW1lLCB1cmwsIGFyZ3MpOgpAQCAtNTIsOSArNzQsMTMg
QEAgY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToKICAgICAgICAgZHJpdmVy
LmdldCh1cmwpCiAKICAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgX3Rlcm1pbmF0ZV9wcm9jZXNz
ZXMoY2xzLCBwcm9jZXNzX25hbWUpOgorICAgIGRlZiBfdGVybWluYXRlX3Byb2Nlc3NlcyhjbHMs
IHByb2Nlc3NfbmFtZSwgYnVuZGxlX2lkKToKICAgICAgICAgX2xvZy5pbmZvKCdDbG9zaW5nIGFs
bCBwcm9jZXNzZXMgd2l0aCBuYW1lICVzJyAlIHByb2Nlc3NfbmFtZSkKLSAgICAgICAgc3VicHJv
Y2Vzcy5jYWxsKFsnL3Vzci9iaW4va2lsbGFsbCcsIHByb2Nlc3NfbmFtZV0pCisgICAgICAgIGZv
ciBhcHAgaW4gcnVubmluZ19hcHBsaWNhdGlvbnMoYnVuZGxlX2lkKToKKyAgICAgICAgICAgIGFw
cC50ZXJtaW5hdGUoKQorICAgICAgICAgICAgaWYgbm90IGFwcC5pc1Rlcm1pbmF0ZWQoKToKKyAg
ICAgICAgICAgICAgICBfbG9nLmVycm9yKCJUZXJtaW5hdGUgZmFpbGVkLiAgS2lsbGluZy4iKQor
ICAgICAgICAgICAgICAgIHN1YnByb2Nlc3MuY2FsbChbJy91c3IvYmluL2tpbGxhbGwnLCBwcm9j
ZXNzX25hbWVdKQogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9sYXVuY2hfcHJvY2Vzc193
aXRoX2NhZmZlaW5hdGUoY2xzLCBhcmdzLCBlbnY9Tm9uZSk6CmRpZmYgLS1naXQgYS9Ub29scy9T
Y3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9t
ZV9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJv
d3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9kcml2ZXIucHkKaW5kZXggYjM5NjI2ZTc0NWVhLi4yNzgy
YWVkYmVhN2QgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1
bm5lci9icm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5weQorKysgYi9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Nocm9tZV9k
cml2ZXIucHkKQEAgLTEzLDYgKzEzLDcgQEAgY2xhc3MgT1NYQ2hyb21lRHJpdmVyKE9TWEJyb3dz
ZXJEcml2ZXIpOgogICAgIHByb2Nlc3NfbmFtZSA9ICdHb29nbGUgQ2hyb21lJwogICAgIGJyb3dz
ZXJfbmFtZSA9ICdjaHJvbWUnCiAgICAgYXBwX25hbWUgPSAnR29vZ2xlIENocm9tZS5hcHAnCisg
ICAgYnVuZGxlX2lkID0gJ2NvbS5nb29nbGUuQ2hyb21lJwogCiAgICAgZGVmIGxhdW5jaF91cmwo
c2VsZiwgdXJsLCBvcHRpb25zLCBicm93c2VyX2J1aWxkX3BhdGgsIGJyb3dzZXJfcGF0aCk6CiAg
ICAgICAgICMgRklYTUU6IGhhbmRsZSBzZWxmLl9icm93c2VyX3BhdGguCkBAIC0zNyw2ICszOCw3
IEBAIGNsYXNzIE9TWENocm9tZUNhbmFyeURyaXZlcihPU1hCcm93c2VyRHJpdmVyKToKICAgICBw
cm9jZXNzX25hbWUgPSAnR29vZ2xlIENocm9tZSBDYW5hcnknCiAgICAgYnJvd3Nlcl9uYW1lID0g
J2Nocm9tZS1jYW5hcnknCiAgICAgYXBwX25hbWUgPSAnR29vZ2xlIENocm9tZSBDYW5hcnkuYXBw
JworICAgIGJ1bmRsZV9pZCA9ICdjb20uZ29vZ2xlLkNocm9tZS5jYW5hcnknCiAKICAgICBkZWYg
bGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVpbGRfcGF0aCwgYnJvd3Nl
cl9wYXRoKToKICAgICAgICAgIyBGSVhNRTogaGFuZGxlIHNlbGYuX2Jyb3dzZXJfcGF0aC4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVyLnB5CmluZGV4
IGZhMDk5N2Q2ZDFjOS4uODYwNDg5MmUyODE0IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2ZpcmVmb3hfZHJpdmVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkKQEAgLTEzLDYgKzEzLDcgQEAgY2xhc3MgT1NY
RmlyZWZveERyaXZlcihPU1hCcm93c2VyRHJpdmVyKToKICAgICBwcm9jZXNzX25hbWUgPSAnZmly
ZWZveCcKICAgICBicm93c2VyX25hbWUgPSAnZmlyZWZveCcKICAgICBhcHBfbmFtZSA9ICdGaXJl
Zm94LmFwcCcKKyAgICBidW5kbGVfaWQgPSAnb3JnLm1vemlsbGEuZmlyZWZveCcKIAogICAgIGRl
ZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93
c2VyX3BhdGgpOgogICAgICAgICAjIEZJWE1FOiBoYW5kbGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9i
ZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CmluZGV4
IDFiMWFkMzNiM2ZiZC4uYzkxMjVkYmIwNTY1IDEwMDc1NQotLS0gYS9Ub29scy9TY3JpcHRzL3dl
YmtpdHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIu
cHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJf
ZHJpdmVyL29zeF9zYWZhcmlfZHJpdmVyLnB5CkBAIC0xNSwxNCArMTUsMTUgQEAgX2xvZyA9IGxv
Z2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogY2xhc3MgT1NYU2FmYXJpRHJpdmVyKE9TWEJyb3dz
ZXJEcml2ZXIpOgogICAgIHByb2Nlc3NfbmFtZSA9ICdTYWZhcmknCiAgICAgYnJvd3Nlcl9uYW1l
ID0gJ3NhZmFyaScKKyAgICBidW5kbGVfaWQgPSAnY29tLmFwcGxlLlNhZmFyaScKIAogICAgIGRl
ZiBwcmVwYXJlX2VudihzZWxmLCBjb25maWcpOgogICAgICAgICBzZWxmLl9zYWZhcmlfcHJvY2Vz
cyA9IE5vbmUKKyAgICAgICAgc2VsZi5fc2FmYXJpX3ByZWZlcmVuY2VzID0gWyItSG9tZVBhZ2Ui
LCAiYWJvdXQ6YmxhbmsiLCAiLVdhcm5BYm91dEZyYXVkdWxlbnRXZWJzaXRlcyIsICIwIiwgIi1F
eHRlbnNpb25zRW5hYmxlZCIsICIwIiwgIi1TaG93U3RhdHVzQmFyIiwgIjAiLCAiLU5ld1dpbmRv
d0JlaGF2aW9yIiwgIjEiLCAiLU5ld1RhYkJlaGF2aW9yIiwgIjEiLCAiLUFsd2F5c1Jlc3RvcmVT
ZXNzaW9uQXRMYXVuY2giLCAiMCJdCiAgICAgICAgIHN1cGVyKE9TWFNhZmFyaURyaXZlciwgc2Vs
ZikucHJlcGFyZV9lbnYoY29uZmlnKQogICAgICAgICBmb3JjZV9yZW1vdmUob3MucGF0aC5qb2lu
KG9zLnBhdGguZXhwYW5kdXNlcignficpLCAnTGlicmFyeS9TYXZlZCBBcHBsaWNhdGlvbiBTdGF0
ZS9jb20uYXBwbGUuU2FmYXJpLnNhdmVkU3RhdGUnKSkKICAgICAgICAgZm9yY2VfcmVtb3ZlKG9z
LnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSwgJ0xpYnJhcnkvU2FmYXJpL0xhc3RT
ZXNzaW9uLnBsaXN0JykpCiAgICAgICAgIHNlbGYuX21heGltaXplX3dpbmRvdygpCi0gICAgICAg
IHNlbGYuX3NhZmFyaV9wcmVmZXJlbmNlcyA9IFsiLUhvbWVQYWdlIiwgImFib3V0OmJsYW5rIiwg
Ii1XYXJuQWJvdXRGcmF1ZHVsZW50V2Vic2l0ZXMiLCAiMCIsICItRXh0ZW5zaW9uc0VuYWJsZWQi
LCAiMCIsICItU2hvd1N0YXR1c0JhciIsICIwIiwgIi1OZXdXaW5kb3dCZWhhdmlvciIsICIxIiwg
Ii1OZXdUYWJCZWhhdmlvciIsICIxIl0KIAogICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwg
b3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICBhcmdz
ID0gWycvQXBwbGljYXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJpJ10KZGlm
ZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVu
Y2htYXJrLnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL3J1bl9i
ZW5jaG1hcmsucHkKaW5kZXggYTc0ZjIwNzgzYjJkLi45ODEzYTg4ZWQ3OTQgMTAwNzU1Ci0tLSBh
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2htYXJrLnB5
CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9ydW5fYmVuY2ht
YXJrLnB5CkBAIC00OSw2ICs0OSw3IEBAIGRlZiBwYXJzZV9hcmdzKCk6CiAgICAgcGFyc2VyLmFk
ZF9hcmd1bWVudCgnLS1kZWJ1ZycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGhlbHA9J0VuYWJsZSBk
ZWJ1ZyBsb2dnaW5nLicpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1uby1hZGp1c3QtdW5p
dCcsIGRlc3Q9J3NjYWxlX3VuaXQnLCBhY3Rpb249J3N0b3JlX2ZhbHNlJywgaGVscD0iRG9uJ3Qg
Y29udmVydCB0byBzY2llbnRpZmljIG5vdGF0aW9uLiIpCiAgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS1zaG93LWl0ZXJhdGlvbi12YWx1ZXMnLCBkZXN0PSdzaG93X2l0ZXJhdGlvbl92YWx1ZXMn
LCBhY3Rpb249J3N0b3JlX3RydWUnLCBoZWxwPSJTaG93IHRoZSBtZWFzdXJlZCB2YWx1ZSBmb3Ig
ZWFjaCBpdGVyYXRpb24gaW4gYWRkaXRpb24gdG8gYXZlcmFnZXMuIikKKyAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCctLW5vLWFwcGxlLWV2ZW50cycsIGRlc3Q9J2FsbG93X2FwcGxlX2V2ZW50cycs
IGFjdGlvbj0nc3RvcmVfZmFsc2UnLCBkZWZhdWx0PSdzdG9yZV90cnVlJywgaGVscD0iQ2FsbGlu
ZyBhcHBsZSBldmVudHMgcmVxdWlyZXMgdXNlciBpbnRlcmF0aW9uLiBEaXNhYmxlIGZlYXR1cmVz
IHdoaWNoIHVzZSBhcHBsZSBldmVudHMuIEN1cnJlbnRseSB1c2VkIGZvciBlbnN1cmluZyB3aW5k
b3dzIGFyZSBjbG9zZWQgaW4gYmV0d2VlbiB0ZXN0IGl0ZXJhdGlvbnMuIikKIAogICAgIGdyb3Vw
ID0gcGFyc2VyLmFkZF9tdXR1YWxseV9leGNsdXNpdmVfZ3JvdXAoKQogICAgIGdyb3VwLmFkZF9h
cmd1bWVudCgnLS1icm93c2VyLXBhdGgnLCBoZWxwPSdTcGVjaWZ5IHRoZSBwYXRoIHRvIGEgbm9u
LWRlZmF1bHQgY29weSBvZiB0aGUgdGFyZ2V0IGJyb3dzZXIgYXMgYSBwYXRoIHRvIHRoZSAuYXBw
LicpCkBAIC02OCw3ICs2OSw3IEBAIGRlZiBwYXJzZV9hcmdzKCk6CiAKIGRlZiBydW5fYmVuY2ht
YXJrX3BsYW4oYXJncywgcGxhbik6CiAgICAgYmVuY2htYXJrX3J1bm5lcl9jbGFzcyA9IGJlbmNo
bWFya19ydW5uZXJfc3ViY2xhc3Nlc1thcmdzLmRyaXZlcl0KLSAgICBydW5uZXIgPSBiZW5jaG1h
cmtfcnVubmVyX2NsYXNzKHBsYW4sIGFyZ3MubG9jYWxfY29weSwgYXJncy5jb3VudCwgYXJncy5i
dWlsZF9kaXIsIGFyZ3Mub3V0cHV0X2ZpbGUsIGFyZ3MucGxhdGZvcm0sIGFyZ3MuYnJvd3Nlciwg
YXJncy5icm93c2VyX3BhdGgsIGFyZ3Muc2NhbGVfdW5pdCwgYXJncy5zaG93X2l0ZXJhdGlvbl92
YWx1ZXMsIGFyZ3MuZGV2aWNlX2lkKQorICAgIHJ1bm5lciA9IGJlbmNobWFya19ydW5uZXJfY2xh
c3MocGxhbiwgYXJncy5sb2NhbF9jb3B5LCBhcmdzLmNvdW50LCBhcmdzLmJ1aWxkX2RpciwgYXJn
cy5vdXRwdXRfZmlsZSwgYXJncy5wbGF0Zm9ybSwgYXJncy5icm93c2VyLCBhcmdzLmJyb3dzZXJf
cGF0aCwgYXJncy5zY2FsZV91bml0LCBhcmdzLnNob3dfaXRlcmF0aW9uX3ZhbHVlcywgYXJncy5k
ZXZpY2VfaWQsIGFyZ3MuYWxsb3dfYXBwbGVfZXZlbnRzKQogICAgIHJ1bm5lci5leGVjdXRlKCkK
IAogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIv
d2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2Jl
bmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19ydW5uZXIucHkKaW5kZXggM2NiMTRl
Y2E1ZTM4Li44ZTUyODFiNmVkM2UgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
YmVuY2htYXJrX3J1bm5lci93ZWJzZXJ2ZXJfYmVuY2htYXJrX3J1bm5lci5weQorKysgYi9Ub29s
cy9TY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5uZXIvd2Vic2VydmVyX2JlbmNobWFya19y
dW5uZXIucHkKQEAgLTE1LDEwICsxNSwxMCBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19u
YW1lX18pCiBjbGFzcyBXZWJTZXJ2ZXJCZW5jaG1hcmtSdW5uZXIoQmVuY2htYXJrUnVubmVyKToK
ICAgICBuYW1lID0gJ3dlYnNlcnZlcicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwbGFuX2Zp
bGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91dHB1dF9maWxlLCBw
bGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRydWUsIHNob3dfaXRl
cmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUpOgorICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCBwbGFuX2ZpbGUsIGxvY2FsX2NvcHksIGNvdW50X292ZXJyaWRlLCBidWlsZF9kaXIsIG91
dHB1dF9maWxlLCBwbGF0Zm9ybSwgYnJvd3NlciwgYnJvd3Nlcl9wYXRoLCBzY2FsZV91bml0PVRy
dWUsIHNob3dfaXRlcmF0aW9uX3ZhbHVlcz1GYWxzZSwgZGV2aWNlX2lkPU5vbmUsIGFsbG93X2Fw
cGxlX2V2ZW50cz1UcnVlKToKICAgICAgICAgc2VsZi5faHR0cF9zZXJ2ZXJfZHJpdmVyID0gSFRU
UFNlcnZlckRyaXZlckZhY3RvcnkuY3JlYXRlKHBsYXRmb3JtKQogICAgICAgICBzZWxmLl9odHRw
X3NlcnZlcl9kcml2ZXIuc2V0X2RldmljZV9pZChkZXZpY2VfaWQpCi0gICAgICAgIHN1cGVyKFdl
YlNlcnZlckJlbmNobWFya1J1bm5lciwgc2VsZikuX19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9j
b3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGlyLCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJy
b3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5pdCwgc2hvd19pdGVyYXRpb25fdmFsdWVzLCBk
ZXZpY2VfaWQpCisgICAgICAgIHN1cGVyKFdlYlNlcnZlckJlbmNobWFya1J1bm5lciwgc2VsZiku
X19pbml0X18ocGxhbl9maWxlLCBsb2NhbF9jb3B5LCBjb3VudF9vdmVycmlkZSwgYnVpbGRfZGly
LCBvdXRwdXRfZmlsZSwgcGxhdGZvcm0sIGJyb3dzZXIsIGJyb3dzZXJfcGF0aCwgc2NhbGVfdW5p
dCwgc2hvd19pdGVyYXRpb25fdmFsdWVzLCBkZXZpY2VfaWQsIGFsbG93X2FwcGxlX2V2ZW50cykK
IAogICAgIGRlZiBfZ2V0X3Jlc3VsdChzZWxmLCB0ZXN0X3VybCk6CiAgICAgICAgIHJlc3VsdCA9
IHNlbGYuX2Jyb3dzZXJfZHJpdmVyLmFkZF9hZGRpdGlvbmFsX3Jlc3VsdHModGVzdF91cmwsIHNl
bGYuX2h0dHBfc2VydmVyX2RyaXZlci5mZXRjaF9yZXN1bHQoKSkKLS0gCjIuMjAuMCAoQXBwbGUg
R2l0LTExNSkKCg==
</data>
<flag name="review"
          id="380401"
          type_id="1"
          status="-"
          setter="slewis"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>363845</attachid>
            <date>2019-03-06 21:34:37 -0800</date>
            <delta_ts>2019-03-06 21:41:45 -0800</delta_ts>
            <desc>take2</desc>
            <filename>0001-Ensure-old-tab-state-is-cleared-between-iterations-o.patch</filename>
            <type>text/plain</type>
            <size>7726</size>
            <attacher name="Stephanie Lewis">slewis</attacher>
            
              <data encoding="base64">RnJvbSAyNmVmODQ2NzAwNDA3MGFkNTE1ZDY4MDQxNGFjMDJmNmUyYWZlZmJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBTdGVwaGFuaWUgTGV3aXMgPHNsZXdpc0BhcHBsZS5jb20+CkRh
dGU6IFdlZCwgNiBNYXIgMjAxOSAyMDozODoyMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIEVuc3Vy
ZSBvbGQgdGFiIHN0YXRlIGlzIGNsZWFyZWQgYmV0d2VlbiBpdGVyYXRpb25zIG9mCiBydW4tYmVu
Y2htYXJrIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTUzOTMKIDxy
ZGFyOi8vcHJvYmxlbS80Njg4NTU4Mz4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKYSkg
ZW5zdXJlIHRoZSBkZWZhdWx0IHRvIHJlc3RvcmUgc3RhdGUgaXMgbm90IHNldApiKSB0ZXJtaW5h
dGUgU2FmYXJpIGNvcnJlY3RseQpjKSBTZXQgdGhlIHN5c3RlbSBkZWZhdWx0IHRvIGlnbm9yZSBQ
ZXJzaXN0ZW50IFN0YXRlIGluIFNhZmFyaQoKKE9TWEJyb3dzZXJEcml2ZXIpOgooT1NYQnJvd3Nl
ckRyaXZlci5jbG9zZV9icm93c2Vycyk6CihfdGVybWluYXRlX3Byb2Nlc3Nlcyk6IGNhbGwgdGVy
bWluYXRlIG9uIHRoZSBhcHAgYmVmb3JlIGtpbGxpbmcKKE9TWEJyb3dzZXJEcml2ZXIuX2xhdW5j
aF9wcm9jZXNzKTogRGVsZXRlZC4KKE9TWEJyb3dzZXJEcml2ZXIuX2xhdW5jaF93ZWJkcml2ZXIp
OiBEZWxldGVkLgooT1NYQnJvd3NlckRyaXZlci5fdGVybWluYXRlX3Byb2Nlc3Nlcyk6IERlbGV0
ZWQuCihPU1hCcm93c2VyRHJpdmVyLl9sYXVuY2hfcHJvY2Vzc193aXRoX2NhZmZlaW5hdGUpOiBE
ZWxldGVkLgooT1NYQnJvd3NlckRyaXZlci5fc2NyZWVuX3NpemUpOiBEZWxldGVkLgooT1NYQnJv
d3NlckRyaXZlci5faW5zZXJ0X3VybCk6IERlbGV0ZWQuCiogU2NyaXB0cy93ZWJraXRweS9iZW5j
aG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVfZHJpdmVyLnB5OiBzZXQgYnVu
ZGxlIGlkcyBmb3IgZWFjaCBicm93c2VyCihPU1hDaHJvbWVEcml2ZXIpOgoqIFNjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIu
cHk6CihPU1hGaXJlZm94RHJpdmVyKToKKiBTY3JpcHRzL3dlYmtpdHB5L2JlbmNobWFya19ydW5u
ZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X3NhZmFyaV9kcml2ZXIucHk6CihPU1hTYWZhcmlEcml2ZXIp
OgooT1NYU2FmYXJpRHJpdmVyLnByZXBhcmVfZW52KTogc2V0IHRoZSBkZWZhdWx0cyB0byBpZ25v
cmUgb2xkIHN0YXRlCi0tLQogLi4uL2Jyb3dzZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5w
eSAgICAgIHwgMTkgKysrKysrKysrKysrKystLS0tLQogLi4uL2Jyb3dzZXJfZHJpdmVyL29zeF9j
aHJvbWVfZHJpdmVyLnB5ICAgICAgIHwgIDIgKysKIC4uLi9icm93c2VyX2RyaXZlci9vc3hfZmly
ZWZveF9kcml2ZXIucHkgICAgICB8ICAzICsrKwogLi4uL2Jyb3dzZXJfZHJpdmVyL29zeF9zYWZh
cmlfZHJpdmVyLnB5ICAgICAgIHwgIDUgKystLS0KIDQgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0
aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5
IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVy
L29zeF9icm93c2VyX2RyaXZlci5weQppbmRleCA5MDk1OTMxYzM0NjUuLjE0OTQ2MjA3YjFiZiAx
MDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dz
ZXJfZHJpdmVyL29zeF9icm93c2VyX2RyaXZlci5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2JlbmNobWFya19ydW5uZXIvYnJvd3Nlcl9kcml2ZXIvb3N4X2Jyb3dzZXJfZHJpdmVyLnB5
CkBAIC0yLDYgKzIsNyBAQAogaW1wb3J0IGxvZ2dpbmcKIGltcG9ydCBvcwogaW1wb3J0IHN1YnBy
b2Nlc3MKK2ltcG9ydCB0aW1lCiAKIGZyb20gYnJvd3Nlcl9kcml2ZXIgaW1wb3J0IEJyb3dzZXJE
cml2ZXIKIGZyb20gd2Via2l0cHkuYmVuY2htYXJrX3J1bm5lci51dGlscyBpbXBvcnQgd3JpdGVf
ZGVmYXVsdHMKQEAgLTEzLDYgKzE0LDcgQEAgX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt
ZV9fKQogY2xhc3MgT1NYQnJvd3NlckRyaXZlcihCcm93c2VyRHJpdmVyKToKICAgICBwcm9jZXNz
X25hbWUgPSBOb25lCiAgICAgcGxhdGZvcm0gPSAnb3N4JworICAgIGJ1bmRsZV9pZCA9IE5vbmUK
IAogICAgIGRlZiBwcmVwYXJlX2VudihzZWxmLCBjb25maWcpOgogICAgICAgICBzZWxmLmNsb3Nl
X2Jyb3dzZXJzKCkKQEAgLTIwLDE1ICsyMiwxNSBAQCBjbGFzcyBPU1hCcm93c2VyRHJpdmVyKEJy
b3dzZXJEcml2ZXIpOgogICAgICAgICBDR1dhcnBNb3VzZUN1cnNvclBvc2l0aW9uKCgxMCwgMCkp
CiAgICAgICAgIHNlbGYudXBkYXRlZF9kb2NrX2FuaW1hdGlvbl9kZWZhdWx0cyA9IHdyaXRlX2Rl
ZmF1bHRzKCdjb20uYXBwbGUuZG9jaycsICdsYXVuY2hhbmltJywgRmFsc2UpCiAgICAgICAgIGlm
IHNlbGYudXBkYXRlZF9kb2NrX2FuaW1hdGlvbl9kZWZhdWx0czoKLSAgICAgICAgICAgIHNlbGYu
X3Rlcm1pbmF0ZV9wcm9jZXNzZXMoJ0RvY2snKQorICAgICAgICAgICAgc2VsZi5fdGVybWluYXRl
X3Byb2Nlc3NlcygnRG9jaycsICdjb20uYXBwbGUuZG9jaycpCiAKICAgICBkZWYgcmVzdG9yZV9l
bnYoc2VsZik6CiAgICAgICAgIGlmIHNlbGYudXBkYXRlZF9kb2NrX2FuaW1hdGlvbl9kZWZhdWx0
czoKICAgICAgICAgICAgIHdyaXRlX2RlZmF1bHRzKCdjb20uYXBwbGUuZG9jaycsICdsYXVuY2hh
bmltJywgVHJ1ZSkKLSAgICAgICAgICAgIHNlbGYuX3Rlcm1pbmF0ZV9wcm9jZXNzZXMoJ0RvY2sn
KQorICAgICAgICAgICAgc2VsZi5fdGVybWluYXRlX3Byb2Nlc3NlcygnRG9jaycsICdjb20uYXBw
bGUuZG9jaycpCiAKICAgICBkZWYgY2xvc2VfYnJvd3NlcnMoc2VsZik6Ci0gICAgICAgIHNlbGYu
X3Rlcm1pbmF0ZV9wcm9jZXNzZXMoc2VsZi5wcm9jZXNzX25hbWUpCisgICAgICAgIHNlbGYuX3Rl
cm1pbmF0ZV9wcm9jZXNzZXMoc2VsZi5wcm9jZXNzX25hbWUsIHNlbGYuYnVuZGxlX2lkKQogCiAg
ICAgQGNsYXNzbWV0aG9kCiAgICAgZGVmIF9sYXVuY2hfcHJvY2VzcyhjbHMsIGJ1aWxkX2Rpciwg
YXBwX25hbWUsIHVybCwgYXJncyk6CkBAIC01Miw5ICs1NCwxNiBAQCBjbGFzcyBPU1hCcm93c2Vy
RHJpdmVyKEJyb3dzZXJEcml2ZXIpOgogICAgICAgICBkcml2ZXIuZ2V0KHVybCkKIAogICAgIEBj
bGFzc21ldGhvZAotICAgIGRlZiBfdGVybWluYXRlX3Byb2Nlc3NlcyhjbHMsIHByb2Nlc3NfbmFt
ZSk6CisgICAgZGVmIF90ZXJtaW5hdGVfcHJvY2Vzc2VzKGNscywgcHJvY2Vzc19uYW1lLCBidW5k
bGVfaWQpOgorICAgICAgICBmcm9tIEFwcEtpdCBpbXBvcnQgTlNSdW5uaW5nQXBwbGljYXRpb24K
ICAgICAgICAgX2xvZy5pbmZvKCdDbG9zaW5nIGFsbCBwcm9jZXNzZXMgd2l0aCBuYW1lICVzJyAl
IHByb2Nlc3NfbmFtZSkKLSAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsnL3Vzci9iaW4va2lsbGFs
bCcsIHByb2Nlc3NfbmFtZV0pCisgICAgICAgIGZvciBhcHAgaW4gTlNSdW5uaW5nQXBwbGljYXRp
b24ucnVubmluZ0FwcGxpY2F0aW9uc1dpdGhCdW5kbGVJZGVudGlmaWVyXyhidW5kbGVfaWQpOgor
ICAgICAgICAgICAgYXBwLnRlcm1pbmF0ZSgpCisgICAgICAgICAgICAjIEdpdmUgdGhlIGFwcCB0
aW1lIHRvIGNsb3NlCisgICAgICAgICAgICB0aW1lLnNsZWVwKDIpCisgICAgICAgICAgICBpZiBu
b3QgYXBwLmlzVGVybWluYXRlZCgpOgorICAgICAgICAgICAgICAgIF9sb2cuZXJyb3IoIlRlcm1p
bmF0ZSBmYWlsZWQuICBLaWxsaW5nLiIpCisgICAgICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxs
KFsnL3Vzci9iaW4va2lsbGFsbCcsIHByb2Nlc3NfbmFtZV0pCiAKICAgICBAY2xhc3NtZXRob2QK
ICAgICBkZWYgX2xhdW5jaF9wcm9jZXNzX3dpdGhfY2FmZmVpbmF0ZShjbHMsIGFyZ3MsIGVudj1O
b25lKToKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5l
ci9icm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Vi
a2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5w
eQppbmRleCBiMzk2MjZlNzQ1ZWEuLjI3ODJhZWRiZWE3ZCAxMDA3NTUKLS0tIGEvVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9jaHJvbWVf
ZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9i
cm93c2VyX2RyaXZlci9vc3hfY2hyb21lX2RyaXZlci5weQpAQCAtMTMsNiArMTMsNyBAQCBjbGFz
cyBPU1hDaHJvbWVEcml2ZXIoT1NYQnJvd3NlckRyaXZlcik6CiAgICAgcHJvY2Vzc19uYW1lID0g
J0dvb2dsZSBDaHJvbWUnCiAgICAgYnJvd3Nlcl9uYW1lID0gJ2Nocm9tZScKICAgICBhcHBfbmFt
ZSA9ICdHb29nbGUgQ2hyb21lLmFwcCcKKyAgICBidW5kbGVfaWQgPSAnY29tLmdvb2dsZS5DaHJv
bWUnCiAKICAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dzZXJfYnVp
bGRfcGF0aCwgYnJvd3Nlcl9wYXRoKToKICAgICAgICAgIyBGSVhNRTogaGFuZGxlIHNlbGYuX2Jy
b3dzZXJfcGF0aC4KQEAgLTM3LDYgKzM4LDcgQEAgY2xhc3MgT1NYQ2hyb21lQ2FuYXJ5RHJpdmVy
KE9TWEJyb3dzZXJEcml2ZXIpOgogICAgIHByb2Nlc3NfbmFtZSA9ICdHb29nbGUgQ2hyb21lIENh
bmFyeScKICAgICBicm93c2VyX25hbWUgPSAnY2hyb21lLWNhbmFyeScKICAgICBhcHBfbmFtZSA9
ICdHb29nbGUgQ2hyb21lIENhbmFyeS5hcHAnCisgICAgYnVuZGxlX2lkID0gJ2NvbS5nb29nbGUu
Q2hyb21lLmNhbmFyeScKIAogICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYsIHVybCwgb3B0aW9ucywg
YnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAgICAjIEZJWE1FOiBoYW5k
bGUgc2VsZi5fYnJvd3Nlcl9wYXRoLgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weSBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9v
c3hfZmlyZWZveF9kcml2ZXIucHkKaW5kZXggZmEwOTk3ZDZkMWM5Li4zOTI0OTdlYmFlM2EgMTAw
NzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2Vy
X2RyaXZlci9vc3hfZmlyZWZveF9kcml2ZXIucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVyL29zeF9maXJlZm94X2RyaXZlci5weQpA
QCAtMTMsNiArMTMsNyBAQCBjbGFzcyBPU1hGaXJlZm94RHJpdmVyKE9TWEJyb3dzZXJEcml2ZXIp
OgogICAgIHByb2Nlc3NfbmFtZSA9ICdmaXJlZm94JwogICAgIGJyb3dzZXJfbmFtZSA9ICdmaXJl
Zm94JwogICAgIGFwcF9uYW1lID0gJ0ZpcmVmb3guYXBwJworICAgIGJ1bmRsZV9pZCA9ICdvcmcu
bW96aWxsYS5maXJlZm94JwogCiAgICAgZGVmIGxhdW5jaF91cmwoc2VsZiwgdXJsLCBvcHRpb25z
LCBicm93c2VyX2J1aWxkX3BhdGgsIGJyb3dzZXJfcGF0aCk6CiAgICAgICAgICMgRklYTUU6IGhh
bmRsZSBzZWxmLl9icm93c2VyX3BhdGguCkBAIC0zOCw2ICszOSw4IEBAIGNsYXNzIE9TWEZpcmVm
b3hOaWdodGx5RHJpdmVyKE9TWEJyb3dzZXJEcml2ZXIpOgogICAgIHByb2Nlc3NfbmFtZSA9ICdm
aXJlZm94JwogICAgIGJyb3dzZXJfbmFtZSA9ICdmaXJlZm94LW5pZ2h0bHknCiAgICAgYXBwX25h
bWUgPSAnRmlyZWZveE5pZ2h0bHkuYXBwJworICAgIGJ1bmRsZV9pZCA9ICdvcmcubW96aWxsYS5m
aXJlZm94JworCiAKICAgICBkZWYgbGF1bmNoX3VybChzZWxmLCB1cmwsIG9wdGlvbnMsIGJyb3dz
ZXJfYnVpbGRfcGF0aCwgYnJvd3Nlcl9wYXRoKToKICAgICAgICAgIyBGSVhNRTogaGFuZGxlIHNl
bGYuX2Jyb3dzZXJfcGF0aC4KZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVu
Y2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvYmVuY2htYXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2Fm
YXJpX2RyaXZlci5weQppbmRleCAxYjFhZDMzYjNmYmQuLjdiMjZlNjkzYTlhMSAxMDA3NTUKLS0t
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9iZW5jaG1hcmtfcnVubmVyL2Jyb3dzZXJfZHJpdmVy
L29zeF9zYWZhcmlfZHJpdmVyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvYmVuY2ht
YXJrX3J1bm5lci9icm93c2VyX2RyaXZlci9vc3hfc2FmYXJpX2RyaXZlci5weQpAQCAtMTUsMTQg
KzE1LDEzIEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIGNsYXNzIE9TWFNh
ZmFyaURyaXZlcihPU1hCcm93c2VyRHJpdmVyKToKICAgICBwcm9jZXNzX25hbWUgPSAnU2FmYXJp
JwogICAgIGJyb3dzZXJfbmFtZSA9ICdzYWZhcmknCisgICAgYnVuZGxlX2lkID0gJ2NvbS5hcHBs
ZS5TYWZhcmknCiAKICAgICBkZWYgcHJlcGFyZV9lbnYoc2VsZiwgY29uZmlnKToKICAgICAgICAg
c2VsZi5fc2FmYXJpX3Byb2Nlc3MgPSBOb25lCisgICAgICAgIHNlbGYuX3NhZmFyaV9wcmVmZXJl
bmNlcyA9IFsiLUhvbWVQYWdlIiwgImFib3V0OmJsYW5rIiwgIi1XYXJuQWJvdXRGcmF1ZHVsZW50
V2Vic2l0ZXMiLCAiMCIsICItRXh0ZW5zaW9uc0VuYWJsZWQiLCAiMCIsICItU2hvd1N0YXR1c0Jh
ciIsICIwIiwgIi1OZXdXaW5kb3dCZWhhdmlvciIsICIxIiwgIi1OZXdUYWJCZWhhdmlvciIsICIx
IiwgIi1BbHdheXNSZXN0b3JlU2Vzc2lvbkF0TGF1bmNoIiwgIjAiLCAiLUFwcGxlUGVyc2lzdGVu
Y2VJZ25vcmVTdGF0ZVF1aWV0bHkiLCAiMSJdCiAgICAgICAgIHN1cGVyKE9TWFNhZmFyaURyaXZl
ciwgc2VsZikucHJlcGFyZV9lbnYoY29uZmlnKQotICAgICAgICBmb3JjZV9yZW1vdmUob3MucGF0
aC5qb2luKG9zLnBhdGguZXhwYW5kdXNlcignficpLCAnTGlicmFyeS9TYXZlZCBBcHBsaWNhdGlv
biBTdGF0ZS9jb20uYXBwbGUuU2FmYXJpLnNhdmVkU3RhdGUnKSkKLSAgICAgICAgZm9yY2VfcmVt
b3ZlKG9zLnBhdGguam9pbihvcy5wYXRoLmV4cGFuZHVzZXIoJ34nKSwgJ0xpYnJhcnkvU2FmYXJp
L0xhc3RTZXNzaW9uLnBsaXN0JykpCiAgICAgICAgIHNlbGYuX21heGltaXplX3dpbmRvdygpCi0g
ICAgICAgIHNlbGYuX3NhZmFyaV9wcmVmZXJlbmNlcyA9IFsiLUhvbWVQYWdlIiwgImFib3V0OmJs
YW5rIiwgIi1XYXJuQWJvdXRGcmF1ZHVsZW50V2Vic2l0ZXMiLCAiMCIsICItRXh0ZW5zaW9uc0Vu
YWJsZWQiLCAiMCIsICItU2hvd1N0YXR1c0JhciIsICIwIiwgIi1OZXdXaW5kb3dCZWhhdmlvciIs
ICIxIiwgIi1OZXdUYWJCZWhhdmlvciIsICIxIl0KIAogICAgIGRlZiBsYXVuY2hfdXJsKHNlbGYs
IHVybCwgb3B0aW9ucywgYnJvd3Nlcl9idWlsZF9wYXRoLCBicm93c2VyX3BhdGgpOgogICAgICAg
ICBhcmdzID0gWycvQXBwbGljYXRpb25zL1NhZmFyaS5hcHAvQ29udGVudHMvTWFjT1MvU2FmYXJp
J10KLS0gCjIuMjAuMCAoQXBwbGUgR2l0LTExNSkKCg==
</data>
<flag name="review"
          id="380408"
          type_id="1"
          status="+"
          setter="dewei_zhu"
    />
          </attachment>
      

    </bug>

</bugzilla>