<?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>111411</bug_id>
          
          <creation_ts>2013-03-05 00:13:05 -0800</creation_ts>
          <short_desc>[Custom Elements][V8] Custom Element doesn&apos;t need its own WrapperTypeInfo</short_desc>
          <delta_ts>2013-03-05 18:54:42 -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>DOM</component>
          <version>528+ (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>
          
          <blocked>110436</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>847364</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 00:13:05 -0800</bug_when>
    <thetext>This is preparation for Bug 110436.
In this change, we&apos;re going to remove V8HTMLCustomElement::info and
use WrapperTypeInfo of some relevant buit-in element instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847424</commentid>
    <comment_count>1</comment_count>
      <attachid>191434</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 01:29:59 -0800</bug_when>
    <thetext>Created attachment 191434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847450</commentid>
    <comment_count>2</comment_count>
      <attachid>191434</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-05 01:47:26 -0800</bug_when>
    <thetext>Comment on attachment 191434
Patch

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

&gt; Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp:78
&gt; +    v8::Handle&lt;v8::Value&gt; constructorValue = WebCore::toV8(constructor.get(), creationContext, isolate);

Nit: WebCore:: is not needed.

&gt; Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp:82
&gt; +    v8::Handle&lt;v8::Object&gt; prototype = v8::Handle&lt;v8::Object&gt;::Cast(constructorWapper-&gt;Get(v8String(&quot;prototype&quot;, isolate)));

Nit: v8String =&gt; v8::String::NewSymbol

&gt; Source/WebCore/bindings/v8/V8PerContextData.cpp:130
&gt; +        if (prototypeObject-&gt;InternalFieldCount() == v8PrototypeInternalFieldcount)
&gt; +            prototypeObject-&gt;SetAlignedPointerInInternalField(v8PrototypeTypeIndex, type);

It looks a bit fragile. In future there might be other objects whose InternalFieldCount() are 1. Can&apos;t you use type-&gt;wrapperTypePrototype instead of relying on InternalFieldCount() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847502</commentid>
    <comment_count>3</comment_count>
      <attachid>191450</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 03:00:29 -0800</bug_when>
    <thetext>Created attachment 191450
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847504</commentid>
    <comment_count>4</comment_count>
      <attachid>191434</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 03:01:01 -0800</bug_when>
    <thetext>Comment on attachment 191434
Patch

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

Thanks for the quick look, haraken! I revised the patch.

&gt;&gt; Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp:78
&gt;&gt; +    v8::Handle&lt;v8::Value&gt; constructorValue = WebCore::toV8(constructor.get(), creationContext, isolate);
&gt; 
&gt; Nit: WebCore:: is not needed.

compiler wants it since there are conflicting V8HTMLCusstomElement::toV8()

&gt;&gt; Source/WebCore/bindings/v8/V8PerContextData.cpp:130
&gt;&gt; +            prototypeObject-&gt;SetAlignedPointerInInternalField(v8PrototypeTypeIndex, type);
&gt; 
&gt; It looks a bit fragile. In future there might be other objects whose InternalFieldCount() are 1. Can&apos;t you use type-&gt;wrapperTypePrototype instead of relying on InternalFieldCount() ?

Changed in that way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847513</commentid>
    <comment_count>5</comment_count>
      <attachid>191450</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-05 03:18:52 -0800</bug_when>
    <thetext>Comment on attachment 191450
Patch

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

LGTM.

&gt; Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp:62
&gt; +        v8::Handle&lt;v8::Value&gt; wrapperValue = toV8(toHTMLUnknownElement(impl.get()), creationContext, isolate);

Hmm? You said a compiler wants WebCore::, but did you remove WebCore:: ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>847531</commentid>
    <comment_count>6</comment_count>
      <attachid>191450</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 03:54:08 -0800</bug_when>
    <thetext>Comment on attachment 191450
Patch

Attachment 191450 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17053076

New failing tests:
editing/inserting/insert-composition-whitespace.html
editing/pasteboard/paste-and-sanitize.html
dom/xhtml/level3/core/documentadoptnode16.xhtml
dom/xhtml/level1/core/hc_documentcreateelementcasesensitive.xhtml
accessibility/canvas-fallback-content.html
http/tests/cache/subresource-failover-to-network.html
editing/execCommand/remove-format-elements.html
editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
dom/xhtml/level3/core/nodeisdefaultnamespace09.xhtml
dom/html/level1/core/hc_elementwrongdocumenterr.html
dom/html/level1/core/hc_attrinsertbefore6.html
editing/selection/extend-by-sentence-001.html
dom/html/level1/core/hc_attrappendchild5.html
editing/deleting/delete-and-cleanup.html
dom/html/level1/core/hc_nodeappendchildnewchilddiffdocument.html
dom/html/level1/core/hc_namednodemapwrongdocumenterr.html
dom/xhtml/level3/core/documentnormalizedocument10.xhtml
editing/editability/ignored-content.html
dom/html/level1/core/hc_attrappendchild2.html
dom/html/level1/core/hc_nodeinsertbeforenewchilddiffdocument.html
editing/undo/replace-text-in-node-preserving-markers-crash.html
editing/pasteboard/paste-without-nesting.html
http/tests/misc/script-defer-after-slow-stylesheet.html
editing/style/remove-format-without-enclosing-block.html
editing/execCommand/ident-crashes-topnode-is-text.html
editing/selection/root-inlinebox-selected-children-crash.html
fast/block/child-not-removed-from-parent-lineboxes-crash.html
dom/xhtml/level1/core/hc_attrappendchild2.xhtml
fast/block/merge-anonymous-block-remove-child-crash2.html
dom/html/level1/core/hc_nodereplacechildnewchilddiffdocument.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848240</commentid>
    <comment_count>7</comment_count>
      <attachid>191450</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 16:36:55 -0800</bug_when>
    <thetext>Comment on attachment 191450
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/V8HTMLCustomElement.cpp:62
&gt;&gt; +        v8::Handle&lt;v8::Value&gt; wrapperValue = toV8(toHTMLUnknownElement(impl.get()), creationContext, isolate);
&gt; 
&gt; Hmm? You said a compiler wants WebCore::, but did you remove WebCore:: ?

Oh, this one is OK. Another one below isn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848322</commentid>
    <comment_count>8</comment_count>
      <attachid>191622</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 17:55:41 -0800</bug_when>
    <thetext>Created attachment 191622
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848323</commentid>
    <comment_count>9</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2013-03-05 17:56:13 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; &gt; 
&gt; &gt; Hmm? You said a compiler wants WebCore::, but did you remove WebCore:: ?
&gt; 
&gt; Oh, this one is OK. Another one below isn&apos;t.

And turned out we need it after all :-/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848360</commentid>
    <comment_count>10</comment_count>
      <attachid>191622</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 18:54:38 -0800</bug_when>
    <thetext>Comment on attachment 191622
Patch for landing

Clearing flags on attachment: 191622

Committed r144865: &lt;http://trac.webkit.org/changeset/144865&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>848361</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-05 18:54:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191434</attachid>
            <date>2013-03-05 01:29:59 -0800</date>
            <delta_ts>2013-03-05 17:55:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111411-20130305182606.patch</filename>
            <type>text/plain</type>
            <size>10250</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJiZWRmNjAxNzk5YjVm
MWFiMjc2OGQ5YWI1MzhjMGY3ODE2NGM0ZS4uOGNlYmRkNjUwZWRhYzYzNDU0NGFhNGE1MzZlNWFh
YTljYjk4MzI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA1ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbQ3VzdG9tIEVsZW1l
bnRzXVtWOF0gQ3VzdG9tIEVsZW1lbnQgZG9lc24ndCBuZWVkIGl0cyBvd24gV3JhcHBlclR5cGVJ
bmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuIE5vIG9ic2VydmFibGUgY2hhbmdlIHlldC4KKworICAgICAgICBUaGlzIGlzIGEg
cHJlcGFyYXRpb24gZm9yIEJ1ZyAxMTA0MzYsIHdoZXJlIFdlYktpdCBpcyBnb2luZyB0bworICAg
ICAgICBhbGxvdyBhbnkgSFRNTCBlbGVtZW50IHRvIGJlIGEgc3VwZXJjbGFzcyBvZiBjdXN0b20g
ZWxlbWVudHMuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgZWxpbWluYXRlcyBXcmFwcGVyVHlwZUlu
Zm8gZm9yIGN1c3RvbSBlbGVtZW50LiBJbnN0ZWFkCisgICAgICAgIG9mIHRoYXQsIHRoZSB3cmFw
cGVyIG9mIGEgY3VzdG9tIGVsZW1lbnQgcGlja3MgV3JhcHBlclR5cGVJbmZvCisgICAgICAgIGZy
b20gbW9zdCBkZXNjZW5kYW50IGJ1aWx0LWluIEhUTUwgZWxlbWVudC4gRm9yIGV4YW1wbGUsIHRo
aW5rIGFib3V0CisgICAgICAgIGZvbGxvd2luZyBoaWVyYXJjaHk6CisKKyAgICAgICAgLSAuLi4g
PC0gSFRNTEVsZW1lbnQgPC0gSFRNTERpdkVsZW1lbW50IDwtIEV4aXN0aW5nQ3VzdG9tRWxlbWVu
dCA8LSBOZXdDdXN0b21FbGVtZW50CisKKyAgICAgICAgSW4gdGhpcyBjYXNlLCBib3RoIEV4aXN0
aW5nQ3VzdG9tRWxlbWVudCBhbmQgTmV3Q3VzdG9tRWxlbWVudCBoYXMKKyAgICAgICAgSFRNTERp
dkVsZW1lbW50J3MgdHlwZSBpbmZvLiBUaGlzIGlzIGJlY2F1c2UgSFRNTERpdkVsZW1lbW50IGlz
CisgICAgICAgIHRoZSBtb3N0IGRlc2NlbmRhbnQgKG9yICJ0aGUgbmVhcmVzdCIpIGJ1aWx0LWlu
IEhUTUwKKyAgICAgICAgZWxlbWVudC4gKEhUTUxFbGVtZW50IGlzbid0IHRoZSBtb3N0IGRlc2Nl
bmRhbnQuCisgICAgICAgIEV4aXN0aW5nQ3VzdG9tRWxlbWVudCBpc24ndCBhIGJ1aWx0LWluLikK
KworICAgICAgICBVc2luZyBzdWNoIFdyYXBwZXJUeXBlSW5mb3MsIGNyZWF0ZWQgY3VzdG9tIGVs
ZW1lbnQgd3JhcHBlcnMgY2FuCisgICAgICAgIGdldCBhcHByb3ByaWF0ZSBzZXQgb2YgbWV0aG9k
IGFuZCBwcm9wZXJ0aWVzIHJlZ2FyZGxlc3Mgb2YgaXRzCisgICAgICAgIHN1cGVyLWVsZW1lbnRz
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHRlbGxzIHRoZSBwcm90b3R5cGUgb2JqZWN0IG9mIGVh
Y2ggYnVpbHQtaW4gb2JqZWN0CisgICAgICAgIHdoaWNoIFdyYXBwZXJUeXBlSW5mbyB0aGUgbmF0
aXZlIGJhY2tpbmcgd2FudHM6CisgICAgICAgIEhUTUxEaXZFbGVtZW1udC5wcm90b3R5cGUga25v
d3MgVjhIVE1MRGl2RWxlbWVudDo6aW5mbyBmb3IKKyAgICAgICAgZXhhbXBsZS4gVGhlIHBvaW50
ZXIgdG8gdGhlIHR5cGUgaW5mbyBpcyBzdG9yZWQgaW50byBhbiBpbnRlcm5hbAorICAgICAgICBm
aWVsZC4gT24gd3JhcHBlciBjb25zdHJ1Y3Rpb24sIGNyZWF0ZVdyYXBwZXIoKSB3YWxrcyB1cCB0
aGUKKyAgICAgICAgcHJvdG90eXBlIGNoYWluIGFuZCBwaWNrIHRoZSBmaXJzdCBvbmUuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhET01Db25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpm
aW5kV3JhcHBlclR5cGVPZik6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxDdXN0b21FbGVtZW50
OjpjcmVhdGVXcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVt
ZW50Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREYXRhOjpjb25zdHJ1Y3RvckZvclR5cGVTbG93Q2Fz
ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKwogMjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgV2ViU3BlZWNoIC0gU3BlZWNoIFN5bnRoZXNpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAKaW5k
ZXggYjRmMWEyOGRmOWQyZjY1Yjk1MjMwNTkwMWI0OTY4MzIzNDY1NGU0OS4uNWZlN2JjZmFjZGRl
NTY1NzJiNWUyMGIwZWIzNjdlNTYwZGVjYWU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0zMyw4ICszMyw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgaW50IHByb3RvdHlwZUludGVybmFsRmllbGRjb3Vu
dCA9IDE7Ci0KIHZvaWQgVjhET01Db25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUF0dHJpYnV0
ZXModjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlLCB2ODo6SGFuZGxlPHY4
OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG90eXBlLCBjb25zdCBCYXRjaGVkQXR0cmlidXRlKiBhdHRy
aWJ1dGVzLCBzaXplX3QgYXR0cmlidXRlQ291bnQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXR0cmlidXRlQ291bnQ7ICsraSkKQEAgLTY4LDcg
KzY2LDcgQEAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29u
ZmlndXJlVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djgKICAgICAgICAgLy8gVGhpcyBpcyBuZWVk
ZWQgc2luY2UgYnVnIDExMDQzNiBhc2tzIFdlYktpdCB0byB0ZWxsIG5hdGl2ZS1pbml0aWF0ZWQg
cHJvdG90eXBlcyBmcm9tIHB1cmUtSlMgb25lcy4KICAgICAgICAgLy8gVGhpcyBkb2Vzbid0IG1h
cmsga2luZHMgInJvb3QiIGNsYXNzZXMgbGlrZSBOb2RlLCB3aGVyZSBzZXR0aW5nIHRoaXMgY2hh
bmdlcyBwcm90b3R5cGUgY2hhaW4gc3RydWN0dXJlLgogICAgICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdFRlbXBsYXRlPiBwcm90b3R5cGUgPSBmdW5jdGlvbkRlc2NyaXB0b3ItPlByb3RvdHlwZVRl
bXBsYXRlKCk7Ci0gICAgICAgIHByb3RvdHlwZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KHByb3Rv
dHlwZUludGVybmFsRmllbGRjb3VudCk7CisgICAgICAgIHByb3RvdHlwZS0+U2V0SW50ZXJuYWxG
aWVsZENvdW50KHY4UHJvdG90eXBlSW50ZXJuYWxGaWVsZGNvdW50KTsKICAgICB9CiAKICAgICBp
ZiAoYXR0cmlidXRlQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEhUTUxDdXN0b21FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
SFRNTEN1c3RvbUVsZW1lbnQuY3BwCmluZGV4IGY0N2YzNTk2MzY4Zjc5YTgxMWUxODhlZjJhMDU4
NGRiZWE1YTAwMGIuLjQ5NzRiMjFiNGY0NGE1OTA2ZmUwMjAyMWE2NjE3NjgxYTVjNzZjYTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQu
Y3BwCkBAIC0zOCwxMiArMzgsMjAgQEAKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnku
aCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmgiCi0jaW5jbHVkZSAiVjhIVE1MU3BhbkVsZW1lbnQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0vLyBGSVhNRTogRWFjaCBjdXN0b20gZWxlbWVudHMgc2hvdWxkIGhhdmUg
aXRzIG93biBHZXRUZW1wbGF0ZSBtZXRob2Qgc28gdGhhdCBpdCBjYW4gYmUgZGVyaXZlZCBmcm9t
IGRpZmZlcmVudCBzdXBlciBlbGVtZW50LgotV3JhcHBlclR5cGVJbmZvIFY4SFRNTEN1c3RvbUVs
ZW1lbnQ6OmluZm8gPSB7ICZWOEhUTUxFbGVtZW50OjpHZXRUZW1wbGF0ZSwgVjhIVE1MRWxlbWVu
dDo6ZGVyZWZPYmplY3QsIDAsIFY4SFRNTEVsZW1lbnQ6OnRvRXZlbnRUYXJnZXQsIDAsIDAsICZW
OEhUTUxFbGVtZW50OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9Oworc3RhdGlj
IFdyYXBwZXJUeXBlSW5mbyogZmluZFdyYXBwZXJUeXBlT2Yodjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGNoYWluKQoreworICAgIHdoaWxlICghY2hhaW4uSXNFbXB0eSgpICYmIGNoYWluLT5Jc09iamVj
dCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY2hhaW5PYmplY3QgPSB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNoYWluKTsKKyAgICAgICAgaWYgKHY4UHJvdG90eXBl
SW50ZXJuYWxGaWVsZGNvdW50ID09IGNoYWluT2JqZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSkK
KyAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdyYXBwZXJUeXBlSW5mbyo+KGNo
YWluT2JqZWN0LT5HZXRBbGlnbmVkUG9pbnRlckZyb21JbnRlcm5hbEZpZWxkKHY4UHJvdG90eXBl
VHlwZUluZGV4KSk7CisgICAgICAgIGNoYWluID0gY2hhaW5PYmplY3QtPkdldFByb3RvdHlwZSgp
OworICAgIH0KKworICAgIHJldHVybiAwOworfQogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4
SFRNTEN1c3RvbUVsZW1lbnQ6OmNyZWF0ZVdyYXBwZXIoUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4g
aW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewpAQCAtNTcsMjIgKzY1LDMxIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
VjhIVE1MQ3VzdG9tRWxlbWVudDo6Y3JlYXRlV3JhcHBlcihQYXNzUmVmUHRyPEhUTUxFbGVtZW50
CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CiAgICAgfQogCi0gICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01XcmFwcGVyOjpjcmVhdGVXcmFw
cGVyKGNyZWF0aW9uQ29udGV4dCwgJmluZm8sIGltcGwuZ2V0KCksIGlzb2xhdGUpOwotICAgIGlm
ICh3cmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0KICAgICAvLyBU
aGUgY29uc3RydWN0b3IgYW5kIHJlZ2lzdGVyZWQgbGlmZWN5Y2xlIGNhbGxiYWNrcyBzaG91bGQg
YmUgdmlzaWJsZSBvbmx5IGZyb20gbWFpbiB3b3JsZC4KICAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGRuJ3QgYmUgbmVlZGVkIG9uY2UgZWFjaCBjdXN0b20gZWxlbWVudCBoYXMgaXRzIG93biBGdW5j
dGlvblRlbXBsYXRlCiAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwODEzOAotICAgIGlmIChDdXN0b21FbGVtZW50SGVscGVyczo6aXNGZWF0dXJlQWxsb3dl
ZChjcmVhdGlvbkNvbnRleHQtPkNyZWF0aW9uQ29udGV4dCgpKSkgewotICAgICAgICB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gd3JhcHBlclZhbHVlID0gV2ViQ29yZTo6dG9WOChjb25zdHJ1Y3Rvci5n
ZXQoKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKLSAgICAgICAgaWYgKHdyYXBwZXJWYWx1
ZS5Jc0VtcHR5KCkgfHwgIXdyYXBwZXJWYWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIHJl
dHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9i
amVjdD4gY29uc3RydWN0b3JXYXBwZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHdy
YXBwZXJWYWx1ZSk7Ci0gICAgICAgIHdyYXBwZXItPlNldFByb3RvdHlwZShjb25zdHJ1Y3Rvcldh
cHBlci0+R2V0KHY4U3RyaW5nKCJwcm90b3R5cGUiLCBpc29sYXRlKSkpOworICAgIGlmICghQ3Vz
dG9tRWxlbWVudEhlbHBlcnM6OmlzRmVhdHVyZUFsbG93ZWQoY3JlYXRpb25Db250ZXh0LT5DcmVh
dGlvbkNvbnRleHQoKSkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVy
ID0gVjhET01XcmFwcGVyOjpjcmVhdGVXcmFwcGVyKGNyZWF0aW9uQ29udGV4dCwgJlY4SFRNTEVs
ZW1lbnQ6OmluZm8sIGltcGwuZ2V0KCksIGlzb2xhdGUpOworICAgICAgICBpZiAoIXdyYXBwZXIu
SXNFbXB0eSgpKQorICAgICAgICAgICAgVjhET01XcmFwcGVyOjphc3NvY2lhdGVPYmplY3RXaXRo
V3JhcHBlcihpbXBsLCAmVjhIVE1MRWxlbWVudDo6aW5mbywgd3JhcHBlciwgaXNvbGF0ZSwgV3Jh
cHBlckNvbmZpZ3VyYXRpb246OkRlcGVuZGVudCk7CisgICAgICAgIHJldHVybiB3cmFwcGVyOwog
ICAgIH0KIAotICAgIFY4RE9NV3JhcHBlcjo6YXNzb2NpYXRlT2JqZWN0V2l0aFdyYXBwZXIoaW1w
bCwgJmluZm8sIHdyYXBwZXIsIGlzb2xhdGUsIFdyYXBwZXJDb25maWd1cmF0aW9uOjpEZXBlbmRl
bnQpOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjb25zdHJ1Y3RvclZhbHVlID0gV2ViQ29y
ZTo6dG9WOChjb25zdHJ1Y3Rvci5nZXQoKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyAg
ICBpZiAoY29uc3RydWN0b3JWYWx1ZS5Jc0VtcHR5KCkgfHwgIWNvbnN0cnVjdG9yVmFsdWUtPklz
T2JqZWN0KCkpCisgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CisgICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjb25zdHJ1Y3RvcldhcHBlciA9IHY4OjpIYW5kbGU8djg6
Ok9iamVjdD46OkNhc3QoY29uc3RydWN0b3JWYWx1ZSk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBwcm90b3R5cGUgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNvbnN0cnVjdG9y
V2FwcGVyLT5HZXQodjhTdHJpbmcoInByb3RvdHlwZSIsIGlzb2xhdGUpKSk7CisgICAgV3JhcHBl
clR5cGVJbmZvKiB0eXBlSW5mbyA9IGZpbmRXcmFwcGVyVHlwZU9mKHByb3RvdHlwZSk7CisgICAg
aWYgKCF0eXBlSW5mbykKKyAgICAgICAgcmV0dXJuIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4oKTsK
KworICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd3JhcHBlciA9IFY4RE9NV3JhcHBlcjo6Y3Jl
YXRlV3JhcHBlcihjcmVhdGlvbkNvbnRleHQsIHR5cGVJbmZvLCBpbXBsLmdldCgpLCBpc29sYXRl
KTsKKyAgICBpZiAod3JhcHBlci5Jc0VtcHR5KCkpCisgICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KCk7CisKKyAgICB3cmFwcGVyLT5TZXRQcm90b3R5cGUocHJvdG90eXBlKTsK
KyAgICBWOERPTVdyYXBwZXI6OmFzc29jaWF0ZU9iamVjdFdpdGhXcmFwcGVyKGltcGwsIHR5cGVJ
bmZvLCB3cmFwcGVyLCBpc29sYXRlLCBXcmFwcGVyQ29uZmlndXJhdGlvbjo6RGVwZW5kZW50KTsK
ICAgICByZXR1cm4gd3JhcHBlcjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhIVE1MQ3VzdG9tRWxlbWVudC5oCmluZGV4IGYzODBhMDE3YWYxZWQwNWM1MmNhYWEzYmQ4
YWU1ZDFiNTE3OTdjYWMuLmQ2OGIwNWI0MTJhYWQ3MTA4NjdhZTc5ZGZkMjQyNjU4ZGYyYjdlNzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1l
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVtZW50
LmgKQEAgLTQ1LDcgKzQ1LDYgQEAgY2xhc3MgSFRNTEVsZW1lbnQ7CiAKIGNsYXNzIFY4SFRNTEN1
c3RvbUVsZW1lbnQgewogcHVibGljOgotICAgIHN0YXRpYyBXcmFwcGVyVHlwZUluZm8gaW5mbzsK
ICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTEVsZW1lbnQqLCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29udGV4dCA9IHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4oKSwgdjg6Oklzb2xhdGUqID0gMCk7CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChIVE1MRWxlbWVudCosIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250
ZXh0LCB2ODo6SXNvbGF0ZSopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFBlckNvbnRleHREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UGVyQ29udGV4dERhdGEuY3BwCmluZGV4IDg2ZWViMTIzY2I4YzZjNjMxZDYyZGVlOGVmNTg0ZGQ5
ZDUwMjM4YTguLjBkMTgyNDUxM2RkZDc1ZjZiNTdmYWI5YWU5NGY3Y2YwN2FiYmRiMjMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwCkBAIC0x
MjYsNiArMTI2LDggQEAgdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj4gVjhQZXJDb250ZXh0RGF0YTo6
Y29uc3RydWN0b3JGb3JUeXBlU2xvd0Nhc2UoV3JhcHBlclR5cGUKICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiBwcm90b3R5cGVWYWx1ZSA9IGZ1bmN0aW9uLT5HZXQodjg6OlN0cmluZzo6TmV3U3lt
Ym9sKCJwcm90b3R5cGUiKSk7CiAgICAgaWYgKCFwcm90b3R5cGVWYWx1ZS5Jc0VtcHR5KCkgJiYg
cHJvdG90eXBlVmFsdWUtPklzT2JqZWN0KCkpIHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmpl
Y3Q+IHByb3RvdHlwZU9iamVjdCA9IHY4OjpMb2NhbDx2ODo6T2JqZWN0Pjo6Q2FzdChwcm90b3R5
cGVWYWx1ZSk7CisgICAgICAgIGlmIChwcm90b3R5cGVPYmplY3QtPkludGVybmFsRmllbGRDb3Vu
dCgpID09IHY4UHJvdG90eXBlSW50ZXJuYWxGaWVsZGNvdW50KQorICAgICAgICAgICAgcHJvdG90
eXBlT2JqZWN0LT5TZXRBbGlnbmVkUG9pbnRlckluSW50ZXJuYWxGaWVsZCh2OFByb3RvdHlwZVR5
cGVJbmRleCwgdHlwZSk7CiAgICAgICAgIHR5cGUtPmluc3RhbGxQZXJDb250ZXh0UHJvdG90eXBl
UHJvcGVydGllcyhwcm90b3R5cGVPYmplY3QsIG1fY29udGV4dC0+R2V0SXNvbGF0ZSgpKTsKICAg
ICAgICAgaWYgKHR5cGUtPndyYXBwZXJUeXBlUHJvdG90eXBlID09IFdyYXBwZXJUeXBlRXJyb3JQ
cm90b3R5cGUpCiAgICAgICAgICAgICBwcm90b3R5cGVPYmplY3QtPlNldFByb3RvdHlwZShtX2Vy
cm9yUHJvdG90eXBlLmdldCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1dyYXBwZXJUeXBlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBl
clR5cGVJbmZvLmgKaW5kZXggZGMyYTVlZWU3MDEyYmZkNDg3MTA2M2QxNjQ2NTlkMzhlOGUyMDYy
Mi4uNDU2ZTAwMjAxOWZmYWI1NDJmZGViNWZjYWU3Njg4Zjc5NTBhYTM1NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmgKQEAgLTQzLDYgKzQzLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIHN0YXRpYyBjb25zdCBpbnQgdjhET01XcmFwcGVyVHlw
ZUluZGV4ID0gMDsKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RE9NV3JhcHBlck9iamVjdEluZGV4
ID0gMTsKICAgICBzdGF0aWMgY29uc3QgaW50IHY4RGVmYXVsdFdyYXBwZXJJbnRlcm5hbEZpZWxk
Q291bnQgPSAyOworICAgIHN0YXRpYyBjb25zdCBpbnQgdjhQcm90b3R5cGVUeXBlSW5kZXggPSAw
OworICAgIHN0YXRpYyBjb25zdCBpbnQgdjhQcm90b3R5cGVJbnRlcm5hbEZpZWxkY291bnQgPSAx
OwogCiAgICAgc3RhdGljIGNvbnN0IHVpbnQxNl90IHY4RE9NTm9kZUNsYXNzSWQgPSAxOwogICAg
IHN0YXRpYyBjb25zdCB1aW50MTZfdCB2OERPTU9iamVjdENsYXNzSWQgPSAyOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191450</attachid>
            <date>2013-03-05 03:00:29 -0800</date>
            <delta_ts>2013-03-05 17:55:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111411-20130305195635.patch</filename>
            <type>text/plain</type>
            <size>10819</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWJiZWRmNjAxNzk5YjVm
MWFiMjc2OGQ5YWI1MzhjMGY3ODE2NGM0ZS4uOGNlYmRkNjUwZWRhYzYzNDU0NGFhNGE1MzZlNWFh
YTljYjk4MzI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA1ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbQ3VzdG9tIEVsZW1l
bnRzXVtWOF0gQ3VzdG9tIEVsZW1lbnQgZG9lc24ndCBuZWVkIGl0cyBvd24gV3JhcHBlclR5cGVJ
bmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBu
ZXcgdGVzdHMuIE5vIG9ic2VydmFibGUgY2hhbmdlIHlldC4KKworICAgICAgICBUaGlzIGlzIGEg
cHJlcGFyYXRpb24gZm9yIEJ1ZyAxMTA0MzYsIHdoZXJlIFdlYktpdCBpcyBnb2luZyB0bworICAg
ICAgICBhbGxvdyBhbnkgSFRNTCBlbGVtZW50IHRvIGJlIGEgc3VwZXJjbGFzcyBvZiBjdXN0b20g
ZWxlbWVudHMuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgZWxpbWluYXRlcyBXcmFwcGVyVHlwZUlu
Zm8gZm9yIGN1c3RvbSBlbGVtZW50LiBJbnN0ZWFkCisgICAgICAgIG9mIHRoYXQsIHRoZSB3cmFw
cGVyIG9mIGEgY3VzdG9tIGVsZW1lbnQgcGlja3MgV3JhcHBlclR5cGVJbmZvCisgICAgICAgIGZy
b20gbW9zdCBkZXNjZW5kYW50IGJ1aWx0LWluIEhUTUwgZWxlbWVudC4gRm9yIGV4YW1wbGUsIHRo
aW5rIGFib3V0CisgICAgICAgIGZvbGxvd2luZyBoaWVyYXJjaHk6CisKKyAgICAgICAgLSAuLi4g
PC0gSFRNTEVsZW1lbnQgPC0gSFRNTERpdkVsZW1lbW50IDwtIEV4aXN0aW5nQ3VzdG9tRWxlbWVu
dCA8LSBOZXdDdXN0b21FbGVtZW50CisKKyAgICAgICAgSW4gdGhpcyBjYXNlLCBib3RoIEV4aXN0
aW5nQ3VzdG9tRWxlbWVudCBhbmQgTmV3Q3VzdG9tRWxlbWVudCBoYXMKKyAgICAgICAgSFRNTERp
dkVsZW1lbW50J3MgdHlwZSBpbmZvLiBUaGlzIGlzIGJlY2F1c2UgSFRNTERpdkVsZW1lbW50IGlz
CisgICAgICAgIHRoZSBtb3N0IGRlc2NlbmRhbnQgKG9yICJ0aGUgbmVhcmVzdCIpIGJ1aWx0LWlu
IEhUTUwKKyAgICAgICAgZWxlbWVudC4gKEhUTUxFbGVtZW50IGlzbid0IHRoZSBtb3N0IGRlc2Nl
bmRhbnQuCisgICAgICAgIEV4aXN0aW5nQ3VzdG9tRWxlbWVudCBpc24ndCBhIGJ1aWx0LWluLikK
KworICAgICAgICBVc2luZyBzdWNoIFdyYXBwZXJUeXBlSW5mb3MsIGNyZWF0ZWQgY3VzdG9tIGVs
ZW1lbnQgd3JhcHBlcnMgY2FuCisgICAgICAgIGdldCBhcHByb3ByaWF0ZSBzZXQgb2YgbWV0aG9k
IGFuZCBwcm9wZXJ0aWVzIHJlZ2FyZGxlc3Mgb2YgaXRzCisgICAgICAgIHN1cGVyLWVsZW1lbnRz
LgorCisgICAgICAgIFRoaXMgY2hhbmdlIHRlbGxzIHRoZSBwcm90b3R5cGUgb2JqZWN0IG9mIGVh
Y2ggYnVpbHQtaW4gb2JqZWN0CisgICAgICAgIHdoaWNoIFdyYXBwZXJUeXBlSW5mbyB0aGUgbmF0
aXZlIGJhY2tpbmcgd2FudHM6CisgICAgICAgIEhUTUxEaXZFbGVtZW1udC5wcm90b3R5cGUga25v
d3MgVjhIVE1MRGl2RWxlbWVudDo6aW5mbyBmb3IKKyAgICAgICAgZXhhbXBsZS4gVGhlIHBvaW50
ZXIgdG8gdGhlIHR5cGUgaW5mbyBpcyBzdG9yZWQgaW50byBhbiBpbnRlcm5hbAorICAgICAgICBm
aWVsZC4gT24gd3JhcHBlciBjb25zdHJ1Y3Rpb24sIGNyZWF0ZVdyYXBwZXIoKSB3YWxrcyB1cCB0
aGUKKyAgICAgICAgcHJvdG90eXBlIGNoYWluIGFuZCBwaWNrIHRoZSBmaXJzdCBvbmUuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhET01Db25maWd1cmF0aW9uOjpjb25maWd1cmVUZW1wbGF0ZSk6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpm
aW5kV3JhcHBlclR5cGVPZik6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxDdXN0b21FbGVtZW50
OjpjcmVhdGVXcmFwcGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVt
ZW50Lmg6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpWOFBlckNvbnRleHREYXRhOjpjb25zdHJ1Y3RvckZvclR5cGVTbG93Q2Fz
ZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvV3JhcHBlclR5cGVJbmZvLmg6CisgICAgICAgIChX
ZWJDb3JlKToKKwogMjAxMy0wMy0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIFN1cHBvcnQgV2ViU3BlZWNoIC0gU3BlZWNoIFN5bnRoZXNpcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAKaW5k
ZXggYjRmMWEyOGRmOWQyZjY1Yjk1MjMwNTkwMWI0OTY4MzIzNDY1NGU0OS4uNWZlN2JjZmFjZGRl
NTY1NzJiNWUyMGIwZWIzNjdlNTYwZGVjYWU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwCkBAIC0zMyw4ICszMyw2IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY29uc3QgaW50IHByb3RvdHlwZUludGVybmFsRmllbGRjb3Vu
dCA9IDE7Ci0KIHZvaWQgVjhET01Db25maWd1cmF0aW9uOjpiYXRjaENvbmZpZ3VyZUF0dHJpYnV0
ZXModjg6OkhhbmRsZTx2ODo6T2JqZWN0VGVtcGxhdGU+IGluc3RhbmNlLCB2ODo6SGFuZGxlPHY4
OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG90eXBlLCBjb25zdCBCYXRjaGVkQXR0cmlidXRlKiBhdHRy
aWJ1dGVzLCBzaXplX3QgYXR0cmlidXRlQ291bnQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewog
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXR0cmlidXRlQ291bnQ7ICsraSkKQEAgLTY4LDcg
KzY2LDcgQEAgdjg6OkxvY2FsPHY4OjpTaWduYXR1cmU+IFY4RE9NQ29uZmlndXJhdGlvbjo6Y29u
ZmlndXJlVGVtcGxhdGUodjg6OlBlcnNpc3RlbnQ8djgKICAgICAgICAgLy8gVGhpcyBpcyBuZWVk
ZWQgc2luY2UgYnVnIDExMDQzNiBhc2tzIFdlYktpdCB0byB0ZWxsIG5hdGl2ZS1pbml0aWF0ZWQg
cHJvdG90eXBlcyBmcm9tIHB1cmUtSlMgb25lcy4KICAgICAgICAgLy8gVGhpcyBkb2Vzbid0IG1h
cmsga2luZHMgInJvb3QiIGNsYXNzZXMgbGlrZSBOb2RlLCB3aGVyZSBzZXR0aW5nIHRoaXMgY2hh
bmdlcyBwcm90b3R5cGUgY2hhaW4gc3RydWN0dXJlLgogICAgICAgICB2ODo6TG9jYWw8djg6Ok9i
amVjdFRlbXBsYXRlPiBwcm90b3R5cGUgPSBmdW5jdGlvbkRlc2NyaXB0b3ItPlByb3RvdHlwZVRl
bXBsYXRlKCk7Ci0gICAgICAgIHByb3RvdHlwZS0+U2V0SW50ZXJuYWxGaWVsZENvdW50KHByb3Rv
dHlwZUludGVybmFsRmllbGRjb3VudCk7CisgICAgICAgIHByb3RvdHlwZS0+U2V0SW50ZXJuYWxG
aWVsZENvdW50KHY4UHJvdG90eXBlSW50ZXJuYWxGaWVsZGNvdW50KTsKICAgICB9CiAKICAgICBp
ZiAoYXR0cmlidXRlQ291bnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOEhUTUxDdXN0b21FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
SFRNTEN1c3RvbUVsZW1lbnQuY3BwCmluZGV4IGY0N2YzNTk2MzY4Zjc5YTgxMWUxODhlZjJhMDU4
NGRiZWE1YTAwMGIuLmUzYjcwMzY4Y2NhMWNmMWY4ZWRiYjQ5YjlkYzczMTMwZDAyY2VkNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQu
Y3BwCkBAIC0zOCwxMiArMzgsMjAgQEAKICNpbmNsdWRlICJDdXN0b21FbGVtZW50UmVnaXN0cnku
aCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIlY4Q3VzdG9tRWxlbWVudENv
bnN0cnVjdG9yLmgiCi0jaW5jbHVkZSAiVjhIVE1MU3BhbkVsZW1lbnQuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0vLyBGSVhNRTogRWFjaCBjdXN0b20gZWxlbWVudHMgc2hvdWxkIGhhdmUg
aXRzIG93biBHZXRUZW1wbGF0ZSBtZXRob2Qgc28gdGhhdCBpdCBjYW4gYmUgZGVyaXZlZCBmcm9t
IGRpZmZlcmVudCBzdXBlciBlbGVtZW50LgotV3JhcHBlclR5cGVJbmZvIFY4SFRNTEN1c3RvbUVs
ZW1lbnQ6OmluZm8gPSB7ICZWOEhUTUxFbGVtZW50OjpHZXRUZW1wbGF0ZSwgVjhIVE1MRWxlbWVu
dDo6ZGVyZWZPYmplY3QsIDAsIFY4SFRNTEVsZW1lbnQ6OnRvRXZlbnRUYXJnZXQsIDAsIDAsICZW
OEhUTUxFbGVtZW50OjppbmZvLCBXcmFwcGVyVHlwZU9iamVjdFByb3RvdHlwZSB9Oworc3RhdGlj
IFdyYXBwZXJUeXBlSW5mbyogZmluZFdyYXBwZXJUeXBlT2Yodjg6OkhhbmRsZTx2ODo6VmFsdWU+
IGNoYWluKQoreworICAgIHdoaWxlICghY2hhaW4uSXNFbXB0eSgpICYmIGNoYWluLT5Jc09iamVj
dCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY2hhaW5PYmplY3QgPSB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNoYWluKTsKKyAgICAgICAgaWYgKHY4UHJvdG90eXBl
SW50ZXJuYWxGaWVsZGNvdW50ID09IGNoYWluT2JqZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSkK
KyAgICAgICAgICAgIHJldHVybiByZWludGVycHJldF9jYXN0PFdyYXBwZXJUeXBlSW5mbyo+KGNo
YWluT2JqZWN0LT5HZXRBbGlnbmVkUG9pbnRlckZyb21JbnRlcm5hbEZpZWxkKHY4UHJvdG90eXBl
VHlwZUluZGV4KSk7CisgICAgICAgIGNoYWluID0gY2hhaW5PYmplY3QtPkdldFByb3RvdHlwZSgp
OworICAgIH0KKworICAgIHJldHVybiAwOworfQogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4
SFRNTEN1c3RvbUVsZW1lbnQ6OmNyZWF0ZVdyYXBwZXIoUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4g
aW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRl
KiBpc29sYXRlKQogewpAQCAtNTEsMjggKzU5LDM3IEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4g
VjhIVE1MQ3VzdG9tRWxlbWVudDo6Y3JlYXRlV3JhcHBlcihQYXNzUmVmUHRyPEhUTUxFbGVtZW50
CiAKICAgICBSZWZQdHI8Q3VzdG9tRWxlbWVudENvbnN0cnVjdG9yPiBjb25zdHJ1Y3RvciA9IEN1
c3RvbUVsZW1lbnRSZWdpc3RyeTo6Y29uc3RydWN0b3JPZihpbXBsLmdldCgpKTsKICAgICBpZiAo
IWNvbnN0cnVjdG9yKSB7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyVmFs
dWUgPSBXZWJDb3JlOjp0b1Y4KHRvSFRNTFVua25vd25FbGVtZW50KGltcGwuZ2V0KCkpLCBjcmVh
dGlvbkNvbnRleHQsIGlzb2xhdGUpOworICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3Jh
cHBlclZhbHVlID0gdG9WOCh0b0hUTUxVbmtub3duRWxlbWVudChpbXBsLmdldCgpKSwgY3JlYXRp
b25Db250ZXh0LCBpc29sYXRlKTsKICAgICAgICAgaWYgKCF3cmFwcGVyVmFsdWUuSXNFbXB0eSgp
ICYmIHdyYXBwZXJWYWx1ZS0+SXNPYmplY3QoKSkKICAgICAgICAgICAgIHJldHVybiB2ODo6SGFu
ZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHdyYXBwZXJWYWx1ZSk7CiAgICAgICAgIHJldHVybiB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+KCk7CiAgICAgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3cmFwcGVyID0gVjhET01XcmFwcGVyOjpjcmVhdGVXcmFwcGVyKGNyZWF0aW9uQ29udGV4dCwg
JmluZm8sIGltcGwuZ2V0KCksIGlzb2xhdGUpOwotICAgIGlmICh3cmFwcGVyLklzRW1wdHkoKSkK
LSAgICAgICAgcmV0dXJuIHdyYXBwZXI7Ci0KICAgICAvLyBUaGUgY29uc3RydWN0b3IgYW5kIHJl
Z2lzdGVyZWQgbGlmZWN5Y2xlIGNhbGxiYWNrcyBzaG91bGQgYmUgdmlzaWJsZSBvbmx5IGZyb20g
bWFpbiB3b3JsZC4KICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGRuJ3QgYmUgbmVlZGVkIG9uY2Ug
ZWFjaCBjdXN0b20gZWxlbWVudCBoYXMgaXRzIG93biBGdW5jdGlvblRlbXBsYXRlCiAgICAgLy8g
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODEzOAotICAgIGlmIChD
dXN0b21FbGVtZW50SGVscGVyczo6aXNGZWF0dXJlQWxsb3dlZChjcmVhdGlvbkNvbnRleHQtPkNy
ZWF0aW9uQ29udGV4dCgpKSkgewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBl
clZhbHVlID0gV2ViQ29yZTo6dG9WOChjb25zdHJ1Y3Rvci5nZXQoKSwgY3JlYXRpb25Db250ZXh0
LCBpc29sYXRlKTsKLSAgICAgICAgaWYgKHdyYXBwZXJWYWx1ZS5Jc0VtcHR5KCkgfHwgIXdyYXBw
ZXJWYWx1ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+KCk7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY29uc3RydWN0b3JXYXBw
ZXIgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHdyYXBwZXJWYWx1ZSk7Ci0gICAgICAg
IHdyYXBwZXItPlNldFByb3RvdHlwZShjb25zdHJ1Y3RvcldhcHBlci0+R2V0KHY4U3RyaW5nKCJw
cm90b3R5cGUiLCBpc29sYXRlKSkpOworICAgIGlmICghQ3VzdG9tRWxlbWVudEhlbHBlcnM6Omlz
RmVhdHVyZUFsbG93ZWQoY3JlYXRpb25Db250ZXh0LT5DcmVhdGlvbkNvbnRleHQoKSkpIHsKKyAg
ICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01XcmFwcGVyOjpjcmVh
dGVXcmFwcGVyKGNyZWF0aW9uQ29udGV4dCwgJlY4SFRNTEVsZW1lbnQ6OmluZm8sIGltcGwuZ2V0
KCksIGlzb2xhdGUpOworICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQorICAgICAgICAg
ICAgVjhET01XcmFwcGVyOjphc3NvY2lhdGVPYmplY3RXaXRoV3JhcHBlcihpbXBsLCAmVjhIVE1M
RWxlbWVudDo6aW5mbywgd3JhcHBlciwgaXNvbGF0ZSwgV3JhcHBlckNvbmZpZ3VyYXRpb246OkRl
cGVuZGVudCk7CisgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIH0KIAotICAgIFY4RE9NV3Jh
cHBlcjo6YXNzb2NpYXRlT2JqZWN0V2l0aFdyYXBwZXIoaW1wbCwgJmluZm8sIHdyYXBwZXIsIGlz
b2xhdGUsIFdyYXBwZXJDb25maWd1cmF0aW9uOjpEZXBlbmRlbnQpOworICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBjb25zdHJ1Y3RvclZhbHVlID0gV2ViQ29yZTo6dG9WOChjb25zdHJ1Y3Rvci5n
ZXQoKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1
ZS5Jc0VtcHR5KCkgfHwgIWNvbnN0cnVjdG9yVmFsdWUtPklzT2JqZWN0KCkpCisgICAgICAgIHJl
dHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBjb25zdHJ1Y3RvcldhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoY29uc3Ry
dWN0b3JWYWx1ZSk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBwcm90b3R5cGUgPSB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNvbnN0cnVjdG9yV2FwcGVyLT5HZXQodjg6OlN0cmlu
Zzo6TmV3U3ltYm9sKCJwcm90b3R5cGUiKSkpOworICAgIFdyYXBwZXJUeXBlSW5mbyogdHlwZUlu
Zm8gPSBmaW5kV3JhcHBlclR5cGVPZihwcm90b3R5cGUpOworICAgIGlmICghdHlwZUluZm8pCisg
ICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CisKKyAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IHdyYXBwZXIgPSBWOERPTVdyYXBwZXI6OmNyZWF0ZVdyYXBwZXIoY3JlYXRp
b25Db250ZXh0LCB0eXBlSW5mbywgaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CisgICAgaWYgKHdyYXBw
ZXIuSXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6T2JqZWN0PigpOwor
CisgICAgd3JhcHBlci0+U2V0UHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgVjhET01XcmFwcGVy
Ojphc3NvY2lhdGVPYmplY3RXaXRoV3JhcHBlcihpbXBsLCB0eXBlSW5mbywgd3JhcHBlciwgaXNv
bGF0ZSwgV3JhcHBlckNvbmZpZ3VyYXRpb246OkRlcGVuZGVudCk7CiAgICAgcmV0dXJuIHdyYXBw
ZXI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1
c3RvbUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVs
ZW1lbnQuaAppbmRleCBmMzgwYTAxN2FmMWVkMDVjNTJjYWFhM2JkOGFlNWQxYjUxNzk3Y2FjLi5k
NjhiMDViNDEyYWFkNzEwODY3YWU3OWRmZDI0MjY1OGRmMmI3ZTc3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVudC5oCkBAIC00NSw3ICs0NSw2
IEBAIGNsYXNzIEhUTUxFbGVtZW50OwogCiBjbGFzcyBWOEhUTUxDdXN0b21FbGVtZW50IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50Kiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBjcmVhdGlvbkNvbnRleHQgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCksIHY4OjpJc29sYXRl
KiA9IDApOwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoSFRNTEVsZW1l
bnQqLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29udGV4dCwgdjg6Oklzb2xhdGUq
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNw
cAppbmRleCA4NmVlYjEyM2NiOGM2YzYzMWQ2MmRlZThlZjU4NGRkOWQ1MDIzOGE4Li5lZThhMGU2
NzZmMGI1NjNiZWZjMWFhNjgzNTRiZDcxNDRjOTNkNDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNwcApAQCAtMTI2LDYgKzEyNiw5IEBAIHY4
OjpMb2NhbDx2ODo6RnVuY3Rpb24+IFY4UGVyQ29udGV4dERhdGE6OmNvbnN0cnVjdG9yRm9yVHlw
ZVNsb3dDYXNlKFdyYXBwZXJUeXBlCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcHJvdG90eXBl
VmFsdWUgPSBmdW5jdGlvbi0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgicHJvdG90eXBlIikp
OwogICAgIGlmICghcHJvdG90eXBlVmFsdWUuSXNFbXB0eSgpICYmIHByb3RvdHlwZVZhbHVlLT5J
c09iamVjdCgpKSB7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBwcm90b3R5cGVPYmpl
Y3QgPSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QocHJvdG90eXBlVmFsdWUpOworICAgICAg
ICBpZiAocHJvdG90eXBlT2JqZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSA9PSB2OFByb3RvdHlw
ZUludGVybmFsRmllbGRjb3VudAorICAgICAgICAgICAgJiYgdHlwZS0+d3JhcHBlclR5cGVQcm90
b3R5cGUgPT0gV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUpCisgICAgICAgICAgICBwcm90b3R5
cGVPYmplY3QtPlNldEFsaWduZWRQb2ludGVySW5JbnRlcm5hbEZpZWxkKHY4UHJvdG90eXBlVHlw
ZUluZGV4LCB0eXBlKTsKICAgICAgICAgdHlwZS0+aW5zdGFsbFBlckNvbnRleHRQcm90b3R5cGVQ
cm9wZXJ0aWVzKHByb3RvdHlwZU9iamVjdCwgbV9jb250ZXh0LT5HZXRJc29sYXRlKCkpOwogICAg
ICAgICBpZiAodHlwZS0+d3JhcHBlclR5cGVQcm90b3R5cGUgPT0gV3JhcHBlclR5cGVFcnJvclBy
b3RvdHlwZSkKICAgICAgICAgICAgIHByb3RvdHlwZU9iamVjdC0+U2V0UHJvdG90eXBlKG1fZXJy
b3JQcm90b3R5cGUuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvV3JhcHBlclR5cGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVy
VHlwZUluZm8uaAppbmRleCBkYzJhNWVlZTcwMTJiZmQ0ODcxMDYzZDE2NDY1OWQzOGU4ZTIwNjIy
Li40NTZlMDAyMDE5ZmZhYjU0MmZkZWI1ZmNhZTc2ODhmNzk1MGFhMzU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaApAQCAtNDMsNiArNDMsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgc3RhdGljIGNvbnN0IGludCB2OERPTVdyYXBwZXJUeXBl
SW5kZXggPSAwOwogICAgIHN0YXRpYyBjb25zdCBpbnQgdjhET01XcmFwcGVyT2JqZWN0SW5kZXgg
PSAxOwogICAgIHN0YXRpYyBjb25zdCBpbnQgdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRD
b3VudCA9IDI7CisgICAgc3RhdGljIGNvbnN0IGludCB2OFByb3RvdHlwZVR5cGVJbmRleCA9IDA7
CisgICAgc3RhdGljIGNvbnN0IGludCB2OFByb3RvdHlwZUludGVybmFsRmllbGRjb3VudCA9IDE7
CiAKICAgICBzdGF0aWMgY29uc3QgdWludDE2X3QgdjhET01Ob2RlQ2xhc3NJZCA9IDE7CiAgICAg
c3RhdGljIGNvbnN0IHVpbnQxNl90IHY4RE9NT2JqZWN0Q2xhc3NJZCA9IDI7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191622</attachid>
            <date>2013-03-05 17:55:41 -0800</date>
            <delta_ts>2013-03-05 18:54:38 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-111411-20130306105147.patch</filename>
            <type>text/plain</type>
            <size>10357</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0ODQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA3NGRmYzQ3ZjBlY2Iy
NjdhODhhY2QyNzE1M2UzYzMwYTQ1ZTdkOS4uZDc1OTIyM2NjMzlhNjAzNDFkZTc2YTkyYTBjNmRj
YmZiNzRkMWRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDEzLTAzLTA1ICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbQ3VzdG9tIEVsZW1l
bnRzXVtWOF0gQ3VzdG9tIEVsZW1lbnQgZG9lc24ndCBuZWVkIGl0cyBvd24gV3JhcHBlclR5cGVJ
bmZvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE0
MTEKKworICAgICAgICBSZXZpZXdlZCBieSBLZW50YXJvIEhhcmEuCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiBObyBvYnNlcnZhYmxlIGNoYW5nZSB5ZXQuCisKKyAgICAgICAgVGhpcyBpcyBhIHBy
ZXBhcmF0aW9uIGZvciBCdWcgMTEwNDM2LCB3aGVyZSBXZWJLaXQgaXMgZ29pbmcgdG8KKyAgICAg
ICAgYWxsb3cgYW55IEhUTUwgZWxlbWVudCB0byBiZSBhIHN1cGVyY2xhc3Mgb2YgY3VzdG9tIGVs
ZW1lbnRzLgorCisgICAgICAgIFRoaXMgY2hhbmdlIGVsaW1pbmF0ZXMgV3JhcHBlclR5cGVJbmZv
IGZvciBjdXN0b20gZWxlbWVudC4gSW5zdGVhZAorICAgICAgICBvZiB0aGF0LCB0aGUgd3JhcHBl
ciBvZiBhIGN1c3RvbSBlbGVtZW50IHBpY2tzIFdyYXBwZXJUeXBlSW5mbworICAgICAgICBmcm9t
IG1vc3QgZGVzY2VuZGFudCBidWlsdC1pbiBIVE1MIGVsZW1lbnQuIEZvciBleGFtcGxlLCB0aGlu
ayBhYm91dAorICAgICAgICBmb2xsb3dpbmcgaGllcmFyY2h5OgorCisgICAgICAgIC0gLi4uIDwt
IEhUTUxFbGVtZW50IDwtIEhUTUxEaXZFbGVtZW1udCA8LSBFeGlzdGluZ0N1c3RvbUVsZW1lbnQg
PC0gTmV3Q3VzdG9tRWxlbWVudAorCisgICAgICAgIEluIHRoaXMgY2FzZSwgYm90aCBFeGlzdGlu
Z0N1c3RvbUVsZW1lbnQgYW5kIE5ld0N1c3RvbUVsZW1lbnQgaGFzCisgICAgICAgIEhUTUxEaXZF
bGVtZW1udCdzIHR5cGUgaW5mby4gVGhpcyBpcyBiZWNhdXNlIEhUTUxEaXZFbGVtZW1udCBpcwor
ICAgICAgICB0aGUgbW9zdCBkZXNjZW5kYW50IChvciAidGhlIG5lYXJlc3QiKSBidWlsdC1pbiBI
VE1MCisgICAgICAgIGVsZW1lbnQuIChIVE1MRWxlbWVudCBpc24ndCB0aGUgbW9zdCBkZXNjZW5k
YW50LgorICAgICAgICBFeGlzdGluZ0N1c3RvbUVsZW1lbnQgaXNuJ3QgYSBidWlsdC1pbi4pCisK
KyAgICAgICAgVXNpbmcgc3VjaCBXcmFwcGVyVHlwZUluZm9zLCBjcmVhdGVkIGN1c3RvbSBlbGVt
ZW50IHdyYXBwZXJzIGNhbgorICAgICAgICBnZXQgYXBwcm9wcmlhdGUgc2V0IG9mIG1ldGhvZCBh
bmQgcHJvcGVydGllcyByZWdhcmRsZXNzIG9mIGl0cworICAgICAgICBzdXBlci1lbGVtZW50cy4K
KworICAgICAgICBUaGlzIGNoYW5nZSB0ZWxscyB0aGUgcHJvdG90eXBlIG9iamVjdCBvZiBlYWNo
IGJ1aWx0LWluIG9iamVjdAorICAgICAgICB3aGljaCBXcmFwcGVyVHlwZUluZm8gdGhlIG5hdGl2
ZSBiYWNraW5nIHdhbnRzOgorICAgICAgICBIVE1MRGl2RWxlbWVtbnQucHJvdG90eXBlIGtub3dz
IFY4SFRNTERpdkVsZW1lbnQ6OmluZm8gZm9yCisgICAgICAgIGV4YW1wbGUuIFRoZSBwb2ludGVy
IHRvIHRoZSB0eXBlIGluZm8gaXMgc3RvcmVkIGludG8gYW4gaW50ZXJuYWwKKyAgICAgICAgZmll
bGQuIE9uIHdyYXBwZXIgY29uc3RydWN0aW9uLCBjcmVhdGVXcmFwcGVyKCkgd2Fsa3MgdXAgdGhl
CisgICAgICAgIHByb3RvdHlwZSBjaGFpbiBhbmQgcGljayB0aGUgZmlyc3Qgb25lLgorCisgICAg
ICAgICogYmluZGluZ3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlY4RE9NQ29uZmlndXJhdGlvbjo6Y29uZmlndXJlVGVtcGxhdGUpOgorICAgICAgICAqIGJp
bmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Zmlu
ZFdyYXBwZXJUeXBlT2YpOgorICAgICAgICAoV2ViQ29yZTo6VjhIVE1MQ3VzdG9tRWxlbWVudDo6
Y3JlYXRlV3JhcHBlcik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVu
dC5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UGVyQ29udGV4dERhdGEuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6VjhQZXJDb250ZXh0RGF0YTo6Y29uc3RydWN0b3JGb3JUeXBlU2xvd0Nhc2Up
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1dyYXBwZXJUeXBlSW5mby5oOgorICAgICAgICAoV2Vi
Q29yZSk6CisKIDIwMTMtMDMtMDUgIEFsZWMgRmxldHQgIDxhbGVjZmxldHRAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIEZpeCBtYWMgY2xhbmcgYnVpbGQgd2l0aCBsb25nIGxvbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTUNvbmZpZ3VyYXRpb24uY3BwCmluZGV4IGI0
ZjFhMjhkZjlkMmY2NWI5NTIzMDU5MDFiNDk2ODMyMzQ2NTRlNDkuLjVmZTdiY2ZhY2RkZTU2NTcy
YjVlMjBiMGViMzY3ZTU2MGRlY2FlOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4RE9NQ29uZmlndXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhET01Db25maWd1cmF0aW9uLmNwcApAQCAtMzMsOCArMzMsNiBAQAogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNvbnN0IGludCBwcm90b3R5cGVJbnRlcm5hbEZpZWxkY291bnQgPSAx
OwotCiB2b2lkIFY4RE9NQ29uZmlndXJhdGlvbjo6YmF0Y2hDb25maWd1cmVBdHRyaWJ1dGVzKHY4
OjpIYW5kbGU8djg6Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0VGVtcGxhdGU+IHByb3RvdHlwZSwgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSogYXR0cmlidXRl
cywgc2l6ZV90IGF0dHJpYnV0ZUNvdW50LCB2ODo6SXNvbGF0ZSogaXNvbGF0ZSkKIHsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGF0dHJpYnV0ZUNvdW50OyArK2kpCkBAIC02OCw3ICs2Niw3
IEBAIHY4OjpMb2NhbDx2ODo6U2lnbmF0dXJlPiBWOERPTUNvbmZpZ3VyYXRpb246OmNvbmZpZ3Vy
ZVRlbXBsYXRlKHY4OjpQZXJzaXN0ZW50PHY4CiAgICAgICAgIC8vIFRoaXMgaXMgbmVlZGVkIHNp
bmNlIGJ1ZyAxMTA0MzYgYXNrcyBXZWJLaXQgdG8gdGVsbCBuYXRpdmUtaW5pdGlhdGVkIHByb3Rv
dHlwZXMgZnJvbSBwdXJlLUpTIG9uZXMuCiAgICAgICAgIC8vIFRoaXMgZG9lc24ndCBtYXJrIGtp
bmRzICJyb290IiBjbGFzc2VzIGxpa2UgTm9kZSwgd2hlcmUgc2V0dGluZyB0aGlzIGNoYW5nZXMg
cHJvdG90eXBlIGNoYWluIHN0cnVjdHVyZS4KICAgICAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3RU
ZW1wbGF0ZT4gcHJvdG90eXBlID0gZnVuY3Rpb25EZXNjcmlwdG9yLT5Qcm90b3R5cGVUZW1wbGF0
ZSgpOwotICAgICAgICBwcm90b3R5cGUtPlNldEludGVybmFsRmllbGRDb3VudChwcm90b3R5cGVJ
bnRlcm5hbEZpZWxkY291bnQpOworICAgICAgICBwcm90b3R5cGUtPlNldEludGVybmFsRmllbGRD
b3VudCh2OFByb3RvdHlwZUludGVybmFsRmllbGRjb3VudCk7CiAgICAgfQogCiAgICAgaWYgKGF0
dHJpYnV0ZUNvdW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhI
VE1MQ3VzdG9tRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhUTUxD
dXN0b21FbGVtZW50LmNwcAppbmRleCBmNDdmMzU5NjM2OGY3OWE4MTFlMTg4ZWYyYTA1ODRkYmVh
NWEwMDBiLi5kMDE0YjBmMjIyNzQ4MmRhNjg3NTQ0OGZmMjhmZjIxNzYwYzQ5MzRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVtZW50LmNwcApA
QCAtMzgsMTIgKzM4LDIxIEBACiAjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmgiCiAj
aW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKICNpbmNsdWRlICJWOEN1c3RvbUVsZW1lbnRDb25zdHJ1
Y3Rvci5oIgotI2luY2x1ZGUgIlY4SFRNTFNwYW5FbGVtZW50LmgiCisjaW5jbHVkZSAiVjhIVE1M
VW5rbm93bkVsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0vLyBGSVhNRTogRWFj
aCBjdXN0b20gZWxlbWVudHMgc2hvdWxkIGhhdmUgaXRzIG93biBHZXRUZW1wbGF0ZSBtZXRob2Qg
c28gdGhhdCBpdCBjYW4gYmUgZGVyaXZlZCBmcm9tIGRpZmZlcmVudCBzdXBlciBlbGVtZW50Lgot
V3JhcHBlclR5cGVJbmZvIFY4SFRNTEN1c3RvbUVsZW1lbnQ6OmluZm8gPSB7ICZWOEhUTUxFbGVt
ZW50OjpHZXRUZW1wbGF0ZSwgVjhIVE1MRWxlbWVudDo6ZGVyZWZPYmplY3QsIDAsIFY4SFRNTEVs
ZW1lbnQ6OnRvRXZlbnRUYXJnZXQsIDAsIDAsICZWOEhUTUxFbGVtZW50OjppbmZvLCBXcmFwcGVy
VHlwZU9iamVjdFByb3RvdHlwZSB9Oworc3RhdGljIFdyYXBwZXJUeXBlSW5mbyogZmluZFdyYXBw
ZXJUeXBlT2Yodjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNoYWluKQoreworICAgIHdoaWxlICghY2hh
aW4uSXNFbXB0eSgpICYmIGNoYWluLT5Jc09iamVjdCgpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gY2hhaW5PYmplY3QgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KGNo
YWluKTsKKyAgICAgICAgaWYgKHY4UHJvdG90eXBlSW50ZXJuYWxGaWVsZGNvdW50ID09IGNoYWlu
T2JqZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSkKKyAgICAgICAgICAgIHJldHVybiByZWludGVy
cHJldF9jYXN0PFdyYXBwZXJUeXBlSW5mbyo+KGNoYWluT2JqZWN0LT5HZXRBbGlnbmVkUG9pbnRl
ckZyb21JbnRlcm5hbEZpZWxkKHY4UHJvdG90eXBlVHlwZUluZGV4KSk7CisgICAgICAgIGNoYWlu
ID0gY2hhaW5PYmplY3QtPkdldFByb3RvdHlwZSgpOworICAgIH0KKworICAgIHJldHVybiAwOwor
fQogCiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IFY4SFRNTEN1c3RvbUVsZW1lbnQ6OmNyZWF0ZVdy
YXBwZXIoUGFzc1JlZlB0cjxIVE1MRWxlbWVudD4gaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29sYXRlKQogewpAQCAtNTcsMjIgKzY2
LDMxIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gVjhIVE1MQ3VzdG9tRWxlbWVudDo6Y3JlYXRl
V3JhcHBlcihQYXNzUmVmUHRyPEhUTUxFbGVtZW50CiAgICAgICAgIHJldHVybiB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+KCk7CiAgICAgfQogCi0gICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFw
cGVyID0gVjhET01XcmFwcGVyOjpjcmVhdGVXcmFwcGVyKGNyZWF0aW9uQ29udGV4dCwgJmluZm8s
IGltcGwuZ2V0KCksIGlzb2xhdGUpOwotICAgIGlmICh3cmFwcGVyLklzRW1wdHkoKSkKLSAgICAg
ICAgcmV0dXJuIHdyYXBwZXI7Ci0KICAgICAvLyBUaGUgY29uc3RydWN0b3IgYW5kIHJlZ2lzdGVy
ZWQgbGlmZWN5Y2xlIGNhbGxiYWNrcyBzaG91bGQgYmUgdmlzaWJsZSBvbmx5IGZyb20gbWFpbiB3
b3JsZC4KICAgICAvLyBGSVhNRTogVGhpcyBzaG91bGRuJ3QgYmUgbmVlZGVkIG9uY2UgZWFjaCBj
dXN0b20gZWxlbWVudCBoYXMgaXRzIG93biBGdW5jdGlvblRlbXBsYXRlCiAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODEzOAotICAgIGlmIChDdXN0b21F
bGVtZW50SGVscGVyczo6aXNGZWF0dXJlQWxsb3dlZChjcmVhdGlvbkNvbnRleHQtPkNyZWF0aW9u
Q29udGV4dCgpKSkgewotICAgICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gd3JhcHBlclZhbHVl
ID0gV2ViQ29yZTo6dG9WOChjb25zdHJ1Y3Rvci5nZXQoKSwgY3JlYXRpb25Db250ZXh0LCBpc29s
YXRlKTsKLSAgICAgICAgaWYgKHdyYXBwZXJWYWx1ZS5Jc0VtcHR5KCkgfHwgIXdyYXBwZXJWYWx1
ZS0+SXNPYmplY3QoKSkKLSAgICAgICAgICAgIHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
KCk7Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY29uc3RydWN0b3JXYXBwZXIgPSB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHdyYXBwZXJWYWx1ZSk7Ci0gICAgICAgIHdyYXBw
ZXItPlNldFByb3RvdHlwZShjb25zdHJ1Y3RvcldhcHBlci0+R2V0KHY4U3RyaW5nKCJwcm90b3R5
cGUiLCBpc29sYXRlKSkpOworICAgIGlmICghQ3VzdG9tRWxlbWVudEhlbHBlcnM6OmlzRmVhdHVy
ZUFsbG93ZWQoY3JlYXRpb25Db250ZXh0LT5DcmVhdGlvbkNvbnRleHQoKSkpIHsKKyAgICAgICAg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwcGVyID0gVjhET01XcmFwcGVyOjpjcmVhdGVXcmFw
cGVyKGNyZWF0aW9uQ29udGV4dCwgJlY4SFRNTEVsZW1lbnQ6OmluZm8sIGltcGwuZ2V0KCksIGlz
b2xhdGUpOworICAgICAgICBpZiAoIXdyYXBwZXIuSXNFbXB0eSgpKQorICAgICAgICAgICAgVjhE
T01XcmFwcGVyOjphc3NvY2lhdGVPYmplY3RXaXRoV3JhcHBlcihpbXBsLCAmVjhIVE1MRWxlbWVu
dDo6aW5mbywgd3JhcHBlciwgaXNvbGF0ZSwgV3JhcHBlckNvbmZpZ3VyYXRpb246OkRlcGVuZGVu
dCk7CisgICAgICAgIHJldHVybiB3cmFwcGVyOwogICAgIH0KIAotICAgIFY4RE9NV3JhcHBlcjo6
YXNzb2NpYXRlT2JqZWN0V2l0aFdyYXBwZXIoaW1wbCwgJmluZm8sIHdyYXBwZXIsIGlzb2xhdGUs
IFdyYXBwZXJDb25maWd1cmF0aW9uOjpEZXBlbmRlbnQpOworICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBjb25zdHJ1Y3RvclZhbHVlID0gV2ViQ29yZTo6dG9WOChjb25zdHJ1Y3Rvci5nZXQoKSwg
Y3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyAgICBpZiAoY29uc3RydWN0b3JWYWx1ZS5Jc0Vt
cHR5KCkgfHwgIWNvbnN0cnVjdG9yVmFsdWUtPklzT2JqZWN0KCkpCisgICAgICAgIHJldHVybiB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjb25z
dHJ1Y3RvcldhcHBlciA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoY29uc3RydWN0b3JW
YWx1ZSk7CisgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBwcm90b3R5cGUgPSB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+OjpDYXN0KGNvbnN0cnVjdG9yV2FwcGVyLT5HZXQodjg6OlN0cmluZzo6TmV3
U3ltYm9sKCJwcm90b3R5cGUiKSkpOworICAgIFdyYXBwZXJUeXBlSW5mbyogdHlwZUluZm8gPSBm
aW5kV3JhcHBlclR5cGVPZihwcm90b3R5cGUpOworICAgIGlmICghdHlwZUluZm8pCisgICAgICAg
IHJldHVybiB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCk7CisKKyAgICB2ODo6SGFuZGxlPHY4OjpP
YmplY3Q+IHdyYXBwZXIgPSBWOERPTVdyYXBwZXI6OmNyZWF0ZVdyYXBwZXIoY3JlYXRpb25Db250
ZXh0LCB0eXBlSW5mbywgaW1wbC5nZXQoKSwgaXNvbGF0ZSk7CisgICAgaWYgKHdyYXBwZXIuSXNF
bXB0eSgpKQorICAgICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6T2JqZWN0PigpOworCisgICAg
d3JhcHBlci0+U2V0UHJvdG90eXBlKHByb3RvdHlwZSk7CisgICAgVjhET01XcmFwcGVyOjphc3Nv
Y2lhdGVPYmplY3RXaXRoV3JhcHBlcihpbXBsLCB0eXBlSW5mbywgd3JhcHBlciwgaXNvbGF0ZSwg
V3JhcHBlckNvbmZpZ3VyYXRpb246OkRlcGVuZGVudCk7CiAgICAgcmV0dXJuIHdyYXBwZXI7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SFRNTEN1c3RvbUVsZW1lbnQu
aAppbmRleCBmMzgwYTAxN2FmMWVkMDVjNTJjYWFhM2JkOGFlNWQxYjUxNzk3Y2FjLi5kNjhiMDVi
NDEyYWFkNzEwODY3YWU3OWRmZDI0MjY1OGRmMmI3ZTc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEhUTUxDdXN0b21FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhIVE1MQ3VzdG9tRWxlbWVudC5oCkBAIC00NSw3ICs0NSw2IEBAIGNs
YXNzIEhUTUxFbGVtZW50OwogCiBjbGFzcyBWOEhUTUxDdXN0b21FbGVtZW50IHsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgV3JhcHBlclR5cGVJbmZvIGluZm87CiAgICAgc3RhdGljIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KEhUTUxFbGVtZW50Kiwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVh
dGlvbkNvbnRleHQgPSB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+KCksIHY4OjpJc29sYXRlKiA9IDAp
OwogICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoSFRNTEVsZW1lbnQqLCB2
ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29udGV4dCwgdjg6Oklzb2xhdGUqKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJDb250ZXh0RGF0YS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNwcAppbmRl
eCA4NmVlYjEyM2NiOGM2YzYzMWQ2MmRlZThlZjU4NGRkOWQ1MDIzOGE4Li5lZThhMGU2NzZmMGI1
NjNiZWZjMWFhNjgzNTRiZDcxNDRjOTNkNDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFBlckNvbnRleHREYXRhLmNwcApAQCAtMTI2LDYgKzEyNiw5IEBAIHY4OjpMb2Nh
bDx2ODo6RnVuY3Rpb24+IFY4UGVyQ29udGV4dERhdGE6OmNvbnN0cnVjdG9yRm9yVHlwZVNsb3dD
YXNlKFdyYXBwZXJUeXBlCiAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gcHJvdG90eXBlVmFsdWUg
PSBmdW5jdGlvbi0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgicHJvdG90eXBlIikpOwogICAg
IGlmICghcHJvdG90eXBlVmFsdWUuSXNFbXB0eSgpICYmIHByb3RvdHlwZVZhbHVlLT5Jc09iamVj
dCgpKSB7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBwcm90b3R5cGVPYmplY3QgPSB2
ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QocHJvdG90eXBlVmFsdWUpOworICAgICAgICBpZiAo
cHJvdG90eXBlT2JqZWN0LT5JbnRlcm5hbEZpZWxkQ291bnQoKSA9PSB2OFByb3RvdHlwZUludGVy
bmFsRmllbGRjb3VudAorICAgICAgICAgICAgJiYgdHlwZS0+d3JhcHBlclR5cGVQcm90b3R5cGUg
PT0gV3JhcHBlclR5cGVPYmplY3RQcm90b3R5cGUpCisgICAgICAgICAgICBwcm90b3R5cGVPYmpl
Y3QtPlNldEFsaWduZWRQb2ludGVySW5JbnRlcm5hbEZpZWxkKHY4UHJvdG90eXBlVHlwZUluZGV4
LCB0eXBlKTsKICAgICAgICAgdHlwZS0+aW5zdGFsbFBlckNvbnRleHRQcm90b3R5cGVQcm9wZXJ0
aWVzKHByb3RvdHlwZU9iamVjdCwgbV9jb250ZXh0LT5HZXRJc29sYXRlKCkpOwogICAgICAgICBp
ZiAodHlwZS0+d3JhcHBlclR5cGVQcm90b3R5cGUgPT0gV3JhcHBlclR5cGVFcnJvclByb3RvdHlw
ZSkKICAgICAgICAgICAgIHByb3RvdHlwZU9iamVjdC0+U2V0UHJvdG90eXBlKG1fZXJyb3JQcm90
b3R5cGUuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV3Jh
cHBlclR5cGVJbmZvLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUlu
Zm8uaAppbmRleCBkYzJhNWVlZTcwMTJiZmQ0ODcxMDYzZDE2NDY1OWQzOGU4ZTIwNjIyLi40NTZl
MDAyMDE5ZmZhYjU0MmZkZWI1ZmNhZTc2ODhmNzk1MGFhMzU2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9XcmFwcGVyVHlwZUluZm8uaApAQCAtNDMsNiArNDMsOCBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgc3RhdGljIGNvbnN0IGludCB2OERPTVdyYXBwZXJUeXBlSW5kZXgg
PSAwOwogICAgIHN0YXRpYyBjb25zdCBpbnQgdjhET01XcmFwcGVyT2JqZWN0SW5kZXggPSAxOwog
ICAgIHN0YXRpYyBjb25zdCBpbnQgdjhEZWZhdWx0V3JhcHBlckludGVybmFsRmllbGRDb3VudCA9
IDI7CisgICAgc3RhdGljIGNvbnN0IGludCB2OFByb3RvdHlwZVR5cGVJbmRleCA9IDA7CisgICAg
c3RhdGljIGNvbnN0IGludCB2OFByb3RvdHlwZUludGVybmFsRmllbGRjb3VudCA9IDE7CiAKICAg
ICBzdGF0aWMgY29uc3QgdWludDE2X3QgdjhET01Ob2RlQ2xhc3NJZCA9IDE7CiAgICAgc3RhdGlj
IGNvbnN0IHVpbnQxNl90IHY4RE9NT2JqZWN0Q2xhc3NJZCA9IDI7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>