<?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>161789</bug_id>
          
          <creation_ts>2016-09-09 02:29:52 -0700</creation_ts>
          <short_desc>W3C test downloader should be able to import specific files/sub-directories in a skipped directory</short_desc>
          <delta_ts>2016-10-10 03:30:05 -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>WebCore Misc.</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>glenn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1228080</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-09 02:29:52 -0700</bug_when>
    <thetext>W3C test downloader should be able to import specific files/sub-directories in a skipped directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1228082</commentid>
    <comment_count>1</comment_count>
      <attachid>288396</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-09-09 02:40:38 -0700</bug_when>
    <thetext>Created attachment 288396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237748</commentid>
    <comment_count>2</comment_count>
      <attachid>288396</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-10-07 12:38:26 -0700</bug_when>
    <thetext>Comment on attachment 288396
Patch

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

r=me assuming both problems are addressed.

&gt; Tools/Scripts/webkitpy/w3c/test_downloader.py:137
&gt; +            potential_copy_paths = [copy_directory for copy_directory in copy_paths if copy_directory in relative_path]

I don&apos;t think &quot;copy_directory in relative_path&quot; is right. We should do relative_path.startswith(copy_directory) instead.
If there is / differences, then we should be using filesystem helper functions instead.

&gt; Tools/Scripts/webkitpy/w3c/test_downloader.py:141
&gt; +            longest_copy_path_length = len(max(potential_copy_paths, key=len))
&gt; +            return not any([skip_directory for skip_directory in self.paths_to_skip if skip_directory in relative_path and len(skip_directory) &gt; longest_copy_path_length])

This is such a convoluted way of checking the condition we need to be checking.
Relying on the length to check that skip_directory is more specific than a path in potential_copy_paths is not obvious at all.
I think it&apos;s better to just have two nested loops instead for clarify unless the performance is actually important.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238252</commentid>
    <comment_count>3</comment_count>
      <attachid>291083</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-10 02:55:50 -0700</bug_when>
    <thetext>Created attachment 291083
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238253</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-10 02:57:57 -0700</bug_when>
    <thetext>Thanks for the review.

