<?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>162763</bug_id>
          
          <creation_ts>2016-09-29 18:10:25 -0700</creation_ts>
          <short_desc>ASSERTION FAILED: url.containsOnlyASCII() in WebCore::checkEncodedString() when parsing an invalid CSS cursor URL</short_desc>
          <delta_ts>2017-04-03 12:08:55 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=141638</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>
          <dependson>170285</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1235071</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-29 18:10:25 -0700</bug_when>
    <thetext>Assertion failures when parsing invalid CSS URLs containing non-ASCII characters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235072</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-29 18:11:50 -0700</bug_when>
    <thetext>

*** This bug has been marked as a duplicate of bug 141638 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235438</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-30 14:49:59 -0700</bug_when>
    <thetext>The test case attached to https://bugs.webkit.org/show_bug.cgi?id=141638 actually demonstrates two issues:

1. CSS URLs with multi-byte Unicode escape sequences fail to parse.
2. Invalid CSS URLs with non-ASCII characters trigger assertions when used with the CSS cursor property.

Bug 141638 will track the first issue, and this will track the second.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235440</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-09-30 14:54:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/28572758&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235467</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-30 15:39:15 -0700</bug_when>
    <thetext>ASSERTION FAILED: url.containsOnlyASCII()
/Users/andy/Code/OpenSource/Source/WebCore/platform/URL.cpp(415) : void WebCore::checkEncodedString(const WTF::String &amp;)
1   0x107b2044d WTFCrash
2   0x113a37481 WebCore::checkEncodedString(WTF::String const&amp;)
3   0x113a3004f WebCore::URL::parse(WTF::String const&amp;)
4   0x113a2ff4a WebCore::URL::URL(WebCore::ParsedURLStringTag, WTF::String const&amp;)
5   0x113a30113 WebCore::URL::URL(WebCore::ParsedURLStringTag, WTF::String const&amp;)
6   0x111841ba5 WebCore::CSSCursorImageValue::CSSCursorImageValue(WTF::Ref&lt;WebCore::CSSValue&gt;&amp;&amp;, bool, WebCore::IntPoint const&amp;)
7   0x111841d14 WebCore::CSSCursorImageValue::CSSCursorImageValue(WTF::Ref&lt;WebCore::CSSValue&gt;&amp;&amp;, bool, WebCore::IntPoint const&amp;)
8   0x1118e497b WebCore::CSSCursorImageValue::create(WTF::Ref&lt;WebCore::CSSValue&gt;&amp;&amp;, bool, WebCore::IntPoint const&amp;)
9   0x1118da328 WebCore::CSSParser::parseValue(WebCore::CSSPropertyID, bool)
10  0x1118a7b2d cssyyparse(WebCore::CSSParser*)
11  0x1118d3e03 WebCore::CSSParser::parseSheet(WebCore::StyleSheetContents*, WTF::String const&amp;, WTF::TextPosition const&amp;, WTF::Vector&lt;WTF::Ref&lt;WebCore::CSSRuleSourceData&gt;, 0ul, WTF::CrashOnOverflow, 16ul&gt;*, bool)
12  0x1137993ec WebCore::StyleSheetContents::parseStringAtPosition(WTF::String const&amp;, WTF::TextPosition const&amp;, bool)
13  0x11228022f WebCore::InlineStyleSheetOwner::createSheet(WebCore::Element&amp;, WTF::String const&amp;)
14  0x11227fb14 WebCore::InlineStyleSheetOwner::createSheetFromTextContents(WebCore::Element&amp;)
15  0x11227fceb WebCore::InlineStyleSheetOwner::finishParsingChildren(WebCore::Element&amp;)
16  0x1120ca3a9 WebCore::HTMLStyleElement::finishParsingChildren()
17  0x111fff9d7 WebCore::HTMLElementStack::popCommon()
18  0x11200024b WebCore::HTMLElementStack::pop()
19  0x1120f7496 WebCore::HTMLTreeBuilder::processEndTag(WebCore::AtomicHTMLToken&amp;)
20  0x1120f4a1d WebCore::HTMLTreeBuilder::processToken(WebCore::AtomicHTMLToken&amp;)
21  0x1120f3cd4 WebCore::HTMLTreeBuilder::constructTree(WebCore::AtomicHTMLToken&amp;)
22  0x111fe0501 WebCore::HTMLDocumentParser::constructTreeFromHTMLToken(WebCore::HTMLTokenizer::TokenPtr&amp;)
23  0x111fe01f3 WebCore::HTMLDocumentParser::pumpTokenizerLoop(WebCore::HTMLDocumentParser::SynchronousMode, bool, WebCore::PumpSession&amp;)
24  0x111fdea68 WebCore::HTMLDocumentParser::pumpTokenizer(WebCore::HTMLDocumentParser::SynchronousMode)
25  0x111fde5bb WebCore::HTMLDocumentParser::pumpTokenizerIfPossible(WebCore::HTMLDocumentParser::SynchronousMode)
26  0x111fe1066 WebCore::HTMLDocumentParser::append(WTF::RefPtr&lt;WTF::StringImpl&gt;&amp;&amp;)
27  0x111a4c782 WebCore::DecodedDataDocumentParser::flush(WebCore::DocumentWriter&amp;)
28  0x111b86efc WebCore::DocumentWriter::end()
29  0x111b435a6 WebCore::DocumentLoader::finishedLoading(double)
30  0x111b43365 WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource*)
31  0x11162a39d WebCore::CachedResource::checkNotify()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235468</commentid>
    <comment_count>5</comment_count>
      <attachid>290400</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-30 15:40:43 -0700</bug_when>
    <thetext>Created attachment 290400
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235539</commentid>
    <comment_count>6</comment_count>
      <attachid>290415</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-09-30 18:04:18 -0700</bug_when>
    <thetext>Created attachment 290415
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235617</commentid>
    <comment_count>7</comment_count>
      <attachid>290415</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2016-10-01 04:52:13 -0700</bug_when>
    <thetext>Comment on attachment 290415
Patch

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

&gt; LayoutTests/ChangeLog:10
&gt; +        * platform/mac/fast/css/cursor-with-invalid-url-expected.txt: Added.

Shouldn&apos;t the expected.txt file be in fast/css?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235868</commentid>
    <comment_count>8</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-03 12:54:58 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 290415 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=290415&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:10
&gt; &gt; +        * platform/mac/fast/css/cursor-with-invalid-url-expected.txt: Added.
&gt; 
&gt; Shouldn&apos;t the expected.txt file be in fast/css?

Indeed. Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235869</commentid>
    <comment_count>9</comment_count>
      <attachid>290509</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2016-10-03 12:57:27 -0700</bug_when>
    <thetext>Created attachment 290509
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235883</commentid>
    <comment_count>10</comment_count>
      <attachid>290509</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-03 13:30:00 -0700</bug_when>
    <thetext>Comment on attachment 290509
Patch

Clearing flags on attachment: 290509

Committed r206744: &lt;http://trac.webkit.org/changeset/206744&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1235884</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-03 13:30:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>290400</attachid>
            <date>2016-09-30 15:40:43 -0700</date>
            <delta_ts>2016-09-30 15:40:43 -0700</delta_ts>
            <desc>test case</desc>
            <filename>cursor-with-invalid-url.html</filename>
            <type>text/html</type>
            <size>245</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICAgIDxzdHlsZT4KICAgICAgICBib2R5IHsK
