<?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>208514</bug_id>
          
          <creation_ts>2020-03-03 07:48:19 -0800</creation_ts>
          <short_desc>[ews] Add build step to find list of modified changelogs</short_desc>
          <delta_ts>2020-03-04 08:10:02 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>Other</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=208535</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>jbedard</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1625046</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 07:48:19 -0800</bug_when>
    <thetext>Commit queue needs to generate a commit message (from the ChangeLog files). For this it needs the find the list of modified ChangeLog files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625049</commentid>
    <comment_count>1</comment_count>
      <attachid>392274</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 07:55:14 -0800</bug_when>
    <thetext>Created attachment 392274
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625060</commentid>
    <comment_count>2</comment_count>
      <attachid>392274</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 08:23:57 -0800</bug_when>
    <thetext>Comment on attachment 392274
Patch

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

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2449
&gt; +    def _status_regexp(self, expected_types):

This comes from https://trac.webkit.org/browser/webkit/trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py#L176</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625062</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 08:27:30 -0800</bug_when>
    <thetext>Sample runs:
https://ews-build.webkit-uat.org/#/builders/26/builds/1042
https://ews-build.webkit-uat.org/#/builders/26/builds/1041
https://ews-build.webkit-uat.org/#/builders/26/builds/1040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625064</commentid>
    <comment_count>4</comment_count>
      <attachid>392274</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2020-03-03 08:42:54 -0800</bug_when>
    <thetext>Comment on attachment 392274
Patch

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

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2423
&gt; +    command = [&apos;git&apos;, &apos;diff&apos;, &apos;-r&apos;, &apos;--name-status&apos;, &apos;--no-renames&apos;, &apos;--no-ext-diff&apos;, &apos;--full-index&apos;]

Commit queue uses git? That surprises me. I would  expect it to be native svn.

&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2442
&gt; +        modified_changelogs = self.extract_changelogs(log_text, self._status_regexp(&apos;ADM&apos;))

Do we ever expect this to not be &apos;Added, Deleted, Modified? Might be better to just create and compile the regex ahead of time.

&gt; Tools/BuildSlaveSupport/ews-build/steps_unittest.py:3035
&gt; +M	Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp&apos;&apos;&apos;) +

Test added and deleted?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625109</commentid>
    <comment_count>5</comment_count>
      <attachid>392290</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 10:18:03 -0800</bug_when>
    <thetext>Created attachment 392290
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625113</commentid>
    <comment_count>6</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 10:19:33 -0800</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=392274&amp;action=review

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2423
&gt;&gt; +    command = [&apos;git&apos;, &apos;diff&apos;, &apos;-r&apos;, &apos;--name-status&apos;, &apos;--no-renames&apos;, &apos;--no-ext-diff&apos;, &apos;--full-index&apos;]
&gt; 
&gt; Commit queue uses git? That surprises me. I would  expect it to be native svn.

Yes, all EWS bots (including commit-queue on old ews) use git. e.g.: https://bugs.webkit.org/show_bug.cgi?id=207727#c10

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps.py:2442
&gt;&gt; +        modified_changelogs = self.extract_changelogs(log_text, self._status_regexp(&apos;ADM&apos;))
&gt; 
&gt; Do we ever expect this to not be &apos;Added, Deleted, Modified? Might be better to just create and compile the regex ahead of time.

compiling wouldn&apos;t change much, this is very simple regex, and used only once per build.

&gt;&gt; Tools/BuildSlaveSupport/ews-build/steps_unittest.py:3035
&gt;&gt; +M	Source/WebCore/layout/blockformatting/BlockMarginCollapse.cpp&apos;&apos;&apos;) +
&gt; 
&gt; Test added and deleted?

Added unit-tests for ChangeLog addition. We don&apos;t need to consider ChangeLog deletion (otherwise the next step of generating commit message will fail for deleted files). Updated steps.py to look at only addition and modification.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625169</commentid>
    <comment_count>7</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-03 12:08:15 -0800</bug_when>
    <thetext>Committed r257794: &lt;https://trac.webkit.org/changeset/257794&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625170</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-03-03 12:09:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/60007220&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1625520</commentid>
    <comment_count>9</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2020-03-04 08:10:02 -0800</bug_when>
    <thetext>Just for reference, output from old commit-queue when the patch doesn&apos;t have any ChangeLog (pretty unreadable):
https://bugs.webkit.org/show_bug.cgi?id=208495#c10</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392274</attachid>
            <date>2020-03-03 07:55:14 -0800</date>
            <delta_ts>2020-03-03 10:18:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208514-20200303105511.patch</filename>
            <type>text/plain</type>
            <size>8906</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1Nzc3OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIyIEBACisyMDIwLTAzLTAzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzXSBBZGQgYnVpbGQgc3RlcCB0byBmaW5kIGxpc3Qgb2YgbW9kaWZp
