<?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>167894</bug_id>
          
          <creation_ts>2017-02-06 11:35:28 -0800</creation_ts>
          <short_desc>Correct File Path Handling in SecurityOrigin and FileSystem</short_desc>
          <delta_ts>2017-02-06 17:49:52 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Brent Fulgham">bfulgham</reporter>
          <assigned_to name="Brent Fulgham">bfulgham</assigned_to>
          <cc>ap</cc>
    
    <cc>bfulgham</cc>
    
    <cc>darin</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1273654</commentid>
    <comment_count>0</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 11:35:28 -0800</bug_when>
    <thetext>The fix in Bug 167696 was not correct. Rather than adding calls to URL decoding in the FileSystem class, we should be making sure that the callers of these functions are passing well-formed file paths.

This change fixes the calls sites in SecurityOrigin to avoid this problem, and removes the improperly URL decoding from FileSystem.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273655</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-06 11:36:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/30380075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273656</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-02-06 11:36:24 -0800</bug_when>
    <thetext>&lt;rdar://problem/30380080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273738</commentid>
    <comment_count>3</comment_count>
      <attachid>300761</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 15:38:40 -0800</bug_when>
    <thetext>Created attachment 300761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273756</commentid>
    <comment_count>4</comment_count>
      <attachid>300761</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-06 16:05:03 -0800</bug_when>
    <thetext>Comment on attachment 300761
Patch

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

&gt; Tools/TestWebKitAPI/Tests/WebCore/FileSystem.cpp:69
&gt; +        system(&quot;mkdir resources&quot;);
&gt; +        system(&quot;echo  \&quot;&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;body&gt;Hello&lt;/body&gt;&lt;/html&gt;\&quot; &gt; resources/CrossPartitionFileTest.html&quot;);
&gt; +        system(&quot;hdiutil create otherVolume.dmg -srcfolder resources/ -ov &gt; /dev/null&quot;);
&gt; +        system(&quot;hdiutil attach otherVolume.dmg &gt; /dev/null&quot;);

This seems more invasive than I&apos;d like the tests to be. Seems likely to cause more problems that it&apos;s worth it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273758</commentid>
    <comment_count>5</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 16:06:48 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 300761 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=300761&amp;action=review
&gt; 
&gt; &gt; Tools/TestWebKitAPI/Tests/WebCore/FileSystem.cpp:69
&gt; &gt; +        system(&quot;mkdir resources&quot;);
&gt; &gt; +        system(&quot;echo  \&quot;&lt;!DOCTYPE html&gt;&lt;html&gt;&lt;body&gt;Hello&lt;/body&gt;&lt;/html&gt;\&quot; &gt; resources/CrossPartitionFileTest.html&quot;);
&gt; &gt; +        system(&quot;hdiutil create otherVolume.dmg -srcfolder resources/ -ov &gt; /dev/null&quot;);
&gt; &gt; +        system(&quot;hdiutil attach otherVolume.dmg &gt; /dev/null&quot;);
&gt; 
&gt; This seems more invasive than I&apos;d like the tests to be. Seems likely to
&gt; cause more problems that it&apos;s worth it.

Do you have a suggestion for creating multiple volumes during testing?

Or do you think the potential downside means we should not test this code path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273780</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2017-02-06 17:08:29 -0800</bug_when>
    <thetext>&gt; Or do you think the potential downside means we should not test this code path?

That would be my inclination, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273792</commentid>
    <comment_count>7</comment_count>
      <attachid>300773</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 17:26:03 -0800</bug_when>
    <thetext>Created attachment 300773
Patch (removed volume-creation test logic)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273793</commentid>
    <comment_count>8</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 17:28:31 -0800</bug_when>
    <thetext>Note: The Windows build failure seems to be due to a bad commit to WebCore::CredentialStorage, and not this particular patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1273804</commentid>
    <comment_count>9</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2017-02-06 17:49:52 -0800</bug_when>
    <thetext>Committed r211763: &lt;http://trac.webkit.org/changeset/211763&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300761</attachid>
            <date>2017-02-06 15:38:40 -0800</date>
            <delta_ts>2017-02-06 17:26:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167894-20170206153620.patch</filename>
            <type>text/plain</type>
            <size>12422</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMTY2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAyLTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENvcnJlY3QgRmlsZSBQYXRo