ICAgICAgICAgICAgY3Vyc29yOiB1cmwoc2NoZW1lOi8vaG9zdDo4MFwxMDApOwogICAgICAgIH0K
ICAgIDwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+ClRlc3QgdGhhdCBhIGN1cnNvciB3aXRoIGFuIGlu
dmFsaWQgQ1NTIFVSTCBkb2VzIG5vdCB0cmlnZ2VyIGFzc2VydGlvbnMgaW4gRGVidWcgYnVpbGRz
Lgo8L2JvZHk+CjwvaHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290415</attachid>
            <date>2016-09-30 18:04:18 -0700</date>
            <delta_ts>2016-10-03 12:57:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162763-20160930180114.patch</filename>
            <type>text/plain</type>
            <size>11676</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzU1MzI1ZTliYmYxMjk0
M2MyMWJkNTk4OGFiOTE0NGFkOGNlMjJmZi4uYmQwNjk3N2Y3OTQxZGY0OTVkNDU1ZGMxOGVmMzM2
ZmY0NzU4ZjQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTA5LTMwICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiB1
cmwuY29udGFpbnNPbmx5QVNDSUkoKSBpbiBXZWJDb3JlOjpjaGVja0VuY29kZWRTdHJpbmcoKSB3
aGVuIHBhcnNpbmcgYW4gaW52YWxpZCBDU1MgY3Vyc29yIFVSTAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNzYzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODU3Mjc1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBDU1NDdXJzb3JJbWFnZVZhbHVlIGNvcGllcyB0aGUgVVJMIG9mIGl0cyB1bmRlcmx5
aW5nIENTU0ltYWdlVmFsdWUgYnkgdXNpbmcgdGhlCisgICAgICAgIFBhcnNlZFVSTFN0cmluZyBV
UkwgY29uc3RydWN0b3Igb24gdGhlIFN0cmluZyByZXR1cm5lZCBieSBDU1NJbWFnZVZhbHVlOjp1
cmwoKS4gV2hpbGUKKyAgICAgICAgQ1NTSW1hZ2VWYWx1ZXMgd2VyZSBhbHdheXMgYmVpbmcgY29u
c3RydWN0ZWQgZnJvbSBhIFVSTCBpbXBsaWNpdGx5IGNvbnZlcnRlZCB0byBhIFN0cmluZywKKyAg
ICAgICAgbm90aGluZyBlbnN1cmVkIHRoYXQgdGhlIFVSTCB3YXMgdmFsaWQuIEZvciBpbnZhbGlk
IFVSTHMsIFVSTDo6c3RyaW5nKCkgcmV0dXJucyB0aGUgc3RyaW5nCisgICAgICAgIGl0IHdhcyBj
b25zdHJ1Y3RlZCB3aXRoLCB3aGljaCBtaWdodCBzdGlsbCByZXByZXNlbnQgYSByZWxhdGl2ZSBV
Ukwgb3IgY29udGFpbiBub24tQVNDSUkKKyAgICAgICAgY2hhcmFjdGVycywgdmlvbGF0aW5nIHRo
ZSBwcmVjb25kaXRpb25zIG9mIHRoZSBQYXJzZWRVUkxTdHJpbmcgVVJMIGNvbnN0cnVjdG9yIGFu
ZCBjYXVzaW5nCisgICAgICAgIGFuIGFzc2VydGlvbiB0byBmYWlsIGluIERlYnVnIGJ1aWxkcy4K
KworICAgICAgICBGaXggdGhpcyBieSBoYXZpbmcgQ1NTSW1hZ2VWYWx1ZSBzdG9yZSBpdHMgaW1h
Z2UgVVJMIHVzaW5nIGEgV2ViQ29yZTo6VVJMIHJhdGhlciB0aGFuIGEKKyAgICAgICAgU3RyaW5n
LiBDU1NDdXJzb3JJbWFnZVZhbHVlIGNhbiB0aGVuIGNvcHkgdGhpcyBVUkwgaW5zdGVhZCBvZiBh
dHRlbXB0aW5nIHRvIHJlLXBhcnNlIGEKKyAgICAgICAgcG9zc2libHktaW52YWxpZCBVUkwgc3Ry
aW5nLgorCisgICAgICAgIFRlc3Q6IGZhc3QvY3NzL2N1cnNvci13aXRoLWludmFsaWQtdXJsLmh0
bWwKKworICAgICAgICAqIGNzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkNTU0N1cnNvckltYWdlVmFsdWU6OkNTU0N1cnNvckltYWdlVmFsdWUpOiBDb3BpZWQg
bV9pbWFnZVZhbHVlLnVybCgpIGludG8KKyAgICAgICAgbV9vcmlnaW5hbFVSTCBpbnN0ZWFkIG9m
IHVzaW5nIHRoZSBQYXJzZWRVUkxTdHJpbmcgVVJMIGNvbnN0cnVjdG9yLCBzaW5jZQorICAgICAg
ICBDU1NJbWFnZVZhbHVlOjp1cmwoKSBub3cgcmV0dXJucyBhIFdlYkNvcmU6OlVSTC4KKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0N1cnNvckltYWdlVmFsdWU6OmxvYWRJbWFnZSk6IENyZWF0ZWQgYSBV
UkwgZnJvbSBjdXJzb3JFbGVtZW50LT5ocmVmKCkgYnkKKyAgICAgICAgY2FsbGluZyBEb2N1bWVu
dDo6Y29tcGxldGVVUkwoKS4KKyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpDU1NJbWFnZVZhbHVlOjpDU1NJbWFnZVZhbHVlKTogQ2hhbmdlZCB0byB0
YWtlIGEgVVJMJiYgaW5zdGVhZCBvZiBhIGNvbnN0IFN0cmluZyYuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NJbWFnZVZhbHVlOjpsb2FkSW1hZ2UpOiBTdG9wcGVkIGNhbGxpbmcgRG9jdW1lbnQ6OmNv
bXBsZXRlVVJMKCksIHNpbmNlIG1fdXJsIGlzCisgICAgICAgIG5vdyBhIFdlYkNvcmU6OlVSTC4K
KyAgICAgICAgKiBjc3MvQ1NTSW1hZ2VWYWx1ZS5oOiBDaGFuZ2VkIHVybCgpIHRvIHJldHVybiBh
IGNvbnN0IFVSTCYsIGFuZCBjaGFuZ2VkIG1fdXJsIHRvIGJlIGEgVVJMLgorICAgICAgICAqIGh0
bWwvSFRNTEJvZHlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxCb2R5RWxlbWVu
dDo6Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKTogUmVtb3ZlZCBhIGNhbGwg
dG8KKyAgICAgICAgVVJMOjpzdHJpbmcoKS4KKyAgICAgICAgKiBodG1sL0hUTUxUYWJsZUVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRhYmxlRWxlbWVudDo6Y29sbGVjdFN0eWxl
Rm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKTogRGl0dG8uCisgICAgICAgICogaHRtbC9IVE1MVGFi
bGVQYXJ0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVQYXJ0RWxlbWVu
dDo6Y29sbGVjdFN0eWxlRm9yUHJlc2VudGF0aW9uQXR0cmlidXRlKTogRGl0dG8uCisKIDIwMTYt
MDktMjYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbQ29jb2FdIEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgY29tcGxleCB0ZXh0IGNvZGVwYXRoCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5jcHAKaW5kZXggMjIyMzUxZjll
ZmYzY2M4ZDc0YzZjZDA2NjViNzlkYTFjNmYwODAzNi4uMWEwOTIwMjE2MzViYzkwMTQ0ZDRlOTcw
YjMxMTc1NzNmMzE4YTUzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNv
ckltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJzb3JJbWFnZVZh
bHVlLmNwcApAQCAtNDQsNyArNDQsNyBAQCBDU1NDdXJzb3JJbWFnZVZhbHVlOjpDU1NDdXJzb3JJ
bWFnZVZhbHVlKFJlZjxDU1NWYWx1ZT4mJiBpbWFnZVZhbHVlLCBib29sIGhhc0hvdAogICAgICwg
bV9ob3RTcG90KGhvdFNwb3QpCiB7CiAgICAgaWYgKGlzPENTU0ltYWdlVmFsdWU+KG1faW1hZ2VW
YWx1ZS5nZXQoKSkpCi0gICAgICAgIG1fb3JpZ2luYWxVUkwgPSB7IFBhcnNlZFVSTFN0cmluZywg
ZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4obV9pbWFnZVZhbHVlLmdldCgpKS51cmwoKSB9OworICAg
ICAgICBtX29yaWdpbmFsVVJMID0gZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4obV9pbWFnZVZhbHVl
LmdldCgpKS51cmwoKTsKIH0KIAogQ1NTQ3Vyc29ySW1hZ2VWYWx1ZTo6fkNTU0N1cnNvckltYWdl
VmFsdWUoKQpAQCAtMTA3LDcgKzEwNyw3IEBAIHN0ZDo6cGFpcjxDYWNoZWRJbWFnZSosIGZsb2F0
PiBDU1NDdXJzb3JJbWFnZVZhbHVlOjpsb2FkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2FkCiAKICAg
ICBpZiAoYXV0byogY3Vyc29yRWxlbWVudCA9IHVwZGF0ZUN1cnNvckVsZW1lbnQoKmxvYWRlci5k
b2N1bWVudCgpKSkgewogICAgICAgICBpZiAoY3Vyc29yRWxlbWVudC0+aHJlZigpICE9IGRvd25j
YXN0PENTU0ltYWdlVmFsdWU+KG1faW1hZ2VWYWx1ZS5nZXQoKSkudXJsKCkpCi0gICAgICAgICAg
ICBtX2ltYWdlVmFsdWUgPSBDU1NJbWFnZVZhbHVlOjpjcmVhdGUoY3Vyc29yRWxlbWVudC0+aHJl
ZigpKTsKKyAgICAgICAgICAgIG1faW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0ZShs
b2FkZXIuZG9jdW1lbnQoKS0+Y29tcGxldGVVUkwoY3Vyc29yRWxlbWVudC0+aHJlZigpKSk7CiAg
ICAgfQogCiAgICAgcmV0dXJuIHsgZG93bmNhc3Q8Q1NTSW1hZ2VWYWx1ZT4obV9pbWFnZVZhbHVl
LmdldCgpKS5sb2FkSW1hZ2UobG9hZGVyLCBvcHRpb25zKSwgMSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0ltYWdlVmFsdWUuY3BwCmluZGV4IDI1NGJiMWE3Y2FkOWE0NTM1ZDAwNGNmNGIxZmVlNzA3ZmEz
YjQyOWIuLjlkZDhlZjIyZGUwNTdkN2FiYWQwZDc5NWI5NDcyOTY3Njc2MWIzZmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKQEAgLTM1LDkgKzM1LDkgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1DU1NJbWFnZVZhbHVlOjpDU1NJbWFnZVZhbHVlKGNvbnN0IFN0cmluZyYg
dXJsKQorQ1NTSW1hZ2VWYWx1ZTo6Q1NTSW1hZ2VWYWx1ZShVUkwmJiB1cmwpCiAgICAgOiBDU1NW
YWx1ZShJbWFnZUNsYXNzKQotICAgICwgbV91cmwodXJsKQorICAgICwgbV91cmwoV1RGTW92ZSh1
cmwpKQogICAgICwgbV9hY2Nlc3NlZEltYWdlKGZhbHNlKQogewogfQpAQCAtNjUsNyArNjUsNyBA
QCBDYWNoZWRJbWFnZSogQ1NTSW1hZ2VWYWx1ZTo6bG9hZEltYWdlKENhY2hlZFJlc291cmNlTG9h
ZGVyJiBsb2FkZXIsIGNvbnN0IFJlc291cgogICAgIGlmICghbV9hY2Nlc3NlZEltYWdlKSB7CiAg
ICAgICAgIG1fYWNjZXNzZWRJbWFnZSA9IHRydWU7CiAKLSAgICAgICAgQ2FjaGVkUmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0KGxvYWRlci5kb2N1bWVudCgpLT5jb21wbGV0
ZVVSTChtX3VybCkpLCBvcHRpb25zKTsKKyAgICAgICAgQ2FjaGVkUmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QoUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSwgb3B0aW9ucyk7CiAgICAgICAgIGlmIChtX2lu
aXRpYXRvck5hbWUuaXNFbXB0eSgpKQogICAgICAgICAgICAgcmVxdWVzdC5zZXRJbml0aWF0b3Io
Y2FjaGVkUmVzb3VyY2VSZXF1ZXN0SW5pdGlhdG9ycygpLmNzcyk7CiAgICAgICAgIGVsc2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCmluZGV4IDhiODA3NmU5ZTBkYzNhZTQxMGQ0MTlmZTE4
MTkwZWZkMTZjMGQ3ODQuLjZkZTZjNzRkODE0NTYzYWM0NjVkODM4NTY4ZDEwNTIzMTc0NTJkYmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaApAQCAtMTgsMjQgKzE4LDIyIEBACiAgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAqLwogCi0jaWZuZGVmIENTU0ltYWdlVmFsdWVf
aAotI2RlZmluZSBDU1NJbWFnZVZhbHVlX2gKKyNwcmFnbWEgb25jZQogCiAjaW5jbHVkZSAiQ1NT
VmFsdWUuaCIKICNpbmNsdWRlICJDYWNoZWRSZXNvdXJjZUhhbmRsZS5oIgotI2luY2x1ZGUgPHd0
Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgQ2FjaGVkSW1hZ2U7CiBjbGFzcyBDYWNoZWRSZXNvdXJjZUxvYWRlcjsKLWNsYXNz
IEVsZW1lbnQ7CiBjbGFzcyBSZW5kZXJFbGVtZW50Owogc3RydWN0IFJlc291cmNlTG9hZGVyT3B0
aW9uczsKIAogY2xhc3MgQ1NTSW1hZ2VWYWx1ZSBmaW5hbCA6IHB1YmxpYyBDU1NWYWx1ZSB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoY29uc3QgU3RyaW5n
JiB1cmwpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQ1NTSW1hZ2VWYWx1ZSh1cmwpKTsgfQorICAg
IHN0YXRpYyBSZWY8Q1NTSW1hZ2VWYWx1ZT4gY3JlYXRlKFVSTCYmIHVybCkgeyByZXR1cm4gYWRv
cHRSZWYoKm5ldyBDU1NJbWFnZVZhbHVlKFdURk1vdmUodXJsKSkpOyB9CiAgICAgc3RhdGljIFJl
ZjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoQ2FjaGVkSW1hZ2UmIGltYWdlKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IENTU0ltYWdlVmFsdWUoaW1hZ2UpKTsgfQogICAgIH5DU1NJbWFnZVZhbHVlKCk7
CiAKQEAgLTQzLDcgKzQxLDcgQEAgcHVibGljOgogICAgIENhY2hlZEltYWdlKiBsb2FkSW1hZ2Uo
Q2FjaGVkUmVzb3VyY2VMb2FkZXImLCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmKTsKICAg
ICBDYWNoZWRJbWFnZSogY2FjaGVkSW1hZ2UoKSBjb25zdCB7IHJldHVybiBtX2NhY2hlZEltYWdl
LmdldCgpOyB9CiAKLSAgICBjb25zdCBTdHJpbmcmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJs
OyB9CisgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogCiAgICAg
U3RyaW5nIGN1c3RvbUNTU1RleHQoKSBjb25zdDsKIApAQCAtNTgsMTAgKzU2LDEwIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldEluaXRpYXRvcihjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpIHsgbV9p
bml0aWF0b3JOYW1lID0gbmFtZTsgfQogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0IENTU0ltYWdl
VmFsdWUoY29uc3QgU3RyaW5nJiB1cmwpOworICAgIGV4cGxpY2l0IENTU0ltYWdlVmFsdWUoVVJM
JiYpOwogICAgIGV4cGxpY2l0IENTU0ltYWdlVmFsdWUoQ2FjaGVkSW1hZ2UmKTsKIAotICAgIFN0
cmluZyBtX3VybDsKKyAgICBVUkwgbV91cmw7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2Fj
aGVkSW1hZ2U+IG1fY2FjaGVkSW1hZ2U7CiAgICAgYm9vbCBtX2FjY2Vzc2VkSW1hZ2U7CiAgICAg
QXRvbWljU3RyaW5nIG1faW5pdGlhdG9yTmFtZTsKQEAgLTcwLDUgKzY4LDMgQEAgcHJpdmF0ZToK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19DU1NfVkFM
VUUoQ1NTSW1hZ2VWYWx1ZSwgaXNJbWFnZVZhbHVlKCkpCi0KLSNlbmRpZiAvLyBDU1NJbWFnZVZh
bHVlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJvZHlFbGVtZW50LmNwcAppbmRleCBmNzI4MThi
NTk3OTg2MThkY2JhNDM3YWM3NmU5ZTY2MDc3OTA3NTJjLi4xZGEwODRjMjY0NTE2NzM3MTcxMTY0
ODQ1NzYxNjBjMDhmNDJiNmRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxC
b2R5RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQu
Y3BwCkBAIC04Miw3ICs4Miw3IEBAIHZvaWQgSFRNTEJvZHlFbGVtZW50Ojpjb2xsZWN0U3R5bGVG
b3JQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICBpZiAobmFt
ZSA9PSBiYWNrZ3JvdW5kQXR0cikgewogICAgICAgICBTdHJpbmcgdXJsID0gc3RyaXBMZWFkaW5n
QW5kVHJhaWxpbmdIVE1MU3BhY2VzKHZhbHVlKTsKICAgICAgICAgaWYgKCF1cmwuaXNFbXB0eSgp
KSB7Ci0gICAgICAgICAgICBhdXRvIGltYWdlVmFsdWUgPSBDU1NJbWFnZVZhbHVlOjpjcmVhdGUo
ZG9jdW1lbnQoKS5jb21wbGV0ZVVSTCh1cmwpLnN0cmluZygpKTsKKyAgICAgICAgICAgIGF1dG8g
aW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0ZShkb2N1bWVudCgpLmNvbXBsZXRlVVJM
KHVybCkpOwogICAgICAgICAgICAgaW1hZ2VWYWx1ZS5nZXQoKS5zZXRJbml0aWF0b3IobG9jYWxO
YW1lKCkpOwogICAgICAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHkoQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kSW1hZ2UsIFdURk1vdmUoaW1hZ2VWYWx1ZSkpKTsKICAgICAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAKaW5kZXggZmY5YjAzNjA5Yjg5
NjBkMDM3OWQzNjMyMGM2YjkzNTY1OWNjMzgzMS4uOTk0MDAyOTBlMmUyZDc5NTBmZDlmMWQyYWI4
OGE4MDA1NTUwODk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3Bw
CkBAIC0zMzIsNyArMzMyLDcgQEAgdm9pZCBIVE1MVGFibGVFbGVtZW50Ojpjb2xsZWN0U3R5bGVG
b3JQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYKICAgICBlbHNlIGlm
IChuYW1lID09IGJhY2tncm91bmRBdHRyKSB7CiAgICAgICAgIFN0cmluZyB1cmwgPSBzdHJpcExl
YWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXModmFsdWUpOwogICAgICAgICBpZiAoIXVybC5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUJhY2tncm91bmRJbWFnZSwgQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGRvY3VtZW50KCkuY29t
cGxldGVVUkwodXJsKS5zdHJpbmcoKSkpKTsKKyAgICAgICAgICAgIHN0eWxlLnNldFByb3BlcnR5
KENTU1Byb3BlcnR5KENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCBDU1NJbWFnZVZhbHVlOjpj
cmVhdGUoZG9jdW1lbnQoKS5jb21wbGV0ZVVSTCh1cmwpKSkpOwogICAgIH0gZWxzZSBpZiAobmFt
ZSA9PSB2YWxpZ25BdHRyKSB7CiAgICAgICAgIGlmICghdmFsdWUuaXNFbXB0eSgpKQogICAgICAg
ICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0eWxlKHN0eWxlLCBDU1NQ
cm9wZXJ0eVZlcnRpY2FsQWxpZ24sIHZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRhYmxlUGFydEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
VGFibGVQYXJ0RWxlbWVudC5jcHAKaW5kZXggOWJjNWJkYTdmOTY1MGU5ODc5ODg0ZWUwMGQ4M2Vk
ZGE0NTFiNDdlNi4uMDA3MTgyYzkwNWI0ZTJiZjE5ZTM5MTRmYjkwY2NlMDI0ZmFjNjkyNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVQYXJ0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVQYXJ0RWxlbWVudC5jcHAKQEAgLTUyLDcg
KzUyLDcgQEAgdm9pZCBIVE1MVGFibGVQYXJ0RWxlbWVudDo6Y29sbGVjdFN0eWxlRm9yUHJlc2Vu
dGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE4KICAgICBlbHNlIGlmIChuYW1lID09IGJh
Y2tncm91bmRBdHRyKSB7CiAgICAgICAgIFN0cmluZyB1cmwgPSBzdHJpcExlYWRpbmdBbmRUcmFp
bGluZ0hUTUxTcGFjZXModmFsdWUpOwogICAgICAgICBpZiAoIXVybC5pc0VtcHR5KCkpCi0gICAg
ICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eShDU1NQcm9wZXJ0eUJhY2tncm91
bmRJbWFnZSwgQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGRvY3VtZW50KCkuY29tcGxldGVVUkwodXJs
KS5zdHJpbmcoKSkpKTsKKyAgICAgICAgICAgIHN0eWxlLnNldFByb3BlcnR5KENTU1Byb3BlcnR5
KENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLCBDU1NJbWFnZVZhbHVlOjpjcmVhdGUoZG9jdW1l
bnQoKS5jb21wbGV0ZVVSTCh1cmwpKSkpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9PSB2YWxpZ25B
dHRyKSB7CiAgICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZSh2YWx1ZSwg
InRvcCIpKQogICAgICAgICAgICAgYWRkUHJvcGVydHlUb1ByZXNlbnRhdGlvbkF0dHJpYnV0ZVN0
eWxlKHN0eWxlLCBDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ24sIENTU1ZhbHVlVG9wKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBkMjdmNWY1Yjc0ODE2OGMzNmFlZGE2NjJhY2ViY2Y1NzhiN2NjOTRmLi40ZWE3NjI2MGY5YTlm
MGUzMTRiZjI1MTRhZTdkNTNkYWQ1NWUyZDZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYt
MDktMzAgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIEFTU0VSVElP
TiBGQUlMRUQ6IHVybC5jb250YWluc09ubHlBU0NJSSgpIGluIFdlYkNvcmU6OmNoZWNrRW5jb2Rl
ZFN0cmluZygpIHdoZW4gcGFyc2luZyBhbiBpbnZhbGlkIENTUyBjdXJzb3IgVVJMCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjI3NjMKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzI4NTcyNzU4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9jc3MvY3Vyc29yLXdpdGgtaW52YWxpZC11cmwuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2N1cnNvci13aXRoLWlu
dmFsaWQtdXJsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMDktMjcgIFJ5YW4gSGFkZGFk
ICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFya2luZyBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1hbHRlcm5hdGUtaWZyYW1lLWJvZHktZGlyLWF0dHItZG9lcy1ub3Qt
dXBkYXRlLXNjcm9sbGJhci1wbGFjZW1lbnQuaHRtbCBhcyBmbGFreSBvbiBTaWVycmEuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jdXJzb3Itd2l0aC1pbnZhbGlkLXVybC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY3Vyc29yLXdpdGgtaW52YWxpZC11cmwuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xNDY3ZmU3NjIzNTRkZWI4ZWM2YzY3MGQ5ZDU2YzI4NDQxNjY5OWY2Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvY3Vyc29yLXdpdGgtaW52YWxpZC11cmwu
aHRtbApAQCAtMCwwICsxLDE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cisg
ICAgPHNjcmlwdD4KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgPC9zY3JpcHQ+CisgICAgPHN0eWxlPgorICAg
ICAgICBib2R5IHsKKyAgICAgICAgICAgIGN1cnNvcjogdXJsKHNjaGVtZTovL2hvc3Q6ODBcZmYp
OworICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorVGVzdCB0aGF0IGEg
Y3Vyc29yIHdpdGggYW4gaW52YWxpZCBDU1MgVVJMIGRvZXMgbm90IHRyaWdnZXIgYW4gYXNzZXJ0
aW9uIGluIGEgRGVidWcgYnVpbGQuCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvY3Vyc29yLXdpdGgtaW52YWxpZC11cmwtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2N1cnNvci13aXRo
LWludmFsaWQtdXJsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzNhMzhiYTk2YTllZTBmMDUy
MjUyNTY4OTY5NDE5MDY4NDkxZWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvY3NzL2N1cnNvci13aXRoLWludmFsaWQtdXJsLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACitUZXN0IHRoYXQgYSBjdXJzb3Igd2l0aCBhbiBpbnZhbGlkIENTUyBVUkwg
ZG9lcyBub3QgdHJpZ2dlciBhbiBhc3NlcnRpb24gaW4gYSBEZWJ1ZyBidWlsZC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290509</attachid>
            <date>2016-10-03 12:57:27 -0700</date>
            <delta_ts>2016-10-03 13:30:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-162763-20161003125418.patch</filename>
            <type>text/plain</type>
            <size>11622</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2NDY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzU1MzI1ZTliYmYxMjk0