ZWQgY2hhbmdlbG9ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5OgorICAgICAg
ICAoQ29tbWl0UXVldWVGYWN0b3J5Ll9faW5pdF9fKToKKyAgICAgICAgKiBCdWlsZFNsYXZlU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHk6CisgICAgICAgIChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dz
KTogQnVpbGQgc3RlcCB0byBmaW5kIG1vZGlmaWVkIENoYW5nZUxvZ3MuCisgICAgICAgIChGaW5k
TW9kaWZpZWRDaGFuZ2VMb2dzLnN0YXJ0KTogSW5pdGlhbGl6ZSBsb2cgb2JzZXJ2ZXIuCisgICAg
ICAgIChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzLmdldFJlc3VsdFN1bW1hcnkpOiBTZXQgY3VzdG9t
IGZhaWx1cmUgbWVzc2FnZS4KKyAgICAgICAgKEZpbmRNb2RpZmllZENoYW5nZUxvZ3MuZXZhbHVh
dGVDb21tYW5kKToKKyAgICAgICAgKEZpbmRNb2RpZmllZENoYW5nZUxvZ3MuaXNfcGF0aF90b19j
aGFuZ2Vsb2cpOiBDaGVjayBpZiB0aGUgZmlsZSBpcyBhIENoYW5nZUxvZy4KKyAgICAgICAgKEZp
bmRNb2RpZmllZENoYW5nZUxvZ3MuX3N0YXR1c19yZWdleHApOiBSZWdleCB0byBtYXRjaCBmaWxl
cyBmcm9tIGdpdCBvdXRwdXQuCisgICAgICAgIChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzLmV4dHJh
Y3RfY2hhbmdlbG9ncyk6IE1ldGhvZCB0byBnZXQgbGlzdCBvZiBDaGFuZ2VMb2dzIGZyb20gZ2l0
IG91dHB1dC4KKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5p
dHRlc3QucHk6IEFkZGVkIHVuaXQtdGVzdHMuCisKIDIwMjAtMDMtMDMgIENvbW1pdCBRdWV1ZSAg
PGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcg
b3V0IHIyNTc3NTQuCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFj
dG9yaWVzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWls
ZC9mYWN0b3JpZXMucHkJKHJldmlzaW9uIDI1Nzc3OCkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2V3cy1idWlsZC9mYWN0b3JpZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDkg
QEAgZnJvbSBidWlsZGJvdC5zdGVwcyBpbXBvcnQgdHJpZ2dlcgogCiBmcm9tIHN0ZXBzIGltcG9y
dCAoQXBwbHlQYXRjaCwgQXBwbHlXYXRjaExpc3QsIENoZWNrT3V0U291cmNlLCBDaGVja091dFNw
ZWNpZmljUmV2aXNpb24sIENoZWNrUGF0Y2hSZWxldmFuY2UsCiAgICAgICAgICAgICAgICAgICAg
Q2hlY2tTdHlsZSwgQ29tcGlsZUpTQywgQ29tcGlsZVdlYktpdCwgQ29uZmlndXJlQnVpbGQsCi0g
ICAgICAgICAgICAgICAgICAgRG93bmxvYWRCdWlsdFByb2R1Y3QsIEV4dHJhY3RCdWlsdFByb2R1
Y3QsIEluc3RhbGxHdGtEZXBlbmRlbmNpZXMsIEluc3RhbGxXcGVEZXBlbmRlbmNpZXMsIEtpbGxP
bGRQcm9jZXNzZXMsCi0gICAgICAgICAgICAgICAgICAgUHJpbnRDb25maWd1cmF0aW9uLCBSdW5B
UElUZXN0cywgUnVuQmluZGluZ3NUZXN0cywgUnVuQnVpbGRXZWJLaXRPcmdVbml0VGVzdHMsIFJ1
bkVXU0J1aWxkYm90Q2hlY2tDb25maWcsIFJ1bkVXU1VuaXRUZXN0cywgUnVuUmVzdWx0c2RicHlU
ZXN0cywKKyAgICAgICAgICAgICAgICAgICBEb3dubG9hZEJ1aWx0UHJvZHVjdCwgRXh0cmFjdEJ1
aWx0UHJvZHVjdCwgRmluZE1vZGlmaWVkQ2hhbmdlTG9ncywgSW5zdGFsbEd0a0RlcGVuZGVuY2ll
cywKKyAgICAgICAgICAgICAgICAgICBJbnN0YWxsV3BlRGVwZW5kZW5jaWVzLCBLaWxsT2xkUHJv
Y2Vzc2VzLCBQcmludENvbmZpZ3VyYXRpb24sIFJ1bkFQSVRlc3RzLCBSdW5CaW5kaW5nc1Rlc3Rz
LAorICAgICAgICAgICAgICAgICAgIFJ1bkJ1aWxkV2ViS2l0T3JnVW5pdFRlc3RzLCBSdW5FV1NC
dWlsZGJvdENoZWNrQ29uZmlnLCBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3VsdHNkYnB5VGVzdHMs
CiAgICAgICAgICAgICAgICAgICAgUnVuSmF2YVNjcmlwdENvcmVUZXN0cywgUnVuV2ViS2l0MVRl
c3RzLCBSdW5XZWJLaXRQZXJsVGVzdHMsCiAgICAgICAgICAgICAgICAgICAgUnVuV2ViS2l0UHlQ
eXRob24yVGVzdHMsIFJ1bldlYktpdFB5UHl0aG9uM1Rlc3RzLCBSdW5XZWJLaXRUZXN0cywgU2V0
QnVpbGRTdW1tYXJ5LCBVcGRhdGVXb3JraW5nRGlyZWN0b3J5LCBWYWxpZGF0ZVBhdGNoKQogCkBA
IC0yMjAsMyArMjIxLDQgQEAgY2xhc3MgQ29tbWl0UXVldWVGYWN0b3J5KEZhY3RvcnkpOgogICAg
ICAgICBzZWxmLmFkZFN0ZXAoS2lsbE9sZFByb2Nlc3NlcygpKQogICAgICAgICBzZWxmLmFkZFN0
ZXAoVmFsaWRhdGVQYXRjaChhZGRVUkxzPUZhbHNlLCB2ZXJpZnljcXBsdXM9VHJ1ZSkpCiAgICAg
ICAgIHNlbGYuYWRkU3RlcChSdW5XZWJLaXQxVGVzdHMoKSkKKyAgICAgICAgc2VsZi5hZGRTdGVw
KEZpbmRNb2RpZmllZENoYW5nZUxvZ3MoKSkKSW5kZXg6IFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0
L2V3cy1idWlsZC9zdGVwcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9y
dC9ld3MtYnVpbGQvc3RlcHMucHkJKHJldmlzaW9uIDI1Nzc3OCkKKysrIFRvb2xzL0J1aWxkU2xh
dmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weQkod29ya2luZyBjb3B5KQpAQCAtMzMsNiArMzMs
NyBAQCBmcm9tIGxheW91dF90ZXN0X2ZhaWx1cmVzIGltcG9ydCBMYXlvdXRUCiBpbXBvcnQganNv
bgogaW1wb3J0IHJlCiBpbXBvcnQgcmVxdWVzdHMKK2ltcG9ydCBvcwogCiBCVUdfU0VSVkVSX1VS
TCA9ICdodHRwczovL2J1Z3Mud2Via2l0Lm9yZy8nCiBTM1VSTCA9ICdodHRwczovL3MzLXVzLXdl
c3QtMi5hbWF6b25hd3MuY29tLycKQEAgLTI0MTQsMyArMjQxNSw0NyBAQCBjbGFzcyBTZXRCdWls
ZFN1bW1hcnkoYnVpbGRzdGVwLkJ1aWxkU3RlCiAgICAgICAgIHNlbGYuZmluaXNoZWQoU1VDQ0VT
UykKICAgICAgICAgc2VsZi5idWlsZC5idWlsZEZpbmlzaGVkKFtidWlsZF9zdW1tYXJ5XSwgc2Vs
Zi5idWlsZC5yZXN1bHRzKQogICAgICAgICByZXR1cm4gZGVmZXIuc3VjY2VlZChOb25lKQorCisK
K2NsYXNzIEZpbmRNb2RpZmllZENoYW5nZUxvZ3Moc2hlbGwuU2hlbGxDb21tYW5kKToKKyAgICBu
YW1lID0gJ2ZpbmQtbW9kaWZpZWQtY2hhbmdlbG9ncycKKyAgICBkZXNjcmlwdGlvbkRvbmUgPSBb
J0ZvdW5kIG1vZGlmaWVkIENoYW5nZUxvZ3MnXQorICAgIGNvbW1hbmQgPSBbJ2dpdCcsICdkaWZm
JywgJy1yJywgJy0tbmFtZS1zdGF0dXMnLCAnLS1uby1yZW5hbWVzJywgJy0tbm8tZXh0LWRpZmYn
LCAnLS1mdWxsLWluZGV4J10KKyAgICBoYWx0T25GYWlsdXJlID0gVHJ1ZQorCisgICAgZGVmIF9f
aW5pdF9fKHNlbGYsICoqa3dhcmdzKToKKyAgICAgICAgc2hlbGwuU2hlbGxDb21tYW5kLl9faW5p
dF9fKHNlbGYsIHRpbWVvdXQ9MyAqIDYwLCBsb2dFbnZpcm9uPUZhbHNlLCAqKmt3YXJncykKKwor
ICAgIGRlZiBzdGFydChzZWxmKToKKyAgICAgICAgc2VsZi5sb2dfb2JzZXJ2ZXIgPSBsb2dvYnNl
cnZlci5CdWZmZXJMb2dPYnNlcnZlcih3YW50U3RkZXJyPVRydWUpCisgICAgICAgIHNlbGYuYWRk
TG9nT2JzZXJ2ZXIoJ3N0ZGlvJywgc2VsZi5sb2dfb2JzZXJ2ZXIpCisgICAgICAgIHJldHVybiBz
aGVsbC5TaGVsbENvbW1hbmQuc3RhcnQoc2VsZikKKworICAgIGRlZiBnZXRSZXN1bHRTdW1tYXJ5
KHNlbGYpOgorICAgICAgICBpZiBzZWxmLnJlc3VsdHMgIT0gU1VDQ0VTUzoKKyAgICAgICAgICAg
IHJldHVybiB7dSdzdGVwJzogdSdGYWlsZWQgdG8gZmluZCBsaXN0IG9mIG1vZGlmaWVkIENoYW5n
ZUxvZ3MnfQorICAgICAgICByZXR1cm4gc2hlbGwuU2hlbGxDb21tYW5kLmdldFJlc3VsdFN1bW1h
cnkoc2VsZikKKworICAgIGRlZiBldmFsdWF0ZUNvbW1hbmQoc2VsZiwgY21kKToKKyAgICAgICAg
cmMgPSBzaGVsbC5TaGVsbENvbW1hbmQuZXZhbHVhdGVDb21tYW5kKHNlbGYsIGNtZCkKKyAgICAg
ICAgbG9nX3RleHQgPSBzZWxmLmxvZ19vYnNlcnZlci5nZXRTdGRvdXQoKSArIHNlbGYubG9nX29i
c2VydmVyLmdldFN0ZGVycigpCisgICAgICAgIG1vZGlmaWVkX2NoYW5nZWxvZ3MgPSBzZWxmLmV4
dHJhY3RfY2hhbmdlbG9ncyhsb2dfdGV4dCwgc2VsZi5fc3RhdHVzX3JlZ2V4cCgnQURNJykpCisg
ICAgICAgIHNlbGYuc2V0UHJvcGVydHkoJ21vZGlmaWVkX2NoYW5nZWxvZ3MnLCBtb2RpZmllZF9j
aGFuZ2Vsb2dzKQorICAgICAgICByZXR1cm4gcmMKKworICAgIGRlZiBpc19wYXRoX3RvX2NoYW5n
ZWxvZyhzZWxmLCBwYXRoKToKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguYmFzZW5hbWUocGF0aCkg
PT0gJ0NoYW5nZUxvZycKKworICAgIGRlZiBfc3RhdHVzX3JlZ2V4cChzZWxmLCBleHBlY3RlZF90
eXBlcyk6CisgICAgICAgIHJldHVybiAnXig/UDxzdGF0dXM+W3t9XSlcdCg/UDxmaWxlbmFtZT4u
KykkJy5mb3JtYXQoZXhwZWN0ZWRfdHlwZXMpCisKKyAgICBkZWYgZXh0cmFjdF9jaGFuZ2Vsb2dz
KHNlbGYsIG91dHB1dCwgc3RhdHVzX3JlZ2V4cCk6CisgICAgICAgIGZpbGVuYW1lcyA9IFtdCisg
ICAgICAgIGZvciBsaW5lIGluIG91dHB1dC5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBtYXRj
aCA9IHJlLnNlYXJjaChzdGF0dXNfcmVnZXhwLCBsaW5lKQorICAgICAgICAgICAgaWYgbm90IG1h
dGNoOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBmaWxlbmFtZSA9IG1h
dGNoLmdyb3VwKCdmaWxlbmFtZScpCisgICAgICAgICAgICBpZiBzZWxmLmlzX3BhdGhfdG9fY2hh
bmdlbG9nKGZpbGVuYW1lKToKKyAgICAgICAgICAgICAgICBmaWxlbmFtZXMuYXBwZW5kKGZpbGVu
YW1lKQorICAgICAgICByZXR1cm4gZmlsZW5hbWVzCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVp
bGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNTc3
NzgpCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3Qu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgZnJvbSB0d2lzdGVkLnRyaWFsIGlt
cG9ydCB1bml0dGVzdAogZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMs
IEFuYWx5emVDb21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cywgQW5h
bHl6ZUxheW91dFRlc3RzUmVzdWx0cywgQXBwbHlQYXRjaCwgQXBwbHlXYXRjaExpc3QsIEFyY2hp
dmVCdWlsdFByb2R1Y3QsIEFyY2hpdmVUZXN0UmVzdWx0cywKICAgICAgICAgICAgICAgICAgICBD
aGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1JldmlzaW9uLCBDaGVja1BhdGNoUmVsZXZh
bmNlLCBDaGVja1N0eWxlLCBDbGVhbkJ1aWxkLCBDbGVhblVwR2l0SW5kZXhMb2NrLCBDbGVhbldv
cmtpbmdEaXJlY3RvcnksCiAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUpTQywgQ29tcGlsZUpT
Q1RvVCwgQ29tcGlsZVdlYktpdCwgQ29tcGlsZVdlYktpdFRvVCwgQ29uZmlndXJlQnVpbGQsCi0g
ICAgICAgICAgICAgICAgICAgRG93bmxvYWRCdWlsdFByb2R1Y3QsIERvd25sb2FkQnVpbHRQcm9k
dWN0RnJvbU1hc3RlciwgRXh0cmFjdEJ1aWx0UHJvZHVjdCwgRXh0cmFjdFRlc3RSZXN1bHRzLCBJ
bnN0YWxsR3RrRGVwZW5kZW5jaWVzLCBJbnN0YWxsV3BlRGVwZW5kZW5jaWVzLCBLaWxsT2xkUHJv
Y2Vzc2VzLAorICAgICAgICAgICAgICAgICAgIERvd25sb2FkQnVpbHRQcm9kdWN0LCBEb3dubG9h
ZEJ1aWx0UHJvZHVjdEZyb21NYXN0ZXIsIEV4dHJhY3RCdWlsdFByb2R1Y3QsIEV4dHJhY3RUZXN0
UmVzdWx0cywgRmluZE1vZGlmaWVkQ2hhbmdlTG9ncywgSW5zdGFsbEd0a0RlcGVuZGVuY2llcywg
SW5zdGFsbFdwZURlcGVuZGVuY2llcywgS2lsbE9sZFByb2Nlc3NlcywKICAgICAgICAgICAgICAg
ICAgICBQcmludENvbmZpZ3VyYXRpb24sIFJlUnVuQVBJVGVzdHMsIFJlUnVuSmF2YVNjcmlwdENv
cmVUZXN0cywgUmVSdW5XZWJLaXRQZXJsVGVzdHMsIFJlUnVuV2ViS2l0VGVzdHMsIFJ1bkFQSVRl
c3RzLCBSdW5BUElUZXN0c1dpdGhvdXRQYXRjaCwKICAgICAgICAgICAgICAgICAgICBSdW5CaW5k
aW5nc1Rlc3RzLCBSdW5CdWlsZFdlYktpdE9yZ1VuaXRUZXN0cywgUnVuRVdTQnVpbGRib3RDaGVj
a0NvbmZpZywgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2Ny
aXB0Q29yZVRlc3RzLCBSdW5KU0NUZXN0c1dpdGhvdXRQYXRjaCwgUnVuV2ViS2l0MVRlc3RzLAog
ICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24y
VGVzdHMsIFJ1bldlYktpdFB5UHl0aG9uM1Rlc3RzLCBSdW5XZWJLaXRUZXN0cywgUnVuV2ViS2l0
VGVzdHNXaXRob3V0UGF0Y2gsIFRlc3RXaXRoRmFpbHVyZUNvdW50LCBUcmlnZ2VyLCBUcmFuc2Zl
clRvUzMsIFVuQXBwbHlQYXRjaElmUmVxdWlyZWQsCkBAIC0zMDE1LDUgKzMwMTUsNDUgQEAgT1NF
cnJvcjogW0Vycm5vIDJdIE5vIHN1Y2ggZmlsZSBvciBkaXJlYwogICAgICAgICByZXR1cm4gc2Vs
Zi5ydW5TdGVwKCkKIAogCitjbGFzcyBUZXN0RmluZE1vZGlmaWVkQ2hhbmdlTG9ncyhCdWlsZFN0
ZXBNaXhpbkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxm
KToKKyAgICAgICAgc2VsZi5sb25nTWVzc2FnZSA9IFRydWUKKyAgICAgICAgcmV0dXJuIHNlbGYu
c2V0VXBCdWlsZFN0ZXAoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICByZXR1
cm4gc2VsZi50ZWFyRG93bkJ1aWxkU3RlcCgpCisKKyAgICBkZWYgdGVzdF9zdWNjZXNzKHNlbGYp
OgorICAgICAgICBzZWxmLnNldHVwU3RlcChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzKCkpCisgICAg
ICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RTaGVsbCh3
b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTE4MCwKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisgICAgICAgICAgICAgICAg
ICAgICAgICBjb21tYW5kPVsnZ2l0JywgJ2RpZmYnLCAnLXInLCAnLS1uYW1lLXN0YXR1cycsICct
LW5vLXJlbmFtZXMnLCAnLS1uby1leHQtZGlmZicsICctLWZ1bGwtaW5kZXgnXSkgKworICAgICAg
ICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0ZG91dD0nJydNCVNvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworTQlTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5nL0Jsb2Nr
Rm9ybWF0dGluZ0NvbnRleHQuaAorTQlTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0
aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwJycnKSArCisgICAgICAgICAgICAwLAorICAgICAg
ICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3Ry
aW5nPSdGb3VuZCBtb2RpZmllZCBDaGFuZ2VMb2dzJykKKyAgICAgICAgcmMgPSBzZWxmLnJ1blN0
ZXAoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ21vZGlmaWVk
X2NoYW5nZWxvZ3MnKSwgWydTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cnXSkKKyAgICAgICAgcmV0
dXJuIHJjCisKKyAgICBkZWYgdGVzdF9mYWlsdXJlKHNlbGYpOgorICAgICAgICBzZWxmLnNldHVw
U3RlcChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzKCkpCisgICAgICAgIHNlbGYuc2V0UHJvcGVydHko
J2J1Z19pZCcsICcxMjM0JykKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAg
ICAgICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHRpbWVvdXQ9MTgwLAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1G
YWxzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnZGlmZicsICct
cicsICctLW5hbWUtc3RhdHVzJywgJy0tbm8tcmVuYW1lcycsICctLW5vLWV4dC1kaWZmJywgJy0t
ZnVsbC1pbmRleCddKSArCisgICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rk
b3V0PSdVbmV4cGVjdGVkIGZhaWx1cmUnKSArCisgICAgICAgICAgICAyLAorICAgICAgICApCisg
ICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9RkFJTFVSRSwgc3RhdGVfc3RyaW5nPSdG
YWlsZWQgdG8gZmluZCBsaXN0IG9mIG1vZGlmaWVkIENoYW5nZUxvZ3MnKQorICAgICAgICByZXR1
cm4gc2VsZi5ydW5TdGVwKCkKKworCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIHVu
aXR0ZXN0Lm1haW4oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>392290</attachid>
            <date>2020-03-03 10:18:03 -0800</date>
            <delta_ts>2020-03-03 10:30:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-208514-20200303131802.patch</filename>
            <type>text/plain</type>
            <size>9736</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDI1Nzc4MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDIwLTAzLTAzICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbZXdzXSBBZGQgYnVpbGQgc3RlcCB0byBmaW5kIGxpc3Qgb2YgbW9kaWZp