IEhhbmRsaW5nIGluIFNlY3VyaXR5T3JpZ2luIGFuZCBGaWxlU3lzdGVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc4OTQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzgwMDgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJvbGwgb3V0IHRoZSBVUkwgZGVjb2RpbmcgYmVpbmcgZG9uZSBpbiB0aGUg
RmlsZVN5c3RlbSBjbGFzcyAoYWRkZWQgaW4gQnVnIDE2Nzg5NCksIGFuZCBpbnN0ZWFkIGVuc3Vy
ZSB0aGF0CisgICAgICAgIFNlY3VyaXR5T3JpZ2luIHByb3Blcmx5IGhhbmRsZXMgZmlsZSBVUkxz
LCBhbmQgb25seSBwYXNzZXMgdmFsaWQgZmlsZSBzdHJpbmdzIHRvIHRoZSBGaWxlU3lzdGVtIGlu
dGVyZmFjZS4KKworICAgICAgICBUZXN0ZWQgYnkgRmlsZVN5c3RlbVRlc3RzIGFuZCBTZWN1cml0
eU9yaWdpblRlc3RzIGluIFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5
T3JpZ2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpTZWN1cml0eU9y
aWdpbik6IEluaXRpYWxpemUgbV9maWxlUGF0aCB1c2luZyB0aGUgdXJsJ3MgZmlsZVN5c3RlbVBh
dGgsIG5vdAorICAgICAgICB0aGUgJS1lbmNvZGVkICdwYXRoJyBwcm9wZXJ0eS4KKyAgICAgICAg
KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KTogUGFzcyB0aGUgJ2ZpbGVTeXN0
ZW1QYXRoJyB0byAnZmlsZXNIYXZlU2FtZVZvbHVtZScsIHJhdGhlciB0aGFuCisgICAgICAgIHRo
ZSAlLWVuY29kZWQgJ3BhdGgnIHByb3BlcnR5LgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmln
aW4uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmZpbGVzSGF2ZVNhbWVWb2x1bWUpOiBEbyBub3QgdXNlICdkZWNvZGVVUkxFc2NhcGVTZXF1
ZW5jZXMnIGluICdmaWxlc0hhdmVTYW1lVm9sdW1lJy4KKwogMjAxNy0wMi0wMyAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0bHkgc2V0IHRo
ZSAiaW5XaW5kb3ciIGZsYWcgZm9yIFRpbGVDb250cm9sbGVycyB0aGF0IGFyZW4ndCB0aGUgcGFn
ZSB0aWxlcywgYW5kIGNsYXJpZnkgInVzaW5nVGlsZWRCYWNraW5nIiBsb2dpYwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAJKHJldmlzaW9uIDIxMTY0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTQsNyArMTE0LDcgQEAgU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5T3JpZ2luKGNvbnN0IFVSTAog
ICAgIG1fY2FuTG9hZExvY2FsUmVzb3VyY2VzID0gaXNMb2NhbCgpOwogCiAgICAgaWYgKG1fY2Fu
TG9hZExvY2FsUmVzb3VyY2VzKQotICAgICAgICBtX2ZpbGVQYXRoID0gdXJsLnBhdGgoKTsgLy8g
SW4gY2FzZSBlbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9uKCkgaXMgY2FsbGVkLgorICAgICAgICBt
X2ZpbGVQYXRoID0gdXJsLmZpbGVTeXN0ZW1QYXRoKCk7IC8vIEluIGNhc2UgZW5mb3JjZUZpbGVQ
YXRoU2VwYXJhdGlvbigpIGlzIGNhbGxlZC4KIH0KIAogU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5
T3JpZ2luKCkKQEAgLTMwNSw3ICszMDUsNyBAQCBib29sIFNlY3VyaXR5T3JpZ2luOjpjYW5EaXNw
bGF5KGNvbnN0IFVSCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAjaWYgIVBMQVRGT1JNKElPUykK
LSAgICBpZiAobV9wcm90b2NvbCA9PSAiZmlsZSIgJiYgdXJsLmlzTG9jYWxGaWxlKCkgJiYgIWZp
bGVzSGF2ZVNhbWVWb2x1bWUobV9maWxlUGF0aCwgdXJsLnBhdGgoKSkpCisgICAgaWYgKG1fcHJv
dG9jb2wgPT0gImZpbGUiICYmIHVybC5pc0xvY2FsRmlsZSgpICYmICFmaWxlc0hhdmVTYW1lVm9s
dW1lKG1fZmlsZVBhdGgsIHVybC5maWxlU3lzdGVtUGF0aCgpKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1NlY3VyaXR5T3JpZ2luLmgJKHJl
dmlzaW9uIDIxMTY0NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uaAko
d29ya2luZyBjb3B5KQpAQCAtMTY3LDcgKzE2Nyw3IEBAIHB1YmxpYzoKICAgICAvLyBNYXJrcyBh
IGZpbGU6Ly8gb3JpZ2luIGFzIGJlaW5nIGluIGEgZG9tYWluIGRlZmluZWQgYnkgaXRzIHBhdGgu
CiAgICAgLy8gRklYTUUgODE1Nzg6IFRoZSBuYW1pbmcgb2YgdGhpcyBpcyBjb25mdXNpbmcuIEZp
bGVzIHdpdGggcmVzdHJpY3RlZCBhY2Nlc3MgdG8gb3RoZXIgbG9jYWwgZmlsZXMKICAgICAvLyBz
dGlsbCBjYW4gaGF2ZSBvdGhlciBwcml2aWxlZ2VzIHRoYXQgY2FuIGJlIHJlbWVtYmVyZWQsIHRo
ZXJlYnkgbm90IG1ha2luZyB0aGVtIHVuaXF1ZS4KLSAgICB2b2lkIGVuZm9yY2VGaWxlUGF0aFNl
cGFyYXRpb24oKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGVuZm9yY2VGaWxlUGF0aFNlcGFy
YXRpb24oKTsKIAogICAgIC8vIENvbnZlcnQgdGhpcyBTZWN1cml0eU9yaWdpbiBpbnRvIGEgc3Ry
aW5nLiBUaGUgc3RyaW5nCiAgICAgLy8gcmVwcmVzZW50YXRpb24gb2YgYSBTZWN1cml0eU9yaWdp
biBpcyBzaW1pbGFyIHRvIGEgVVJMLCBleGNlcHQgaXQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0ZpbGVTeXN0ZW0uY3BwCShyZXZpc2lvbiAyMTE2NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAog
I2luY2x1ZGUgIkZpbGVTeXN0ZW0uaCIKIAogI2luY2x1ZGUgIlNjb3BlR3VhcmQuaCIKLSNpbmNs
dWRlICJVUkwuaCIKICNpbmNsdWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL3Rl
eHQvQ1N0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KQEAgLTIz
Nyw4ICsyMzYsOCBAQCBib29sIGFwcGVuZEZpbGVDb250ZW50c1RvRmlsZUhhbmRsZShjb25zCiAg
ICAgCiBib29sIGZpbGVzSGF2ZVNhbWVWb2x1bWUoY29uc3QgU3RyaW5nJiBmaWxlQSwgY29uc3Qg
U3RyaW5nJiBmaWxlQikKIHsKLSAgICBhdXRvIGZzUmVwRmlsZUEgPSBmaWxlU3lzdGVtUmVwcmVz
ZW50YXRpb24oZGVjb2RlVVJMRXNjYXBlU2VxdWVuY2VzKGZpbGVBKSk7Ci0gICAgYXV0byBmc1Jl
cEZpbGVCID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGRlY29kZVVSTEVzY2FwZVNlcXVlbmNl
cyhmaWxlQikpOworICAgIGF1dG8gZnNSZXBGaWxlQSA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlv
bihmaWxlQSk7CisgICAgYXV0byBmc1JlcEZpbGVCID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9u
KGZpbGVCKTsKICAgICAKICAgICBpZiAoZnNSZXBGaWxlQS5pc051bGwoKSB8fCBmc1JlcEZpbGVC
LmlzTnVsbCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTE3NTEpCisrKyBUb29s
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0wMi0wNiAg
QnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JyZWN0IEZp
bGUgUGF0aCBIYW5kbGluZyBpbiBTZWN1cml0eU9yaWdpbiBhbmQgRmlsZVN5c3RlbQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3ODk0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8zMDM4MDA4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlU3lz
dGVtLmNwcDogRG9uJ3QgZW5jb2RlIHRoZSB0ZW1wb3JhcnkgZmlsZXMsCisgICAgICAgIGFuZCBw
ZXJmb3JtIHNhbWUtdm9sdW1lIGNoZWNrcyB1c2luZyBmaWxlc3lzdGVtLWNvbXBhdGlibGUgcGF0
aHMuICAgICAgICAKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2VjdXJp
dHlPcmlnaW4uY3BwOiBDcmVhdGUgU2VjdXJpdHlPcmlnaW5zIGZyb20KKyAgICAgICAgZmlsZXN5
c3RlbSBwYXRocywgYW5kIHBlcmZvcm0gdmFsaWRhdGlvbiBvZiBzYW1lLXZvbHVtZSBjaGVja3Mu
CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpTZWN1cml0eU9yaWdpblRlc3Q6OnRlbXBGaWxlUGF0
aCk6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6U2VjdXJpdHlPcmlnaW5UZXN0Ojpz
cGFjZUNvbnRhaW5pbmdGaWxlUGF0aCk6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
U2VjdXJpdHlPcmlnaW5UZXN0OjpiYW5nQ29udGFpbmluZ0ZpbGVQYXRoKTogQWRkZWQuCisgICAg
ICAgIChUZXN0V2ViS2l0QVBJOjpTZWN1cml0eU9yaWdpblRlc3Q6OnF1b3RlQ29udGFpbmluZ0Zp
bGVQYXRoKTogQWRkZWQuCisKIDIwMTctMDItMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgUGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBw
ZW5kIGNhdXNlcyBmcmFtZSBldmljdGlvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL0ZpbGVTeXN0ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9GaWxlU3lzdGVtLmNwcAkocmV2aXNpb24gMjExNjQ1KQorKysgVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ZpbGVTeXN0ZW0uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw2IEBACiAKICNpbmNsdWRlICJUZXN0LmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9GaWxlU3lzdGVtLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3
dGYvTWFpblRocmVhZC5oPgogI2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KIApAQCAtNTQs
MTUgKzUzLDIyIEBAIHB1YmxpYzoKICAgICAgICAgbV90ZW1wRW1wdHlGaWxlUGF0aCA9IG9wZW5U
ZW1wb3JhcnlGaWxlKCJ0ZW1wRW1wdHlUZXN0RmlsZSIsIGhhbmRsZSk7CiAgICAgICAgIGNsb3Nl
RmlsZShoYW5kbGUpOwogCi0gICAgICAgIG1fc3BhY2VDb250YWluaW5nRmlsZVBhdGggPSBlbmNv
ZGVXaXRoVVJMRXNjYXBlU2VxdWVuY2VzKG9wZW5UZW1wb3JhcnlGaWxlKCJ0ZW1wIEVtcHR5IFRl
c3QgRmlsZSIsIGhhbmRsZSkpOworICAgICAgICBtX3NwYWNlQ29udGFpbmluZ0ZpbGVQYXRoID0g
b3BlblRlbXBvcmFyeUZpbGUoInRlbXAgRW1wdHkgVGVzdCBGaWxlIiwgaGFuZGxlKTsKICAgICAg
ICAgY2xvc2VGaWxlKGhhbmRsZSk7CiAKLSAgICAgICAgbV9iYW5nQ29udGFpbmluZ0ZpbGVQYXRo
ID0gZW5jb2RlV2l0aFVSTEVzY2FwZVNlcXVlbmNlcyhvcGVuVGVtcG9yYXJ5RmlsZSgidGVtcCFF
bXB0eSFUZXN0IUZpbGUiLCBoYW5kbGUpKTsKKyAgICAgICAgbV9iYW5nQ29udGFpbmluZ0ZpbGVQ
YXRoID0gb3BlblRlbXBvcmFyeUZpbGUoInRlbXAhRW1wdHkhVGVzdCFGaWxlIiwgaGFuZGxlKTsK
ICAgICAgICAgY2xvc2VGaWxlKGhhbmRsZSk7CiAKLSAgICAgICAgbV9xdW90ZUNvbnRhaW5pbmdG
aWxlUGF0aCA9IGVuY29kZVdpdGhVUkxFc2NhcGVTZXF1ZW5jZXMob3BlblRlbXBvcmFyeUZpbGUo
InRlbXBcIkVtcHR5XCJUZXN0RmlsZSIsIGhhbmRsZSkpOworICAgICAgICBtX3F1b3RlQ29udGFp
bmluZ0ZpbGVQYXRoID0gb3BlblRlbXBvcmFyeUZpbGUoInRlbXBcIkVtcHR5XCJUZXN0RmlsZSIs
IGhhbmRsZSk7CiAgICAgICAgIGNsb3NlRmlsZShoYW5kbGUpOwotfQorICAgICAgICAKKyNpZiBQ
TEFURk9STShNQUMpCisgICAgICAgIHN5c3RlbSgibWtkaXIgcmVzb3VyY2VzIik7CisgICAgICAg
IHN5c3RlbSgiZWNobyAgXCI8IURPQ1RZUEUgaHRtbD48aHRtbD48Ym9keT5IZWxsbzwvYm9keT48
L2h0bWw+XCIgPiByZXNvdXJjZXMvQ3Jvc3NQYXJ0aXRpb25GaWxlVGVzdC5odG1sIik7CisgICAg
ICAgIHN5c3RlbSgiaGRpdXRpbCBjcmVhdGUgb3RoZXJWb2x1bWUuZG1nIC1zcmNmb2xkZXIgcmVz
b3VyY2VzLyAtb3YgPiAvZGV2L251bGwiKTsKKyAgICAgICAgc3lzdGVtKCJoZGl1dGlsIGF0dGFj
aCBvdGhlclZvbHVtZS5kbWcgPiAvZGV2L251bGwiKTsKKyNlbmRpZgorICAgIH0KIAogICAgIHZv
aWQgVGVhckRvd24oKSBvdmVycmlkZQogICAgIHsKQEAgLTcxLDYgKzc3LDEyIEBAIHB1YmxpYzoK
ICAgICAgICAgZGVsZXRlRmlsZShtX3NwYWNlQ29udGFpbmluZ0ZpbGVQYXRoKTsKICAgICAgICAg
ZGVsZXRlRmlsZShtX2JhbmdDb250YWluaW5nRmlsZVBhdGgpOwogICAgICAgICBkZWxldGVGaWxl
KG1fcXVvdGVDb250YWluaW5nRmlsZVBhdGgpOworICAgICAgICAKKyNpZiBQTEFURk9STShNQUMp
CisgICAgICAgIHN5c3RlbSgiaGRpdXRpbCBkZXRhY2ggL1ZvbHVtZXMvcmVzb3VyY2VzID4gL2Rl
di9udWxsIik7CisgICAgICAgIHN5c3RlbSgicm0gLXJmIHJlc291cmNlcy8iKTsKKyAgICAgICAg
c3lzdGVtKCJybSAtcmYgb3RoZXJWb2x1bWUuZG1nIik7CisjZW5kaWYKICAgICB9CiAKICAgICBj
b25zdCBTdHJpbmcmIHRlbXBGaWxlUGF0aCgpIHsgcmV0dXJuIG1fdGVtcEZpbGVQYXRoOyB9CkBA
IC0xMTgsNiArMTMwLDggQEAgVEVTVF9GKEZpbGVTeXN0ZW1UZXN0LCBGaWxlc0hhdmVTYW1lVm9s
dQogICAgIEVYUEVDVF9UUlVFKGZpbGVzSGF2ZVNhbWVWb2x1bWUodGVtcEZpbGVQYXRoKCksIHNw
YWNlQ29udGFpbmluZ0ZpbGVQYXRoKCkpKTsKICAgICBFWFBFQ1RfVFJVRShmaWxlc0hhdmVTYW1l
Vm9sdW1lKHNwYWNlQ29udGFpbmluZ0ZpbGVQYXRoKCksIGJhbmdDb250YWluaW5nRmlsZVBhdGgo
KSkpOwogICAgIEVYUEVDVF9UUlVFKGZpbGVzSGF2ZVNhbWVWb2x1bWUoYmFuZ0NvbnRhaW5pbmdG
aWxlUGF0aCgpLCBxdW90ZUNvbnRhaW5pbmdGaWxlUGF0aCgpKSk7CisKKyAgICBFWFBFQ1RfRkFM
U0UoZmlsZXNIYXZlU2FtZVZvbHVtZSh0ZW1wRmlsZVBhdGgoKSwgImZpbGU6Ly8vVm9sdW1lcy9y
ZXNvdXJjZXMvQ3Jvc3NQYXJ0aXRpb25TZWN1cml0eU9yaWdpblRlc3QuaHRtbCIpKTsKIH0KIAog
fQpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1NlY3VyaXR5T3JpZ2lu
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2Vj
dXJpdHlPcmlnaW4uY3BwCShyZXZpc2lvbiAyMTE2NDUpCisrKyBUb29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYkNvcmUvU2VjdXJpdHlPcmlnaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNCw3
ICsyNCw5IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlBsYXRmb3Jt
VXRpbGl0aWVzLmgiCiAjaW5jbHVkZSAiV1RGU3RyaW5nVXRpbGl0aWVzLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9GaWxlU3lzdGVtLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
QEAgLTM3LDcgKzM5LDUzIEBAIGNsYXNzIFNlY3VyaXR5T3JpZ2luVGVzdCA6IHB1YmxpYyB0ZXN0
aW4KIHB1YmxpYzoKICAgICB2b2lkIFNldFVwKCkgZmluYWwgewogICAgICAgICBXVEY6OmluaXRp
YWxpemVNYWluVGhyZWFkKCk7CisKKyAgICAgICAgLy8gY3JlYXRlIHRlbXAgZmlsZQorICAgICAg
ICBQbGF0Zm9ybUZpbGVIYW5kbGUgaGFuZGxlOworICAgICAgICBtX3RlbXBGaWxlUGF0aCA9IG9w
ZW5UZW1wb3JhcnlGaWxlKCJ0ZW1wVGVzdEZpbGUiLCBoYW5kbGUpOworICAgICAgICBjbG9zZUZp
bGUoaGFuZGxlKTsKKyAgICAgICAgCisgICAgICAgIG1fc3BhY2VDb250YWluaW5nRmlsZVBhdGgg
PSBvcGVuVGVtcG9yYXJ5RmlsZSgidGVtcCBFbXB0eSBUZXN0IEZpbGUiLCBoYW5kbGUpOworICAg
ICAgICBjbG9zZUZpbGUoaGFuZGxlKTsKKyAgICAgICAgCisgICAgICAgIG1fYmFuZ0NvbnRhaW5p
bmdGaWxlUGF0aCA9IG9wZW5UZW1wb3JhcnlGaWxlKCJ0ZW1wIUVtcHR5IVRlc3QhRmlsZSIsIGhh
bmRsZSk7CisgICAgICAgIGNsb3NlRmlsZShoYW5kbGUpOworICAgICAgICAKKyAgICAgICAgbV9x
dW90ZUNvbnRhaW5pbmdGaWxlUGF0aCA9IG9wZW5UZW1wb3JhcnlGaWxlKCJ0ZW1wXCJFbXB0eVwi
VGVzdEZpbGUiLCBoYW5kbGUpOworICAgICAgICBjbG9zZUZpbGUoaGFuZGxlKTsKKworI2lmIFBM
QVRGT1JNKE1BQykKKyAgICAgICAgc3lzdGVtKCJta2RpciByZXNvdXJjZXMiKTsKKyAgICAgICAg
c3lzdGVtKCJlY2hvICBcIjwhRE9DVFlQRSBodG1sPjxodG1sPjxib2R5PkhlbGxvPC9ib2R5Pjwv
aHRtbD5cIiA+IHJlc291cmNlcy9Dcm9zc1BhcnRpdGlvblNlY3VyaXR5T3JpZ2luVGVzdC5odG1s
Iik7CisgICAgICAgIHN5c3RlbSgiaGRpdXRpbCBjcmVhdGUgb3RoZXJWb2x1bWUuZG1nIC1zcmNm
b2xkZXIgcmVzb3VyY2VzLyAtb3YgPiAvZGV2L251bGwiKTsKKyAgICAgICAgc3lzdGVtKCJoZGl1
dGlsIGF0dGFjaCBvdGhlclZvbHVtZS5kbWcgPiAvZGV2L251bGwiKTsKKyNlbmRpZgorICAgIH0K
KworICAgIHZvaWQgVGVhckRvd24oKSBvdmVycmlkZQorICAgIHsKKyAgICAgICAgZGVsZXRlRmls
ZShtX3RlbXBGaWxlUGF0aCk7CisgICAgICAgIGRlbGV0ZUZpbGUobV9zcGFjZUNvbnRhaW5pbmdG
aWxlUGF0aCk7CisgICAgICAgIGRlbGV0ZUZpbGUobV9iYW5nQ29udGFpbmluZ0ZpbGVQYXRoKTsK
KyAgICAgICAgZGVsZXRlRmlsZShtX3F1b3RlQ29udGFpbmluZ0ZpbGVQYXRoKTsKKyAgICAgICAg
CisjaWYgUExBVEZPUk0oTUFDKQorICAgICAgICBzeXN0ZW0oImhkaXV0aWwgZGV0YWNoIC9Wb2x1
bWVzL3Jlc291cmNlcyA+IC9kZXYvbnVsbCIpOworICAgICAgICBzeXN0ZW0oInJtIC1yZiByZXNv
dXJjZXMvIik7CisgICAgICAgIHN5c3RlbSgicm0gLXJmIG90aGVyVm9sdW1lLmRtZyIpOworI2Vu
ZGlmCiAgICAgfQorICAgIAorICAgIGNvbnN0IFN0cmluZyYgdGVtcEZpbGVQYXRoKCkgeyByZXR1
cm4gbV90ZW1wRmlsZVBhdGg7IH0KKyAgICBjb25zdCBTdHJpbmcmIHNwYWNlQ29udGFpbmluZ0Zp
bGVQYXRoKCkgeyByZXR1cm4gbV9zcGFjZUNvbnRhaW5pbmdGaWxlUGF0aDsgfQorICAgIGNvbnN0
IFN0cmluZyYgYmFuZ0NvbnRhaW5pbmdGaWxlUGF0aCgpIHsgcmV0dXJuIG1fYmFuZ0NvbnRhaW5p
bmdGaWxlUGF0aDsgfQorICAgIGNvbnN0IFN0cmluZyYgcXVvdGVDb250YWluaW5nRmlsZVBhdGgo
KSB7IHJldHVybiBtX3F1b3RlQ29udGFpbmluZ0ZpbGVQYXRoOyB9CisgICAgCitwcml2YXRlOgor
ICAgIFN0cmluZyBtX3RlbXBGaWxlUGF0aDsKKyAgICBTdHJpbmcgbV9zcGFjZUNvbnRhaW5pbmdG
aWxlUGF0aDsKKyAgICBTdHJpbmcgbV9iYW5nQ29udGFpbmluZ0ZpbGVQYXRoOworICAgIFN0cmlu
ZyBtX3F1b3RlQ29udGFpbmluZ0ZpbGVQYXRoOwogfTsKIAogVEVTVF9GKFNlY3VyaXR5T3JpZ2lu
VGVzdCwgU2VjdXJpdHlPcmlnaW5Db25zdHJ1Y3RvcnMpCkBAIC04NCw0ICsxMzIsMzYgQEAgVEVT
VF9GKFNlY3VyaXR5T3JpZ2luVGVzdCwgU2VjdXJpdHlPcmlnaQogICAgIEVYUEVDVF9UUlVFKG8x
LT5pc1NhbWVPcmlnaW5BcyhvNi5nZXQoKSkpOwogfQogCitURVNUX0YoU2VjdXJpdHlPcmlnaW5U
ZXN0LCBTZWN1cml0eU9yaWdpbkZpbGVCYXNlZENvbnN0cnVjdG9ycykKK3sKKyAgICBhdXRvIHRl
bXBGaWxlT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShVUkwoVVJMKCksICJmaWxlOi8v
LyIgKyB0ZW1wRmlsZVBhdGgoKSkpOworICAgIGF1dG8gc3BhY2VDb250YWluaW5nT3JpZ2luID0g
U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShVUkwoVVJMKCksICJmaWxlOi8vLyIgKyBzcGFjZUNvbnRh
aW5pbmdGaWxlUGF0aCgpKSk7CisgICAgYXV0byBiYW5nQ29udGFpbmluZ09yaWdpbiA9IFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGUoVVJMKFVSTCgpLCAiZmlsZTovLy8iICsgYmFuZ0NvbnRhaW5pbmdG
aWxlUGF0aCgpKSk7CisgICAgYXV0byBxdW90ZUNvbnRhaW5pbmdPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKFVSTChVUkwoKSwgImZpbGU6Ly8vIiArIHF1b3RlQ29udGFpbmluZ0ZpbGVQ
YXRoKCkpKTsKKyAgICBhdXRvIG90aGVyVm9sdW1lRmlsZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUoVVJMKFVSTCgpLCAiZmlsZTovLy9Wb2x1bWVzL3Jlc291cmNlcy9Dcm9zc1BhcnRp
dGlvblNlY3VyaXR5T3JpZ2luVGVzdC5odG1sIikpOworCisgICAgb3RoZXJWb2x1bWVGaWxlT3Jp
Z2luLT5lbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9uKCk7CisgICAgCisgICAgRVhQRUNUX0VRKFN0
cmluZygiZmlsZSIpLCB0ZW1wRmlsZU9yaWdpbi0+cHJvdG9jb2woKSk7CisgICAgRVhQRUNUX0VR
KFN0cmluZygiZmlsZSIpLCBzcGFjZUNvbnRhaW5pbmdPcmlnaW4tPnByb3RvY29sKCkpOworICAg
IEVYUEVDVF9FUShTdHJpbmcoImZpbGUiKSwgYmFuZ0NvbnRhaW5pbmdPcmlnaW4tPnByb3RvY29s
KCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoImZpbGUiKSwgcXVvdGVDb250YWluaW5nT3JpZ2lu
LT5wcm90b2NvbCgpKTsKKyAgICBFWFBFQ1RfRVEoU3RyaW5nKCJmaWxlIiksIG90aGVyVm9sdW1l
RmlsZU9yaWdpbi0+cHJvdG9jb2woKSk7CisKKyAgICBFWFBFQ1RfVFJVRSh0ZW1wRmlsZU9yaWdp
bi0+aXNTYW1lT3JpZ2luQXMoc3BhY2VDb250YWluaW5nT3JpZ2luLmdldCgpKSk7CisgICAgRVhQ
RUNUX1RSVUUodGVtcEZpbGVPcmlnaW4tPmlzU2FtZU9yaWdpbkFzKGJhbmdDb250YWluaW5nT3Jp
Z2luLmdldCgpKSk7CisgICAgRVhQRUNUX1RSVUUodGVtcEZpbGVPcmlnaW4tPmlzU2FtZU9yaWdp
bkFzKHF1b3RlQ29udGFpbmluZ09yaWdpbi5nZXQoKSkpOworICAgIEVYUEVDVF9GQUxTRShvdGhl
clZvbHVtZUZpbGVPcmlnaW4tPmlzU2FtZU9yaWdpbkFzKHRlbXBGaWxlT3JpZ2luLmdldCgpKSk7
CisgICAgCisgICAgRVhQRUNUX1RSVUUodGVtcEZpbGVPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQ
b3J0KHNwYWNlQ29udGFpbmluZ09yaWdpbi5nZXQoKSkpOworICAgIEVYUEVDVF9UUlVFKHRlbXBG
aWxlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChiYW5nQ29udGFpbmluZ09yaWdpbi5nZXQo
KSkpOworICAgIEVYUEVDVF9UUlVFKHRlbXBGaWxlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9y
dChxdW90ZUNvbnRhaW5pbmdPcmlnaW4uZ2V0KCkpKTsKKyAgICBFWFBFQ1RfRkFMU0UodGVtcEZp
bGVPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KG90aGVyVm9sdW1lRmlsZU9yaWdpbi5nZXQo
KSkpOworCisgICAgRVhQRUNUX1RSVUUodGVtcEZpbGVPcmlnaW4tPmNhbkFjY2VzcyhzcGFjZUNv
bnRhaW5pbmdPcmlnaW4uZ2V0KCkpKTsKKyAgICBFWFBFQ1RfVFJVRSh0ZW1wRmlsZU9yaWdpbi0+
Y2FuQWNjZXNzKGJhbmdDb250YWluaW5nT3JpZ2luLmdldCgpKSk7CisgICAgRVhQRUNUX1RSVUUo
dGVtcEZpbGVPcmlnaW4tPmNhbkFjY2VzcyhxdW90ZUNvbnRhaW5pbmdPcmlnaW4uZ2V0KCkpKTsK
KyAgICBFWFBFQ1RfRkFMU0Uob3RoZXJWb2x1bWVGaWxlT3JpZ2luLT5jYW5BY2Nlc3ModGVtcEZp
bGVPcmlnaW4uZ2V0KCkpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300773</attachid>
            <date>2017-02-06 17:26:03 -0800</date>
            <delta_ts>2017-02-06 17:36:37 -0800</delta_ts>
            <desc>Patch (removed volume-creation test logic)</desc>
            <filename>bug-167894-20170206172343.patch</filename>
            <type>text/plain</type>
            <size>9405</size>
            <attacher name="Brent Fulgham">bfulgham</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMTY2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAyLTA2ICBCcmVudCBG
dWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgorCisgICAgICAgIENvcnJlY3QgRmlsZSBQYXRo
IEhhbmRsaW5nIGluIFNlY3VyaXR5T3JpZ2luIGFuZCBGaWxlU3lzdGVtCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjc4OTQKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzMwMzgwMDgwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJvbGwgb3V0IHRoZSBVUkwgZGVjb2RpbmcgYmVpbmcgZG9uZSBpbiB0aGUg
RmlsZVN5c3RlbSBjbGFzcyAoYWRkZWQgaW4gQnVnIDE2Nzg5NCksIGFuZCBpbnN0ZWFkIGVuc3Vy
ZSB0aGF0CisgICAgICAgIFNlY3VyaXR5T3JpZ2luIHByb3Blcmx5IGhhbmRsZXMgZmlsZSBVUkxz
LCBhbmQgb25seSBwYXNzZXMgdmFsaWQgZmlsZSBzdHJpbmdzIHRvIHRoZSBGaWxlU3lzdGVtIGlu
dGVyZmFjZS4KKworICAgICAgICBUZXN0ZWQgYnkgRmlsZVN5c3RlbVRlc3RzIGFuZCBTZWN1cml0
eU9yaWdpblRlc3RzIGluIFRlc3RXZWJLaXRBUEkuCisKKyAgICAgICAgKiBwYWdlL1NlY3VyaXR5
T3JpZ2luLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpTZWN1cml0eU9y
aWdpbik6IEluaXRpYWxpemUgbV9maWxlUGF0aCB1c2luZyB0aGUgdXJsJ3MgZmlsZVN5c3RlbVBh
dGgsIG5vdAorICAgICAgICB0aGUgJS1lbmNvZGVkICdwYXRoJyBwcm9wZXJ0eS4KKyAgICAgICAg
KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luOjpjYW5EaXNwbGF5KTogUGFzcyB0aGUgJ2ZpbGVTeXN0
ZW1QYXRoJyB0byAnZmlsZXNIYXZlU2FtZVZvbHVtZScsIHJhdGhlciB0aGFuCisgICAgICAgIHRo
ZSAlLWVuY29kZWQgJ3BhdGgnIHByb3BlcnR5LgorICAgICAgICAqIHBhZ2UvU2VjdXJpdHlPcmln
aW4uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OmZpbGVzSGF2ZVNhbWVWb2x1bWUpOiBEbyBub3QgdXNlICdkZWNvZGVVUkxFc2NhcGVTZXF1
ZW5jZXMnIGluICdmaWxlc0hhdmVTYW1lVm9sdW1lJy4KKwogMjAxNy0wMi0wMyAgU2ltb24gRnJh
c2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDb3JyZWN0bHkgc2V0IHRo
ZSAiaW5XaW5kb3ciIGZsYWcgZm9yIFRpbGVDb250cm9sbGVycyB0aGF0IGFyZW4ndCB0aGUgcGFn
ZSB0aWxlcywgYW5kIGNsYXJpZnkgInVzaW5nVGlsZWRCYWNraW5nIiBsb2dpYwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9TZWN1cml0eU9yaWdpbi5jcHAJKHJldmlzaW9uIDIxMTY0NSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BhZ2UvU2VjdXJpdHlPcmlnaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTQsNyArMTE0LDcgQEAgU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5T3JpZ2luKGNvbnN0IFVSTAog
ICAgIG1fY2FuTG9hZExvY2FsUmVzb3VyY2VzID0gaXNMb2NhbCgpOwogCiAgICAgaWYgKG1fY2Fu
TG9hZExvY2FsUmVzb3VyY2VzKQotICAgICAgICBtX2ZpbGVQYXRoID0gdXJsLnBhdGgoKTsgLy8g
SW4gY2FzZSBlbmZvcmNlRmlsZVBhdGhTZXBhcmF0aW9uKCkgaXMgY2FsbGVkLgorICAgICAgICBt
X2ZpbGVQYXRoID0gdXJsLmZpbGVTeXN0ZW1QYXRoKCk7IC8vIEluIGNhc2UgZW5mb3JjZUZpbGVQ
YXRoU2VwYXJhdGlvbigpIGlzIGNhbGxlZC4KIH0KIAogU2VjdXJpdHlPcmlnaW46OlNlY3VyaXR5
T3JpZ2luKCkKQEAgLTMwNSw3ICszMDUsNyBAQCBib29sIFNlY3VyaXR5T3JpZ2luOjpjYW5EaXNw
bGF5KGNvbnN0IFVSCiAgICAgICAgIHJldHVybiB0cnVlOwogCiAjaWYgIVBMQVRGT1JNKElPUykK
LSAgICBpZiAobV9wcm90b2NvbCA9PSAiZmlsZSIgJiYgdXJsLmlzTG9jYWxGaWxlKCkgJiYgIWZp
bGVzSGF2ZVNhbWVWb2x1bWUobV9maWxlUGF0aCwgdXJsLnBhdGgoKSkpCisgICAgaWYgKG1fcHJv
dG9jb2wgPT0gImZpbGUiICYmIHVybC5pc0xvY2FsRmlsZSgpICYmICFmaWxlc0hhdmVTYW1lVm9s
dW1lKG1fZmlsZVBhdGgsIHVybC5maWxlU3lzdGVtUGF0aCgpKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3Bw
CShyZXZpc2lvbiAyMTE2NDUpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVt
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNiBAQAogI2luY2x1ZGUgIkZpbGVTeXN0
ZW0uaCIKIAogI2luY2x1ZGUgIlNjb3BlR3VhcmQuaCIKLSNpbmNsdWRlICJVUkwuaCIKICNpbmNs
dWRlIDx3dGYvSGV4TnVtYmVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KQEAgLTIzNyw4ICsyMzYsOCBAQCBib29s
IGFwcGVuZEZpbGVDb250ZW50c1RvRmlsZUhhbmRsZShjb25zCiAgICAgCiBib29sIGZpbGVzSGF2
ZVNhbWVWb2x1bWUoY29uc3QgU3RyaW5nJiBmaWxlQSwgY29uc3QgU3RyaW5nJiBmaWxlQikKIHsK
LSAgICBhdXRvIGZzUmVwRmlsZUEgPSBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZGVjb2RlVVJM
RXNjYXBlU2VxdWVuY2VzKGZpbGVBKSk7Ci0gICAgYXV0byBmc1JlcEZpbGVCID0gZmlsZVN5c3Rl
bVJlcHJlc2VudGF0aW9uKGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlcyhmaWxlQikpOworICAgIGF1
dG8gZnNSZXBGaWxlQSA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihmaWxlQSk7CisgICAgYXV0
byBmc1JlcEZpbGVCID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKGZpbGVCKTsKICAgICAKICAg
ICBpZiAoZnNSZXBGaWxlQS5pc051bGwoKSB8fCBmc1JlcEZpbGVCLmlzTnVsbCgpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTE3NTEpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxNy0wMi0wNiAgQnJlbnQgRnVsZ2hhbSAgPGJm
dWxnaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBDb3JyZWN0IEZpbGUgUGF0aCBIYW5kbGluZyBp
biBTZWN1cml0eU9yaWdpbiBhbmQgRmlsZVN5c3RlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3ODk0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDM4MDA4MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9GaWxlU3lzdGVtLmNwcDogRG9uJ3QgZW5j
b2RlIHRoZSB0ZW1wb3JhcnkgZmlsZXMsCisgICAgICAgIGFuZCBwZXJmb3JtIHNhbWUtdm9sdW1l
IGNoZWNrcyB1c2luZyBmaWxlc3lzdGVtLWNvbXBhdGlibGUgcGF0aHMuICAgICAgICAKKyAgICAg
ICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvU2VjdXJpdHlPcmlnaW4uY3BwOiBDcmVh
dGUgU2VjdXJpdHlPcmlnaW5zIGZyb20KKyAgICAgICAgZmlsZXN5c3RlbSBwYXRocywgYW5kIHBl
cmZvcm0gdmFsaWRhdGlvbiBvZiBzYW1lLXZvbHVtZSBjaGVja3MuCisgICAgICAgIChUZXN0V2Vi
S2l0QVBJOjpTZWN1cml0eU9yaWdpblRlc3Q6OnRlbXBGaWxlUGF0aCk6IEFkZGVkLgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6U2VjdXJpdHlPcmlnaW5UZXN0OjpzcGFjZUNvbnRhaW5pbmdGaWxl
UGF0aCk6IEFkZGVkLgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6U2VjdXJpdHlPcmlnaW5UZXN0
OjpiYW5nQ29udGFpbmluZ0ZpbGVQYXRoKTogQWRkZWQuCisgICAgICAgIChUZXN0V2ViS2l0QVBJ
OjpTZWN1cml0eU9yaWdpblRlc3Q6OnF1b3RlQ29udGFpbmluZ0ZpbGVQYXRoKTogQWRkZWQuCisK
IDIwMTctMDItMDYgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
UGxheWJhY2sgc3RhbGxzIHdoZW4gYSBTb3VyY2VCdWZmZXIgYXBwZW5kIGNhdXNlcyBmcmFtZSBl
dmljdGlvbgpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0ZpbGVTeXN0
ZW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9G
aWxlU3lzdGVtLmNwcAkocmV2aXNpb24gMjExNjQ1KQorKysgVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL0ZpbGVTeXN0ZW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw2
IEBACiAKICNpbmNsdWRlICJUZXN0LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GaWxlU3lzdGVtLmg+
Ci0jaW5jbHVkZSA8V2ViQ29yZS9VUkwuaD4KICNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgog
I2luY2x1ZGUgPHd0Zi9TdHJpbmdFeHRyYXMuaD4KIApAQCAtNTQsMTUgKzUzLDE1IEBAIHB1Ymxp
YzoKICAgICAgICAgbV90ZW1wRW1wdHlGaWxlUGF0aCA9IG9wZW5UZW1wb3JhcnlGaWxlKCJ0ZW1w
RW1wdHlUZXN0RmlsZSIsIGhhbmRsZSk7CiAgICAgICAgIGNsb3NlRmlsZShoYW5kbGUpOwogCi0g
ICAgICAgIG1fc3BhY2VDb250YWluaW5nRmlsZVBhdGggPSBlbmNvZGVXaXRoVVJMRXNjYXBlU2Vx
dWVuY2VzKG9wZW5UZW1wb3JhcnlGaWxlKCJ0ZW1wIEVtcHR5IFRlc3QgRmlsZSIsIGhhbmRsZSkp
OworICAgICAgICBtX3NwYWNlQ29udGFpbmluZ0ZpbGVQYXRoID0gb3BlblRlbXBvcmFyeUZpbGUo
InRlbXAgRW1wdHkgVGVzdCBGaWxlIiwgaGFuZGxlKTsKICAgICAgICAgY2xvc2VGaWxlKGhhbmRs
ZSk7CiAKLSAgICAgICAgbV9iYW5nQ29udGFpbmluZ0ZpbGVQYXRoID0gZW5jb2RlV2l0aFVSTEVz
Y2FwZVNlcXVlbmNlcyhvcGVuVGVtcG9yYXJ5RmlsZSgidGVtcCFFbXB0eSFUZXN0IUZpbGUiLCBo
YW5kbGUpKTsKKyAgICAgICAgbV9iYW5nQ29udGFpbmluZ0ZpbGVQYXRoID0gb3BlblRlbXBvcmFy
eUZpbGUoInRlbXAhRW1wdHkhVGVzdCFGaWxlIiwgaGFuZGxlKTsKICAgICAgICAgY2xvc2VGaWxl
KGhhbmRsZSk7CiAKLSAgICAgICAgbV9xdW90ZUNvbnRhaW5pbmdGaWxlUGF0aCA9IGVuY29kZVdp
dGhVUkxFc2NhcGVTZXF1ZW5jZXMob3BlblRlbXBvcmFyeUZpbGUoInRlbXBcIkVtcHR5XCJUZXN0
RmlsZSIsIGhhbmRsZSkpOworICAgICAgICBtX3F1b3RlQ29udGFpbmluZ0ZpbGVQYXRoID0gb3Bl
blRlbXBvcmFyeUZpbGUoInRlbXBcIkVtcHR5XCJUZXN0RmlsZSIsIGhhbmRsZSk7CiAgICAgICAg
IGNsb3NlRmlsZShoYW5kbGUpOwotfQorICAgIH0KIAogICAgIHZvaWQgVGVhckRvd24oKSBvdmVy
cmlkZQogICAgIHsKSW5kZXg6IFRvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9TZWN1
cml0eU9yaWdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmNwcAkocmV2aXNpb24gMjExNjQ1KQorKysgVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQsNyArMjQsOSBAQAogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2luY2x1ZGUgIldURlN0cmluZ1V0aWxpdGllcy5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvRmlsZVN5c3RlbS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2VjdXJp
dHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9NYWlu
VGhyZWFkLmg+CkBAIC0zNyw3ICszOSw0MCBAQCBjbGFzcyBTZWN1cml0eU9yaWdpblRlc3QgOiBw
dWJsaWMgdGVzdGluCiBwdWJsaWM6CiAgICAgdm9pZCBTZXRVcCgpIGZpbmFsIHsKICAgICAgICAg
V1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOworCisgICAgICAgIC8vIGNyZWF0ZSB0ZW1wIGZp
bGUKKyAgICAgICAgUGxhdGZvcm1GaWxlSGFuZGxlIGhhbmRsZTsKKyAgICAgICAgbV90ZW1wRmls
ZVBhdGggPSBvcGVuVGVtcG9yYXJ5RmlsZSgidGVtcFRlc3RGaWxlIiwgaGFuZGxlKTsKKyAgICAg
ICAgY2xvc2VGaWxlKGhhbmRsZSk7CisgICAgICAgIAorICAgICAgICBtX3NwYWNlQ29udGFpbmlu
Z0ZpbGVQYXRoID0gb3BlblRlbXBvcmFyeUZpbGUoInRlbXAgRW1wdHkgVGVzdCBGaWxlIiwgaGFu
ZGxlKTsKKyAgICAgICAgY2xvc2VGaWxlKGhhbmRsZSk7CisgICAgICAgIAorICAgICAgICBtX2Jh
bmdDb250YWluaW5nRmlsZVBhdGggPSBvcGVuVGVtcG9yYXJ5RmlsZSgidGVtcCFFbXB0eSFUZXN0
IUZpbGUiLCBoYW5kbGUpOworICAgICAgICBjbG9zZUZpbGUoaGFuZGxlKTsKKyAgICAgICAgCisg
ICAgICAgIG1fcXVvdGVDb250YWluaW5nRmlsZVBhdGggPSBvcGVuVGVtcG9yYXJ5RmlsZSgidGVt
cFwiRW1wdHlcIlRlc3RGaWxlIiwgaGFuZGxlKTsKKyAgICAgICAgY2xvc2VGaWxlKGhhbmRsZSk7
CisgICAgfQorCisgICAgdm9pZCBUZWFyRG93bigpIG92ZXJyaWRlCisgICAgeworICAgICAgICBk
ZWxldGVGaWxlKG1fdGVtcEZpbGVQYXRoKTsKKyAgICAgICAgZGVsZXRlRmlsZShtX3NwYWNlQ29u
dGFpbmluZ0ZpbGVQYXRoKTsKKyAgICAgICAgZGVsZXRlRmlsZShtX2JhbmdDb250YWluaW5nRmls
ZVBhdGgpOworICAgICAgICBkZWxldGVGaWxlKG1fcXVvdGVDb250YWluaW5nRmlsZVBhdGgpOwog
ICAgIH0KKyAgICAKKyAgICBjb25zdCBTdHJpbmcmIHRlbXBGaWxlUGF0aCgpIHsgcmV0dXJuIG1f
dGVtcEZpbGVQYXRoOyB9CisgICAgY29uc3QgU3RyaW5nJiBzcGFjZUNvbnRhaW5pbmdGaWxlUGF0
aCgpIHsgcmV0dXJuIG1fc3BhY2VDb250YWluaW5nRmlsZVBhdGg7IH0KKyAgICBjb25zdCBTdHJp
bmcmIGJhbmdDb250YWluaW5nRmlsZVBhdGgoKSB7IHJldHVybiBtX2JhbmdDb250YWluaW5nRmls
ZVBhdGg7IH0KKyAgICBjb25zdCBTdHJpbmcmIHF1b3RlQ29udGFpbmluZ0ZpbGVQYXRoKCkgeyBy
ZXR1cm4gbV9xdW90ZUNvbnRhaW5pbmdGaWxlUGF0aDsgfQorICAgIAorcHJpdmF0ZToKKyAgICBT
dHJpbmcgbV90ZW1wRmlsZVBhdGg7CisgICAgU3RyaW5nIG1fc3BhY2VDb250YWluaW5nRmlsZVBh
dGg7CisgICAgU3RyaW5nIG1fYmFuZ0NvbnRhaW5pbmdGaWxlUGF0aDsKKyAgICBTdHJpbmcgbV9x
dW90ZUNvbnRhaW5pbmdGaWxlUGF0aDsKIH07CiAKIFRFU1RfRihTZWN1cml0eU9yaWdpblRlc3Qs
IFNlY3VyaXR5T3JpZ2luQ29uc3RydWN0b3JzKQpAQCAtODQsNCArMTE5LDI5IEBAIFRFU1RfRihT
ZWN1cml0eU9yaWdpblRlc3QsIFNlY3VyaXR5T3JpZ2kKICAgICBFWFBFQ1RfVFJVRShvMS0+aXNT
YW1lT3JpZ2luQXMobzYuZ2V0KCkpKTsKIH0KIAorVEVTVF9GKFNlY3VyaXR5T3JpZ2luVGVzdCwg
U2VjdXJpdHlPcmlnaW5GaWxlQmFzZWRDb25zdHJ1Y3RvcnMpCit7CisgICAgYXV0byB0ZW1wRmls
ZU9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoVVJMKFVSTCgpLCAiZmlsZTovLy8iICsg
dGVtcEZpbGVQYXRoKCkpKTsKKyAgICBhdXRvIHNwYWNlQ29udGFpbmluZ09yaWdpbiA9IFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGUoVVJMKFVSTCgpLCAiZmlsZTovLy8iICsgc3BhY2VDb250YWluaW5n
RmlsZVBhdGgoKSkpOworICAgIGF1dG8gYmFuZ0NvbnRhaW5pbmdPcmlnaW4gPSBTZWN1cml0eU9y
aWdpbjo6Y3JlYXRlKFVSTChVUkwoKSwgImZpbGU6Ly8vIiArIGJhbmdDb250YWluaW5nRmlsZVBh
dGgoKSkpOworICAgIGF1dG8gcXVvdGVDb250YWluaW5nT3JpZ2luID0gU2VjdXJpdHlPcmlnaW46
OmNyZWF0ZShVUkwoVVJMKCksICJmaWxlOi8vLyIgKyBxdW90ZUNvbnRhaW5pbmdGaWxlUGF0aCgp
KSk7CisgICAgCisgICAgRVhQRUNUX0VRKFN0cmluZygiZmlsZSIpLCB0ZW1wRmlsZU9yaWdpbi0+
cHJvdG9jb2woKSk7CisgICAgRVhQRUNUX0VRKFN0cmluZygiZmlsZSIpLCBzcGFjZUNvbnRhaW5p
bmdPcmlnaW4tPnByb3RvY29sKCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoImZpbGUiKSwgYmFu
Z0NvbnRhaW5pbmdPcmlnaW4tPnByb3RvY29sKCkpOworICAgIEVYUEVDVF9FUShTdHJpbmcoImZp
bGUiKSwgcXVvdGVDb250YWluaW5nT3JpZ2luLT5wcm90b2NvbCgpKTsKKworICAgIEVYUEVDVF9U
UlVFKHRlbXBGaWxlT3JpZ2luLT5pc1NhbWVPcmlnaW5BcyhzcGFjZUNvbnRhaW5pbmdPcmlnaW4u
Z2V0KCkpKTsKKyAgICBFWFBFQ1RfVFJVRSh0ZW1wRmlsZU9yaWdpbi0+aXNTYW1lT3JpZ2luQXMo
YmFuZ0NvbnRhaW5pbmdPcmlnaW4uZ2V0KCkpKTsKKyAgICBFWFBFQ1RfVFJVRSh0ZW1wRmlsZU9y
aWdpbi0+aXNTYW1lT3JpZ2luQXMocXVvdGVDb250YWluaW5nT3JpZ2luLmdldCgpKSk7CisgICAg
CisgICAgRVhQRUNUX1RSVUUodGVtcEZpbGVPcmlnaW4tPmlzU2FtZVNjaGVtZUhvc3RQb3J0KHNw
YWNlQ29udGFpbmluZ09yaWdpbi5nZXQoKSkpOworICAgIEVYUEVDVF9UUlVFKHRlbXBGaWxlT3Jp
Z2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChiYW5nQ29udGFpbmluZ09yaWdpbi5nZXQoKSkpOwor
ICAgIEVYUEVDVF9UUlVFKHRlbXBGaWxlT3JpZ2luLT5pc1NhbWVTY2hlbWVIb3N0UG9ydChxdW90
ZUNvbnRhaW5pbmdPcmlnaW4uZ2V0KCkpKTsKKworICAgIEVYUEVDVF9UUlVFKHRlbXBGaWxlT3Jp
Z2luLT5jYW5BY2Nlc3Moc3BhY2VDb250YWluaW5nT3JpZ2luLmdldCgpKSk7CisgICAgRVhQRUNU
X1RSVUUodGVtcEZpbGVPcmlnaW4tPmNhbkFjY2VzcyhiYW5nQ29udGFpbmluZ09yaWdpbi5nZXQo
KSkpOworICAgIEVYUEVDVF9UUlVFKHRlbXBGaWxlT3JpZ2luLT5jYW5BY2Nlc3MocXVvdGVDb250
YWluaW5nT3JpZ2luLmdldCgpKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="322629"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>