M2MyMWJkNTk4OGFiOTE0NGFkOGNlMjJmZi4uM2IxNDlmZWU1NjBkYWJiYzRlZmYzNTAyODExNjkz
ZTA3YTVmZTY2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE2LTA5LTMwICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBBU1NFUlRJT04gRkFJTEVEOiB1
cmwuY29udGFpbnNPbmx5QVNDSUkoKSBpbiBXZWJDb3JlOjpjaGVja0VuY29kZWRTdHJpbmcoKSB3
aGVuIHBhcnNpbmcgYW4gaW52YWxpZCBDU1MgY3Vyc29yIFVSTAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNzYzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yODU3Mjc1OD4KKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0LgorCisg
ICAgICAgIENTU0N1cnNvckltYWdlVmFsdWUgY29waWVzIHRoZSBVUkwgb2YgaXRzIHVuZGVybHlp
bmcgQ1NTSW1hZ2VWYWx1ZSBieSB1c2luZyB0aGUKKyAgICAgICAgUGFyc2VkVVJMU3RyaW5nIFVS
TCBjb25zdHJ1Y3RvciBvbiB0aGUgU3RyaW5nIHJldHVybmVkIGJ5IENTU0ltYWdlVmFsdWU6OnVy
bCgpLiBXaGlsZQorICAgICAgICBDU1NJbWFnZVZhbHVlcyB3ZXJlIGFsd2F5cyBiZWluZyBjb25z
dHJ1Y3RlZCBmcm9tIGEgVVJMIGltcGxpY2l0bHkgY29udmVydGVkIHRvIGEgU3RyaW5nLAorICAg
ICAgICBub3RoaW5nIGVuc3VyZWQgdGhhdCB0aGUgVVJMIHdhcyB2YWxpZC4gRm9yIGludmFsaWQg
VVJMcywgVVJMOjpzdHJpbmcoKSByZXR1cm5zIHRoZSBzdHJpbmcKKyAgICAgICAgaXQgd2FzIGNv
bnN0cnVjdGVkIHdpdGgsIHdoaWNoIG1pZ2h0IHN0aWxsIHJlcHJlc2VudCBhIHJlbGF0aXZlIFVS
TCBvciBjb250YWluIG5vbi1BU0NJSQorICAgICAgICBjaGFyYWN0ZXJzLCB2aW9sYXRpbmcgdGhl
IHByZWNvbmRpdGlvbnMgb2YgdGhlIFBhcnNlZFVSTFN0cmluZyBVUkwgY29uc3RydWN0b3IgYW5k
IGNhdXNpbmcKKyAgICAgICAgYW4gYXNzZXJ0aW9uIHRvIGZhaWwgaW4gRGVidWcgYnVpbGRzLgor
CisgICAgICAgIEZpeCB0aGlzIGJ5IGhhdmluZyBDU1NJbWFnZVZhbHVlIHN0b3JlIGl0cyBpbWFn
ZSBVUkwgdXNpbmcgYSBXZWJDb3JlOjpVUkwgcmF0aGVyIHRoYW4gYQorICAgICAgICBTdHJpbmcu
IENTU0N1cnNvckltYWdlVmFsdWUgY2FuIHRoZW4gY29weSB0aGlzIFVSTCBpbnN0ZWFkIG9mIGF0
dGVtcHRpbmcgdG8gcmUtcGFyc2UgYQorICAgICAgICBwb3NzaWJseS1pbnZhbGlkIFVSTCBzdHJp
bmcuCisKKyAgICAgICAgVGVzdDogZmFzdC9jc3MvY3Vyc29yLXdpdGgtaW52YWxpZC11cmwuaHRt
bAorCisgICAgICAgICogY3NzL0NTU0N1cnNvckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTQ3Vyc29ySW1hZ2VWYWx1ZTo6Q1NTQ3Vyc29ySW1hZ2VWYWx1ZSk6IENvcGllZCBt
X2ltYWdlVmFsdWUudXJsKCkgaW50bworICAgICAgICBtX29yaWdpbmFsVVJMIGluc3RlYWQgb2Yg
dXNpbmcgdGhlIFBhcnNlZFVSTFN0cmluZyBVUkwgY29uc3RydWN0b3IsIHNpbmNlCisgICAgICAg
IENTU0ltYWdlVmFsdWU6OnVybCgpIG5vdyByZXR1cm5zIGEgV2ViQ29yZTo6VVJMLgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQ3Vyc29ySW1hZ2VWYWx1ZTo6bG9hZEltYWdlKTogQ3JlYXRlZCBhIFVS
TCBmcm9tIGN1cnNvckVsZW1lbnQtPmhyZWYoKSBieQorICAgICAgICBjYWxsaW5nIERvY3VtZW50
Ojpjb21wbGV0ZVVSTCgpLgorICAgICAgICAqIGNzcy9DU1NJbWFnZVZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkNTU0ltYWdlVmFsdWU6OkNTU0ltYWdlVmFsdWUpOiBDaGFuZ2VkIHRvIHRh
a2UgYSBVUkwmJiBpbnN0ZWFkIG9mIGEgY29uc3QgU3RyaW5nJi4KKyAgICAgICAgKFdlYkNvcmU6
OkNTU0ltYWdlVmFsdWU6OmxvYWRJbWFnZSk6IFN0b3BwZWQgY2FsbGluZyBEb2N1bWVudDo6Y29t
cGxldGVVUkwoKSwgc2luY2UgbV91cmwgaXMKKyAgICAgICAgbm93IGEgV2ViQ29yZTo6VVJMLgor
ICAgICAgICAqIGNzcy9DU1NJbWFnZVZhbHVlLmg6IENoYW5nZWQgdXJsKCkgdG8gcmV0dXJuIGEg
Y29uc3QgVVJMJiwgYW5kIGNoYW5nZWQgbV91cmwgdG8gYmUgYSBVUkwuCisgICAgICAgICogaHRt
bC9IVE1MQm9keUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEJvZHlFbGVtZW50
Ojpjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUpOiBSZW1vdmVkIGEgY2FsbCB0
bworICAgICAgICBVUkw6OnN0cmluZygpLgorICAgICAgICAqIGh0bWwvSFRNTFRhYmxlRWxlbWVu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGFibGVFbGVtZW50Ojpjb2xsZWN0U3R5bGVG
b3JQcmVzZW50YXRpb25BdHRyaWJ1dGUpOiBEaXR0by4KKyAgICAgICAgKiBodG1sL0hUTUxUYWJs
ZVBhcnRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUYWJsZVBhcnRFbGVtZW50
Ojpjb2xsZWN0U3R5bGVGb3JQcmVzZW50YXRpb25BdHRyaWJ1dGUpOiBEaXR0by4KKwogMjAxNi0w
OS0yNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAg
IFtDb2NvYV0gSW1wcm92ZSBwZXJmb3JtYW5jZSBvZiBjb21wbGV4IHRleHQgY29kZXBhdGgKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NDdXJzb3JJbWFnZVZhbHVlLmNwcAppbmRleCAyMjIzNTFmOWVm
ZjNjYzhkNzRjNmNkMDY2NWI3OWRhMWM2ZjA4MDM2Li4xYTA5MjAyMTYzNWJjOTAxNDRkNGU5NzBi
MzExNzU3M2YzMThhNTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ3Vyc29y
SW1hZ2VWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0N1cnNvckltYWdlVmFs
dWUuY3BwCkBAIC00NCw3ICs0NCw3IEBAIENTU0N1cnNvckltYWdlVmFsdWU6OkNTU0N1cnNvcklt
YWdlVmFsdWUoUmVmPENTU1ZhbHVlPiYmIGltYWdlVmFsdWUsIGJvb2wgaGFzSG90CiAgICAgLCBt
X2hvdFNwb3QoaG90U3BvdCkKIHsKICAgICBpZiAoaXM8Q1NTSW1hZ2VWYWx1ZT4obV9pbWFnZVZh
bHVlLmdldCgpKSkKLSAgICAgICAgbV9vcmlnaW5hbFVSTCA9IHsgUGFyc2VkVVJMU3RyaW5nLCBk
b3duY2FzdDxDU1NJbWFnZVZhbHVlPihtX2ltYWdlVmFsdWUuZ2V0KCkpLnVybCgpIH07CisgICAg
ICAgIG1fb3JpZ2luYWxVUkwgPSBkb3duY2FzdDxDU1NJbWFnZVZhbHVlPihtX2ltYWdlVmFsdWUu
Z2V0KCkpLnVybCgpOwogfQogCiBDU1NDdXJzb3JJbWFnZVZhbHVlOjp+Q1NTQ3Vyc29ySW1hZ2VW
YWx1ZSgpCkBAIC0xMDcsNyArMTA3LDcgQEAgc3RkOjpwYWlyPENhY2hlZEltYWdlKiwgZmxvYXQ+
IENTU0N1cnNvckltYWdlVmFsdWU6OmxvYWRJbWFnZShDYWNoZWRSZXNvdXJjZUxvYWQKIAogICAg
IGlmIChhdXRvKiBjdXJzb3JFbGVtZW50ID0gdXBkYXRlQ3Vyc29yRWxlbWVudCgqbG9hZGVyLmRv
Y3VtZW50KCkpKSB7CiAgICAgICAgIGlmIChjdXJzb3JFbGVtZW50LT5ocmVmKCkgIT0gZG93bmNh
c3Q8Q1NTSW1hZ2VWYWx1ZT4obV9pbWFnZVZhbHVlLmdldCgpKS51cmwoKSkKLSAgICAgICAgICAg
IG1faW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0ZShjdXJzb3JFbGVtZW50LT5ocmVm
KCkpOworICAgICAgICAgICAgbV9pbWFnZVZhbHVlID0gQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGxv
YWRlci5kb2N1bWVudCgpLT5jb21wbGV0ZVVSTChjdXJzb3JFbGVtZW50LT5ocmVmKCkpKTsKICAg
ICB9CiAKICAgICByZXR1cm4geyBkb3duY2FzdDxDU1NJbWFnZVZhbHVlPihtX2ltYWdlVmFsdWUu
Z2V0KCkpLmxvYWRJbWFnZShsb2FkZXIsIG9wdGlvbnMpLCAxIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SW1hZ2VWYWx1ZS5jcHAKaW5kZXggMjU0YmIxYTdjYWQ5YTQ1MzVkMDA0Y2Y0YjFmZWU3MDdmYTNi
NDI5Yi4uOWRkOGVmMjJkZTA1N2Q3YWJhZDBkNzk1Yjk0NzI5Njc2NzYxYjNmYSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmNwcApAQCAtMzUsOSArMzUsOSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLUNTU0ltYWdlVmFsdWU6OkNTU0ltYWdlVmFsdWUoY29uc3QgU3RyaW5nJiB1
cmwpCitDU1NJbWFnZVZhbHVlOjpDU1NJbWFnZVZhbHVlKFVSTCYmIHVybCkKICAgICA6IENTU1Zh
bHVlKEltYWdlQ2xhc3MpCi0gICAgLCBtX3VybCh1cmwpCisgICAgLCBtX3VybChXVEZNb3ZlKHVy
bCkpCiAgICAgLCBtX2FjY2Vzc2VkSW1hZ2UoZmFsc2UpCiB7CiB9CkBAIC02NSw3ICs2NSw3IEBA
IENhY2hlZEltYWdlKiBDU1NJbWFnZVZhbHVlOjpsb2FkSW1hZ2UoQ2FjaGVkUmVzb3VyY2VMb2Fk
ZXImIGxvYWRlciwgY29uc3QgUmVzb3VyCiAgICAgaWYgKCFtX2FjY2Vzc2VkSW1hZ2UpIHsKICAg
ICAgICAgbV9hY2Nlc3NlZEltYWdlID0gdHJ1ZTsKIAotICAgICAgICBDYWNoZWRSZXNvdXJjZVJl
cXVlc3QgcmVxdWVzdChSZXNvdXJjZVJlcXVlc3QobG9hZGVyLmRvY3VtZW50KCktPmNvbXBsZXRl
VVJMKG1fdXJsKSksIG9wdGlvbnMpOworICAgICAgICBDYWNoZWRSZXNvdXJjZVJlcXVlc3QgcmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBvcHRpb25zKTsKICAgICAgICAgaWYgKG1faW5p
dGlhdG9yTmFtZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICByZXF1ZXN0LnNldEluaXRpYXRvcihj
YWNoZWRSZXNvdXJjZVJlcXVlc3RJbml0aWF0b3JzKCkuY3NzKTsKICAgICAgICAgZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NJbWFnZVZhbHVlLmgKaW5kZXggOGI4MDc2ZTllMGRjM2FlNDEwZDQxOWZlMTgx
OTBlZmQxNmMwZDc4NC4uNmRlNmM3NGQ4MTQ1NjNhYzQ2NWQ4Mzg1NjhkMTA1MjMxNzQ1MmRiYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlVmFsdWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VWYWx1ZS5oCkBAIC0xOCwyNCArMTgsMjIgQEAKICAqIEJv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgogICovCiAKLSNpZm5kZWYgQ1NTSW1hZ2VWYWx1ZV9o
Ci0jZGVmaW5lIENTU0ltYWdlVmFsdWVfaAorI3ByYWdtYSBvbmNlCiAKICNpbmNsdWRlICJDU1NW
YWx1ZS5oIgogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCi0jaW5jbHVkZSA8d3Rm
L1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBDYWNoZWRJbWFnZTsKIGNsYXNzIENhY2hlZFJlc291cmNlTG9hZGVyOwotY2xhc3Mg
RWxlbWVudDsKIGNsYXNzIFJlbmRlckVsZW1lbnQ7CiBzdHJ1Y3QgUmVzb3VyY2VMb2FkZXJPcHRp
b25zOwogCiBjbGFzcyBDU1NJbWFnZVZhbHVlIGZpbmFsIDogcHVibGljIENTU1ZhbHVlIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUmVmPENTU0ltYWdlVmFsdWU+IGNyZWF0ZShjb25zdCBTdHJpbmcm
IHVybCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBDU1NJbWFnZVZhbHVlKHVybCkpOyB9CisgICAg
c3RhdGljIFJlZjxDU1NJbWFnZVZhbHVlPiBjcmVhdGUoVVJMJiYgdXJsKSB7IHJldHVybiBhZG9w
dFJlZigqbmV3IENTU0ltYWdlVmFsdWUoV1RGTW92ZSh1cmwpKSk7IH0KICAgICBzdGF0aWMgUmVm
PENTU0ltYWdlVmFsdWU+IGNyZWF0ZShDYWNoZWRJbWFnZSYgaW1hZ2UpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgQ1NTSW1hZ2VWYWx1ZShpbWFnZSkpOyB9CiAgICAgfkNTU0ltYWdlVmFsdWUoKTsK
IApAQCAtNDMsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgQ2FjaGVkSW1hZ2UqIGxvYWRJbWFnZShD
YWNoZWRSZXNvdXJjZUxvYWRlciYsIGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYpOwogICAg
IENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2FjaGVkSW1hZ2Uu
Z2V0KCk7IH0KIAotICAgIGNvbnN0IFN0cmluZyYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7
IH0KKyAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAKICAgICBT
dHJpbmcgY3VzdG9tQ1NTVGV4dCgpIGNvbnN0OwogCkBAIC01OCwxMCArNTYsMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0SW5pdGlhdG9yKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkgeyBtX2lu
aXRpYXRvck5hbWUgPSBuYW1lOyB9CiAKIHByaXZhdGU6Ci0gICAgZXhwbGljaXQgQ1NTSW1hZ2VW
YWx1ZShjb25zdCBTdHJpbmcmIHVybCk7CisgICAgZXhwbGljaXQgQ1NTSW1hZ2VWYWx1ZShVUkwm
Jik7CiAgICAgZXhwbGljaXQgQ1NTSW1hZ2VWYWx1ZShDYWNoZWRJbWFnZSYpOwogCi0gICAgU3Ry
aW5nIG1fdXJsOworICAgIFVSTCBtX3VybDsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNo
ZWRJbWFnZT4gbV9jYWNoZWRJbWFnZTsKICAgICBib29sIG1fYWNjZXNzZWRJbWFnZTsKICAgICBB
dG9taWNTdHJpbmcgbV9pbml0aWF0b3JOYW1lOwpAQCAtNzAsNSArNjgsMyBAQCBwcml2YXRlOgog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiBTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NTU19WQUxV
RShDU1NJbWFnZVZhbHVlLCBpc0ltYWdlVmFsdWUoKSkKLQotI2VuZGlmIC8vIENTU0ltYWdlVmFs
dWVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQm9keUVsZW1lbnQuY3BwCmluZGV4IGY3MjgxOGI1
OTc5ODYxOGRjYmE0MzdhYzc2ZTllNjYwNzc5MDc1MmMuLjFkYTA4NGMyNjQ1MTY3MzcxNzExNjQ4
NDU3NjE2MGMwOGY0MmI2ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEJv
ZHlFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxCb2R5RWxlbWVudC5j
cHAKQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBIVE1MQm9keUVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZv
clByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIGlmIChuYW1l
ID09IGJhY2tncm91bmRBdHRyKSB7CiAgICAgICAgIFN0cmluZyB1cmwgPSBzdHJpcExlYWRpbmdB
bmRUcmFpbGluZ0hUTUxTcGFjZXModmFsdWUpOwogICAgICAgICBpZiAoIXVybC5pc0VtcHR5KCkp
IHsKLSAgICAgICAgICAgIGF1dG8gaW1hZ2VWYWx1ZSA9IENTU0ltYWdlVmFsdWU6OmNyZWF0ZShk
b2N1bWVudCgpLmNvbXBsZXRlVVJMKHVybCkuc3RyaW5nKCkpOworICAgICAgICAgICAgYXV0byBp
bWFnZVZhbHVlID0gQ1NTSW1hZ2VWYWx1ZTo6Y3JlYXRlKGRvY3VtZW50KCkuY29tcGxldGVVUkwo
dXJsKSk7CiAgICAgICAgICAgICBpbWFnZVZhbHVlLmdldCgpLnNldEluaXRpYXRvcihsb2NhbE5h
bWUoKSk7CiAgICAgICAgICAgICBzdHlsZS5zZXRQcm9wZXJ0eShDU1NQcm9wZXJ0eShDU1NQcm9w
ZXJ0eUJhY2tncm91bmRJbWFnZSwgV1RGTW92ZShpbWFnZVZhbHVlKSkpOwogICAgICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGFibGVFbGVtZW50LmNwcAppbmRleCBmZjliMDM2MDliODk2
MGQwMzc5ZDM2MzIwYzZiOTM1NjU5Y2MzODMxLi45OTQwMDI5MGUyZTJkNzk1MGZkOWYxZDJhYjg4
YTgwMDU1NTA4OTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZUVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRhYmxlRWxlbWVudC5jcHAK
QEAgLTMzMiw3ICszMzIsNyBAQCB2b2lkIEhUTUxUYWJsZUVsZW1lbnQ6OmNvbGxlY3RTdHlsZUZv
clByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJgogICAgIGVsc2UgaWYg
KG5hbWUgPT0gYmFja2dyb3VuZEF0dHIpIHsKICAgICAgICAgU3RyaW5nIHVybCA9IHN0cmlwTGVh
ZGluZ0FuZFRyYWlsaW5nSFRNTFNwYWNlcyh2YWx1ZSk7CiAgICAgICAgIGlmICghdXJsLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHN0eWxlLnNldFByb3BlcnR5KENTU1Byb3BlcnR5KENTU1Byb3Bl
cnR5QmFja2dyb3VuZEltYWdlLCBDU1NJbWFnZVZhbHVlOjpjcmVhdGUoZG9jdW1lbnQoKS5jb21w
bGV0ZVVSTCh1cmwpLnN0cmluZygpKSkpOworICAgICAgICAgICAgc3R5bGUuc2V0UHJvcGVydHko
Q1NTUHJvcGVydHkoQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsIENTU0ltYWdlVmFsdWU6OmNy
ZWF0ZShkb2N1bWVudCgpLmNvbXBsZXRlVVJMKHVybCkpKSk7CiAgICAgfSBlbHNlIGlmIChuYW1l
ID09IHZhbGlnbkF0dHIpIHsKICAgICAgICAgaWYgKCF2YWx1ZS5pc0VtcHR5KCkpCiAgICAgICAg
ICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5bGUoc3R5bGUsIENTU1By
b3BlcnR5VmVydGljYWxBbGlnbiwgdmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGFibGVQYXJ0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
YWJsZVBhcnRFbGVtZW50LmNwcAppbmRleCA5YmM1YmRhN2Y5NjUwZTk4Nzk4ODRlZTAwZDgzZWRk
YTQ1MWI0N2U2Li4wMDcxODJjOTA1YjRlMmJmMTllMzkxNGZiOTBjY2UwMjRmYWM2OTI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVBhcnRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUYWJsZVBhcnRFbGVtZW50LmNwcApAQCAtNTIsNyAr
NTIsNyBAQCB2b2lkIEhUTUxUYWJsZVBhcnRFbGVtZW50Ojpjb2xsZWN0U3R5bGVGb3JQcmVzZW50
YXRpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTgogICAgIGVsc2UgaWYgKG5hbWUgPT0gYmFj
a2dyb3VuZEF0dHIpIHsKICAgICAgICAgU3RyaW5nIHVybCA9IHN0cmlwTGVhZGluZ0FuZFRyYWls
aW5nSFRNTFNwYWNlcyh2YWx1ZSk7CiAgICAgICAgIGlmICghdXJsLmlzRW1wdHkoKSkKLSAgICAg
ICAgICAgIHN0eWxlLnNldFByb3BlcnR5KENTU1Byb3BlcnR5KENTU1Byb3BlcnR5QmFja2dyb3Vu
ZEltYWdlLCBDU1NJbWFnZVZhbHVlOjpjcmVhdGUoZG9jdW1lbnQoKS5jb21wbGV0ZVVSTCh1cmwp
LnN0cmluZygpKSkpOworICAgICAgICAgICAgc3R5bGUuc2V0UHJvcGVydHkoQ1NTUHJvcGVydHko
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsIENTU0ltYWdlVmFsdWU6OmNyZWF0ZShkb2N1bWVu
dCgpLmNvbXBsZXRlVVJMKHVybCkpKSk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09IHZhbGlnbkF0
dHIpIHsKICAgICAgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHZhbHVlLCAi
dG9wIikpCiAgICAgICAgICAgICBhZGRQcm9wZXJ0eVRvUHJlc2VudGF0aW9uQXR0cmlidXRlU3R5
bGUoc3R5bGUsIENTU1Byb3BlcnR5VmVydGljYWxBbGlnbiwgQ1NTVmFsdWVUb3ApOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IGQyN2Y1ZjViNzQ4MTY4YzM2YWVkYTY2MmFjZWJjZjU3OGI3Y2M5NGYuLjE1MDExMTVhYTY0MTJl
YzUyMjJlMTVkNjM0ZDI4MmVlMGQyYzMwMDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxNi0w
OS0zMCAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CisKKyAgICAgICAgQVNTRVJUSU9O
IEZBSUxFRDogdXJsLmNvbnRhaW5zT25seUFTQ0lJKCkgaW4gV2ViQ29yZTo6Y2hlY2tFbmNvZGVk
U3RyaW5nKCkgd2hlbiBwYXJzaW5nIGFuIGludmFsaWQgQ1NTIGN1cnNvciBVUkwKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2Mjc2MworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjg1NzI3NTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5uIEZh
YmxldC4KKworICAgICAgICAqIGZhc3QvY3NzL2N1cnNvci13aXRoLWludmFsaWQtdXJsLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2N1cnNvci13aXRoLWludmFsaWQtdXJsLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMDktMjcgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBh
cHBsZS5jb20+CiAKICAgICAgICAgTWFya2luZyBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1hbHRlcm5hdGUtaWZyYW1lLWJvZHktZGlyLWF0dHItZG9lcy1ub3QtdXBkYXRlLXNjcm9sbGJh
ci1wbGFjZW1lbnQuaHRtbCBhcyBmbGFreSBvbiBTaWVycmEuCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2Nzcy9jdXJzb3Itd2l0aC1pbnZhbGlkLXVybC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9jdXJzb3Itd2l0aC1pbnZhbGlkLXVybC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDMzYTM4YmE5NmE5ZWUwZjA1MjI1MjU2ODk2OTQxOTA2ODQ5MWVkNwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2N1cnNvci13aXRoLWludmFsaWQtdXJs
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitUZXN0IHRoYXQgYSBjdXJzb3Igd2l0aCBhbiBp
bnZhbGlkIENTUyBVUkwgZG9lcyBub3QgdHJpZ2dlciBhbiBhc3NlcnRpb24gaW4gYSBEZWJ1ZyBi
dWlsZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2N1cnNvci13aXRoLWludmFs
aWQtdXJsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jdXJzb3Itd2l0aC1pbnZhbGlkLXVy
bC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjE0NjdmZTc2MjM1NGRlYjhlYzZjNjcwZDlkNTZjMjg0NDE2Njk5
ZjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9jdXJzb3Itd2l0aC1p
bnZhbGlkLXVybC5odG1sCkBAIC0wLDAgKzEsMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKyAgICA8c2NyaXB0PgorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisg
ICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8
c3R5bGU+CisgICAgICAgIGJvZHkgeworICAgICAgICAgICAgY3Vyc29yOiB1cmwoc2NoZW1lOi8v
aG9zdDo4MFxmZik7CisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CitU
ZXN0IHRoYXQgYSBjdXJzb3Igd2l0aCBhbiBpbnZhbGlkIENTUyBVUkwgZG9lcyBub3QgdHJpZ2dl
ciBhbiBhc3NlcnRpb24gaW4gYSBEZWJ1ZyBidWlsZC4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>