ZWQgY2hhbmdlbG9ncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA4NTE0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFjdG9yaWVzLnB5OgorICAgICAg
ICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3cy1idWlsZC9zdGVwcy5weToKKyAgICAgICAgKEZpbmRN
b2RpZmllZENoYW5nZUxvZ3MpOiBCdWlsZCBzdGVwIHRvIGZpbmQgbW9kaWZpZWQgQ2hhbmdlTG9n
cy4KKyAgICAgICAgKEZpbmRNb2RpZmllZENoYW5nZUxvZ3Muc3RhcnQpOiBJbml0aWFsaXplIGxv
ZyBvYnNlcnZlci4KKyAgICAgICAgKEZpbmRNb2RpZmllZENoYW5nZUxvZ3MuZ2V0UmVzdWx0U3Vt
bWFyeSk6IFNldCBjdXN0b20gZmFpbHVyZSBtZXNzYWdlLgorICAgICAgICAoRmluZE1vZGlmaWVk
Q2hhbmdlTG9ncy5ldmFsdWF0ZUNvbW1hbmQpOgorICAgICAgICAoRmluZE1vZGlmaWVkQ2hhbmdl
TG9ncy5pc19wYXRoX3RvX2NoYW5nZWxvZyk6IENoZWNrIGlmIHRoZSBmaWxlIGlzIGEgQ2hhbmdl
TG9nLgorICAgICAgICAoRmluZE1vZGlmaWVkQ2hhbmdlTG9ncy5fc3RhdHVzX3JlZ2V4cCk6IFJl
Z2V4IHRvIG1hdGNoIGZpbGVzIGZyb20gZ2l0IG91dHB1dC4KKyAgICAgICAgKEZpbmRNb2RpZmll
ZENoYW5nZUxvZ3MuZXh0cmFjdF9jaGFuZ2Vsb2dzKTogTWV0aG9kIHRvIGdldCBsaXN0IG9mIENo
YW5nZUxvZ3MgZnJvbSBnaXQgb3V0cHV0LgorICAgICAgICAqIEJ1aWxkU2xhdmVTdXBwb3J0L2V3
cy1idWlsZC9zdGVwc191bml0dGVzdC5weTogQWRkZWQgdW5pdC10ZXN0cy4KKwogMjAyMC0wMy0w
MyAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5QGFwcGxlLmNvbT4KIAogICAgICAgICBD
aGVjayBmb3IgbmF2aWdhdGlvbiB0byBhcHAtYm91bmQgZG9tYWluIGR1cmluZyBzY3JpcHQgZXZh
bHVhdGlvbgpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdzLWJ1aWxkL2ZhY3Rvcmll
cy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvZmFj
dG9yaWVzLnB5CShyZXZpc2lvbiAyNTc3NzgpCisrKyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9l
d3MtYnVpbGQvZmFjdG9yaWVzLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw5IEBAIGZy
b20gYnVpbGRib3Quc3RlcHMgaW1wb3J0IHRyaWdnZXIKIAogZnJvbSBzdGVwcyBpbXBvcnQgKEFw
cGx5UGF0Y2gsIEFwcGx5V2F0Y2hMaXN0LCBDaGVja091dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZp
Y1JldmlzaW9uLCBDaGVja1BhdGNoUmVsZXZhbmNlLAogICAgICAgICAgICAgICAgICAgIENoZWNr
U3R5bGUsIENvbXBpbGVKU0MsIENvbXBpbGVXZWJLaXQsIENvbmZpZ3VyZUJ1aWxkLAotICAgICAg
ICAgICAgICAgICAgIERvd25sb2FkQnVpbHRQcm9kdWN0LCBFeHRyYWN0QnVpbHRQcm9kdWN0LCBJ
bnN0YWxsR3RrRGVwZW5kZW5jaWVzLCBJbnN0YWxsV3BlRGVwZW5kZW5jaWVzLCBLaWxsT2xkUHJv
Y2Vzc2VzLAotICAgICAgICAgICAgICAgICAgIFByaW50Q29uZmlndXJhdGlvbiwgUnVuQVBJVGVz
dHMsIFJ1bkJpbmRpbmdzVGVzdHMsIFJ1bkJ1aWxkV2ViS2l0T3JnVW5pdFRlc3RzLCBSdW5FV1NC
dWlsZGJvdENoZWNrQ29uZmlnLCBSdW5FV1NVbml0VGVzdHMsIFJ1blJlc3VsdHNkYnB5VGVzdHMs
CisgICAgICAgICAgICAgICAgICAgRG93bmxvYWRCdWlsdFByb2R1Y3QsIEV4dHJhY3RCdWlsdFBy
b2R1Y3QsIEZpbmRNb2RpZmllZENoYW5nZUxvZ3MsIEluc3RhbGxHdGtEZXBlbmRlbmNpZXMsCisg
ICAgICAgICAgICAgICAgICAgSW5zdGFsbFdwZURlcGVuZGVuY2llcywgS2lsbE9sZFByb2Nlc3Nl
cywgUHJpbnRDb25maWd1cmF0aW9uLCBSdW5BUElUZXN0cywgUnVuQmluZGluZ3NUZXN0cywKKyAg
ICAgICAgICAgICAgICAgICBSdW5CdWlsZFdlYktpdE9yZ1VuaXRUZXN0cywgUnVuRVdTQnVpbGRi
b3RDaGVja0NvbmZpZywgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLAogICAg
ICAgICAgICAgICAgICAgIFJ1bkphdmFTY3JpcHRDb3JlVGVzdHMsIFJ1bldlYktpdDFUZXN0cywg
UnVuV2ViS2l0UGVybFRlc3RzLAogICAgICAgICAgICAgICAgICAgIFJ1bldlYktpdFB5UHl0aG9u
MlRlc3RzLCBSdW5XZWJLaXRQeVB5dGhvbjNUZXN0cywgUnVuV2ViS2l0VGVzdHMsIFNldEJ1aWxk
U3VtbWFyeSwgVXBkYXRlV29ya2luZ0RpcmVjdG9yeSwgVmFsaWRhdGVQYXRjaCkKIApAQCAtMjIw
LDMgKzIyMSw0IEBAIGNsYXNzIENvbW1pdFF1ZXVlRmFjdG9yeShGYWN0b3J5KToKICAgICAgICAg
c2VsZi5hZGRTdGVwKEtpbGxPbGRQcm9jZXNzZXMoKSkKICAgICAgICAgc2VsZi5hZGRTdGVwKFZh
bGlkYXRlUGF0Y2goYWRkVVJMcz1GYWxzZSwgdmVyaWZ5Y3FwbHVzPVRydWUpKQogICAgICAgICBz
ZWxmLmFkZFN0ZXAoUnVuV2ViS2l0MVRlc3RzKCkpCisgICAgICAgIHNlbGYuYWRkU3RlcChGaW5k
TW9kaWZpZWRDaGFuZ2VMb2dzKCkpCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3Mt
YnVpbGQvc3RlcHMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvZXdz
LWJ1aWxkL3N0ZXBzLnB5CShyZXZpc2lvbiAyNTc3NzgpCisrKyBUb29scy9CdWlsZFNsYXZlU3Vw
cG9ydC9ld3MtYnVpbGQvc3RlcHMucHkJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAg
ZnJvbSBsYXlvdXRfdGVzdF9mYWlsdXJlcyBpbXBvcnQgTGF5b3V0VAogaW1wb3J0IGpzb24KIGlt
cG9ydCByZQogaW1wb3J0IHJlcXVlc3RzCitpbXBvcnQgb3MKIAogQlVHX1NFUlZFUl9VUkwgPSAn
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvJwogUzNVUkwgPSAnaHR0cHM6Ly9zMy11cy13ZXN0LTIu
YW1hem9uYXdzLmNvbS8nCkBAIC0yNDE0LDMgKzI0MTUsNDcgQEAgY2xhc3MgU2V0QnVpbGRTdW1t
YXJ5KGJ1aWxkc3RlcC5CdWlsZFN0ZQogICAgICAgICBzZWxmLmZpbmlzaGVkKFNVQ0NFU1MpCiAg
ICAgICAgIHNlbGYuYnVpbGQuYnVpbGRGaW5pc2hlZChbYnVpbGRfc3VtbWFyeV0sIHNlbGYuYnVp
bGQucmVzdWx0cykKICAgICAgICAgcmV0dXJuIGRlZmVyLnN1Y2NlZWQoTm9uZSkKKworCitjbGFz
cyBGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzKHNoZWxsLlNoZWxsQ29tbWFuZCk6CisgICAgbmFtZSA9
ICdmaW5kLW1vZGlmaWVkLWNoYW5nZWxvZ3MnCisgICAgZGVzY3JpcHRpb25Eb25lID0gWydGb3Vu
ZCBtb2RpZmllZCBDaGFuZ2VMb2dzJ10KKyAgICBjb21tYW5kID0gWydnaXQnLCAnZGlmZicsICct
cicsICctLW5hbWUtc3RhdHVzJywgJy0tbm8tcmVuYW1lcycsICctLW5vLWV4dC1kaWZmJywgJy0t
ZnVsbC1pbmRleCddCisgICAgaGFsdE9uRmFpbHVyZSA9IFRydWUKKworICAgIGRlZiBfX2luaXRf
XyhzZWxmLCAqKmt3YXJncyk6CisgICAgICAgIHNoZWxsLlNoZWxsQ29tbWFuZC5fX2luaXRfXyhz
ZWxmLCB0aW1lb3V0PTMgKiA2MCwgbG9nRW52aXJvbj1GYWxzZSwgKiprd2FyZ3MpCisKKyAgICBk
ZWYgc3RhcnQoc2VsZik6CisgICAgICAgIHNlbGYubG9nX29ic2VydmVyID0gbG9nb2JzZXJ2ZXIu
QnVmZmVyTG9nT2JzZXJ2ZXIod2FudFN0ZGVycj1UcnVlKQorICAgICAgICBzZWxmLmFkZExvZ09i
c2VydmVyKCdzdGRpbycsIHNlbGYubG9nX29ic2VydmVyKQorICAgICAgICByZXR1cm4gc2hlbGwu
U2hlbGxDb21tYW5kLnN0YXJ0KHNlbGYpCisKKyAgICBkZWYgZ2V0UmVzdWx0U3VtbWFyeShzZWxm
KToKKyAgICAgICAgaWYgc2VsZi5yZXN1bHRzICE9IFNVQ0NFU1M6CisgICAgICAgICAgICByZXR1
cm4ge3Unc3RlcCc6IHUnRmFpbGVkIHRvIGZpbmQgbGlzdCBvZiBtb2RpZmllZCBDaGFuZ2VMb2dz
J30KKyAgICAgICAgcmV0dXJuIHNoZWxsLlNoZWxsQ29tbWFuZC5nZXRSZXN1bHRTdW1tYXJ5KHNl
bGYpCisKKyAgICBkZWYgZXZhbHVhdGVDb21tYW5kKHNlbGYsIGNtZCk6CisgICAgICAgIHJjID0g
c2hlbGwuU2hlbGxDb21tYW5kLmV2YWx1YXRlQ29tbWFuZChzZWxmLCBjbWQpCisgICAgICAgIGxv
Z190ZXh0ID0gc2VsZi5sb2dfb2JzZXJ2ZXIuZ2V0U3Rkb3V0KCkgKyBzZWxmLmxvZ19vYnNlcnZl
ci5nZXRTdGRlcnIoKQorICAgICAgICBtb2RpZmllZF9jaGFuZ2Vsb2dzID0gc2VsZi5leHRyYWN0
X2NoYW5nZWxvZ3MobG9nX3RleHQsIHNlbGYuX3N0YXR1c19yZWdleHAoJ01BJykpCisgICAgICAg
IHNlbGYuc2V0UHJvcGVydHkoJ21vZGlmaWVkX2NoYW5nZWxvZ3MnLCBtb2RpZmllZF9jaGFuZ2Vs
b2dzKQorICAgICAgICByZXR1cm4gcmMKKworICAgIGRlZiBpc19wYXRoX3RvX2NoYW5nZWxvZyhz
ZWxmLCBwYXRoKToKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguYmFzZW5hbWUocGF0aCkgPT0gJ0No
YW5nZUxvZycKKworICAgIGRlZiBfc3RhdHVzX3JlZ2V4cChzZWxmLCBleHBlY3RlZF90eXBlcyk6
CisgICAgICAgIHJldHVybiAnXig/UDxzdGF0dXM+W3t9XSlcdCg/UDxmaWxlbmFtZT4uKykkJy5m
b3JtYXQoZXhwZWN0ZWRfdHlwZXMpCisKKyAgICBkZWYgZXh0cmFjdF9jaGFuZ2Vsb2dzKHNlbGYs
IG91dHB1dCwgc3RhdHVzX3JlZ2V4cCk6CisgICAgICAgIGZpbGVuYW1lcyA9IFtdCisgICAgICAg
IGZvciBsaW5lIGluIG91dHB1dC5zcGxpdGxpbmVzKCk6CisgICAgICAgICAgICBtYXRjaCA9IHJl
LnNlYXJjaChzdGF0dXNfcmVnZXhwLCBsaW5lKQorICAgICAgICAgICAgaWYgbm90IG1hdGNoOgor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgICAgICBmaWxlbmFtZSA9IG1hdGNoLmdy
b3VwKCdmaWxlbmFtZScpCisgICAgICAgICAgICBpZiBzZWxmLmlzX3BhdGhfdG9fY2hhbmdlbG9n
KGZpbGVuYW1lKToKKyAgICAgICAgICAgICAgICBmaWxlbmFtZXMuYXBwZW5kKGZpbGVuYW1lKQor
ICAgICAgICByZXR1cm4gZmlsZW5hbWVzCkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9l
d3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2
ZVN1cHBvcnQvZXdzLWJ1aWxkL3N0ZXBzX3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAyNTc3NzgpCisr
KyBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9ld3MtYnVpbGQvc3RlcHNfdW5pdHRlc3QucHkJKHdv
cmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAgZnJvbSB0d2lzdGVkLnRyaWFsIGltcG9ydCB1
bml0dGVzdAogZnJvbSBzdGVwcyBpbXBvcnQgKEFuYWx5emVBUElUZXN0c1Jlc3VsdHMsIEFuYWx5
emVDb21waWxlV2ViS2l0UmVzdWx0cywgQW5hbHl6ZUpTQ1Rlc3RzUmVzdWx0cywgQW5hbHl6ZUxh
eW91dFRlc3RzUmVzdWx0cywgQXBwbHlQYXRjaCwgQXBwbHlXYXRjaExpc3QsIEFyY2hpdmVCdWls
dFByb2R1Y3QsIEFyY2hpdmVUZXN0UmVzdWx0cywKICAgICAgICAgICAgICAgICAgICBDaGVja091
dFNvdXJjZSwgQ2hlY2tPdXRTcGVjaWZpY1JldmlzaW9uLCBDaGVja1BhdGNoUmVsZXZhbmNlLCBD
aGVja1N0eWxlLCBDbGVhbkJ1aWxkLCBDbGVhblVwR2l0SW5kZXhMb2NrLCBDbGVhbldvcmtpbmdE
aXJlY3RvcnksCiAgICAgICAgICAgICAgICAgICAgQ29tcGlsZUpTQywgQ29tcGlsZUpTQ1RvVCwg
Q29tcGlsZVdlYktpdCwgQ29tcGlsZVdlYktpdFRvVCwgQ29uZmlndXJlQnVpbGQsCi0gICAgICAg
ICAgICAgICAgICAgRG93bmxvYWRCdWlsdFByb2R1Y3QsIERvd25sb2FkQnVpbHRQcm9kdWN0RnJv
bU1hc3RlciwgRXh0cmFjdEJ1aWx0UHJvZHVjdCwgRXh0cmFjdFRlc3RSZXN1bHRzLCBJbnN0YWxs
R3RrRGVwZW5kZW5jaWVzLCBJbnN0YWxsV3BlRGVwZW5kZW5jaWVzLCBLaWxsT2xkUHJvY2Vzc2Vz
LAorICAgICAgICAgICAgICAgICAgIERvd25sb2FkQnVpbHRQcm9kdWN0LCBEb3dubG9hZEJ1aWx0
UHJvZHVjdEZyb21NYXN0ZXIsIEV4dHJhY3RCdWlsdFByb2R1Y3QsIEV4dHJhY3RUZXN0UmVzdWx0
cywgRmluZE1vZGlmaWVkQ2hhbmdlTG9ncywgSW5zdGFsbEd0a0RlcGVuZGVuY2llcywgSW5zdGFs
bFdwZURlcGVuZGVuY2llcywgS2lsbE9sZFByb2Nlc3NlcywKICAgICAgICAgICAgICAgICAgICBQ
cmludENvbmZpZ3VyYXRpb24sIFJlUnVuQVBJVGVzdHMsIFJlUnVuSmF2YVNjcmlwdENvcmVUZXN0
cywgUmVSdW5XZWJLaXRQZXJsVGVzdHMsIFJlUnVuV2ViS2l0VGVzdHMsIFJ1bkFQSVRlc3RzLCBS
dW5BUElUZXN0c1dpdGhvdXRQYXRjaCwKICAgICAgICAgICAgICAgICAgICBSdW5CaW5kaW5nc1Rl
c3RzLCBSdW5CdWlsZFdlYktpdE9yZ1VuaXRUZXN0cywgUnVuRVdTQnVpbGRib3RDaGVja0NvbmZp
ZywgUnVuRVdTVW5pdFRlc3RzLCBSdW5SZXN1bHRzZGJweVRlc3RzLCBSdW5KYXZhU2NyaXB0Q29y
ZVRlc3RzLCBSdW5KU0NUZXN0c1dpdGhvdXRQYXRjaCwgUnVuV2ViS2l0MVRlc3RzLAogICAgICAg
ICAgICAgICAgICAgIFJ1bldlYktpdFBlcmxUZXN0cywgUnVuV2ViS2l0UHlQeXRob24yVGVzdHMs
IFJ1bldlYktpdFB5UHl0aG9uM1Rlc3RzLCBSdW5XZWJLaXRUZXN0cywgUnVuV2ViS2l0VGVzdHNX
aXRob3V0UGF0Y2gsIFRlc3RXaXRoRmFpbHVyZUNvdW50LCBUcmlnZ2VyLCBUcmFuc2ZlclRvUzMs
IFVuQXBwbHlQYXRjaElmUmVxdWlyZWQsCkBAIC0zMDE1LDUgKzMwMTUsNjMgQEAgT1NFcnJvcjog
W0Vycm5vIDJdIE5vIHN1Y2ggZmlsZSBvciBkaXJlYwogICAgICAgICByZXR1cm4gc2VsZi5ydW5T
dGVwKCkKIAogCitjbGFzcyBUZXN0RmluZE1vZGlmaWVkQ2hhbmdlTG9ncyhCdWlsZFN0ZXBNaXhp
bkFkZGl0aW9ucywgdW5pdHRlc3QuVGVzdENhc2UpOgorICAgIGRlZiBzZXRVcChzZWxmKToKKyAg
ICAgICAgc2VsZi5sb25nTWVzc2FnZSA9IFRydWUKKyAgICAgICAgcmV0dXJuIHNlbGYuc2V0VXBC
dWlsZFN0ZXAoKQorCisgICAgZGVmIHRlYXJEb3duKHNlbGYpOgorICAgICAgICByZXR1cm4gc2Vs
Zi50ZWFyRG93bkJ1aWxkU3RlcCgpCisKKyAgICBkZWYgdGVzdF9tb2RpZmllZF9jaGFuZ2Vsb2dz
KHNlbGYpOgorICAgICAgICBzZWxmLnNldHVwU3RlcChGaW5kTW9kaWZpZWRDaGFuZ2VMb2dzKCkp
CisgICAgICAgIHNlbGYuZXhwZWN0UmVtb3RlQ29tbWFuZHMoCisgICAgICAgICAgICBFeHBlY3RT
aGVsbCh3b3JrZGlyPSd3a2RpcicsCisgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTE4
MCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvZ0Vudmlyb249RmFsc2UsCisgICAgICAgICAg
ICAgICAgICAgICAgICBjb21tYW5kPVsnZ2l0JywgJ2RpZmYnLCAnLXInLCAnLS1uYW1lLXN0YXR1
cycsICctLW5vLXJlbmFtZXMnLCAnLS1uby1leHQtZGlmZicsICctLWZ1bGwtaW5kZXgnXSkgKwor
ICAgICAgICAgICAgRXhwZWN0U2hlbGwubG9nKCdzdGRpbycsIHN0ZG91dD0nJydNCVNvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworTQlTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tmb3JtYXR0aW5n
L0Jsb2NrRm9ybWF0dGluZ0NvbnRleHQuaAorTQlTb3VyY2UvV2ViQ29yZS9sYXlvdXQvYmxvY2tm
b3JtYXR0aW5nL0Jsb2NrTWFyZ2luQ29sbGFwc2UuY3BwCitNCVRvb2xzL0NoYW5nZUxvZworTQlU
b29scy9UZXN0V2ViS2l0QVBJL0NNYWtlTGlzdHMudHh0JycnKSArCisgICAgICAgICAgICAwLAor
ICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3Rh
dGVfc3RyaW5nPSdGb3VuZCBtb2RpZmllZCBDaGFuZ2VMb2dzJykKKyAgICAgICAgcmMgPSBzZWxm
LnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ21v
ZGlmaWVkX2NoYW5nZWxvZ3MnKSwgWydTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cnLCAnVG9vbHMv
Q2hhbmdlTG9nJ10pCisgICAgICAgIHJldHVybiByYworCisgICAgZGVmIHRlc3Rfc3VjY2Vzc19h
ZGRlZF9jaGFuZ2Vsb2coc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKEZpbmRNb2RpZmll
ZENoYW5nZUxvZ3MoKSkKKyAgICAgICAgc2VsZi5leHBlY3RSZW1vdGVDb21tYW5kcygKKyAgICAg
ICAgICAgIEV4cGVjdFNoZWxsKHdvcmtkaXI9J3drZGlyJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHRpbWVvdXQ9MTgwLAorICAgICAgICAgICAgICAgICAgICAgICAgbG9nRW52aXJvbj1GYWxz
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQ9WydnaXQnLCAnZGlmZicsICctcics
ICctLW5hbWUtc3RhdHVzJywgJy0tbm8tcmVuYW1lcycsICctLW5vLWV4dC1kaWZmJywgJy0tZnVs
bC1pbmRleCddKSArCisgICAgICAgICAgICBFeHBlY3RTaGVsbC5sb2coJ3N0ZGlvJywgc3Rkb3V0
PScnJ0EJVG9vbHMvU2NyaXB0cy9DaGFuZ2VMb2cKK00JVG9vbHMvU2NyaXB0cy9ydW4tYXBpLXRl
c3RzJycnKSArCisgICAgICAgICAgICAwLAorICAgICAgICApCisgICAgICAgIHNlbGYuZXhwZWN0
T3V0Y29tZShyZXN1bHQ9U1VDQ0VTUywgc3RhdGVfc3RyaW5nPSdGb3VuZCBtb2RpZmllZCBDaGFu
Z2VMb2dzJykKKyAgICAgICAgcmMgPSBzZWxmLnJ1blN0ZXAoKQorICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHNlbGYuZ2V0UHJvcGVydHkoJ21vZGlmaWVkX2NoYW5nZWxvZ3MnKSwgWydUb29scy9T
Y3JpcHRzL0NoYW5nZUxvZyddKQorICAgICAgICByZXR1cm4gcmMKKworICAgIGRlZiB0ZXN0X2Zh
aWx1cmUoc2VsZik6CisgICAgICAgIHNlbGYuc2V0dXBTdGVwKEZpbmRNb2RpZmllZENoYW5nZUxv
Z3MoKSkKKyAgICAgICAgc2VsZi5zZXRQcm9wZXJ0eSgnYnVnX2lkJywgJzEyMzQnKQorICAgICAg
ICBzZWxmLmV4cGVjdFJlbW90ZUNvbW1hbmRzKAorICAgICAgICAgICAgRXhwZWN0U2hlbGwod29y
a2Rpcj0nd2tkaXInLAorICAgICAgICAgICAgICAgICAgICAgICAgdGltZW91dD0xODAsCisgICAg
ICAgICAgICAgICAgICAgICAgICBsb2dFbnZpcm9uPUZhbHNlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgY29tbWFuZD1bJ2dpdCcsICdkaWZmJywgJy1yJywgJy0tbmFtZS1zdGF0dXMnLCAnLS1u
by1yZW5hbWVzJywgJy0tbm8tZXh0LWRpZmYnLCAnLS1mdWxsLWluZGV4J10pICsKKyAgICAgICAg
ICAgIEV4cGVjdFNoZWxsLmxvZygnc3RkaW8nLCBzdGRvdXQ9J1VuZXhwZWN0ZWQgZmFpbHVyZScp
ICsKKyAgICAgICAgICAgIDIsCisgICAgICAgICkKKyAgICAgICAgc2VsZi5leHBlY3RPdXRjb21l
KHJlc3VsdD1GQUlMVVJFLCBzdGF0ZV9zdHJpbmc9J0ZhaWxlZCB0byBmaW5kIGxpc3Qgb2YgbW9k
aWZpZWQgQ2hhbmdlTG9ncycpCisgICAgICAgIHJldHVybiBzZWxmLnJ1blN0ZXAoKQorCisKIGlm
IF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgdW5pdHRlc3QubWFpbigpCg==
</data>
<flag name="review"
          id="407745"
          type_id="1"
          status="+"
          setter="jbedard"
    />
          </attachment>
      

    </bug>

</bugzilla>