(In reply to comment #2)
&gt; Comment on attachment 288396 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=288396&amp;action=review
&gt; 
&gt; r=me assuming both problems are addressed.
&gt; 
&gt; &gt; Tools/Scripts/webkitpy/w3c/test_downloader.py:137
&gt; &gt; +            potential_copy_paths = [copy_directory for copy_directory in copy_paths if copy_directory in relative_path]
&gt; 
&gt; I don&apos;t think &quot;copy_directory in relative_path&quot; is right. We should do
&gt; relative_path.startswith(copy_directory) instead.
&gt; If there is / differences, then we should be using filesystem helper
&gt; functions instead.

Right. Fixed.

&gt; &gt; Tools/Scripts/webkitpy/w3c/test_downloader.py:141
&gt; &gt; +            longest_copy_path_length = len(max(potential_copy_paths, key=len))
&gt; &gt; +            return not any([skip_directory for skip_directory in self.paths_to_skip if skip_directory in relative_path and len(skip_directory) &gt; longest_copy_path_length])
&gt; 
&gt; This is such a convoluted way of checking the condition we need to be
&gt; checking.
&gt; Relying on the length to check that skip_directory is more specific than a
&gt; path in potential_copy_paths is not obvious at all.
&gt; I think it&apos;s better to just have two nested loops instead for clarify unless
&gt; the performance is actually important.

I updated the patch by getting the longest matching copy path, the longest matching skip path, and checking whether the copy path starts with the skip path.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238258</commentid>
    <comment_count>5</comment_count>
      <attachid>291083</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 03:30:01 -0700</bug_when>
    <thetext>Comment on attachment 291083
Patch for landing

Clearing flags on attachment: 291083

Committed r206993: &lt;http://trac.webkit.org/changeset/206993&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238259</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 03:30:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>288396</attachid>
            <date>2016-09-09 02:40:38 -0700</date>
            <delta_ts>2016-10-10 02:55:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161789-20160909113809.patch</filename>
            <type>text/plain</type>
            <size>10577</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA1Njk1CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMTRjYTZiNzNmYzRlZTU1MzU3MjU5YjIzOWI1Njc3ZTMy
MzY4NGY3Ni4uZDI1MmZlZmVmMDdiM2EzOTMyZDhhYTVkMjI0YTQwNDc0NjgwNDJiMiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE2LTA5LTA5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXM0MgdGVzdCBkb3dubG9hZGVyIHNob3VsZCBiZSBhYmxlIHRvIGltcG9ydCBzcGVjaWZp
YyBmaWxlcy9zdWItZGlyZWN0b3JpZXMgaW4gYSBza2lwcGVkIGRpcmVjdG9yeQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNzg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCB0ZXN0c19kaXJl
Y3Rvcnkgb3B0aW9uIGFuZCBjb3JyZXNwb25kaW5nIHRlc3QuCisgICAgICAgIFRoaXMgb3B0aW9u
IHdhcyBhbGxvd2luZyB0byBpbXBvcnQgYSBzdWItZGlyZWN0b3J5IGZyb20gYSB0ZXN0IHJlcG9z
aXRvcnkuCisgICAgICAgIFdlIGNhbiByZWFkZCBpdCBpZiBuZWNlc3NhcnkuCisKKyAgICAgICAg
QWRkaW5nIHN1cHBvcnQgZm9yIGZpbmVyLWdyYWluZWQgaW1wb3J0IHJ1bGVzLgorICAgICAgICBQ
cmV2aW91c2x5IHNraXBwZWQgZGlyZWN0b3JpZXMgd2VyZSBmdWxseSByZW1vdmVkLgorICAgICAg
ICBOb3csIGRpcmVjdG9yaWVzIG1heSBiZSBza2lwcGVkIGJ1dCBzdWIgZGlyZWN0b3JpZXMgb2Yg
dGhlbSBtYXkgYmUgaW1wb3J0ZWQuCisgICAgICAgIFRoaXMgY3VycmVudGx5IGhhcHBlbnMgaW4g
d2ViLXBsYXRmb3JtLXRlc3RzIHJlcG8uCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3cz
Yy90ZXN0X2Rvd25sb2FkZXIucHk6CisgICAgICAgIChUZXN0RG93bmxvYWRlci5fYWRkX3Rlc3Rf
c3VpdGVfcGF0aHMpOiBSZW1vdmluZyB0ZXN0c19kaXJlY3Rvcnkgb3B0aW9uLgorICAgICAgICAo
VGVzdERvd25sb2FkZXIuY29weV90ZXN0cyk6IFJlZmFjdG9yaW5nIGZpbGUgY29weSBieSBnZW5l
cmF0aW5nIHRoZSBsaXN0IG9mIGFsbCBkaXJlY3RvcmllcyBmb3Igd2hpY2ggZGlyZWN0IGZpbGVz
IHNob3VsZCBiZSBpbXBvcnRlZC4KKyAgICAgICAgKFRlc3REb3dubG9hZGVyLmNvcHlfdGVzdHMu
c2hvdWxkX2NvcHlfZGlyKToKKyAgICAgICAgKFRlc3REb3dubG9hZGVyLmNvcHlfdGVzdHMuc2hv
dWxkX2NvcHlfZmlsZSk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBv
cnRlcl91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RJbXBvcnRlclRlc3QudGVzdF90ZXN0c19k
aXJlY3RvcnkpOiBEZWxldGVkLgorICAgICAgICAoVGVzdEltcG9ydGVyVGVzdC50ZXN0X3NraXBf
dGVzdF9pbXBvcnQpOiBBZGRlZC4KKwogMjAxNi0wOS0wOCAgWXVzdWtlIFN1enVraSAgPHV0YXRh
bmUudGVhQGdtYWlsLmNvbT4KIAogICAgICAgICBbV1RGXSBIYXNoVGFibGUncyByZWhhc2ggaXMg
bm90IGNvbXBhdGlibGUgdG8gUmVmPFQ+IGFuZCBBU2FuCmRpZmYgLS1naXQgYS9Ub29scy9TY3Jp
cHRzL3dlYmtpdHB5L3czYy90ZXN0X2Rvd25sb2FkZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L3czYy90ZXN0X2Rvd25sb2FkZXIucHkKaW5kZXggNzI3ODY0ODgyMjQ1OGU3YjU0MDFjM2Ey
Y2UyNGVhODU3MmIyYTgyNi4uYTkxZmNkYzdhNDlkYTIzYjY2ZTAxMWM1M2E3NzE3ZGE1YmJmNmYy
NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9kb3dubG9hZGVy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfZG93bmxvYWRlci5weQpA
QCAtMjYsNyArMjYsNiBAQAogIiIiCiAgVGhpcyBzY3JpcHQgZG93bmxvYWRzIFczQyB0ZXN0IHJl
cG9zaXRvcmllcy4KICIiIgotI0ZJWE1FOiBJbXBsZW1lbnQgc3VibW9kdWxlcyBleHRyYWN0aW9u
IHRvIHByZXBhcmUgZm9yIGdlbmVyYXRpb24gb2YgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNDL3Jl
c291cmNlcy9XUFRNb2R1bGVzCiAKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2luZwpAQCAtMTA0
LDEyICsxMDMsMTEgQEAgY2xhc3MgVGVzdERvd25sb2FkZXIob2JqZWN0KToKICAgICAgICAgICAg
IGVsaWYgJ1BBU1MnIGluIGxpbmUuZXhwZWN0YXRpb25zOgogICAgICAgICAgICAgICAgIHNlbGYu
cGF0aHNfdG9faW1wb3J0LmFwcGVuZChsaW5lLm5hbWUpCiAKLSAgICBkZWYgX2FkZF90ZXN0X3N1
aXRlX3BhdGhzKHNlbGYsIHRlc3RfcGF0aHMsIGRpcmVjdG9yeSwgd2Via2l0X3BhdGgsIHRlc3Rz
X2RpcmVjdG9yeSk6Ci0gICAgICAgIGNvbXBsZXRlX2RpcmVjdG9yeSA9IHNlbGYuX2ZpbGVzeXN0
ZW0uam9pbihkaXJlY3RvcnksIHRlc3RzX2RpcmVjdG9yeSkKLSAgICAgICAgZm9yIG5hbWUgaW4g
c2VsZi5fZmlsZXN5c3RlbS5saXN0ZGlyKGNvbXBsZXRlX2RpcmVjdG9yeSk6Ci0gICAgICAgICAg
ICBvcmlnaW5hbF9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHdlYmtpdF9wYXRoLCB0ZXN0
c19kaXJlY3RvcnksIG5hbWUpCisgICAgZGVmIF9hZGRfdGVzdF9zdWl0ZV9wYXRocyhzZWxmLCB0
ZXN0X3BhdGhzLCBkaXJlY3RvcnksIHdlYmtpdF9wYXRoKToKKyAgICAgICAgZm9yIG5hbWUgaW4g
c2VsZi5fZmlsZXN5c3RlbS5saXN0ZGlyKGRpcmVjdG9yeSk6CisgICAgICAgICAgICBvcmlnaW5h
bF9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHdlYmtpdF9wYXRoLCBuYW1lKQogICAgICAg
ICAgICAgaWYgbm90IG5hbWUuc3RhcnRzd2l0aCgnLicpIGFuZCBub3Qgb3JpZ2luYWxfcGF0aCBp
biBzZWxmLnBhdGhzX3RvX3NraXA6Ci0gICAgICAgICAgICAgICAgdGVzdF9wYXRocy5hcHBlbmQo
KG9yaWdpbmFsX3BhdGgsIHNlbGYuX2ZpbGVzeXN0ZW0uam9pbih3ZWJraXRfcGF0aCwgbmFtZSkp
KQorICAgICAgICAgICAgICAgIHRlc3RfcGF0aHMuYXBwZW5kKG9yaWdpbmFsX3BhdGgpCiAKICAg
ICBkZWYgX2VtcHR5X2RpcmVjdG9yeShzZWxmLCBkaXJlY3RvcnkpOgogICAgICAgICBpZiBzZWxm
Ll9maWxlc3lzdGVtLmV4aXN0cyhkaXJlY3RvcnkpOgpAQCAtMTIzLDM1ICsxMjEsNDEgQEAgY2xh
c3MgVGVzdERvd25sb2FkZXIob2JqZWN0KToKICAgICAgICAgY29weV9wYXRocyA9IFtdCiAgICAg
ICAgIGlmIHRlc3RfcGF0aHM6CiAgICAgICAgICAgICBmb3IgcGF0aCBpbiB0ZXN0X3BhdGhzOgot
ICAgICAgICAgICAgICAgIGNvcHlfcGF0aHMuYXBwZW5kKChwYXRoLCBwYXRoKSkKKyAgICAgICAg
ICAgICAgICBjb3B5X3BhdGhzLmFwcGVuZChwYXRoKQogICAgICAgICAgICAgZm9yIHBhdGggaW4g
c2VsZi5wYXRoc190b19pbXBvcnQ6Ci0gICAgICAgICAgICAgICAgY29weV9wYXRocy5hcHBlbmQo
KHBhdGgsIHBhdGgpKQorICAgICAgICAgICAgICAgIGNvcHlfcGF0aHMuYXBwZW5kKHBhdGgpCiAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICBmb3IgdGVzdF9yZXBvc2l0b3J5IGluIHNlbGYudGVz
dF9yZXBvc2l0b3JpZXM6Ci0gICAgICAgICAgICAgICAgc2VsZi5fYWRkX3Rlc3Rfc3VpdGVfcGF0
aHMoY29weV9wYXRocywgc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYucmVwb3NpdG9yeV9kaXJl
Y3RvcnksIHRlc3RfcmVwb3NpdG9yeVsnbmFtZSddKSwgdGVzdF9yZXBvc2l0b3J5WyduYW1lJ10s
Ci0gICAgICAgICAgICAgICAgICAgIHRlc3RfcmVwb3NpdG9yeVsndGVzdHNfZGlyZWN0b3J5J10g
aWYgKCd0ZXN0c19kaXJlY3RvcnknIGluIHRlc3RfcmVwb3NpdG9yeSkgZWxzZSAnJykKKyAgICAg
ICAgICAgICAgICBzZWxmLl9hZGRfdGVzdF9zdWl0ZV9wYXRocyhjb3B5X3BhdGhzLCBzZWxmLl9m
aWxlc3lzdGVtLmpvaW4oc2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSwgdGVzdF9yZXBvc2l0b3J5
WyduYW1lJ10pLCB0ZXN0X3JlcG9zaXRvcnlbJ25hbWUnXSkKICAgICAgICAgICAgICMgSGFuZGxp
bmcgb2YgdGVzdHMgbWFya2VkIGFzIFsgUGFzcyBdIGluIGV4cGVjdGF0aW9ucyBmaWxlLgogICAg
ICAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5wYXRoc190b19pbXBvcnQ6Ci0gICAgICAgICAgICAg
ICAgaWYgbm90IChwYXRoLCBwYXRoKSBpbiBjb3B5X3BhdGhzOgotICAgICAgICAgICAgICAgICAg
ICBjb3B5X3BhdGhzLmFwcGVuZCgocGF0aCwgcGF0aCkpCi0KLSAgICAgICAgZm9yIHBhdGhzIGlu
IGNvcHlfcGF0aHM6Ci0gICAgICAgICAgICBzb3VyY2VfcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0u
am9pbihzZWxmLnJlcG9zaXRvcnlfZGlyZWN0b3J5LCBwYXRoc1swXSkKLSAgICAgICAgICAgIGRl
c3RpbmF0aW9uX3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oZGVzdGluYXRpb25fZGlyZWN0
b3J5LCBwYXRoc1sxXSkKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9maWxlc3lzdGVtLmV4aXN0
cyhzb3VyY2VfcGF0aCk6Ci0gICAgICAgICAgICAgICAgX2xvZy5lcnJvcignQ2Fubm90IGNvcHkg
JXMnICUgc291cmNlX3BhdGgpCi0gICAgICAgICAgICBlbGlmIHNlbGYuX2ZpbGVzeXN0ZW0uaXNk
aXIoc291cmNlX3BhdGgpOgotICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0uY29weXRy
ZWUoc291cmNlX3BhdGgsIGRlc3RpbmF0aW9uX3BhdGgpCi0gICAgICAgICAgICBlbHNlOgotICAg
ICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rvcnkoc2VsZi5f
ZmlsZXN5c3RlbS5kaXJuYW1lKGRlc3RpbmF0aW9uX3BhdGgpKQotICAgICAgICAgICAgICAgIHNl
bGYuX2ZpbGVzeXN0ZW0uY29weWZpbGUoc291cmNlX3BhdGgsIGRlc3RpbmF0aW9uX3BhdGgpCi0K
LSAgICAgICAgZm9yIHBhdGggaW4gc2VsZi5wYXRoc190b19za2lwOgotICAgICAgICAgICAgZGVz
dGluYXRpb25fcGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihkZXN0aW5hdGlvbl9kaXJlY3Rv
cnksIHBhdGgpCi0gICAgICAgICAgICBpZiBzZWxmLl9maWxlc3lzdGVtLmlzZmlsZShkZXN0aW5h
dGlvbl9wYXRoKToKLSAgICAgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLnJlbW92ZShkZXN0
aW5hdGlvbl9wYXRoKQotICAgICAgICAgICAgZWxpZiBzZWxmLl9maWxlc3lzdGVtLmlzZGlyKGRl
c3RpbmF0aW9uX3BhdGgpOgotICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ucm10cmVl
KGRlc3RpbmF0aW9uX3BhdGgpCisgICAgICAgICAgICAgICAgaWYgbm90IHBhdGggaW4gY29weV9w
YXRoczoKKyAgICAgICAgICAgICAgICAgICAgY29weV9wYXRocy5hcHBlbmQocGF0aCkKKworICAg
ICAgICBkZWYgc2hvdWxkX2NvcHlfZGlyKGZpbGVzeXN0ZW0sIGRpcmVjdG9yeSk6CisgICAgICAg
ICAgICByZWxhdGl2ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5yZWxwYXRoKGRpcmVjdG9yeSwg
c2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSkKKyAgICAgICAgICAgIHBvdGVudGlhbF9jb3B5X3Bh
dGhzID0gW2NvcHlfZGlyZWN0b3J5IGZvciBjb3B5X2RpcmVjdG9yeSBpbiBjb3B5X3BhdGhzIGlm
IGNvcHlfZGlyZWN0b3J5IGluIHJlbGF0aXZlX3BhdGhdCisgICAgICAgICAgICBpZiBub3QgcG90
ZW50aWFsX2NvcHlfcGF0aHM6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisgICAgICAg
ICAgICBsb25nZXN0X2NvcHlfcGF0aF9sZW5ndGggPSBsZW4obWF4KHBvdGVudGlhbF9jb3B5X3Bh
dGhzLCBrZXk9bGVuKSkKKyAgICAgICAgICAgIHJldHVybiBub3QgYW55KFtza2lwX2RpcmVjdG9y
eSBmb3Igc2tpcF9kaXJlY3RvcnkgaW4gc2VsZi5wYXRoc190b19za2lwIGlmIHNraXBfZGlyZWN0
b3J5IGluIHJlbGF0aXZlX3BhdGggYW5kIGxlbihza2lwX2RpcmVjdG9yeSkgPiBsb25nZXN0X2Nv
cHlfcGF0aF9sZW5ndGhdKQorCisgICAgICAgICMgQ29tcHV0ZSBkaXJlY3RvcmllcyBmb3Igd2hp
Y2ggd2Ugc2hvdWxkIGNvcHkgZGlyZWN0IGNoaWxkcmVuCisgICAgICAgIGRpcmVjdG9yaWVzX3Rv
X2NvcHkgPSBzZWxmLl9maWxlc3lzdGVtLmRpcnNfdW5kZXIoc2VsZi5yZXBvc2l0b3J5X2RpcmVj
dG9yeSwgc2hvdWxkX2NvcHlfZGlyKQorCisgICAgICAgIGRlZiBzaG91bGRfY29weV9maWxlKGZp
bGVzeXN0ZW0sIGRpcm5hbWUsIGZpbGVuYW1lKToKKyAgICAgICAgICAgIGZ1bGxfcGF0aCA9IGZp
bGVzeXN0ZW0uam9pbihkaXJuYW1lLCBmaWxlbmFtZSkKKyAgICAgICAgICAgIHJlbGF0aXZlX3Bh
dGggPSBzZWxmLl9maWxlc3lzdGVtLnJlbHBhdGgoZnVsbF9wYXRoLCBzZWxmLnJlcG9zaXRvcnlf
ZGlyZWN0b3J5KQorICAgICAgICAgICAgaWYgcmVsYXRpdmVfcGF0aCBpbiBjb3B5X3BhdGhzOgor
ICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgICAgICBpZiByZWxhdGl2ZV9wYXRo
IGluIHNlbGYucGF0aHNfdG9fc2tpcDoKKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKKyAg
ICAgICAgICAgIHJldHVybiBkaXJuYW1lIGluIGRpcmVjdG9yaWVzX3RvX2NvcHkKKworICAgICAg
ICBmb3Igc291cmNlX3BhdGggaW4gc2VsZi5fZmlsZXN5c3RlbS5maWxlc191bmRlcihzZWxmLnJl
cG9zaXRvcnlfZGlyZWN0b3J5LCBmaWxlX2ZpbHRlcj1zaG91bGRfY29weV9maWxlKToKKyAgICAg
ICAgICAgIGRlc3RpbmF0aW9uX3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4oZGVzdGluYXRp
b25fZGlyZWN0b3J5LCBzZWxmLl9maWxlc3lzdGVtLnJlbHBhdGgoc291cmNlX3BhdGgsIHNlbGYu
cmVwb3NpdG9yeV9kaXJlY3RvcnkpKQorICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5tYXli
ZV9tYWtlX2RpcmVjdG9yeShzZWxmLl9maWxlc3lzdGVtLmRpcm5hbWUoZGVzdGluYXRpb25fcGF0
aCkpCisgICAgICAgICAgICBzZWxmLl9maWxlc3lzdGVtLmNvcHlmaWxlKHNvdXJjZV9wYXRoLCBk
ZXN0aW5hdGlvbl9wYXRoKQogCiAgICAgZGVmIF9naXRfc3VibW9kdWxlc19kZXNjcmlwdGlvbihz
ZWxmLCB0ZXN0X3JlcG9zaXRvcnkpOgogICAgICAgICBkaXJlY3RvcnkgPSBzZWxmLl9maWxlc3lz
dGVtLmpvaW4oc2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSwgdGVzdF9yZXBvc2l0b3J5WyduYW1l
J10pCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2ltcG9ydGVy
X3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRlcl91
bml0dGVzdC5weQppbmRleCA0ZTIzNGU0NjUxYTdjMzcwYjZhYmJmMzE3ZDdhNjEwZGJkYTdhMGQx
Li5iNjRmMGJkYTMxNGE3MTUxZTNmNjNiY2U2ZGRkNWE0OGJkM2U4NDk1IDEwMDY0NAotLS0gYS9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2ltcG9ydGVyX3VuaXR0ZXN0LnB5CisrKyBi
L1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0ZXJfdW5pdHRlc3QucHkKQEAg
LTE2NCwyNyArMTY0LDM3IEBAIGNsYXNzIFRlc3RJbXBvcnRlclRlc3QodW5pdHRlc3QuVGVzdENh
c2UpOgogICAgICAgICAjIEZJWE1FOiBNb2NrLXVwIG9mIGdpdCBjYW5ub3QgdXNlIHN1Ym1vZHVs
ZSBjb21tYW5kLCBoZW5jZSB0aGUganNvbiBmaWxlIGlzIGVtcHR5LCBidXQgc3RpbGwgaXQgc2hv
dWxkIGJlIGNyZWF0ZWQKICAgICAgICAgI3NlbGYuYXNzZXJ0VHJ1ZSgnaHR0cHM6Ly9naXRodWIu
Y29tL3czYy90ZXN0aGFybmVzcy5qcy9hcmNoaXZlL2RiNGQzOTFhNjk4NzdkNGExZWFhZjUxZDE3
MjVjOTlhNWI4ZWQ4NC50YXIuZ3onIGluIGZzLnJlYWRfdGV4dF9maWxlKCcvbW9jay1jaGVja291
dC9MYXlvdXRUZXN0cy93M2MvcmVzb3VyY2VzL3dlYi1wbGF0Zm9ybS10ZXN0cy1tb2R1bGVzLmpz
b24nKSkKIAotICAgIGRlZiB0ZXN0X3Rlc3RzX2RpcmVjdG9yeShzZWxmKToKKyAgICBkZWYgdGVz
dF9za2lwX3Rlc3RfaW1wb3J0KHNlbGYpOgogICAgICAgICBGQUtFX0ZJTEVTID0gewogICAgICAg
ICAgICAgJy9tb2NrLWNoZWNrb3V0L1dlYktpdEJ1aWxkL3czYy10ZXN0cy9zdHJlYW1zLWFwaS9y
ZWZlcmVuY2UtaW1wbGVtZW50YXRpb24vd2ViLXBsYXRmb3JtLXRlc3RzL3Rlc3QuaHRtbCc6ICc8
IWRvY3R5cGUgaHRtbD48c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2Ny
aXB0PicsCi0gICAgJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNv
dXJjZXMvVGVzdFJlcG9zaXRvcmllcyc6ICcnJworICAgICAgICAgICAgJy9tb2NrLWNoZWNrb3V0
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvVGVzdFJlcG9zaXRvcmllcyc6ICcn
JwogWwogICAgIHsKLSAgICAgICAgIm5hbWUiOiAic3RyZWFtcy1hcGkiLAotICAgICAgICAidXJs
IjogImh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvc3RyZWFtcy5naXQiLAorICAgICAgICAibmFt
ZSI6ICJ3ZWItcGxhdGZvcm0tdGVzdHMiLAorICAgICAgICAidXJsIjogImh0dHBzOi8vZ2l0aHVi
LmNvbS9teXJlcG8iLAogICAgICAgICAicmV2aXNpb24iOiAiN2NjOTZkZCIsCi0gICAgICAgICJ0
ZXN0c19kaXJlY3RvcnkiOiAicmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3dlYi1wbGF0Zm9ybS10
ZXN0cyIsCiAgICAgICAgICJwYXRoc190b19za2lwIjogW10sCiAgICAgICAgICJwYXRoc190b19p
bXBvcnQiOiBbXSwKICAgICAgICAgImltcG9ydF9vcHRpb25zIjogW10KICAgICAgfQotXQotJycn
fQorXScnJywKKyAgICAgICAgICAgICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvcmVzb3VyY2VzL0ltcG9ydEV4cGVjdGF0aW9ucyc6ICcnJword2ViLXBsYXRmb3JtLXRl
c3RzL2Rpci10by1za2lwIFsgU2tpcCBdCit3ZWItcGxhdGZvcm0tdGVzdHMvZGlyLXRvLXNraXAv
ZGlyLXRvLWltcG9ydCBbIFBhc3MgXQord2ViLXBsYXRmb3JtLXRlc3RzL2Rpci10by1za2lwL2Zp
bGUtdG8taW1wb3J0Lmh0bWwgWyBQYXNzIF0KKycnJywKKyAgICAgICAgICAgICcvbW9jay1jaGVj
a291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBsYXRmb3JtLXRlc3RzL2Rpci10by1za2lw
L3Rlc3QtdG8tc2tpcC5odG1sJzogJ3RvIGJlIHNraXBwZWQnLAorICAgICAgICAgICAgJy9tb2Nr
LWNoZWNrb3V0L1dlYktpdEJ1aWxkL3czYy10ZXN0cy93ZWItcGxhdGZvcm0tdGVzdHMvZGlyLXRv
LXNraXAvZGlyLXRvLWltcG9ydC90ZXN0LXRvLWltcG9ydC5odG1sJzogJ3RvIGJlIGltcG9ydGVk
JywKKyAgICAgICAgICAgICcvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Rpci10by1za2lwL2Rpci10by1ub3QtaW1wb3J0L3Rlc3QtdG8tbm90
LWltcG9ydC5odG1sJzogJ3RvIGJlIHNraXBwZWQnLAorICAgICAgICAgICAgJy9tb2NrLWNoZWNr
b3V0L1dlYktpdEJ1aWxkL3czYy10ZXN0cy93ZWItcGxhdGZvcm0tdGVzdHMvZGlyLXRvLXNraXAv
ZmlsZS10by1pbXBvcnQuaHRtbCc6ICd0byBiZSBpbXBvcnRlZCcsCisgICAgICAgIH0KIAotICAg
ICAgICBmcyA9IHNlbGYuaW1wb3J0X2Rvd25sb2FkZWRfdGVzdHMoWyctLW5vLWZldGNoJywgJy0t
aW1wb3J0LWFsbCcsICctZCcsICd3M2MnXSwgRkFLRV9GSUxFUykKKyAgICAgICAgZnMgPSBzZWxm
LmltcG9ydF9kb3dubG9hZGVkX3Rlc3RzKFsnLS1uby1mZXRjaCcsICctZCcsICd3M2MnXSwgRkFL
RV9GSUxFUykKIAotICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGZzLmV4aXN0cygnL21vY2stY2hl
Y2tvdXQvTGF5b3V0VGVzdHMvdzNjL3N0cmVhbXMtYXBpL3JlZmVyZW5jZS1pbXBsZW1lbnRhdGlv
bi93ZWItcGxhdGZvcm0tdGVzdHMvdGVzdC5odG1sJykpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1
ZShmcy5leGlzdHMoJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy9zdHJlYW1zLWFwaS90
ZXN0Lmh0bWwnKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGZzLmV4aXN0cygnL21vY2stY2hl
Y2tvdXQvTGF5b3V0VGVzdHMvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kaXItdG8tc2tpcC9maWxl
LXRvLWltcG9ydC5odG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShmcy5leGlzdHMoJy9t
b2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZGlyLXRvLXNr
aXAvZGlyLXRvLWltcG9ydC90ZXN0LXRvLWltcG9ydC5odG1sJykpCisgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UoZnMuZXhpc3RzKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Rpci10by1za2lwL2Rpci10by1ub3QtaW1wb3J0L3Rlc3QtdG8tbm90LWlt
cG9ydC5odG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoZnMuZXhpc3RzKCcvbW9jay1j
aGVja291dC9MYXlvdXRUZXN0cy93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rpci10by1za2lwL3Rl
c3QtdG8tc2tpcC5odG1sJykpCiAKICAgICBkZWYgdGVzdF9jbGVhbl9kaXJlY3Rvcnlfb3B0aW9u
KHNlbGYpOgogICAgICAgICBGQUtFX0ZJTEVTID0gewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291083</attachid>
            <date>2016-10-10 02:55:50 -0700</date>
            <delta_ts>2016-10-10 03:30:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-161789-20161010115228.patch</filename>
            <type>text/plain</type>
            <size>11109</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2OTg2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTFjOWRlMTRiZGYxZjAwMmQ5OWMwYThiYTQzZDdiMGY0
MTQ3NDVjMC4uODRkZTAxODYwMjE5NDliMjcxMWZhN2VkZDk1OTVmNzk5NDcyNGNkOSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4
IEBACisyMDE2LTEwLTEwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBXM0MgdGVzdCBkb3dubG9hZGVyIHNob3VsZCBiZSBhYmxlIHRvIGltcG9ydCBzcGVjaWZp
YyBmaWxlcy9zdWItZGlyZWN0b3JpZXMgaW4gYSBza2lwcGVkIGRpcmVjdG9yeQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYxNzg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIFJlbW92ZWQgdGVzdHNfZGlyZWN0
b3J5IG9wdGlvbiBhbmQgY29ycmVzcG9uZGluZyB0ZXN0LgorICAgICAgICBUaGlzIG9wdGlvbiB3
YXMgYWxsb3dpbmcgdG8gaW1wb3J0IGEgc3ViLWRpcmVjdG9yeSBmcm9tIGEgdGVzdCByZXBvc2l0
b3J5LgorICAgICAgICBXZSBjYW4gcmVhZGQgaXQgaWYgbmVjZXNzYXJ5LgorCisgICAgICAgIEFk
ZGluZyBzdXBwb3J0IGZvciBmaW5lci1ncmFpbmVkIGltcG9ydCBydWxlcy4KKyAgICAgICAgUHJl
dmlvdXNseSBza2lwcGVkIGRpcmVjdG9yaWVzIHdlcmUgZnVsbHkgcmVtb3ZlZC4KKyAgICAgICAg
Tm93LCBkaXJlY3RvcmllcyBtYXkgYmUgc2tpcHBlZCBidXQgc3ViIGRpcmVjdG9yaWVzIG9mIHRo
ZW0gbWF5IGJlIGltcG9ydGVkLgorICAgICAgICBUaGlzIGN1cnJlbnRseSBoYXBwZW5zIGluIHdl
Yi1wbGF0Zm9ybS10ZXN0cyByZXBvLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS93M2Mv
dGVzdF9kb3dubG9hZGVyLnB5OgorICAgICAgICAoVGVzdERvd25sb2FkZXIuX2FkZF90ZXN0X3N1
aXRlX3BhdGhzKTogUmVtb3ZpbmcgdGVzdHNfZGlyZWN0b3J5IG9wdGlvbi4KKyAgICAgICAgKFRl
c3REb3dubG9hZGVyLmNvcHlfdGVzdHMpOiBSZWZhY3RvcmluZyBmaWxlIGNvcHkgYnkgZ2VuZXJh
dGluZyB0aGUgbGlzdCBvZiBhbGwgZGlyZWN0b3JpZXMgZm9yIHdoaWNoIGRpcmVjdCBmaWxlcyBz
aG91bGQgYmUgaW1wb3J0ZWQuCisgICAgICAgIChUZXN0RG93bmxvYWRlci5jb3B5X3Rlc3RzLnNo
b3VsZF9jb3B5X2Rpcik6CisgICAgICAgIChUZXN0RG93bmxvYWRlci5jb3B5X3Rlc3RzLnNob3Vs
ZF9jb3B5X2ZpbGUpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvdzNjL3Rlc3RfaW1wb3J0
ZXJfdW5pdHRlc3QucHk6CisgICAgICAgIChUZXN0SW1wb3J0ZXJUZXN0LnRlc3RfdGVzdHNfZGly
ZWN0b3J5KTogRGVsZXRlZC4KKyAgICAgICAgKFRlc3RJbXBvcnRlclRlc3QudGVzdF9za2lwX3Rl
c3RfaW1wb3J0KTogQWRkZWQuCisKIDIwMTYtMTAtMDkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB2YWxpZGF0ZS1jb21taXR0ZXItbGlzdHMg
c2hvdyBpbmFjdGl2ZSByZXZpZXdlcnMKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvdzNjL3Rlc3RfZG93bmxvYWRlci5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvdzNjL3Rl
c3RfZG93bmxvYWRlci5weQppbmRleCA3Mjc4NjQ4ODIyNDU4ZTdiNTQwMWMzYTJjZTI0ZWE4NTcy
YjJhODI2Li5kMTAyYmI5YzEwN2NmNmY1OWM0NmQ1Zjg3YjZlOTViNzM5MjVjZWU0IDEwMDY0NAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2Rvd25sb2FkZXIucHkKKysrIGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9kb3dubG9hZGVyLnB5CkBAIC0yNiw3ICsy
Niw2IEBACiAiIiIKICBUaGlzIHNjcmlwdCBkb3dubG9hZHMgVzNDIHRlc3QgcmVwb3NpdG9yaWVz
LgogIiIiCi0jRklYTUU6IEltcGxlbWVudCBzdWJtb2R1bGVzIGV4dHJhY3Rpb24gdG8gcHJlcGFy
ZSBmb3IgZ2VuZXJhdGlvbiBvZiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M0MvcmVzb3VyY2VzL1dQ
VE1vZHVsZXMKIAogaW1wb3J0IGpzb24KIGltcG9ydCBsb2dnaW5nCkBAIC0xMDQsMTIgKzEwMywx
MSBAQCBjbGFzcyBUZXN0RG93bmxvYWRlcihvYmplY3QpOgogICAgICAgICAgICAgZWxpZiAnUEFT
UycgaW4gbGluZS5leHBlY3RhdGlvbnM6CiAgICAgICAgICAgICAgICAgc2VsZi5wYXRoc190b19p
bXBvcnQuYXBwZW5kKGxpbmUubmFtZSkKIAotICAgIGRlZiBfYWRkX3Rlc3Rfc3VpdGVfcGF0aHMo
c2VsZiwgdGVzdF9wYXRocywgZGlyZWN0b3J5LCB3ZWJraXRfcGF0aCwgdGVzdHNfZGlyZWN0b3J5
KToKLSAgICAgICAgY29tcGxldGVfZGlyZWN0b3J5ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKGRp
cmVjdG9yeSwgdGVzdHNfZGlyZWN0b3J5KQotICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLl9maWxl
c3lzdGVtLmxpc3RkaXIoY29tcGxldGVfZGlyZWN0b3J5KToKLSAgICAgICAgICAgIG9yaWdpbmFs
X3BhdGggPSBzZWxmLl9maWxlc3lzdGVtLmpvaW4od2Via2l0X3BhdGgsIHRlc3RzX2RpcmVjdG9y
eSwgbmFtZSkKKyAgICBkZWYgX2FkZF90ZXN0X3N1aXRlX3BhdGhzKHNlbGYsIHRlc3RfcGF0aHMs
IGRpcmVjdG9yeSwgd2Via2l0X3BhdGgpOgorICAgICAgICBmb3IgbmFtZSBpbiBzZWxmLl9maWxl
c3lzdGVtLmxpc3RkaXIoZGlyZWN0b3J5KToKKyAgICAgICAgICAgIG9yaWdpbmFsX3BhdGggPSBz
ZWxmLl9maWxlc3lzdGVtLmpvaW4od2Via2l0X3BhdGgsIG5hbWUpCiAgICAgICAgICAgICBpZiBu
b3QgbmFtZS5zdGFydHN3aXRoKCcuJykgYW5kIG5vdCBvcmlnaW5hbF9wYXRoIGluIHNlbGYucGF0
aHNfdG9fc2tpcDoKLSAgICAgICAgICAgICAgICB0ZXN0X3BhdGhzLmFwcGVuZCgob3JpZ2luYWxf
cGF0aCwgc2VsZi5fZmlsZXN5c3RlbS5qb2luKHdlYmtpdF9wYXRoLCBuYW1lKSkpCisgICAgICAg
ICAgICAgICAgdGVzdF9wYXRocy5hcHBlbmQob3JpZ2luYWxfcGF0aCkKIAogICAgIGRlZiBfZW1w
dHlfZGlyZWN0b3J5KHNlbGYsIGRpcmVjdG9yeSk6CiAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0
ZW0uZXhpc3RzKGRpcmVjdG9yeSk6CkBAIC0xMjMsMzUgKzEyMSw1NyBAQCBjbGFzcyBUZXN0RG93
bmxvYWRlcihvYmplY3QpOgogICAgICAgICBjb3B5X3BhdGhzID0gW10KICAgICAgICAgaWYgdGVz
dF9wYXRoczoKICAgICAgICAgICAgIGZvciBwYXRoIGluIHRlc3RfcGF0aHM6Ci0gICAgICAgICAg
ICAgICAgY29weV9wYXRocy5hcHBlbmQoKHBhdGgsIHBhdGgpKQorICAgICAgICAgICAgICAgIGNv
cHlfcGF0aHMuYXBwZW5kKHBhdGgpCiAgICAgICAgICAgICBmb3IgcGF0aCBpbiBzZWxmLnBhdGhz
X3RvX2ltcG9ydDoKLSAgICAgICAgICAgICAgICBjb3B5X3BhdGhzLmFwcGVuZCgocGF0aCwgcGF0
aCkpCisgICAgICAgICAgICAgICAgY29weV9wYXRocy5hcHBlbmQocGF0aCkKICAgICAgICAgZWxz
ZToKICAgICAgICAgICAgIGZvciB0ZXN0X3JlcG9zaXRvcnkgaW4gc2VsZi50ZXN0X3JlcG9zaXRv
cmllczoKLSAgICAgICAgICAgICAgICBzZWxmLl9hZGRfdGVzdF9zdWl0ZV9wYXRocyhjb3B5X3Bh
dGhzLCBzZWxmLl9maWxlc3lzdGVtLmpvaW4oc2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSwgdGVz
dF9yZXBvc2l0b3J5WyduYW1lJ10pLCB0ZXN0X3JlcG9zaXRvcnlbJ25hbWUnXSwKLSAgICAgICAg
ICAgICAgICAgICAgdGVzdF9yZXBvc2l0b3J5Wyd0ZXN0c19kaXJlY3RvcnknXSBpZiAoJ3Rlc3Rz
X2RpcmVjdG9yeScgaW4gdGVzdF9yZXBvc2l0b3J5KSBlbHNlICcnKQorICAgICAgICAgICAgICAg
IHNlbGYuX2FkZF90ZXN0X3N1aXRlX3BhdGhzKGNvcHlfcGF0aHMsIHNlbGYuX2ZpbGVzeXN0ZW0u
am9pbihzZWxmLnJlcG9zaXRvcnlfZGlyZWN0b3J5LCB0ZXN0X3JlcG9zaXRvcnlbJ25hbWUnXSks
IHRlc3RfcmVwb3NpdG9yeVsnbmFtZSddKQogICAgICAgICAgICAgIyBIYW5kbGluZyBvZiB0ZXN0
cyBtYXJrZWQgYXMgWyBQYXNzIF0gaW4gZXhwZWN0YXRpb25zIGZpbGUuCiAgICAgICAgICAgICBm
b3IgcGF0aCBpbiBzZWxmLnBhdGhzX3RvX2ltcG9ydDoKLSAgICAgICAgICAgICAgICBpZiBub3Qg
KHBhdGgsIHBhdGgpIGluIGNvcHlfcGF0aHM6Ci0gICAgICAgICAgICAgICAgICAgIGNvcHlfcGF0
aHMuYXBwZW5kKChwYXRoLCBwYXRoKSkKLQotICAgICAgICBmb3IgcGF0aHMgaW4gY29weV9wYXRo
czoKLSAgICAgICAgICAgIHNvdXJjZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYu
cmVwb3NpdG9yeV9kaXJlY3RvcnksIHBhdGhzWzBdKQotICAgICAgICAgICAgZGVzdGluYXRpb25f
cGF0aCA9IHNlbGYuX2ZpbGVzeXN0ZW0uam9pbihkZXN0aW5hdGlvbl9kaXJlY3RvcnksIHBhdGhz
WzFdKQotICAgICAgICAgICAgaWYgbm90IHNlbGYuX2ZpbGVzeXN0ZW0uZXhpc3RzKHNvdXJjZV9w
YXRoKToKLSAgICAgICAgICAgICAgICBfbG9nLmVycm9yKCdDYW5ub3QgY29weSAlcycgJSBzb3Vy
Y2VfcGF0aCkKLSAgICAgICAgICAgIGVsaWYgc2VsZi5fZmlsZXN5c3RlbS5pc2Rpcihzb3VyY2Vf
cGF0aCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5jb3B5dHJlZShzb3VyY2Vf
cGF0aCwgZGVzdGluYXRpb25fcGF0aCkKLSAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAg
ICAgc2VsZi5fZmlsZXN5c3RlbS5tYXliZV9tYWtlX2RpcmVjdG9yeShzZWxmLl9maWxlc3lzdGVt
LmRpcm5hbWUoZGVzdGluYXRpb25fcGF0aCkpCi0gICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5
c3RlbS5jb3B5ZmlsZShzb3VyY2VfcGF0aCwgZGVzdGluYXRpb25fcGF0aCkKLQotICAgICAgICBm
b3IgcGF0aCBpbiBzZWxmLnBhdGhzX3RvX3NraXA6Ci0gICAgICAgICAgICBkZXN0aW5hdGlvbl9w
YXRoID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKGRlc3RpbmF0aW9uX2RpcmVjdG9yeSwgcGF0aCkK
LSAgICAgICAgICAgIGlmIHNlbGYuX2ZpbGVzeXN0ZW0uaXNmaWxlKGRlc3RpbmF0aW9uX3BhdGgp
OgotICAgICAgICAgICAgICAgIHNlbGYuX2ZpbGVzeXN0ZW0ucmVtb3ZlKGRlc3RpbmF0aW9uX3Bh
dGgpCi0gICAgICAgICAgICBlbGlmIHNlbGYuX2ZpbGVzeXN0ZW0uaXNkaXIoZGVzdGluYXRpb25f
cGF0aCk6Ci0gICAgICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5ybXRyZWUoZGVzdGluYXRp
b25fcGF0aCkKKyAgICAgICAgICAgICAgICBpZiBub3QgcGF0aCBpbiBjb3B5X3BhdGhzOgorICAg
ICAgICAgICAgICAgICAgICBjb3B5X3BhdGhzLmFwcGVuZChwYXRoKQorCisgICAgICAgIGRlZiBs
b25nZXN0X3BhdGgoZmlsZXN5c3RlbSwgcGF0aHMpOgorICAgICAgICAgICAgbG9uZ2VzdF9tYXRj
aGluZ19wYXRoID0gIiIKKyAgICAgICAgICAgIGZvciBwYXRoIGluIHBhdGhzOgorICAgICAgICAg
ICAgICAgIGlmIHBhdGguc3RhcnRzd2l0aChsb25nZXN0X21hdGNoaW5nX3BhdGgpOgorICAgICAg
ICAgICAgICAgICAgICBsb25nZXN0X21hdGNoaW5nX3BhdGggPSBwYXRoCisgICAgICAgICAgICBy
ZXR1cm4gbG9uZ2VzdF9tYXRjaGluZ19wYXRoCisKKyAgICAgICAgZGVmIHNob3VsZF9jb3B5X2Rp
cihmaWxlc3lzdGVtLCBkaXJlY3RvcnkpOgorICAgICAgICAgICAgcmVsYXRpdmVfcGF0aCA9IHNl
bGYuX2ZpbGVzeXN0ZW0ucmVscGF0aChkaXJlY3RvcnksIHNlbGYucmVwb3NpdG9yeV9kaXJlY3Rv
cnkpCisgICAgICAgICAgICBpZiByZWxhdGl2ZV9wYXRoID09ICIuIjoKKyAgICAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQorCisgICAgICAgICAgICBwb3RlbnRpYWxfY29weV9wYXRocyA9IFtjb3B5
X2RpcmVjdG9yeSBmb3IgY29weV9kaXJlY3RvcnkgaW4gY29weV9wYXRocyBpZiByZWxhdGl2ZV9w
YXRoLnN0YXJ0c3dpdGgoY29weV9kaXJlY3RvcnkpXQorICAgICAgICAgICAgaWYgKG5vdCBwb3Rl
bnRpYWxfY29weV9wYXRocyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICAg
ICAgICAgIHBvdGVudGlhbF9za2lwX3BhdGhzID0gW3NraXBfZGlyZWN0b3J5IGZvciBza2lwX2Rp
cmVjdG9yeSBpbiBzZWxmLnBhdGhzX3RvX3NraXAgaWYgcmVsYXRpdmVfcGF0aC5zdGFydHN3aXRo
KHNraXBfZGlyZWN0b3J5KV0KKyAgICAgICAgICAgIGlmIChub3QgcG90ZW50aWFsX3NraXBfcGF0
aHMpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgICAgIGxvbmdlc3Rf
Y29weV9wYXRoID0gbG9uZ2VzdF9wYXRoKGZpbGVzeXN0ZW0sIHBvdGVudGlhbF9jb3B5X3BhdGhz
KQorICAgICAgICAgICAgbG9uZ2VzdF9za2lwX3BhdGggPSBsb25nZXN0X3BhdGgoZmlsZXN5c3Rl
bSwgcG90ZW50aWFsX3NraXBfcGF0aHMpCisgICAgICAgICAgICByZXR1cm4gbG9uZ2VzdF9jb3B5
X3BhdGguc3RhcnRzd2l0aChsb25nZXN0X3NraXBfcGF0aCkKKworICAgICAgICAjIENvbXB1dGUg
ZGlyZWN0b3JpZXMgZm9yIHdoaWNoIHdlIHNob3VsZCBjb3B5IGRpcmVjdCBjaGlsZHJlbgorICAg
ICAgICBkaXJlY3Rvcmllc190b19jb3B5ID0gc2VsZi5fZmlsZXN5c3RlbS5kaXJzX3VuZGVyKHNl
bGYucmVwb3NpdG9yeV9kaXJlY3RvcnksIHNob3VsZF9jb3B5X2RpcikKKworICAgICAgICBkZWYg
c2hvdWxkX2NvcHlfZmlsZShmaWxlc3lzdGVtLCBkaXJuYW1lLCBmaWxlbmFtZSk6CisgICAgICAg
ICAgICBmdWxsX3BhdGggPSBmaWxlc3lzdGVtLmpvaW4oZGlybmFtZSwgZmlsZW5hbWUpCisgICAg
ICAgICAgICByZWxhdGl2ZV9wYXRoID0gc2VsZi5fZmlsZXN5c3RlbS5yZWxwYXRoKGZ1bGxfcGF0
aCwgc2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSkKKyAgICAgICAgICAgIGlmIHJlbGF0aXZlX3Bh
dGggaW4gY29weV9wYXRoczoKKyAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICAg
ICAgaWYgcmVsYXRpdmVfcGF0aCBpbiBzZWxmLnBhdGhzX3RvX3NraXA6CisgICAgICAgICAgICAg
ICAgcmV0dXJuIEZhbHNlCisgICAgICAgICAgICByZXR1cm4gZGlybmFtZSBpbiBkaXJlY3Rvcmll
c190b19jb3B5CisKKyAgICAgICAgZm9yIHNvdXJjZV9wYXRoIGluIHNlbGYuX2ZpbGVzeXN0ZW0u
ZmlsZXNfdW5kZXIoc2VsZi5yZXBvc2l0b3J5X2RpcmVjdG9yeSwgZmlsZV9maWx0ZXI9c2hvdWxk
X2NvcHlfZmlsZSk6CisgICAgICAgICAgICBkZXN0aW5hdGlvbl9wYXRoID0gc2VsZi5fZmlsZXN5
c3RlbS5qb2luKGRlc3RpbmF0aW9uX2RpcmVjdG9yeSwgc2VsZi5fZmlsZXN5c3RlbS5yZWxwYXRo
KHNvdXJjZV9wYXRoLCBzZWxmLnJlcG9zaXRvcnlfZGlyZWN0b3J5KSkKKyAgICAgICAgICAgIHNl
bGYuX2ZpbGVzeXN0ZW0ubWF5YmVfbWFrZV9kaXJlY3Rvcnkoc2VsZi5fZmlsZXN5c3RlbS5kaXJu
YW1lKGRlc3RpbmF0aW9uX3BhdGgpKQorICAgICAgICAgICAgc2VsZi5fZmlsZXN5c3RlbS5jb3B5
ZmlsZShzb3VyY2VfcGF0aCwgZGVzdGluYXRpb25fcGF0aCkKIAogICAgIGRlZiBfZ2l0X3N1Ym1v
ZHVsZXNfZGVzY3JpcHRpb24oc2VsZiwgdGVzdF9yZXBvc2l0b3J5KToKICAgICAgICAgZGlyZWN0
b3J5ID0gc2VsZi5fZmlsZXN5c3RlbS5qb2luKHNlbGYucmVwb3NpdG9yeV9kaXJlY3RvcnksIHRl
c3RfcmVwb3NpdG9yeVsnbmFtZSddKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS93M2MvdGVzdF9pbXBvcnRlcl91bml0dGVzdC5weSBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkv
dzNjL3Rlc3RfaW1wb3J0ZXJfdW5pdHRlc3QucHkKaW5kZXggNGUyMzRlNDY1MWE3YzM3MGI2YWJi
ZjMxN2Q3YTYxMGRiZGE3YTBkMS4uYjY0ZjBiZGEzMTRhNzE1MWUzZjYzYmNlNmRkZDVhNDhiZDNl
ODQ5NSAxMDA2NDQKLS0tIGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS93M2MvdGVzdF9pbXBvcnRl
cl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L3czYy90ZXN0X2ltcG9y
dGVyX3VuaXR0ZXN0LnB5CkBAIC0xNjQsMjcgKzE2NCwzNyBAQCBjbGFzcyBUZXN0SW1wb3J0ZXJU
ZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAgIyBGSVhNRTogTW9jay11cCBvZiBnaXQg
Y2Fubm90IHVzZSBzdWJtb2R1bGUgY29tbWFuZCwgaGVuY2UgdGhlIGpzb24gZmlsZSBpcyBlbXB0
eSwgYnV0IHN0aWxsIGl0IHNob3VsZCBiZSBjcmVhdGVkCiAgICAgICAgICNzZWxmLmFzc2VydFRy
dWUoJ2h0dHBzOi8vZ2l0aHViLmNvbS93M2MvdGVzdGhhcm5lc3MuanMvYXJjaGl2ZS9kYjRkMzkx
YTY5ODc3ZDRhMWVhYWY1MWQxNzI1Yzk5YTViOGVkODQudGFyLmd6JyBpbiBmcy5yZWFkX3RleHRf
ZmlsZSgnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvdzNjL3Jlc291cmNlcy93ZWItcGxhdGZv
cm0tdGVzdHMtbW9kdWxlcy5qc29uJykpCiAKLSAgICBkZWYgdGVzdF90ZXN0c19kaXJlY3Rvcnko
c2VsZik6CisgICAgZGVmIHRlc3Rfc2tpcF90ZXN0X2ltcG9ydChzZWxmKToKICAgICAgICAgRkFL
RV9GSUxFUyA9IHsKICAgICAgICAgICAgICcvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2Mt
dGVzdHMvc3RyZWFtcy1hcGkvcmVmZXJlbmNlLWltcGxlbWVudGF0aW9uL3dlYi1wbGF0Zm9ybS10
ZXN0cy90ZXN0Lmh0bWwnOiAnPCFkb2N0eXBlIGh0bWw+PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMv
dGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PjxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4nLAotICAgICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL1Rlc3RSZXBvc2l0b3JpZXMnOiAnJycKKyAgICAgICAg
ICAgICcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvcmVzb3VyY2VzL1Rl
c3RSZXBvc2l0b3JpZXMnOiAnJycKIFsKICAgICB7Ci0gICAgICAgICJuYW1lIjogInN0cmVhbXMt
YXBpIiwKLSAgICAgICAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2hhdHdnL3N0cmVhbXMu
Z2l0IiwKKyAgICAgICAgIm5hbWUiOiAid2ViLXBsYXRmb3JtLXRlc3RzIiwKKyAgICAgICAgInVy
bCI6ICJodHRwczovL2dpdGh1Yi5jb20vbXlyZXBvIiwKICAgICAgICAgInJldmlzaW9uIjogIjdj
Yzk2ZGQiLAotICAgICAgICAidGVzdHNfZGlyZWN0b3J5IjogInJlZmVyZW5jZS1pbXBsZW1lbnRh
dGlvbi93ZWItcGxhdGZvcm0tdGVzdHMiLAogICAgICAgICAicGF0aHNfdG9fc2tpcCI6IFtdLAog
ICAgICAgICAicGF0aHNfdG9faW1wb3J0IjogW10sCiAgICAgICAgICJpbXBvcnRfb3B0aW9ucyI6
IFtdCiAgICAgIH0KLV0KLScnJ30KK10nJycsCisgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9JbXBvcnRFeHBlY3RhdGlvbnMnOiAn
JycKK3dlYi1wbGF0Zm9ybS10ZXN0cy9kaXItdG8tc2tpcCBbIFNraXAgXQord2ViLXBsYXRmb3Jt
LXRlc3RzL2Rpci10by1za2lwL2Rpci10by1pbXBvcnQgWyBQYXNzIF0KK3dlYi1wbGF0Zm9ybS10
ZXN0cy9kaXItdG8tc2tpcC9maWxlLXRvLWltcG9ydC5odG1sIFsgUGFzcyBdCisnJycsCisgICAg
ICAgICAgICAnL21vY2stY2hlY2tvdXQvV2ViS2l0QnVpbGQvdzNjLXRlc3RzL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kaXItdG8tc2tpcC90ZXN0LXRvLXNraXAuaHRtbCc6ICd0byBiZSBza2lwcGVkJywK
KyAgICAgICAgICAgICcvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBs
YXRmb3JtLXRlc3RzL2Rpci10by1za2lwL2Rpci10by1pbXBvcnQvdGVzdC10by1pbXBvcnQuaHRt
bCc6ICd0byBiZSBpbXBvcnRlZCcsCisgICAgICAgICAgICAnL21vY2stY2hlY2tvdXQvV2ViS2l0
QnVpbGQvdzNjLXRlc3RzL3dlYi1wbGF0Zm9ybS10ZXN0cy9kaXItdG8tc2tpcC9kaXItdG8tbm90
LWltcG9ydC90ZXN0LXRvLW5vdC1pbXBvcnQuaHRtbCc6ICd0byBiZSBza2lwcGVkJywKKyAgICAg
ICAgICAgICcvbW9jay1jaGVja291dC9XZWJLaXRCdWlsZC93M2MtdGVzdHMvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Rpci10by1za2lwL2ZpbGUtdG8taW1wb3J0Lmh0bWwnOiAndG8gYmUgaW1wb3J0ZWQn
LAorICAgICAgICB9CiAKLSAgICAgICAgZnMgPSBzZWxmLmltcG9ydF9kb3dubG9hZGVkX3Rlc3Rz
KFsnLS1uby1mZXRjaCcsICctLWltcG9ydC1hbGwnLCAnLWQnLCAndzNjJ10sIEZBS0VfRklMRVMp
CisgICAgICAgIGZzID0gc2VsZi5pbXBvcnRfZG93bmxvYWRlZF90ZXN0cyhbJy0tbm8tZmV0Y2gn
LCAnLWQnLCAndzNjJ10sIEZBS0VfRklMRVMpCiAKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShm
cy5leGlzdHMoJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy9zdHJlYW1zLWFwaS9yZWZl
cmVuY2UtaW1wbGVtZW50YXRpb24vd2ViLXBsYXRmb3JtLXRlc3RzL3Rlc3QuaHRtbCcpKQotICAg
ICAgICBzZWxmLmFzc2VydFRydWUoZnMuZXhpc3RzKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0
cy93M2Mvc3RyZWFtcy1hcGkvdGVzdC5odG1sJykpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShm
cy5leGlzdHMoJy9tb2NrLWNoZWNrb3V0L0xheW91dFRlc3RzL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZGlyLXRvLXNraXAvZmlsZS10by1pbXBvcnQuaHRtbCcpKQorICAgICAgICBzZWxmLmFzc2Vy
dFRydWUoZnMuZXhpc3RzKCcvbW9jay1jaGVja291dC9MYXlvdXRUZXN0cy93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Rpci10by1za2lwL2Rpci10by1pbXBvcnQvdGVzdC10by1pbXBvcnQuaHRtbCcp
KQorICAgICAgICBzZWxmLmFzc2VydEZhbHNlKGZzLmV4aXN0cygnL21vY2stY2hlY2tvdXQvTGF5
b3V0VGVzdHMvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kaXItdG8tc2tpcC9kaXItdG8tbm90LWlt
cG9ydC90ZXN0LXRvLW5vdC1pbXBvcnQuaHRtbCcpKQorICAgICAgICBzZWxmLmFzc2VydEZhbHNl
KGZzLmV4aXN0cygnL21vY2stY2hlY2tvdXQvTGF5b3V0VGVzdHMvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kaXItdG8tc2tpcC90ZXN0LXRvLXNraXAuaHRtbCcpKQogCiAgICAgZGVmIHRlc3RfY2xl
YW5fZGlyZWN0b3J5X29wdGlvbihzZWxmKToKICAgICAgICAgRkFLRV9GSUxFUyA9IHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>