<?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>105839</bug_id>
          
          <creation_ts>2012-12-28 14:34:55 -0800</creation_ts>
          <short_desc>[HTMLTemplateElement] Allow &lt;template&gt; content to be inspected</short_desc>
          <delta_ts>2013-01-08 16:44:19 -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>Web Inspector (Deprecated)</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>103547</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rafael Weinstein">rafaelw</reporter>
          <assigned_to name="Rafael Weinstein">rafaelw</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>apavlov</cc>
    
    <cc>eric</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>mifenton</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>pfeldman</cc>
    
    <cc>philn</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>797999</commentid>
    <comment_count>0</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-28 14:34:55 -0800</bug_when>
    <thetext>&lt;template&gt; should be expandable in the &apos;elements&apos; tab and it should contain a single &apos;#document-fragment&apos; child whose children are expandable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798000</commentid>
    <comment_count>1</comment_count>
      <attachid>180901</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-28 14:36:51 -0800</bug_when>
    <thetext>Created attachment 180901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798002</commentid>
    <comment_count>2</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-12-28 14:40:09 -0800</bug_when>
    <thetext>Here is the start of a patch for this. The main problem is that when anything in the templateContent changes, it is not updated in the UI.

I believe this is because there isn&apos;t an associated instrumenting agent with the owner document of the content or its children.

Pavel, a little background: The template element&apos;s content document fragment is &quot;inert&quot; (images don&apos;t load, script doesn&apos;t run, etc...). The way this is accomplished is that it is owned by a different document which doesn&apos;t have a browsing context (frame).

Unfortunately. this means that instrumentingAgentsForDocument() currently always returns 0;

What&apos;s the best way to approach this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798003</commentid>
    <comment_count>3</comment_count>
      <attachid>180901</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-28 14:50:33 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

Attachment 180901 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15549924</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798004</commentid>
    <comment_count>4</comment_count>
      <attachid>180901</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-28 14:51:44 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

Attachment 180901 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15559831</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798005</commentid>
    <comment_count>5</comment_count>
      <attachid>180901</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-12-28 14:54:56 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

Attachment 180901 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/15587019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798006</commentid>
    <comment_count>6</comment_count>
      <attachid>180901</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-28 15:27:15 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

Attachment 180901 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15550992</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798096</commentid>
    <comment_count>7</comment_count>
      <attachid>180901</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-29 03:05:25 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

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

&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1300
&gt; +        if (element-&gt;hasTagName(HTMLNames::templateTag))

#if ENABLE(TEMPLATE_ELEMENT)

&gt; Source/WebCore/inspector/front-end/DOMAgent.js:78
&gt; +    if (payload.templateContent) {

No need for {} around one line block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798097</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-12-29 03:16:17 -0800</bug_when>
    <thetext>&gt; Pavel, a little background: The template element&apos;s content document fragment is &quot;inert&quot; (images don&apos;t load, script doesn&apos;t run, etc...). The way this is accomplished is that it is owned by a different document which doesn&apos;t have a browsing context (frame).



&gt; 
&gt; Unfortunately. this means that instrumentingAgentsForDocument() currently always returns 0;
&gt; 
&gt; What&apos;s the best way to approach this?

Could we do something like

m_templateContentsOwnerDocument-&gt;setTemplateContentsOwnerDocumentParent(this);

in modify Document::templateContentsOwnerDocument()?

Then instrumentingAgentsForDocument would follow that link and fetch appropriate page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799130</commentid>
    <comment_count>9</comment_count>
      <attachid>180901</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-02 17:36:28 -0800</bug_when>
    <thetext>Comment on attachment 180901
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorDOMAgent.cpp:1300
&gt;&gt; +        if (element-&gt;hasTagName(HTMLNames::templateTag))
&gt; 
&gt; #if ENABLE(TEMPLATE_ELEMENT)

done

&gt;&gt; Source/WebCore/inspector/front-end/DOMAgent.js:78
&gt;&gt; +    if (payload.templateContent) {
&gt; 
&gt; No need for {} around one line block.

done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799132</commentid>
    <comment_count>10</comment_count>
      <attachid>181119</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-02 17:39:00 -0800</bug_when>
    <thetext>Created attachment 181119
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799135</commentid>
    <comment_count>11</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-02 17:40:36 -0800</bug_when>
    <thetext>Ok, trying Pavel&apos;s suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799144</commentid>
    <comment_count>12</comment_count>
      <attachid>181119</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-02 17:50:51 -0800</bug_when>
    <thetext>Comment on attachment 181119
Patch

Attachment 181119 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15625750</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799146</commentid>
    <comment_count>13</comment_count>
      <attachid>181119</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-02 17:52:29 -0800</bug_when>
    <thetext>Comment on attachment 181119
Patch

Attachment 181119 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15636645</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799169</commentid>
    <comment_count>14</comment_count>
      <attachid>181119</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-02 18:47:43 -0800</bug_when>
    <thetext>Comment on attachment 181119
Patch

Attachment 181119 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15630745</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799192</commentid>
    <comment_count>15</comment_count>
      <attachid>181119</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-01-02 19:24:42 -0800</bug_when>
    <thetext>Comment on attachment 181119
Patch

Attachment 181119 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15628765</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799218</commentid>
    <comment_count>16</comment_count>
      <attachid>181141</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-02 20:45:32 -0800</bug_when>
    <thetext>Created attachment 181141
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799299</commentid>
    <comment_count>17</comment_count>
      <attachid>181141</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-03 00:46:32 -0800</bug_when>
    <thetext>Comment on attachment 181141
Patch

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

&gt; Source/WebCore/dom/Document.cpp:616
&gt; +        m_inertDocument.clear();

This will happen on its own.

&gt; Source/WebCore/dom/Document.cpp:5949
&gt; +Document* Document::inertDocument()

I don&apos;t find the new name self-explanatory, I&apos;d rather leave it as is. r- is for this, otherwise lgtm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799364</commentid>
    <comment_count>18</comment_count>
      <attachid>181141</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-03 06:48:09 -0800</bug_when>
    <thetext>Comment on attachment 181141
Patch

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

&gt;&gt; Source/WebCore/dom/Document.cpp:616
&gt;&gt; +        m_inertDocument.clear();
&gt; 
&gt; This will happen on its own.

done

&gt;&gt; Source/WebCore/dom/Document.cpp:5949
&gt;&gt; +Document* Document::inertDocument()
&gt; 
&gt; I don&apos;t find the new name self-explanatory, I&apos;d rather leave it as is. r- is for this, otherwise lgtm.

I renamed this one to avoid having to call the back pointer &quot;templateContentsOwnerDocumentOwner&quot; (what is currently &quot;inertDocumentCreator&quot;).

I suppose I could go with &quot;templateContentsOwner&quot; and &quot;templateContentsOwnerCreator&quot;? (&quot;Document&quot; is implied in the type).

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799419</commentid>
    <comment_count>19</comment_count>
      <attachid>181180</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-03 09:48:41 -0800</bug_when>
    <thetext>Created attachment 181180
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799420</commentid>
    <comment_count>20</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-03 09:48:55 -0800</bug_when>
    <thetext>How ya like me now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800653</commentid>
    <comment_count>21</comment_count>
      <attachid>181384</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-04 15:04:57 -0800</bug_when>
    <thetext>Created attachment 181384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800654</commentid>
    <comment_count>22</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-04 15:05:19 -0800</bug_when>
    <thetext>New patch resolves merge conflicts.

Pavel: ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802695</commentid>
    <comment_count>23</comment_count>
      <attachid>181776</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2013-01-08 14:59:34 -0800</bug_when>
    <thetext>Created attachment 181776
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802801</commentid>
    <comment_count>24</comment_count>
      <attachid>181776</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 16:44:14 -0800</bug_when>
    <thetext>Comment on attachment 181776
Patch for landing

Clearing flags on attachment: 181776

Committed r139132: &lt;http://trac.webkit.org/changeset/139132&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802802</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 16:44:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180901</attachid>
            <date>2012-12-28 14:36:51 -0800</date>
            <delta_ts>2013-01-02 17:38:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105839-20121228143402.patch</filename>
            <type>text/plain</type>
            <size>5579</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4NTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzBkOTk5YzYxN2YxYWIx
MDIyNTViNzI2MTdlYWVkMmVjMDQ0NWEwOS4uMWQ5YjYwMTIxYTMxODI0NjIxNDU2MDJmMDA1MzBk
YzQ1Y2I3YTRiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDEyLTEyLTI4ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyAoT09QUyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlLmhhc0NoaWxkTm9kZXMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlLl9pbnNlcnRDaGlsZCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUuX3NldENoaWxkcmVuUGF5
bG9hZCk6CisKKzIwMTItMTItMjggIFJhZmFlbCBXZWluc3RlaW4gIDxyYWZhZWx3QGNocm9taXVt
Lm9yZz4KKwogICAgICAgICBbVGVtcGxhdGVzXTogRml4IGFzc2VydCBpbiBjb2xncm91cCBwYXJz
ZSBoYW5kbGluZwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA1ODM3CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBi
YTAyODA4MjExOTk4ZTA1OWNkYjBjNmUyOTQyMzkxMWU4ZGUwMjcwLi41N2Y2ZjdhY2RiZmRlZDkx
ZmE3OTU5MmU1OTBjYjg4OTI1N2NmYWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCkBAIC0xNjUyLDcgKzE2NTIsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogInZhbHVlIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIjxjb2RlPkF0dHI8L2NvZGU+J3MgdmFsdWUuIiB9LAogICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImZyYW1lSWQiLCAiJHJlZiI6ICJOZXR3b3JrLkZyYW1lSWQiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRnJhbWUgSUQgZm9yIGZyYW1lIG93bmVyIGVs
ZW1lbnRzLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJjb250ZW50RG9jdW1l
bnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNv
bnRlbnQgZG9jdW1lbnQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwKLSAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJzaGFkb3dSb290cyIsICJ0eXBlIjogImFycmF5IiwgIm9wdGlv
bmFsIjogdHJ1ZSwgIml0ZW1zIjogeyAiJHJlZiI6ICJOb2RlIiB9LCAiZGVzY3JpcHRpb24iOiAi
U2hhZG93IHJvb3QgbGlzdCBmb3IgZ2l2ZW4gZWxlbWVudCBob3N0LiIgfQorICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwgInR5cGUiOiAiYXJyYXkiLCAib3B0aW9u
YWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5vZGUiIH0sICJkZXNjcmlwdGlvbiI6ICJT
aGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50IGhvc3QuIiB9LAorICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogInRlbXBsYXRlQ29udGVudCIsICIkcmVmIjogIk5vZGUiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmcmFnbWVudCBm
b3IgdGVtcGxhdGUgZWxlbWVudHMiIH0KICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJET00gaW50ZXJhY3Rpb24gaXMgaW1wbGVtZW50ZWQgaW4gdGVy
bXMgb2YgbWlycm9yIG9iamVjdHMgdGhhdCByZXByZXNlbnQgdGhlIGFjdHVhbCBET00gbm9kZXMu
IERPTU5vZGUgaXMgYSBiYXNlIG5vZGUgbWlycm9yIHR5cGUuIgogICAgICAgICAgICAgfSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCmluZGV4IGM0
MzA2ZTgzZWY5NWY1MTM5M2ZhZjQyNGQ5ZjM0MWFlZWE1YjE2Y2UuLmVjMjQxMmYyYzMwOTBlMTIy
MjBmZTFiNDdkODllZTRkNzY0OTIzMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjMsNiArNjMsOCBAQAogI2luY2x1ZGUgIkZyYW1l
VHJlZS5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3du
ZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFRlbXBs
YXRlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKICNpbmNsdWRlICJJZGVu
dGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbmplY3RlZFNjcmlwdE1hbmFnZXIuaCIKQEAg
LTEyOTQsNiArMTI5NiwxMCBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpET006Ok5vZGU+IElu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUoTm9kZSogbgogICAgICAgICAgICAg
ICAgIHNoYWRvd1Jvb3RzLT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9yTm9kZShyb290LCAwLCBub2Rl
c01hcCkpOwogICAgICAgICAgICAgdmFsdWUtPnNldFNoYWRvd1Jvb3RzKHNoYWRvd1Jvb3RzKTsK
ICAgICAgICAgfQorCisgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6
dGVtcGxhdGVUYWcpKQorICAgICAgICAgICAgdmFsdWUtPnNldFRlbXBsYXRlQ29udGVudChidWls
ZE9iamVjdEZvck5vZGUoc3RhdGljX2Nhc3Q8SFRNTFRlbXBsYXRlRWxlbWVudCo+KGVsZW1lbnQp
LT5jb250ZW50KCksIDAsIG5vZGVzTWFwKSk7CisKICAgICB9IGVsc2UgaWYgKG5vZGUtPmlzRG9j
dW1lbnROb2RlKCkpIHsKICAgICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8
RG9jdW1lbnQqPihub2RlKTsKICAgICAgICAgdmFsdWUtPnNldERvY3VtZW50VVJMKGRvY3VtZW50
VVJMU3RyaW5nKGRvY3VtZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01BZ2VudC5qcwppbmRleCBhYTk2NGYzOGI2MTZiNDYzNmEwNWYzZjk3MWNiMTkzNTcw
MmJhNDEzLi5kZjk2MmQ1OWQyZTI0ZGU5ZGYwN2Y2YzZiODRjODUyODZjMDRlZWNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKQEAgLTc1LDYg
Kzc1LDEwIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlID0gZnVuY3Rpb24oZG9tQWdlbnQsIGRvYywg
aXNJblNoYWRvd1RyZWUsIHBheWxvYWQpIHsKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChw
YXlsb2FkLnRlbXBsYXRlQ29udGVudCkgeworICAgICAgICB0aGlzLl90ZW1wbGF0ZUNvbnRlbnQg
PSBuZXcgV2ViSW5zcGVjdG9yLkRPTU5vZGUodGhpcy5fZG9tQWdlbnQsIHRoaXMub3duZXJEb2N1
bWVudCwgdHJ1ZSwgcGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpOworICAgIH0KKwogICAgIGlmIChw
YXlsb2FkLmNoaWxkcmVuKQogICAgICAgICB0aGlzLl9zZXRDaGlsZHJlblBheWxvYWQocGF5bG9h
ZC5jaGlsZHJlbik7CiAKQEAgLTEzMiw3ICsxMzYsNyBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgaGFzQ2hpbGROb2RlczogZnVuY3Rpb24oKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkTm9kZUNvdW50ID4gMCB8fCAhIXRoaXMuX3No
YWRvd1Jvb3RzLmxlbmd0aDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkTm9kZUNvdW50ID4g
MCB8fCAhIXRoaXMuX3NoYWRvd1Jvb3RzLmxlbmd0aCB8fCB0aGlzLl90ZW1wbGF0ZUNvbnRlbnQ7
CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNDUzLDcgKzQ1NywxMSBAQCBXZWJJbnNwZWN0b3IuRE9N
Tm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAgICAgICAgaWYg
KCF0aGlzLmNoaWxkcmVuKSB7CiAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgbm9kZQotICAgICAg
ICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5jb25jYXQoWyBub2Rl
IF0pOworICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5z
bGljZSgpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZUNvbnRlbnQpCisgICAg
ICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaCh0aGlzLl90ZW1wbGF0ZUNvbnRlbnQp
OworCisgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKG5vZGUpOwogICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KG5vZGUpOwog
ICAgICAgICB9IGVsc2UKQEAgLTQ4Myw2ICs0OTEsOSBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhpcy5jaGlsZHJl
biA9IHRoaXMuX3NoYWRvd1Jvb3RzLnNsaWNlKCk7CisgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0
ZUNvbnRlbnQpCisgICAgICAgICAgICB0aGlzLmNoaWxkcmVuLnB1c2godGhpcy5fdGVtcGxhdGVD
b250ZW50KTsKKwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBheWxvYWRzLmxlbmd0aDsg
KytpKSB7CiAgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IHBheWxvYWRzW2ldOwogICAgICAgICAg
ICAgdmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTU5vZGUodGhpcy5fZG9tQWdlbnQsIHRo
aXMub3duZXJEb2N1bWVudCwgdGhpcy5faXNJblNoYWRvd1RyZWUsIHBheWxvYWQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181119</attachid>
            <date>2013-01-02 17:39:00 -0800</date>
            <delta_ts>2013-01-02 20:45:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105839-20130102173608.patch</filename>
            <type>text/plain</type>
            <size>11364</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwMDdkODNhZDAxYzdm
MzZhOGQzNmUyYzU4MzlhYjUwOThmZjFmOC4uYWNjZDNiMjJkMjBlY2YyMDU1OTI0ZTQyMWFmMWRm
MjA3NjI4NDI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTAyICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoZSBwbHVtcGluZyB3aGljaCBhbGxvd3MgdGVtcGxhdGUgY29udGVudHMgdG8gYmUKKyAg
ICAgICAgZGlzcGxheWVkIHdpdGhpbiB0aGUgaW5zcGVjdG9yLCB0aGlzIHBhdGNoIGFkZHMgYSBt
YW51YWxseS1tYW5hZ2VkCisgICAgICAgIHdlYWtyZWYgZnJvbSB0aGUgaW5lcnQgZG9jdW1lbnQg
YmFjayB0byBpdHMgY3JlYXRvci4gVGhpcyBpcyByZXF1aXJlZAorICAgICAgICBzbyB0aGF0IHRo
ZSBpbnNwZWN0b3IgYWdlbnQgY2FuIGJlIGZvdW5kLgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmluZXJ0RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNl
dEluZXJ0RG9jdW1lbnRDcmVhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbmVy
dERvY3VtZW50Q3JlYXRvcik6CisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y3JlYXRlRnJhZ21lbnRGb3JJbm5lck91dGVySFRNTCk6CisgICAgICAgICog
aHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZW1w
bGF0ZUVsZW1lbnQ6OmNvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNv
bjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1l
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRE9NTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUuaGFzQ2hpbGROb2Rlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUuX2luc2VydENoaWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlLnBy
b3RvdHlwZS5fc2V0Q2hpbGRyZW5QYXlsb2FkKToKKwogMjAxMy0wMS0wMiAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtWOF0gVGhlcmUgYXJlIHNvbWUgZXh0cmEg
YmxhbmsgbGluZXMgYWZ0ZXIgcmVtb3ZpbmcgSU5DX1NUQVRTCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCBjOTBhNWJmYTdkYTgyMTMwYmJkOGUxNTZkM2RiOTNkOGJjNGZlOGQ4Li5kMDJmNDhj
ZGExZDliMmU1ZDZhMTA0YWRmOWU0NGJkYjM5ZGZjNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTYxMCw2ICs2MTAsMTMgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgQVNTRVJU
KCFtX3BhcmVudFRyZWVTY29wZSk7CiAgICAgQVNTRVJUKCFtX2d1YXJkUmVmQ291bnQpOwogCisj
aWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCisgICAgaWYgKG1faW5lcnREb2N1bWVudCkgewor
ICAgICAgICBtX2luZXJ0RG9jdW1lbnQtPnNldEluZXJ0RG9jdW1lbnRDcmVhdG9yKDApOyAvLyBi
YWxhbmNlZCBpbiBpbmVydERvY3VtZW50KCkuCisgICAgICAgIG1faW5lcnREb2N1bWVudC5jbGVh
cigpOworICAgIH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UX1RSQUNLSU5HKQog
ICAgIGlmIChEb2N1bWVudCogb3duZXJEb2N1bWVudCA9IHRoaXMtPm93bmVyRG9jdW1lbnQoKSkK
ICAgICAgICAgb3duZXJEb2N1bWVudC0+ZGlkUmVtb3ZlRXZlbnRUYXJnZXROb2RlKHRoaXMpOwpA
QCAtNTkzOSwyMCArNTk0NiwyMiBAQCBMb2NhbGUmIERvY3VtZW50OjpnZXRDYWNoZWRMb2NhbGUo
Y29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUpCiB9CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxF
TUVOVCkKLURvY3VtZW50KiBEb2N1bWVudDo6dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQo
KQorRG9jdW1lbnQqIERvY3VtZW50OjppbmVydERvY3VtZW50KCkKIHsKICAgICAvLyBJZiBET0NV
TUVOVCBkb2VzIG5vdCBoYXZlIGEgYnJvd3NpbmcgY29udGV4dCwgTGV0IFRFTVBMQVRFIENPTlRF
TlRTIE9XTkVSIGJlIERPQ1VNRU5UIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAoIW1f
ZnJhbWUpCiAgICAgICAgIHJldHVybiB0aGlzOwogCi0gICAgaWYgKCFtX3RlbXBsYXRlQ29udGVu
dHNPd25lckRvY3VtZW50KSB7CisgICAgaWYgKCFtX2luZXJ0RG9jdW1lbnQpIHsKICAgICAgICAg
aWYgKGlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgICAgICBtX3RlbXBsYXRlQ29udGVudHNPd25l
ckRvY3VtZW50ID0gSFRNTERvY3VtZW50OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAg
ICAgICBtX2luZXJ0RG9jdW1lbnQgPSBIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBibGFua1VSTCgp
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1
bWVudCA9IERvY3VtZW50OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAgICAgICBtX2lu
ZXJ0RG9jdW1lbnQgPSBEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworCisgICAgICAg
IG1faW5lcnREb2N1bWVudC0+c2V0SW5lcnREb2N1bWVudENyZWF0b3IodGhpcyk7IC8vIGJhbGFu
Y2VkIGluIGR0b3IuCiAgICAgfQogCi0gICAgcmV0dXJuIG1fdGVtcGxhdGVDb250ZW50c093bmVy
RG9jdW1lbnQuZ2V0KCk7CisgICAgcmV0dXJuIG1faW5lcnREb2N1bWVudC5nZXQoKTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGUzOWIyZGRiYjYxZjVmODFhMGI3NDIxZjgx
ZDk0NjEyMmVmZTkwMWQuLjljNDIyZGYwOTU3ODZlZjA2NDM0MTRjMTc5YzNmY2MwOTQyODI5MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTkyLDcgKzExOTIsOSBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIERvY3VtZW50KiB0ZW1wbGF0
ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpOworICAgIERvY3VtZW50KiBpbmVydERvY3VtZW50KCk7
CisgICAgdm9pZCBzZXRJbmVydERvY3VtZW50Q3JlYXRvcihEb2N1bWVudCogaW5lcnREb2N1bWVu
dENyZWF0b3IpIHsgbV9pbmVydERvY3VtZW50Q3JlYXRvciA9IGluZXJ0RG9jdW1lbnRDcmVhdG9y
OyB9CisgICAgRG9jdW1lbnQqIGluZXJ0RG9jdW1lbnRDcmVhdG9yKCkgeyByZXR1cm4gbV9pbmVy
dERvY3VtZW50Q3JlYXRvcjsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKQEAgLTE1NjAsNyArMTU2
Miw4IEBAIHByaXZhdGU6CiAgICAgTG9jYWxlSWRlbnRpZmllclRvTG9jYWxlTWFwIG1fbG9jYWxl
Q2FjaGU7CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBSZWZQdHI8RG9jdW1l
bnQ+IG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQ7CisgICAgUmVmUHRyPERvY3VtZW50
PiBtX2luZXJ0RG9jdW1lbnQ7CisgICAgRG9jdW1lbnQqIG1faW5lcnREb2N1bWVudENyZWF0b3I7
IC8vIE1hbnVhbGx5IG1hbmFnZWQgd2Vha3JlZiAoYmFja3BvaW50ZXIgZnJvbSBtX2luZXJ0RG9j
dW1lbnQpLgogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggNjNh
YmI1ZjU0MWRkODAyNDA1MjdiNjY2NDQzNzdlODY3ZTFlNDAxNC4uYTVhOTI5MjU3ZjgzNmE0OWQ1
NzcwYTFkMmM5MDI3ZGU4MDdhMjI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAt
OTk2LDcgKzk5Niw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21l
bnRGb3JJbm5lck91dGVySFRNTChjb25zdCBTdHJpbmcmIG1hcmt1CiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gY29udGV4dEVsZW1lbnQtPmRvY3VtZW50KCk7CiAjaWYgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpCiAgICAgaWYgKGNvbnRleHRFbGVtZW50LT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFn
KSkKLSAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+dGVtcGxhdGVDb250ZW50c093bmVyRG9j
dW1lbnQoKTsKKyAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+aW5lcnREb2N1bWVudCgpOwog
I2VuZGlmCiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gRG9jdW1lbnRG
cmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
bXBsYXRlRWxlbWVudC5jcHAKaW5kZXggZWEwNzEzMjI0NTNjMjYyYjU0MDI5ZmNmOTJiZjJkZTBl
NjVjNTQ0Ni4uMjVhY2E4MTFhMjg4NGY2ZGE4NWM3MzRjNTIyOGUyYjlkNWQ1NGVkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCkBAIC02Miw3ICs2Miw3
IEBAIFBhc3NSZWZQdHI8SFRNTFRlbXBsYXRlRWxlbWVudD4gSFRNTFRlbXBsYXRlRWxlbWVudDo6
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmCiBEb2N1bWVudEZyYWdtZW50KiBIVE1MVGVtcGxh
dGVFbGVtZW50Ojpjb250ZW50KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udGVudCkKLSAgICAg
ICAgbV9jb250ZW50ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKG93bmVyRG9jdW1lbnQoKS0+
dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSk7CisgICAgICAgIG1fY29udGVudCA9IERv
Y3VtZW50RnJhZ21lbnQ6OmNyZWF0ZShvd25lckRvY3VtZW50KCktPmluZXJ0RG9jdW1lbnQoKSk7
CiAKICAgICByZXR1cm4gbV9jb250ZW50LmdldCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IGJhMDI4MDgyMTE5OThlMDU5Y2RiMGM2ZTI5NDIzOTExZThk
ZTAyNzAuLjU3ZjZmN2FjZGJmZGVkOTFmYTc5NTkyZTU5MGNiODg5MjU3Y2ZhZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE2NTIsNyArMTY1Miw4IEBACiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+QXR0cjwvY29kZT4ncyB2YWx1
ZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjog
Ik5ldHdvcmsuRnJhbWVJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJGcmFt
ZSBJRCBmb3IgZnJhbWUgb3duZXIgZWxlbWVudHMuIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImNvbnRlbnREb2N1bWVudCIsICIkcmVmIjogIk5vZGUiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmb3IgZnJhbWUgb3duZXIgZWxl
bWVudHMuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwg
InR5cGUiOiAiYXJyYXkiLCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5v
ZGUiIH0sICJkZXNjcmlwdGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50
IGhvc3QuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2hhZG93Um9vdHMiLCAi
dHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsgIiRyZWYiOiAiTm9k
ZSIgfSwgImRlc2NyaXB0aW9uIjogIlNoYWRvdyByb290IGxpc3QgZm9yIGdpdmVuIGVsZW1lbnQg
aG9zdC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxhdGVDb250ZW50
IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250
ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQogICAgICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRPTSBpbnRlcmFjdGlv
biBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Igb2JqZWN0cyB0aGF0IHJlcHJlc2Vu
dCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBhIGJhc2Ugbm9kZSBtaXJyb3IgdHlw
ZS4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKaW5kZXggYzQzMDZlODNlZjk1ZjUxMzkzZmFmNDI0ZDlmMzQxYWVlYTVi
MTZjZS4uZmQ0ZjZlNDRkZGI4MDNiMzk3Y2VmMGY4ZDYyOGE0Mzc5MGUwYjlkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC02Myw2ICs2
Myw4IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtMTI5NCw2ICsxMjk2LDEyIEBAIFBhc3NSZWZQdHI8VHlw
ZUJ1aWxkZXI6OkRPTTo6Tm9kZT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9k
ZShOb2RlKiBuCiAgICAgICAgICAgICAgICAgc2hhZG93Um9vdHMtPmFkZEl0ZW0oYnVpbGRPYmpl
Y3RGb3JOb2RlKHJvb3QsIDAsIG5vZGVzTWFwKSk7CiAgICAgICAgICAgICB2YWx1ZS0+c2V0U2hh
ZG93Um9vdHMoc2hhZG93Um9vdHMpOwogICAgICAgICB9CisKKyNpZiBFTkFCTEUoVEVNUExBVEVf
RUxFTUVOVCkKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZW1w
bGF0ZVRhZykpCisgICAgICAgICAgICB2YWx1ZS0+c2V0VGVtcGxhdGVDb250ZW50KGJ1aWxkT2Jq
ZWN0Rm9yTm9kZShzdGF0aWNfY2FzdDxIVE1MVGVtcGxhdGVFbGVtZW50Kj4oZWxlbWVudCktPmNv
bnRlbnQoKSwgMCwgbm9kZXNNYXApKTsKKyNlbmRpZgorCiAgICAgfSBlbHNlIGlmIChub2RlLT5p
c0RvY3VtZW50Tm9kZSgpKSB7CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19j
YXN0PERvY3VtZW50Kj4obm9kZSk7CiAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVudFVSTChkb2N1
bWVudFVSTFN0cmluZyhkb2N1bWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDYxNjI0OTkyMzFkZGJmMmQ1NDQ2
ZTI4OTA2YzhlMWFmMjcwYTQ5NGQuLjVhNWFiZjRmMzYyYzg2MjFhMGVhZjBkN2JmZmI3OTJkM2Fh
YjAxYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKQEAgLTE5ODUsOCArMTk4NSwxMiBAQCBpbmxpbmUgSW5zdHJ1bWVudGlu
Z0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9y
RnJhbQogCiBpbmxpbmUgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQog
ewotICAgIGlmIChkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIGluc3RydW1lbnRpbmdBZ2VudHNG
b3JQYWdlKGRvY3VtZW50LT5wYWdlKCkpOworICAgIGlmIChkb2N1bWVudCkgeworICAgICAgICBQ
YWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyAgICAgICAgaWYgKCFwYWdlICYmIGRvY3Vt
ZW50LT5pbmVydERvY3VtZW50Q3JlYXRvcigpKQorICAgICAgICAgICAgcGFnZSA9IGRvY3VtZW50
LT5pbmVydERvY3VtZW50Q3JlYXRvcigpLT5wYWdlKCk7CisgICAgICAgIHJldHVybiBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKTsKKyAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdl
bnQuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCmlu
ZGV4IGFhOTY0ZjM4YjYxNmI0NjM2YTA1ZjNmOTcxY2IxOTM1NzAyYmE0MTMuLjE2MWJhMGIzZmFi
ZTMwMTFhY2JhNWUyNWU0N2QxMGRiODM4Zjc4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcwpAQCAtNzUsNiArNzUsOSBAQCBXZWJJbnNwZWN0
b3IuRE9NTm9kZSA9IGZ1bmN0aW9uKGRvbUFnZW50LCBkb2MsIGlzSW5TaGFkb3dUcmVlLCBwYXls
b2FkKSB7CiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAocGF5bG9hZC50ZW1wbGF0ZUNvbnRl
bnQpCisgICAgICAgIHRoaXMuX3RlbXBsYXRlQ29udGVudCA9IG5ldyBXZWJJbnNwZWN0b3IuRE9N
Tm9kZSh0aGlzLl9kb21BZ2VudCwgdGhpcy5vd25lckRvY3VtZW50LCB0cnVlLCBwYXlsb2FkLnRl
bXBsYXRlQ29udGVudCk7CisKICAgICBpZiAocGF5bG9hZC5jaGlsZHJlbikKICAgICAgICAgdGhp
cy5fc2V0Q2hpbGRyZW5QYXlsb2FkKHBheWxvYWQuY2hpbGRyZW4pOwogCkBAIC0xMzIsNyArMTM1
LDcgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGhh
c0NoaWxkTm9kZXM6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9jaGls
ZE5vZGVDb3VudCA+IDAgfHwgISF0aGlzLl9zaGFkb3dSb290cy5sZW5ndGg7CisgICAgICAgIHJl
dHVybiB0aGlzLl9jaGlsZE5vZGVDb3VudCA+IDAgfHwgISF0aGlzLl9zaGFkb3dSb290cy5sZW5n
dGggfHwgdGhpcy5fdGVtcGxhdGVDb250ZW50OwogICAgIH0sCiAKICAgICAvKioKQEAgLTQ1Myw3
ICs0NTYsMTEgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAgICBp
ZiAoIXByZXYpIHsKICAgICAgICAgICAgIGlmICghdGhpcy5jaGlsZHJlbikgewogICAgICAgICAg
ICAgICAgIC8vIEZpcnN0IG5vZGUKLSAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhp
cy5fc2hhZG93Um9vdHMuY29uY2F0KFsgbm9kZSBdKTsKKyAgICAgICAgICAgICAgICB0aGlzLmNo
aWxkcmVuID0gdGhpcy5fc2hhZG93Um9vdHMuc2xpY2UoKTsKKyAgICAgICAgICAgICAgICBpZiAo
dGhpcy5fdGVtcGxhdGVDb250ZW50KQorICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVu
LnB1c2godGhpcy5fdGVtcGxhdGVDb250ZW50KTsKKworICAgICAgICAgICAgICAgIHRoaXMuY2hp
bGRyZW4ucHVzaChub2RlKTsKICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHRo
aXMuY2hpbGRyZW4udW5zaGlmdChub2RlKTsKICAgICAgICAgfSBlbHNlCkBAIC00ODMsNiArNDkw
LDkgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGljZSgp
OworICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVDb250ZW50KQorICAgICAgICAgICAgdGhpcy5j
aGlsZHJlbi5wdXNoKHRoaXMuX3RlbXBsYXRlQ29udGVudCk7CisKICAgICAgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBwYXlsb2Fkcy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICAgdmFyIHBheWxv
YWQgPSBwYXlsb2Fkc1tpXTsKICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rv
ci5ET01Ob2RlKHRoaXMuX2RvbUFnZW50LCB0aGlzLm93bmVyRG9jdW1lbnQsIHRoaXMuX2lzSW5T
aGFkb3dUcmVlLCBwYXlsb2FkKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181141</attachid>
            <date>2013-01-02 20:45:32 -0800</date>
            <delta_ts>2013-01-03 09:48:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105839-20130102204240.patch</filename>
            <type>text/plain</type>
            <size>11402</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwMDdkODNhZDAxYzdm
MzZhOGQzNmUyYzU4MzlhYjUwOThmZjFmOC4uYWNjZDNiMjJkMjBlY2YyMDU1OTI0ZTQyMWFmMWRm
MjA3NjI4NDI5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAxLTAyICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoZSBwbHVtcGluZyB3aGljaCBhbGxvd3MgdGVtcGxhdGUgY29udGVudHMgdG8gYmUKKyAg
ICAgICAgZGlzcGxheWVkIHdpdGhpbiB0aGUgaW5zcGVjdG9yLCB0aGlzIHBhdGNoIGFkZHMgYSBt
YW51YWxseS1tYW5hZ2VkCisgICAgICAgIHdlYWtyZWYgZnJvbSB0aGUgaW5lcnQgZG9jdW1lbnQg
YmFjayB0byBpdHMgY3JlYXRvci4gVGhpcyBpcyByZXF1aXJlZAorICAgICAgICBzbyB0aGF0IHRo
ZSBpbnNwZWN0b3IgYWdlbnQgY2FuIGJlIGZvdW5kLgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OmluZXJ0RG9jdW1lbnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNl
dEluZXJ0RG9jdW1lbnRDcmVhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjppbmVy
dERvY3VtZW50Q3JlYXRvcik6CisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Y3JlYXRlRnJhZ21lbnRGb3JJbm5lck91dGVySFRNTCk6CisgICAgICAgICog
aHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZW1w
bGF0ZUVsZW1lbnQ6OmNvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3IuanNv
bjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1l
bnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRE9NTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUuaGFzQ2hpbGROb2Rlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZS5w
cm90b3R5cGUuX2luc2VydENoaWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlLnBy
b3RvdHlwZS5fc2V0Q2hpbGRyZW5QYXlsb2FkKToKKwogMjAxMy0wMS0wMiAgQWRhbSBCYXJ0aCAg
PGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFtWOF0gVGhlcmUgYXJlIHNvbWUgZXh0cmEg
YmxhbmsgbGluZXMgYWZ0ZXIgcmVtb3ZpbmcgSU5DX1NUQVRTCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAppbmRleCBjOTBhNWJmYTdkYTgyMTMwYmJkOGUxNTZkM2RiOTNkOGJjNGZlOGQ4Li5kMDJmNDhj
ZGExZDliMmU1ZDZhMTA0YWRmOWU0NGJkYjM5ZGZjNDM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKQEAgLTYxMCw2ICs2MTAsMTMgQEAgRG9jdW1lbnQ6On5Eb2N1bWVudCgpCiAgICAgQVNTRVJU
KCFtX3BhcmVudFRyZWVTY29wZSk7CiAgICAgQVNTRVJUKCFtX2d1YXJkUmVmQ291bnQpOwogCisj
aWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCisgICAgaWYgKG1faW5lcnREb2N1bWVudCkgewor
ICAgICAgICBtX2luZXJ0RG9jdW1lbnQtPnNldEluZXJ0RG9jdW1lbnRDcmVhdG9yKDApOyAvLyBi
YWxhbmNlZCBpbiBpbmVydERvY3VtZW50KCkuCisgICAgICAgIG1faW5lcnREb2N1bWVudC5jbGVh
cigpOworICAgIH0KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UX1RSQUNLSU5HKQog
ICAgIGlmIChEb2N1bWVudCogb3duZXJEb2N1bWVudCA9IHRoaXMtPm93bmVyRG9jdW1lbnQoKSkK
ICAgICAgICAgb3duZXJEb2N1bWVudC0+ZGlkUmVtb3ZlRXZlbnRUYXJnZXROb2RlKHRoaXMpOwpA
QCAtNTkzOSwyMCArNTk0NiwyMiBAQCBMb2NhbGUmIERvY3VtZW50OjpnZXRDYWNoZWRMb2NhbGUo
Y29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUpCiB9CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxF
TUVOVCkKLURvY3VtZW50KiBEb2N1bWVudDo6dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQo
KQorRG9jdW1lbnQqIERvY3VtZW50OjppbmVydERvY3VtZW50KCkKIHsKICAgICAvLyBJZiBET0NV
TUVOVCBkb2VzIG5vdCBoYXZlIGEgYnJvd3NpbmcgY29udGV4dCwgTGV0IFRFTVBMQVRFIENPTlRF
TlRTIE9XTkVSIGJlIERPQ1VNRU5UIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAoIW1f
ZnJhbWUpCiAgICAgICAgIHJldHVybiB0aGlzOwogCi0gICAgaWYgKCFtX3RlbXBsYXRlQ29udGVu
dHNPd25lckRvY3VtZW50KSB7CisgICAgaWYgKCFtX2luZXJ0RG9jdW1lbnQpIHsKICAgICAgICAg
aWYgKGlzSFRNTERvY3VtZW50KCkpCi0gICAgICAgICAgICBtX3RlbXBsYXRlQ29udGVudHNPd25l
ckRvY3VtZW50ID0gSFRNTERvY3VtZW50OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAg
ICAgICBtX2luZXJ0RG9jdW1lbnQgPSBIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBibGFua1VSTCgp
KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1
bWVudCA9IERvY3VtZW50OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAgICAgICBtX2lu
ZXJ0RG9jdW1lbnQgPSBEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworCisgICAgICAg
IG1faW5lcnREb2N1bWVudC0+c2V0SW5lcnREb2N1bWVudENyZWF0b3IodGhpcyk7IC8vIGJhbGFu
Y2VkIGluIGR0b3IuCiAgICAgfQogCi0gICAgcmV0dXJuIG1fdGVtcGxhdGVDb250ZW50c093bmVy
RG9jdW1lbnQuZ2V0KCk7CisgICAgcmV0dXJuIG1faW5lcnREb2N1bWVudC5nZXQoKTsKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGUzOWIyZGRiYjYxZjVmODFhMGI3NDIxZjgx
ZDk0NjEyMmVmZTkwMWQuLjljNDIyZGYwOTU3ODZlZjA2NDM0MTRjMTc5YzNmY2MwOTQyODI5MzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTkyLDcgKzExOTIsOSBAQCBwdWJsaWM6CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIERvY3VtZW50KiB0ZW1wbGF0
ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpOworICAgIERvY3VtZW50KiBpbmVydERvY3VtZW50KCk7
CisgICAgdm9pZCBzZXRJbmVydERvY3VtZW50Q3JlYXRvcihEb2N1bWVudCogaW5lcnREb2N1bWVu
dENyZWF0b3IpIHsgbV9pbmVydERvY3VtZW50Q3JlYXRvciA9IGluZXJ0RG9jdW1lbnRDcmVhdG9y
OyB9CisgICAgRG9jdW1lbnQqIGluZXJ0RG9jdW1lbnRDcmVhdG9yKCkgeyByZXR1cm4gbV9pbmVy
dERvY3VtZW50Q3JlYXRvcjsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29s
ZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKQEAgLTE1NjAsNyArMTU2
Miw4IEBAIHByaXZhdGU6CiAgICAgTG9jYWxlSWRlbnRpZmllclRvTG9jYWxlTWFwIG1fbG9jYWxl
Q2FjaGU7CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBSZWZQdHI8RG9jdW1l
bnQ+IG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQ7CisgICAgUmVmUHRyPERvY3VtZW50
PiBtX2luZXJ0RG9jdW1lbnQ7CisgICAgRG9jdW1lbnQqIG1faW5lcnREb2N1bWVudENyZWF0b3I7
IC8vIE1hbnVhbGx5IG1hbmFnZWQgd2Vha3JlZiAoYmFja3BvaW50ZXIgZnJvbSBtX2luZXJ0RG9j
dW1lbnQpLgogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggNjNh
YmI1ZjU0MWRkODAyNDA1MjdiNjY2NDQzNzdlODY3ZTFlNDAxNC4uYTVhOTI5MjU3ZjgzNmE0OWQ1
NzcwYTFkMmM5MDI3ZGU4MDdhMjI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAt
OTk2LDcgKzk5Niw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21l
bnRGb3JJbm5lck91dGVySFRNTChjb25zdCBTdHJpbmcmIG1hcmt1CiAgICAgRG9jdW1lbnQqIGRv
Y3VtZW50ID0gY29udGV4dEVsZW1lbnQtPmRvY3VtZW50KCk7CiAjaWYgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpCiAgICAgaWYgKGNvbnRleHRFbGVtZW50LT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFn
KSkKLSAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+dGVtcGxhdGVDb250ZW50c093bmVyRG9j
dW1lbnQoKTsKKyAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+aW5lcnREb2N1bWVudCgpOwog
I2VuZGlmCiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gRG9jdW1lbnRG
cmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRl
bXBsYXRlRWxlbWVudC5jcHAKaW5kZXggZWEwNzEzMjI0NTNjMjYyYjU0MDI5ZmNmOTJiZjJkZTBl
NjVjNTQ0Ni4uMjVhY2E4MTFhMjg4NGY2ZGE4NWM3MzRjNTIyOGUyYjlkNWQ1NGVkZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCkBAIC02Miw3ICs2Miw3
IEBAIFBhc3NSZWZQdHI8SFRNTFRlbXBsYXRlRWxlbWVudD4gSFRNTFRlbXBsYXRlRWxlbWVudDo6
Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmCiBEb2N1bWVudEZyYWdtZW50KiBIVE1MVGVtcGxh
dGVFbGVtZW50Ojpjb250ZW50KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udGVudCkKLSAgICAg
ICAgbV9jb250ZW50ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKG93bmVyRG9jdW1lbnQoKS0+
dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSk7CisgICAgICAgIG1fY29udGVudCA9IERv
Y3VtZW50RnJhZ21lbnQ6OmNyZWF0ZShvd25lckRvY3VtZW50KCktPmluZXJ0RG9jdW1lbnQoKSk7
CiAKICAgICByZXR1cm4gbV9jb250ZW50LmdldCgpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCmluZGV4IGJhMDI4MDgyMTE5OThlMDU5Y2RiMGM2ZTI5NDIzOTExZThk
ZTAyNzAuLjU3ZjZmN2FjZGJmZGVkOTFmYTc5NTkyZTU5MGNiODg5MjU3Y2ZhZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE2NTIsNyArMTY1Miw4IEBACiAg
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+QXR0cjwvY29kZT4ncyB2YWx1
ZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIsICIkcmVmIjog
Ik5ldHdvcmsuRnJhbWVJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJGcmFt
ZSBJRCBmb3IgZnJhbWUgb3duZXIgZWxlbWVudHMuIiB9LAogICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImNvbnRlbnREb2N1bWVudCIsICIkcmVmIjogIk5vZGUiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmb3IgZnJhbWUgb3duZXIgZWxl
bWVudHMuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwg
InR5cGUiOiAiYXJyYXkiLCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5v
ZGUiIH0sICJkZXNjcmlwdGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50
IGhvc3QuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2hhZG93Um9vdHMiLCAi
dHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsgIiRyZWYiOiAiTm9k
ZSIgfSwgImRlc2NyaXB0aW9uIjogIlNoYWRvdyByb290IGxpc3QgZm9yIGdpdmVuIGVsZW1lbnQg
aG9zdC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxhdGVDb250ZW50
IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250
ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQogICAgICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRPTSBpbnRlcmFjdGlv
biBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Igb2JqZWN0cyB0aGF0IHJlcHJlc2Vu
dCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBhIGJhc2Ugbm9kZSBtaXJyb3IgdHlw
ZS4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JET01BZ2VudC5jcHAKaW5kZXggYzQzMDZlODNlZjk1ZjUxMzkzZmFmNDI0ZDlmMzQxYWVlYTVi
MTZjZS4uZmQ0ZjZlNDRkZGI4MDNiMzk3Y2VmMGY4ZDYyOGE0Mzc5MGUwYjlkMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC02Myw2ICs2
Myw4IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIK
ICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MTmFtZXMu
aCIKKyNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJl
c3VsdC5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2luY2x1ZGUgIkluamVj
dGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtMTI5NCw2ICsxMjk2LDEyIEBAIFBhc3NSZWZQdHI8VHlw
ZUJ1aWxkZXI6OkRPTTo6Tm9kZT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9k
ZShOb2RlKiBuCiAgICAgICAgICAgICAgICAgc2hhZG93Um9vdHMtPmFkZEl0ZW0oYnVpbGRPYmpl
Y3RGb3JOb2RlKHJvb3QsIDAsIG5vZGVzTWFwKSk7CiAgICAgICAgICAgICB2YWx1ZS0+c2V0U2hh
ZG93Um9vdHMoc2hhZG93Um9vdHMpOwogICAgICAgICB9CisKKyNpZiBFTkFCTEUoVEVNUExBVEVf
RUxFTUVOVCkKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5hbWVzOjp0ZW1w
bGF0ZVRhZykpCisgICAgICAgICAgICB2YWx1ZS0+c2V0VGVtcGxhdGVDb250ZW50KGJ1aWxkT2Jq
ZWN0Rm9yTm9kZShzdGF0aWNfY2FzdDxIVE1MVGVtcGxhdGVFbGVtZW50Kj4oZWxlbWVudCktPmNv
bnRlbnQoKSwgMCwgbm9kZXNNYXApKTsKKyNlbmRpZgorCiAgICAgfSBlbHNlIGlmIChub2RlLT5p
c0RvY3VtZW50Tm9kZSgpKSB7CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHN0YXRpY19j
YXN0PERvY3VtZW50Kj4obm9kZSk7CiAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVudFVSTChkb2N1
bWVudFVSTFN0cmluZyhkb2N1bWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDYxNjI0OTkyMzFkZGJmMmQ1NDQ2
ZTI4OTA2YzhlMWFmMjcwYTQ5NGQuLjkxYzJmYTBjNDdjYjUwOTVmODQxMzU4OWIwODE1MTQ0NjFl
YWQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKQEAgLTE5ODUsOCArMTk4NSwxNCBAQCBpbmxpbmUgSW5zdHJ1bWVudGlu
Z0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9y
RnJhbQogCiBpbmxpbmUgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50KQog
ewotICAgIGlmIChkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIGluc3RydW1lbnRpbmdBZ2VudHNG
b3JQYWdlKGRvY3VtZW50LT5wYWdlKCkpOworICAgIGlmIChkb2N1bWVudCkgeworICAgICAgICBQ
YWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVO
VCkKKyAgICAgICAgaWYgKCFwYWdlICYmIGRvY3VtZW50LT5pbmVydERvY3VtZW50Q3JlYXRvcigp
KQorICAgICAgICAgICAgcGFnZSA9IGRvY3VtZW50LT5pbmVydERvY3VtZW50Q3JlYXRvcigpLT5w
YWdlKCk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIGluc3RydW1lbnRpbmdBZ2VudHNGb3JQYWdl
KHBhZ2UpOworICAgIH0KICAgICByZXR1cm4gMDsKIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggYWE5NjRmMzhiNjE2YjQ2
MzZhMDVmM2Y5NzFjYjE5MzU3MDJiYTQxMy4uMTYxYmEwYjNmYWJlMzAxMWFjYmE1ZTI1ZTQ3ZDEw
ZGI4MzhmNzhlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RP
TUFnZW50LmpzCkBAIC03NSw2ICs3NSw5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlID0gZnVuY3Rp
b24oZG9tQWdlbnQsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQpIHsKICAgICAgICAgfQog
ICAgIH0KIAorICAgIGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkKKyAgICAgICAgdGhpcy5f
dGVtcGxhdGVDb250ZW50ID0gbmV3IFdlYkluc3BlY3Rvci5ET01Ob2RlKHRoaXMuX2RvbUFnZW50
LCB0aGlzLm93bmVyRG9jdW1lbnQsIHRydWUsIHBheWxvYWQudGVtcGxhdGVDb250ZW50KTsKKwog
ICAgIGlmIChwYXlsb2FkLmNoaWxkcmVuKQogICAgICAgICB0aGlzLl9zZXRDaGlsZHJlblBheWxv
YWQocGF5bG9hZC5jaGlsZHJlbik7CiAKQEAgLTEzMiw3ICsxMzUsNyBAQCBXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgaGFzQ2hpbGROb2RlczogZnVuY3Rp
b24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkTm9kZUNvdW50ID4gMCB8fCAh
IXRoaXMuX3NoYWRvd1Jvb3RzLmxlbmd0aDsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkTm9k
ZUNvdW50ID4gMCB8fCAhIXRoaXMuX3NoYWRvd1Jvb3RzLmxlbmd0aCB8fCB0aGlzLl90ZW1wbGF0
ZUNvbnRlbnQ7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNDUzLDcgKzQ1NiwxMSBAQCBXZWJJbnNw
ZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghcHJldikgewogICAgICAg
ICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuKSB7CiAgICAgICAgICAgICAgICAgLy8gRmlyc3Qgbm9k
ZQotICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5jb25j
YXQoWyBub2RlIF0pOworICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFk
b3dSb290cy5zbGljZSgpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZW1wbGF0ZUNvbnRl
bnQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaCh0aGlzLl90ZW1wbGF0
ZUNvbnRlbnQpOworCisgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKG5vZGUpOwog
ICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0
KG5vZGUpOwogICAgICAgICB9IGVsc2UKQEAgLTQ4Myw2ICs0OTAsOSBAQCBXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAgICAgICAgdGhp
cy5jaGlsZHJlbiA9IHRoaXMuX3NoYWRvd1Jvb3RzLnNsaWNlKCk7CisgICAgICAgIGlmICh0aGlz
Ll90ZW1wbGF0ZUNvbnRlbnQpCisgICAgICAgICAgICB0aGlzLmNoaWxkcmVuLnB1c2godGhpcy5f
dGVtcGxhdGVDb250ZW50KTsKKwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBheWxvYWRz
Lmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IHBheWxvYWRzW2ldOwog
ICAgICAgICAgICAgdmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTU5vZGUodGhpcy5fZG9t
QWdlbnQsIHRoaXMub3duZXJEb2N1bWVudCwgdGhpcy5faXNJblNoYWRvd1RyZWUsIHBheWxvYWQp
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181180</attachid>
            <date>2013-01-03 09:48:41 -0800</date>
            <delta_ts>2013-01-04 15:04:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105839-20130103094549.patch</filename>
            <type>text/plain</type>
            <size>11468</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjUwMDdkODNhZDAxYzdm
MzZhOGQzNmUyYzU4MzlhYjUwOThmZjFmOC4uODg3ZGJiY2NjNzYyNTczZTQ0NTA0Y2FmOTI5Y2Zm
ZDZhMTNlNTQ3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAxLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoZSBwbHVtYmluZyB3aGljaCBhbGxvd3MgdGVtcGxhdGUgY29udGVudHMgdG8gYmUKKyAg
ICAgICAgZGlzcGxheWVkIHdpdGhpbiB0aGUgaW5zcGVjdG9yLCB0aGlzIHBhdGNoIGFkZHMgYSBt
YW51YWxseS1tYW5hZ2VkCisgICAgICAgIHdlYWtyZWYgZnJvbSB0aGUgdGVtcGxhdGUgZG9jdW1l
bnQgYmFjayB0byBpdHMgaG9zdCBkb2N1bWVudCAodHlwaWNhbGx5CisgICAgICAgIHRoZSBjcmVh
dG9yKS4gVGhpcyBpcyByZXF1aXJlZCBzbyB0aGF0IHRoZSBpbnNwZWN0b3IgYWdlbnQgY2FuIGJl
IGZvdW5kCisgICAgICAgIGZvciB0ZW1wbGF0ZSBlbGVtZW50cy4KKworICAgICAgICAqIGRvbS9E
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0ZW1wbGF0ZURvY3VtZW50KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpzZXRUZW1wbGF0ZURvY3VtZW50SG9zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6dGVtcGxhdGVEb2N1bWVudEhvc3QpOgorICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJPdXRlckhUTUwpOgor
ICAgICAgICAqIGh0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlLmhhc0NoaWxkTm9kZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlLl9pbnNlcnRDaGlsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUuX3NldENoaWxkcmVuUGF5bG9hZCk6CisKIDIwMTMtMDEtMDIgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBbVjhdIFRoZXJlIGFyZSBz
b21lIGV4dHJhIGJsYW5rIGxpbmVzIGFmdGVyIHJlbW92aW5nIElOQ19TVEFUUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKaW5kZXggYzkwYTViZmE3ZGE4MjEzMGJiZDhlMTU2ZDNkYjkzZDhiYzRmZThk
OC4uMDU3NTNjNjFlYTI3NGQyNzg1NzA4ZjZjNGFlYzkyZjdiMjE5ZjQwZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC02MTAsNiArNjEwLDExIEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQog
ICAgIEFTU0VSVCghbV9wYXJlbnRUcmVlU2NvcGUpOwogICAgIEFTU0VSVCghbV9ndWFyZFJlZkNv
dW50KTsKIAorI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorICAgIGlmIChtX3RlbXBsYXRl
RG9jdW1lbnQpCisgICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudC0+c2V0VGVtcGxhdGVEb2N1bWVu
dEhvc3QoMCk7IC8vIGJhbGFuY2VkIGluIHRlbXBsYXRlRG9jdW1lbnQoKS4KKyNlbmRpZgorCiAj
aWYgRU5BQkxFKFRPVUNIX0VWRU5UX1RSQUNLSU5HKQogICAgIGlmIChEb2N1bWVudCogb3duZXJE
b2N1bWVudCA9IHRoaXMtPm93bmVyRG9jdW1lbnQoKSkKICAgICAgICAgb3duZXJEb2N1bWVudC0+
ZGlkUmVtb3ZlRXZlbnRUYXJnZXROb2RlKHRoaXMpOwpAQCAtNTkzOSwyMCArNTk0NCwyMiBAQCBM
b2NhbGUmIERvY3VtZW50OjpnZXRDYWNoZWRMb2NhbGUoY29uc3QgQXRvbWljU3RyaW5nJiBsb2Nh
bGUpCiB9CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLURvY3VtZW50KiBEb2N1bWVu
dDo6dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKQorRG9jdW1lbnQqIERvY3VtZW50Ojp0
ZW1wbGF0ZURvY3VtZW50KCkKIHsKICAgICAvLyBJZiBET0NVTUVOVCBkb2VzIG5vdCBoYXZlIGEg
YnJvd3NpbmcgY29udGV4dCwgTGV0IFRFTVBMQVRFIENPTlRFTlRTIE9XTkVSIGJlIERPQ1VNRU5U
IGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAoIW1fZnJhbWUpCiAgICAgICAgIHJldHVy
biB0aGlzOwogCi0gICAgaWYgKCFtX3RlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50KSB7Cisg
ICAgaWYgKCFtX3RlbXBsYXRlRG9jdW1lbnQpIHsKICAgICAgICAgaWYgKGlzSFRNTERvY3VtZW50
KCkpCi0gICAgICAgICAgICBtX3RlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50ID0gSFRNTERv
Y3VtZW50OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAgICAgICBtX3RlbXBsYXRlRG9j
dW1lbnQgPSBIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBibGFua1VSTCgpKTsKICAgICAgICAgZWxz
ZQotICAgICAgICAgICAgbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCA9IERvY3VtZW50
OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAgICAgICBtX3RlbXBsYXRlRG9jdW1lbnQg
PSBEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworCisgICAgICAgIG1fdGVtcGxhdGVE
b2N1bWVudC0+c2V0VGVtcGxhdGVEb2N1bWVudEhvc3QodGhpcyk7IC8vIGJhbGFuY2VkIGluIGR0
b3IuCiAgICAgfQogCi0gICAgcmV0dXJuIG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQu
Z2V0KCk7CisgICAgcmV0dXJuIG1fdGVtcGxhdGVEb2N1bWVudC5nZXQoKTsKIH0KICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGUzOWIyZGRiYjYxZjVmODFhMGI3NDIxZjgxZDk0NjEy
MmVmZTkwMWQuLjg1NmQyZDNiOTU1ZmFlNzJmYzAyMDI1NjkzYzJiNWI1OWJmNDEyMWUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCkBAIC0xMTkyLDcgKzExOTIsOSBAQCBwdWJsaWM6CiAjZW5kaWYKIAog
I2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQotICAgIERvY3VtZW50KiB0ZW1wbGF0ZUNvbnRl
bnRzT3duZXJEb2N1bWVudCgpOworICAgIERvY3VtZW50KiB0ZW1wbGF0ZURvY3VtZW50KCk7Cisg
ICAgdm9pZCBzZXRUZW1wbGF0ZURvY3VtZW50SG9zdChEb2N1bWVudCogdGVtcGxhdGVEb2N1bWVu
dEhvc3QpIHsgbV90ZW1wbGF0ZURvY3VtZW50SG9zdCA9IHRlbXBsYXRlRG9jdW1lbnRIb3N0OyB9
CisgICAgRG9jdW1lbnQqIHRlbXBsYXRlRG9jdW1lbnRIb3N0KCkgeyByZXR1cm4gbV90ZW1wbGF0
ZURvY3VtZW50SG9zdDsgfQogI2VuZGlmCiAKICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKQEAgLTE1NjAsNyArMTU2Miw4
IEBAIHByaXZhdGU6CiAgICAgTG9jYWxlSWRlbnRpZmllclRvTG9jYWxlTWFwIG1fbG9jYWxlQ2Fj
aGU7CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAgICBSZWZQdHI8RG9jdW1lbnQ+
IG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQ7CisgICAgUmVmUHRyPERvY3VtZW50PiBt
X3RlbXBsYXRlRG9jdW1lbnQ7CisgICAgRG9jdW1lbnQqIG1fdGVtcGxhdGVEb2N1bWVudEhvc3Q7
IC8vIE1hbnVhbGx5IG1hbmFnZWQgd2Vha3JlZiAoYmFja3BvaW50ZXIgZnJvbSBtX3RlbXBsYXRl
RG9jdW1lbnQpLgogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL21hcmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXgg
NjNhYmI1ZjU0MWRkODAyNDA1MjdiNjY2NDQzNzdlODY3ZTFlNDAxNC4uODcxMTQ5ODY2MGNjOWRl
ODdhYTZlNjRmNGQyNTcxY2RhMWY4OWU0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9tYXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApA
QCAtOTk2LDcgKzk5Niw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJh
Z21lbnRGb3JJbm5lck91dGVySFRNTChjb25zdCBTdHJpbmcmIG1hcmt1CiAgICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gY29udGV4dEVsZW1lbnQtPmRvY3VtZW50KCk7CiAjaWYgRU5BQkxFKFRFTVBM
QVRFX0VMRU1FTlQpCiAgICAgaWYgKGNvbnRleHRFbGVtZW50LT5oYXNUYWdOYW1lKHRlbXBsYXRl
VGFnKSkKLSAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+dGVtcGxhdGVDb250ZW50c093bmVy
RG9jdW1lbnQoKTsKKyAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+dGVtcGxhdGVEb2N1bWVu
dCgpOwogI2VuZGlmCiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50ID0gRG9j
dW1lbnRGcmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKaW5kZXggZWEwNzEzMjI0NTNjMjYyYjU0MDI5ZmNmOTJi
ZjJkZTBlNjVjNTQ0Ni4uZGQzMTJkMGE2MDUyMWJkYmM4OTljNTJmY2E1NDI1ZTZkMDIzMjI5OCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCkBAIC02Miw3
ICs2Miw3IEBAIFBhc3NSZWZQdHI8SFRNTFRlbXBsYXRlRWxlbWVudD4gSFRNTFRlbXBsYXRlRWxl
bWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmCiBEb2N1bWVudEZyYWdtZW50KiBIVE1M
VGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29udGVudCkK
LSAgICAgICAgbV9jb250ZW50ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKG93bmVyRG9jdW1l
bnQoKS0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSk7CisgICAgICAgIG1fY29udGVu
dCA9IERvY3VtZW50RnJhZ21lbnQ6OmNyZWF0ZShvd25lckRvY3VtZW50KCktPnRlbXBsYXRlRG9j
dW1lbnQoKSk7CiAKICAgICByZXR1cm4gbV9jb250ZW50LmdldCgpOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4IGJhMDI4MDgyMTE5OThlMDU5Y2RiMGM2ZTI5
NDIzOTExZThkZTAyNzAuLjU3ZjZmN2FjZGJmZGVkOTFmYTc5NTkyZTU5MGNiODg5MjU3Y2ZhZjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KQEAgLTE2NTIsNyArMTY1
Miw4IEBACiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJz
dHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+QXR0cjwvY29k
ZT4ncyB2YWx1ZS4iIH0sCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZnJhbWVJZCIs
ICIkcmVmIjogIk5ldHdvcmsuRnJhbWVJZCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlv
biI6ICJGcmFtZSBJRCBmb3IgZnJhbWUgb3duZXIgZWxlbWVudHMuIiB9LAogICAgICAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImNvbnRlbnREb2N1bWVudCIsICIkcmVmIjogIk5vZGUiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29udGVudCBkb2N1bWVudCBmb3IgZnJhbWUg
b3duZXIgZWxlbWVudHMuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRv
d1Jvb3RzIiwgInR5cGUiOiAiYXJyYXkiLCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIk
cmVmIjogIk5vZGUiIH0sICJkZXNjcmlwdGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZl
biBlbGVtZW50IGhvc3QuIiB9CisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic2hhZG93
Um9vdHMiLCAidHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUsICJpdGVtcyI6IHsgIiRy
ZWYiOiAiTm9kZSIgfSwgImRlc2NyaXB0aW9uIjogIlNoYWRvdyByb290IGxpc3QgZm9yIGdpdmVu
IGVsZW1lbnQgaG9zdC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidGVtcGxh
dGVDb250ZW50IiwgIiRyZWYiOiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlv
biI6ICJDb250ZW50IGRvY3VtZW50IGZyYWdtZW50IGZvciB0ZW1wbGF0ZSBlbGVtZW50cyIgfQog
ICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRPTSBp
bnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Igb2JqZWN0cyB0aGF0
IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBhIGJhc2Ugbm9kZSBt
aXJyb3IgdHlwZS4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYzQzMDZlODNlZjk1ZjUxMzkzZmFmNDI0ZDlm
MzQxYWVlYTViMTZjZS4uZmQ0ZjZlNDRkZGI4MDNiMzk3Y2VmMGY4ZDYyOGE0Mzc5MGUwYjlkMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBA
IC02Myw2ICs2Myw4IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiSFRNTEVs
ZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKKyNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKKyNpbmNsdWRlICJIVE1MVGVtcGxhdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SGl0VGVzdFJlc3VsdC5oIgogI2luY2x1ZGUgIklkZW50aWZpZXJzRmFjdG9yeS5oIgogI2luY2x1
ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgpAQCAtMTI5NCw2ICsxMjk2LDEyIEBAIFBhc3NS
ZWZQdHI8VHlwZUJ1aWxkZXI6OkRPTTo6Tm9kZT4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2Jq
ZWN0Rm9yTm9kZShOb2RlKiBuCiAgICAgICAgICAgICAgICAgc2hhZG93Um9vdHMtPmFkZEl0ZW0o
YnVpbGRPYmplY3RGb3JOb2RlKHJvb3QsIDAsIG5vZGVzTWFwKSk7CiAgICAgICAgICAgICB2YWx1
ZS0+c2V0U2hhZG93Um9vdHMoc2hhZG93Um9vdHMpOwogICAgICAgICB9CisKKyNpZiBFTkFCTEUo
VEVNUExBVEVfRUxFTUVOVCkKKyAgICAgICAgaWYgKGVsZW1lbnQtPmhhc1RhZ05hbWUoSFRNTE5h
bWVzOjp0ZW1wbGF0ZVRhZykpCisgICAgICAgICAgICB2YWx1ZS0+c2V0VGVtcGxhdGVDb250ZW50
KGJ1aWxkT2JqZWN0Rm9yTm9kZShzdGF0aWNfY2FzdDxIVE1MVGVtcGxhdGVFbGVtZW50Kj4oZWxl
bWVudCktPmNvbnRlbnQoKSwgMCwgbm9kZXNNYXApKTsKKyNlbmRpZgorCiAgICAgfSBlbHNlIGlm
IChub2RlLT5pc0RvY3VtZW50Tm9kZSgpKSB7CiAgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9
IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obm9kZSk7CiAgICAgICAgIHZhbHVlLT5zZXREb2N1bWVu
dFVSTChkb2N1bWVudFVSTFN0cmluZyhkb2N1bWVudCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDYxNjI0OTkyMzFk
ZGJmMmQ1NDQ2ZTI4OTA2YzhlMWFmMjcwYTQ5NGQuLjJlZTY5MGUyNDI5OTA2YjliMjVlNjRiODRm
NTM2MTEyYWNjOWFkMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE5ODUsOCArMTk4NSwxNCBAQCBpbmxpbmUgSW5z
dHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5n
QWdlbnRzRm9yRnJhbQogCiBpbmxpbmUgSW5zdHJ1bWVudGluZ0FnZW50cyogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRzRm9yRG9jdW1lbnQoRG9jdW1lbnQqIGRv
Y3VtZW50KQogewotICAgIGlmIChkb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIGluc3RydW1lbnRp
bmdBZ2VudHNGb3JQYWdlKGRvY3VtZW50LT5wYWdlKCkpOworICAgIGlmIChkb2N1bWVudCkgewor
ICAgICAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKTsKKyNpZiBFTkFCTEUoVEVNUExB
VEVfRUxFTUVOVCkKKyAgICAgICAgaWYgKCFwYWdlICYmIGRvY3VtZW50LT50ZW1wbGF0ZURvY3Vt
ZW50SG9zdCgpKQorICAgICAgICAgICAgcGFnZSA9IGRvY3VtZW50LT50ZW1wbGF0ZURvY3VtZW50
SG9zdCgpLT5wYWdlKCk7CisjZW5kaWYKKyAgICAgICAgcmV0dXJuIGluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JQYWdlKHBhZ2UpOworICAgIH0KICAgICByZXR1cm4gMDsKIH0KICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKaW5kZXggYWE5NjRm
MzhiNjE2YjQ2MzZhMDVmM2Y5NzFjYjE5MzU3MDJiYTQxMy4uMTYxYmEwYjNmYWJlMzAxMWFjYmE1
ZTI1ZTQ3ZDEwZGI4MzhmNzhlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9ET01BZ2VudC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTUFnZW50LmpzCkBAIC03NSw2ICs3NSw5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2Rl
ID0gZnVuY3Rpb24oZG9tQWdlbnQsIGRvYywgaXNJblNoYWRvd1RyZWUsIHBheWxvYWQpIHsKICAg
ICAgICAgfQogICAgIH0KIAorICAgIGlmIChwYXlsb2FkLnRlbXBsYXRlQ29udGVudCkKKyAgICAg
ICAgdGhpcy5fdGVtcGxhdGVDb250ZW50ID0gbmV3IFdlYkluc3BlY3Rvci5ET01Ob2RlKHRoaXMu
X2RvbUFnZW50LCB0aGlzLm93bmVyRG9jdW1lbnQsIHRydWUsIHBheWxvYWQudGVtcGxhdGVDb250
ZW50KTsKKwogICAgIGlmIChwYXlsb2FkLmNoaWxkcmVuKQogICAgICAgICB0aGlzLl9zZXRDaGls
ZHJlblBheWxvYWQocGF5bG9hZC5jaGlsZHJlbik7CiAKQEAgLTEzMiw3ICsxMzUsNyBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgaGFzQ2hpbGROb2Rl
czogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NoaWxkTm9kZUNvdW50
ID4gMCB8fCAhIXRoaXMuX3NoYWRvd1Jvb3RzLmxlbmd0aDsKKyAgICAgICAgcmV0dXJuIHRoaXMu
X2NoaWxkTm9kZUNvdW50ID4gMCB8fCAhIXRoaXMuX3NoYWRvd1Jvb3RzLmxlbmd0aCB8fCB0aGlz
Ll90ZW1wbGF0ZUNvbnRlbnQ7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtNDUzLDcgKzQ1NiwxMSBA
QCBXZWJJbnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICghcHJldikg
ewogICAgICAgICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuKSB7CiAgICAgICAgICAgICAgICAgLy8g
Rmlyc3Qgbm9kZQotICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dS
b290cy5jb25jYXQoWyBub2RlIF0pOworICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0
aGlzLl9zaGFkb3dSb290cy5zbGljZSgpOworICAgICAgICAgICAgICAgIGlmICh0aGlzLl90ZW1w
bGF0ZUNvbnRlbnQpCisgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaCh0aGlz
Ll90ZW1wbGF0ZUNvbnRlbnQpOworCisgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNo
KG5vZGUpOwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJl
bi51bnNoaWZ0KG5vZGUpOwogICAgICAgICB9IGVsc2UKQEAgLTQ4Myw2ICs0OTAsOSBAQCBXZWJJ
bnNwZWN0b3IuRE9NTm9kZS5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICByZXR1cm47CiAKICAg
ICAgICAgdGhpcy5jaGlsZHJlbiA9IHRoaXMuX3NoYWRvd1Jvb3RzLnNsaWNlKCk7CisgICAgICAg
IGlmICh0aGlzLl90ZW1wbGF0ZUNvbnRlbnQpCisgICAgICAgICAgICB0aGlzLmNoaWxkcmVuLnB1
c2godGhpcy5fdGVtcGxhdGVDb250ZW50KTsKKwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IHBheWxvYWRzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgcGF5bG9hZCA9IHBheWxv
YWRzW2ldOwogICAgICAgICAgICAgdmFyIG5vZGUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTU5vZGUo
dGhpcy5fZG9tQWdlbnQsIHRoaXMub3duZXJEb2N1bWVudCwgdGhpcy5faXNJblNoYWRvd1RyZWUs
IHBheWxvYWQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181384</attachid>
            <date>2013-01-04 15:04:57 -0800</date>
            <delta_ts>2013-01-08 14:59:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105839-20130104150204.patch</filename>
            <type>text/plain</type>
            <size>13078</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UwYTRhMTA0ZTZjNWU2
ZjVjN2I3MjFiMzBhZjljZDk4ZjQ4NTM3Yy4uMGU2ZWNkOWMwM2M4NzQzODdkMWRjMjJiOWQ3Njdi
NmRkY2E0OTQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAxLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIGFkZGl0aW9u
IHRvIHRoZSBwbHVtYmluZyB3aGljaCBhbGxvd3MgdGVtcGxhdGUgY29udGVudHMgdG8gYmUKKyAg
ICAgICAgZGlzcGxheWVkIHdpdGhpbiB0aGUgaW5zcGVjdG9yLCB0aGlzIHBhdGNoIGFkZHMgYSBt
YW51YWxseS1tYW5hZ2VkCisgICAgICAgIHdlYWtyZWYgZnJvbSB0aGUgdGVtcGxhdGUgZG9jdW1l
bnQgYmFjayB0byBpdHMgaG9zdCBkb2N1bWVudCAodHlwaWNhbGx5CisgICAgICAgIHRoZSBjcmVh
dG9yKS4gVGhpcyBpcyByZXF1aXJlZCBzbyB0aGF0IHRoZSBpbnNwZWN0b3IgYWdlbnQgY2FuIGJl
IGZvdW5kCisgICAgICAgIGZvciB0ZW1wbGF0ZSBlbGVtZW50cy4KKworICAgICAgICAqIGRvbS9E
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6fkRvY3VtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp0ZW1wbGF0ZURvY3VtZW50KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKERvY3VtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpzZXRUZW1wbGF0ZURvY3VtZW50SG9zdCk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1
bWVudDo6dGVtcGxhdGVEb2N1bWVudEhvc3QpOgorICAgICAgICAqIGVkaXRpbmcvbWFya3VwLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZUZyYWdtZW50Rm9ySW5uZXJPdXRlckhUTUwpOgor
ICAgICAgICAqIGh0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MVGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5vZGUp
OgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAg
ICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50
c0ZvckRvY3VtZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50Lmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlLmhhc0NoaWxkTm9kZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlLl9pbnNlcnRDaGlsZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUuX3NldENoaWxkcmVuUGF5bG9hZCk6CisKIDIwMTMtMDEtMDQgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBIVE1MVHJlZUJ1aWxkZXIg
c2hvdWxkIEFTU0VSVCB0aGF0IGl0IGlzIG9uIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgdG91Y2hp
bmcgZWxlbWVudHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCAyMTVhOTE0
YTMzNjY4YWRmM2I1OWM4NGY1ZmQyOTJhYzkyNWIxNDg0Li45YWMxNDgwMWMwNzEyNGQ4MzUwZDZh
ODQ0MzRkZjQ4Y2IzNTE2YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFp
bmVyTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBA
IC0xNDIsNyArMTQyLDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzSW5UZW1wbGF0ZUNvbnRlbnQo
Y29uc3QgTm9kZSogbm9kZSkKIHsKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICBE
b2N1bWVudCogZG9jdW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOwotICAgIHJldHVybiBkb2N1bWVu
dCAmJiBkb2N1bWVudCA9PSBkb2N1bWVudC0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQo
KTsKKyAgICByZXR1cm4gZG9jdW1lbnQgJiYgZG9jdW1lbnQgPT0gZG9jdW1lbnQtPnRlbXBsYXRl
RG9jdW1lbnQoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG5vZGUpOwogICAgIHJldHVybiBm
YWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDVmYTNlMzUxMzM3NTc5ZTZkM2NjMTNk
NTY1ZmUwNzc5MzYyZWQyNzMuLjFjMzVmNzgxNjI0OTdiOTlkM2UyZmEzMmNmOTM3MzE3YjA3NDdl
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNjA4LDYgKzYwOCwxMSBAQCBEb2N1bWVu
dDo6fkRvY3VtZW50KCkKICAgICBBU1NFUlQoIW1fcGFyZW50VHJlZVNjb3BlKTsKICAgICBBU1NF
UlQoIW1fZ3VhcmRSZWZDb3VudCk7CiAKKyNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKKyAg
ICBpZiAobV90ZW1wbGF0ZURvY3VtZW50KQorICAgICAgICBtX3RlbXBsYXRlRG9jdW1lbnQtPnNl
dFRlbXBsYXRlRG9jdW1lbnRIb3N0KDApOyAvLyBiYWxhbmNlZCBpbiB0ZW1wbGF0ZURvY3VtZW50
KCkuCisjZW5kaWYKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVF9UUkFDS0lORykKICAgICBpZiAo
RG9jdW1lbnQqIG93bmVyRG9jdW1lbnQgPSB0aGlzLT5vd25lckRvY3VtZW50KCkpCiAgICAgICAg
IG93bmVyRG9jdW1lbnQtPmRpZFJlbW92ZUV2ZW50VGFyZ2V0Tm9kZSh0aGlzKTsKQEAgLTU5NDMs
MTcgKzU5NDgsMTkgQEAgTG9jYWxlJiBEb2N1bWVudDo6Z2V0Q2FjaGVkTG9jYWxlKGNvbnN0IEF0
b21pY1N0cmluZyYgbG9jYWxlKQogfQogCiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi1E
b2N1bWVudCogRG9jdW1lbnQ6OmVuc3VyZVRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50KCkK
K0RvY3VtZW50KiBEb2N1bWVudDo6ZW5zdXJlVGVtcGxhdGVEb2N1bWVudCgpCiB7Ci0gICAgaWYg
KGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCA9IHRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50
KCkpCisgICAgaWYgKGNvbnN0IERvY3VtZW50KiBkb2N1bWVudCA9IHRlbXBsYXRlRG9jdW1lbnQo
KSkKICAgICAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8RG9jdW1lbnQqPihkb2N1bWVudCk7CiAKICAg
ICBpZiAoaXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJE
b2N1bWVudCA9IEhUTUxEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworICAgICAgICBt
X3RlbXBsYXRlRG9jdW1lbnQgPSBIVE1MRG9jdW1lbnQ6OmNyZWF0ZSgwLCBibGFua1VSTCgpKTsK
ICAgICBlbHNlCi0gICAgICAgIG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQgPSBEb2N1
bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworICAgICAgICBtX3RlbXBsYXRlRG9jdW1lbnQg
PSBEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOworCisgICAgbV90ZW1wbGF0ZURvY3Vt
ZW50LT5zZXRUZW1wbGF0ZURvY3VtZW50SG9zdCh0aGlzKTsgLy8gYmFsYW5jZWQgaW4gZHRvci4K
IAotICAgIHJldHVybiBtX3RlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50LmdldCgpOworICAg
IHJldHVybiBtX3RlbXBsYXRlRG9jdW1lbnQuZ2V0KCk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAppbmRleCA3ZWU2Y2NkYTZiMTg3ZmQ1Y2FjOTZhNmJjY2RhZjk0YzFkNTRkM2RjLi4z
ZjViOTJiZmI5ZWM5ZWE1ZmIyOWUzODg2YTNkNDhmY2QwNzJlYTVjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaApAQCAtMTE5MCw4ICsxMTkwLDEwIEBAIHB1YmxpYzoKICNlbmRpZgogCiAjaWYgRU5BQkxF
KFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgY29uc3QgRG9jdW1lbnQqIHRlbXBsYXRlQ29udGVudHNP
d25lckRvY3VtZW50KCkgY29uc3Q7Ci0gICAgRG9jdW1lbnQqIGVuc3VyZVRlbXBsYXRlQ29udGVu
dHNPd25lckRvY3VtZW50KCk7CisgICAgY29uc3QgRG9jdW1lbnQqIHRlbXBsYXRlRG9jdW1lbnQo
KSBjb25zdDsKKyAgICBEb2N1bWVudCogZW5zdXJlVGVtcGxhdGVEb2N1bWVudCgpOworICAgIHZv
aWQgc2V0VGVtcGxhdGVEb2N1bWVudEhvc3QoRG9jdW1lbnQqIHRlbXBsYXRlRG9jdW1lbnRIb3N0
KSB7IG1fdGVtcGxhdGVEb2N1bWVudEhvc3QgPSB0ZW1wbGF0ZURvY3VtZW50SG9zdDsgfQorICAg
IERvY3VtZW50KiB0ZW1wbGF0ZURvY3VtZW50SG9zdCgpIHsgcmV0dXJuIG1fdGVtcGxhdGVEb2N1
bWVudEhvc3Q7IH0KICNlbmRpZgogCiAgICAgdmlydHVhbCB2b2lkIGFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCB1bnNp
Z25lZCBsb25nIHJlcXVlc3RJZGVudGlmaWVyID0gMCk7CkBAIC0xNTU2LDcgKzE1NTgsOCBAQCBw
cml2YXRlOgogICAgIExvY2FsZUlkZW50aWZpZXJUb0xvY2FsZU1hcCBtX2xvY2FsZUNhY2hlOwog
CiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1FTlQpCi0gICAgUmVmUHRyPERvY3VtZW50PiBtX3Rl
bXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50OworICAgIFJlZlB0cjxEb2N1bWVudD4gbV90ZW1w
bGF0ZURvY3VtZW50OworICAgIERvY3VtZW50KiBtX3RlbXBsYXRlRG9jdW1lbnRIb3N0OyAvLyBN
YW51YWxseSBtYW5hZ2VkIHdlYWtyZWYgKGJhY2twb2ludGVyIGZyb20gbV90ZW1wbGF0ZURvY3Vt
ZW50KS4KICNlbmRpZgogfTsKIApAQCAtMTU2NywxMyArMTU3MCwxMyBAQCBpbmxpbmUgdm9pZCBE
b2N1bWVudDo6bm90aWZ5UmVtb3ZlUGVuZGluZ1NoZWV0SWZOZWVkZWQoKQogfQogCiAjaWYgRU5B
QkxFKFRFTVBMQVRFX0VMRU1FTlQpCi1pbmxpbmUgY29uc3QgRG9jdW1lbnQqIERvY3VtZW50Ojp0
ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpIGNvbnN0CitpbmxpbmUgY29uc3QgRG9jdW1l
bnQqIERvY3VtZW50Ojp0ZW1wbGF0ZURvY3VtZW50KCkgY29uc3QKIHsKICAgICAvLyBJZiBET0NV
TUVOVCBkb2VzIG5vdCBoYXZlIGEgYnJvd3NpbmcgY29udGV4dCwgTGV0IFRFTVBMQVRFIENPTlRF
TlRTIE9XTkVSIGJlIERPQ1VNRU5UIGFuZCBhYm9ydCB0aGVzZSBzdGVwcy4KICAgICBpZiAoIW1f
ZnJhbWUpCiAgICAgICAgIHJldHVybiB0aGlzOwogCi0gICAgcmV0dXJuIG1fdGVtcGxhdGVDb250
ZW50c093bmVyRG9jdW1lbnQuZ2V0KCk7CisgICAgcmV0dXJuIG1fdGVtcGxhdGVEb2N1bWVudC5n
ZXQoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21h
cmt1cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKaW5kZXggY2Q1MzA2
MTgxZmRmZWZhNzQ1Y2MyNjhiMDUyNTIxYWZhM2U0NGU2NC4uNzllODgxMzQwNWMwNTc2M2NlYWU3
NTVjMTM3MDA4NjAxMjg4Njg0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9t
YXJrdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcApAQCAtOTk2
LDcgKzk5Niw3IEBAIFBhc3NSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gY3JlYXRlRnJhZ21lbnRG
b3JJbm5lck91dGVySFRNTChjb25zdCBTdHJpbmcmIG1hcmt1CiAgICAgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gY29udGV4dEVsZW1lbnQtPmRvY3VtZW50KCk7CiAjaWYgRU5BQkxFKFRFTVBMQVRFX0VM
RU1FTlQpCiAgICAgaWYgKGNvbnRleHRFbGVtZW50LT5oYXNUYWdOYW1lKHRlbXBsYXRlVGFnKSkK
LSAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+ZW5zdXJlVGVtcGxhdGVDb250ZW50c093bmVy
RG9jdW1lbnQoKTsKKyAgICAgICAgZG9jdW1lbnQgPSBkb2N1bWVudC0+ZW5zdXJlVGVtcGxhdGVE
b2N1bWVudCgpOwogI2VuZGlmCiAgICAgUmVmUHRyPERvY3VtZW50RnJhZ21lbnQ+IGZyYWdtZW50
ID0gRG9jdW1lbnRGcmFnbWVudDo6Y3JlYXRlKGRvY3VtZW50KTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKaW5kZXggM2UyYWZkYWEyMTVkODhlOTk0Nzk1
MzRhMGIzNTUzNWNjNzE5ZjQwMC4uMjdiOGM4NmZkOTIwOTE1MjRkMDA0ODk1ZmIyNzVlZWE2ZDc5
YTAxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCkBA
IC02MSw3ICs2MSw3IEBAIFBhc3NSZWZQdHI8SFRNTFRlbXBsYXRlRWxlbWVudD4gSFRNTFRlbXBs
YXRlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmCiBEb2N1bWVudEZyYWdtZW50
KiBIVE1MVGVtcGxhdGVFbGVtZW50Ojpjb250ZW50KCkgY29uc3QKIHsKICAgICBpZiAoIW1fY29u
dGVudCkKLSAgICAgICAgbV9jb250ZW50ID0gVGVtcGxhdGVDb250ZW50RG9jdW1lbnRGcmFnbWVu
dDo6Y3JlYXRlKGRvY3VtZW50KCktPmVuc3VyZVRlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50
KCksIHRoaXMpOworICAgICAgICBtX2NvbnRlbnQgPSBUZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZy
YWdtZW50OjpjcmVhdGUoZG9jdW1lbnQoKS0+ZW5zdXJlVGVtcGxhdGVEb2N1bWVudCgpLCB0aGlz
KTsKIAogICAgIHJldHVybiBtX2NvbnRlbnQuZ2V0KCk7CiB9CkBAIC04Miw3ICs4Miw3IEBAIHZv
aWQgSFRNTFRlbXBsYXRlRWxlbWVudDo6ZGlkTW92ZVRvTmV3RG9jdW1lbnQoRG9jdW1lbnQqIG9s
ZERvY3VtZW50KQogICAgIEhUTUxFbGVtZW50OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChvbGREb2N1
bWVudCk7CiAgICAgaWYgKCFtX2NvbnRlbnQpCiAgICAgICAgIHJldHVybjsKLSAgICBkb2N1bWVu
dCgpLT5lbnN1cmVUZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpLT5hZG9wdElmTmVlZGVk
KG1fY29udGVudC5nZXQoKSk7CisgICAgZG9jdW1lbnQoKS0+ZW5zdXJlVGVtcGxhdGVEb2N1bWVu
dCgpLT5hZG9wdElmTmVlZGVkKG1fY29udGVudC5nZXQoKSk7CiB9CiAKICNpZm5kZWYgTkRFQlVH
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggYmEwMjgwODIxMTk5
OGUwNTljZGIwYzZlMjk0MjM5MTFlOGRlMDI3MC4uNTdmNmY3YWNkYmZkZWQ5MWZhNzk1OTJlNTkw
Y2I4ODkyNTdjZmFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpA
QCAtMTY1Miw3ICsxNjUyLDggQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ2YWx1
ZSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICI8
Y29kZT5BdHRyPC9jb2RlPidzIHZhbHVlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJmcmFtZUlkIiwgIiRyZWYiOiAiTmV0d29yay5GcmFtZUlkIiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIkZyYW1lIElEIGZvciBmcmFtZSBvd25lciBlbGVtZW50cy4iIH0s
CiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29udGVudERvY3VtZW50IiwgIiRyZWYi
OiAiTm9kZSIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJDb250ZW50IGRvY3Vt
ZW50IGZvciBmcmFtZSBvd25lciBlbGVtZW50cy4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAic2hhZG93Um9vdHMiLCAidHlwZSI6ICJhcnJheSIsICJvcHRpb25hbCI6IHRydWUs
ICJpdGVtcyI6IHsgIiRyZWYiOiAiTm9kZSIgfSwgImRlc2NyaXB0aW9uIjogIlNoYWRvdyByb290
IGxpc3QgZm9yIGdpdmVuIGVsZW1lbnQgaG9zdC4iIH0KKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJzaGFkb3dSb290cyIsICJ0eXBlIjogImFycmF5IiwgIm9wdGlvbmFsIjogdHJ1ZSwg
Iml0ZW1zIjogeyAiJHJlZiI6ICJOb2RlIiB9LCAiZGVzY3JpcHRpb24iOiAiU2hhZG93IHJvb3Qg
bGlzdCBmb3IgZ2l2ZW4gZWxlbWVudCBob3N0LiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJ0ZW1wbGF0ZUNvbnRlbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZnJhZ21lbnQgZm9yIHRlbXBsYXRl
IGVsZW1lbnRzIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRE9NIGludGVyYWN0aW9uIGlzIGltcGxlbWVudGVkIGluIHRlcm1zIG9mIG1pcnJv
ciBvYmplY3RzIHRoYXQgcmVwcmVzZW50IHRoZSBhY3R1YWwgRE9NIG5vZGVzLiBET01Ob2RlIGlz
IGEgYmFzZSBub2RlIG1pcnJvciB0eXBlLiIKICAgICAgICAgICAgIH0sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBjNDMwNmU4M2VmOTVm
NTEzOTNmYWY0MjRkOWYzNDFhZWVhNWIxNmNlLi5mZDRmNmU0NGRkYjgwM2IzOTdjZWYwZjhkNjI4
YTQzNzkwZTBiOWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
T01BZ2VudC5jcHAKQEAgLTYzLDYgKzYzLDggQEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNp
bmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5o
IgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgorI2luY2x1ZGUgIkhUTUxUZW1wbGF0ZUVsZW1lbnQu
aCIKICNpbmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0
b3J5LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmgiCkBAIC0xMjk0LDYgKzEy
OTYsMTIgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6RE9NOjpOb2RlPiBJbnNwZWN0b3JET01B
Z2VudDo6YnVpbGRPYmplY3RGb3JOb2RlKE5vZGUqIG4KICAgICAgICAgICAgICAgICBzaGFkb3dS
b290cy0+YWRkSXRlbShidWlsZE9iamVjdEZvck5vZGUocm9vdCwgMCwgbm9kZXNNYXApKTsKICAg
ICAgICAgICAgIHZhbHVlLT5zZXRTaGFkb3dSb290cyhzaGFkb3dSb290cyk7CiAgICAgICAgIH0K
KworI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorICAgICAgICBpZiAoZWxlbWVudC0+aGFz
VGFnTmFtZShIVE1MTmFtZXM6OnRlbXBsYXRlVGFnKSkKKyAgICAgICAgICAgIHZhbHVlLT5zZXRU
ZW1wbGF0ZUNvbnRlbnQoYnVpbGRPYmplY3RGb3JOb2RlKHN0YXRpY19jYXN0PEhUTUxUZW1wbGF0
ZUVsZW1lbnQqPihlbGVtZW50KS0+Y29udGVudCgpLCAwLCBub2Rlc01hcCkpOworI2VuZGlmCisK
ICAgICB9IGVsc2UgaWYgKG5vZGUtPmlzRG9jdW1lbnROb2RlKCkpIHsKICAgICAgICAgRG9jdW1l
bnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihub2RlKTsKICAgICAgICAgdmFs
dWUtPnNldERvY3VtZW50VVJMKGRvY3VtZW50VVJMU3RyaW5nKGRvY3VtZW50KSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5k
ZXggNjE2MjQ5OTIzMWRkYmYyZDU0NDZlMjg5MDZjOGUxYWYyNzBhNDk0ZC4uMmVlNjkwZTI0Mjk5
MDZiOWIyNWU2NGI4NGY1MzYxMTJhY2M5YWQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTk4NSw4ICsxOTg1LDE0
IEBAIGlubGluZSBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
Omluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtCiAKIGlubGluZSBJbnN0cnVtZW50aW5nQWdlbnRz
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JEb2N1bWVu
dChEb2N1bWVudCogZG9jdW1lbnQpCiB7Ci0gICAgaWYgKGRvY3VtZW50KQotICAgICAgICByZXR1
cm4gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UoZG9jdW1lbnQtPnBhZ2UoKSk7CisgICAgaWYg
KGRvY3VtZW50KSB7CisgICAgICAgIFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpOworI2lm
IEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorICAgICAgICBpZiAoIXBhZ2UgJiYgZG9jdW1lbnQt
PnRlbXBsYXRlRG9jdW1lbnRIb3N0KCkpCisgICAgICAgICAgICBwYWdlID0gZG9jdW1lbnQtPnRl
bXBsYXRlRG9jdW1lbnRIb3N0KCktPnBhZ2UoKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSk7CisgICAgfQogICAgIHJldHVybiAwOwogfQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RP
TUFnZW50LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01BZ2VudC5q
cwppbmRleCBhYTk2NGYzOGI2MTZiNDYzNmEwNWYzZjk3MWNiMTkzNTcwMmJhNDEzLi4xNjFiYTBi
M2ZhYmUzMDExYWNiYTVlMjVlNDdkMTBkYjgzOGY3OGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMKQEAgLTc1LDYgKzc1LDkgQEAgV2ViSW5z
cGVjdG9yLkRPTU5vZGUgPSBmdW5jdGlvbihkb21BZ2VudCwgZG9jLCBpc0luU2hhZG93VHJlZSwg
cGF5bG9hZCkgewogICAgICAgICB9CiAgICAgfQogCisgICAgaWYgKHBheWxvYWQudGVtcGxhdGVD
b250ZW50KQorICAgICAgICB0aGlzLl90ZW1wbGF0ZUNvbnRlbnQgPSBuZXcgV2ViSW5zcGVjdG9y
LkRPTU5vZGUodGhpcy5fZG9tQWdlbnQsIHRoaXMub3duZXJEb2N1bWVudCwgdHJ1ZSwgcGF5bG9h
ZC50ZW1wbGF0ZUNvbnRlbnQpOworCiAgICAgaWYgKHBheWxvYWQuY2hpbGRyZW4pCiAgICAgICAg
IHRoaXMuX3NldENoaWxkcmVuUGF5bG9hZChwYXlsb2FkLmNoaWxkcmVuKTsKIApAQCAtMTMyLDcg
KzEzNSw3IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAg
ICBoYXNDaGlsZE5vZGVzOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
Y2hpbGROb2RlQ291bnQgPiAwIHx8ICEhdGhpcy5fc2hhZG93Um9vdHMubGVuZ3RoOworICAgICAg
ICByZXR1cm4gdGhpcy5fY2hpbGROb2RlQ291bnQgPiAwIHx8ICEhdGhpcy5fc2hhZG93Um9vdHMu
bGVuZ3RoIHx8IHRoaXMuX3RlbXBsYXRlQ29udGVudDsKICAgICB9LAogCiAgICAgLyoqCkBAIC00
NTMsNyArNDU2LDExIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgaWYgKCFwcmV2KSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMuY2hpbGRyZW4pIHsKICAgICAg
ICAgICAgICAgICAvLyBGaXJzdCBub2RlCi0gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbiA9
IHRoaXMuX3NoYWRvd1Jvb3RzLmNvbmNhdChbIG5vZGUgXSk7CisgICAgICAgICAgICAgICAgdGhp
cy5jaGlsZHJlbiA9IHRoaXMuX3NoYWRvd1Jvb3RzLnNsaWNlKCk7CisgICAgICAgICAgICAgICAg
aWYgKHRoaXMuX3RlbXBsYXRlQ29udGVudCkKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGls
ZHJlbi5wdXNoKHRoaXMuX3RlbXBsYXRlQ29udGVudCk7CisKKyAgICAgICAgICAgICAgICB0aGlz
LmNoaWxkcmVuLnB1c2gobm9kZSk7CiAgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAg
ICB0aGlzLmNoaWxkcmVuLnVuc2hpZnQobm9kZSk7CiAgICAgICAgIH0gZWxzZQpAQCAtNDgzLDYg
KzQ5MCw5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHJldHVybjsKIAogICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5fc2hhZG93Um9vdHMuc2xp
Y2UoKTsKKyAgICAgICAgaWYgKHRoaXMuX3RlbXBsYXRlQ29udGVudCkKKyAgICAgICAgICAgIHRo
aXMuY2hpbGRyZW4ucHVzaCh0aGlzLl90ZW1wbGF0ZUNvbnRlbnQpOworCiAgICAgICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgcGF5bG9hZHMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgIHZhciBw
YXlsb2FkID0gcGF5bG9hZHNbaV07CiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJbnNw
ZWN0b3IuRE9NTm9kZSh0aGlzLl9kb21BZ2VudCwgdGhpcy5vd25lckRvY3VtZW50LCB0aGlzLl9p
c0luU2hhZG93VHJlZSwgcGF5bG9hZCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181776</attachid>
            <date>2013-01-08 14:59:34 -0800</date>
            <delta_ts>2013-01-08 16:44:14 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-105839-20130108145638.patch</filename>
            <type>text/plain</type>
            <size>13341</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzA5NWQ3YjZjMjkxNmU5
MTE4MmZlZDhiODgzYTNmNGFmMjM2ZTc3ZS4uZTZiNmMyNGQ2NTUxMDc1Mjk3NjA4MjAzM2FiMjRl
MzY0MDUxNWMyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAxLTAzICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0hUTUxUZW1w
bGF0ZUVsZW1lbnRdIEFsbG93IDx0ZW1wbGF0ZT4gY29udGVudCB0byBiZSBpbnNwZWN0ZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTgzOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCisKKyAgICAgICAgSW4gYWRkaXRpb24g
dG8gdGhlIHBsdW1iaW5nIHdoaWNoIGFsbG93cyB0ZW1wbGF0ZSBjb250ZW50cyB0byBiZQorICAg
ICAgICBkaXNwbGF5ZWQgd2l0aGluIHRoZSBpbnNwZWN0b3IsIHRoaXMgcGF0Y2ggYWRkcyBhIG1h
bnVhbGx5LW1hbmFnZWQKKyAgICAgICAgd2Vha3JlZiBmcm9tIHRoZSB0ZW1wbGF0ZSBkb2N1bWVu
dCBiYWNrIHRvIGl0cyBob3N0IGRvY3VtZW50ICh0eXBpY2FsbHkKKyAgICAgICAgdGhlIGNyZWF0
b3IpLiBUaGlzIGlzIHJlcXVpcmVkIHNvIHRoYXQgdGhlIGluc3BlY3RvciBhZ2VudCBjYW4gYmUg
Zm91bmQKKyAgICAgICAgZm9yIHRlbXBsYXRlIGVsZW1lbnRzLgorCisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp+RG9jdW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnRlbXBsYXRlRG9jdW1lbnQpOgorICAgICAgICAqIGRv
bS9Eb2N1bWVudC5oOgorICAgICAgICAoRG9jdW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnQ6OnNldFRlbXBsYXRlRG9jdW1lbnRIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3Vt
ZW50Ojp0ZW1wbGF0ZURvY3VtZW50SG9zdCk6CisgICAgICAgICogZWRpdGluZy9tYXJrdXAuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlRnJhZ21lbnRGb3JJbm5lck91dGVySFRNTCk6Cisg
ICAgICAgICogaHRtbC9IVE1MVGVtcGxhdGVFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxUZW1wbGF0ZUVsZW1lbnQ6OmNvbnRlbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yTm9kZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjppbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRG9jdW1lbnQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUuaGFzQ2hpbGROb2Rlcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
RE9NTm9kZS5wcm90b3R5cGUuX2luc2VydENoaWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5E
T01Ob2RlLnByb3RvdHlwZS5fc2V0Q2hpbGRyZW5QYXlsb2FkKToKKwogMjAxMy0wMS0wOCAgQW5k
cmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+CiAKICAgICAgICAgSGVhcC11c2UtYWZ0ZXIt
ZnJlZSBpbiBib29sIFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6Y2hlY2tPbmVTZWxlY3Rvci4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmNwcAppbmRleCAyMTVhOTE0YTMzNjY4YWRmM2I1
OWM4NGY1ZmQyOTJhYzkyNWIxNDg0Li45YWMxNDgwMWMwNzEyNGQ4MzUwZDZhODQ0MzRkZjQ4Y2Iz
NTE2YzhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ29udGFpbmVyTm9kZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuY3BwCkBAIC0xNDIsNyArMTQy
LDcgQEAgc3RhdGljIGlubGluZSBib29sIGlzSW5UZW1wbGF0ZUNvbnRlbnQoY29uc3QgTm9kZSog
bm9kZSkKIHsKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICBEb2N1bWVudCogZG9j
dW1lbnQgPSBub2RlLT5kb2N1bWVudCgpOwotICAgIHJldHVybiBkb2N1bWVudCAmJiBkb2N1bWVu
dCA9PSBkb2N1bWVudC0+dGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKTsKKyAgICByZXR1
cm4gZG9jdW1lbnQgJiYgZG9jdW1lbnQgPT0gZG9jdW1lbnQtPnRlbXBsYXRlRG9jdW1lbnQoKTsK
ICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKG5vZGUpOwogICAgIHJldHVybiBmYWxzZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCmluZGV4IGM5MDgwNDEzM2EzNzE4Y2I5MDQ0YTY1YTBjYTI5MTkzZWU4
ZGMxODUuLjE5ZDdkYWRjYjI1NjUyMWMyYmQ3ZjYxMjI2NjY2ZjY2MzkxNTRhNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmNwcApAQCAtNTA0LDYgKzUwNCw5IEBAIERvY3VtZW50OjpEb2N1bWVudChG
cmFtZSogZnJhbWUsIGNvbnN0IEtVUkwmIHVybCwgYm9vbCBpc1hIVE1MLCBib29sIGlzSFRNTCkK
ICNpZm5kZWYgTkRFQlVHCiAgICAgLCBtX2RpZERpc3BhdGNoVmlld3BvcnRQcm9wZXJ0aWVzQ2hh
bmdlZChmYWxzZSkKICNlbmRpZgorI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorICAgICwg
bV90ZW1wbGF0ZURvY3VtZW50SG9zdCgwKQorI2VuZGlmCiB7CiAgICAgc2V0VHJlZVNjb3BlKHRo
aXMpOwogCkBAIC02MDgsNiArNjExLDExIEBAIERvY3VtZW50Ojp+RG9jdW1lbnQoKQogICAgIEFT
U0VSVCghbV9wYXJlbnRUcmVlU2NvcGUpOwogICAgIEFTU0VSVCghbV9ndWFyZFJlZkNvdW50KTsK
IAorI2lmIEVOQUJMRShURU1QTEFURV9FTEVNRU5UKQorICAgIGlmIChtX3RlbXBsYXRlRG9jdW1l
bnQpCisgICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudC0+c2V0VGVtcGxhdGVEb2N1bWVudEhvc3Qo
MCk7IC8vIGJhbGFuY2VkIGluIHRlbXBsYXRlRG9jdW1lbnQoKS4KKyNlbmRpZgorCiAjaWYgRU5B
QkxFKFRPVUNIX0VWRU5UX1RSQUNLSU5HKQogICAgIGlmIChEb2N1bWVudCogb3duZXJEb2N1bWVu
dCA9IHRoaXMtPm93bmVyRG9jdW1lbnQoKSkKICAgICAgICAgb3duZXJEb2N1bWVudC0+ZGlkUmVt
b3ZlRXZlbnRUYXJnZXROb2RlKHRoaXMpOwpAQCAtNTk1MSwxNyArNTk1OSwxOSBAQCBMb2NhbGUm
IERvY3VtZW50OjpnZXRDYWNoZWRMb2NhbGUoY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGUpCiB9
CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLURvY3VtZW50KiBEb2N1bWVudDo6ZW5z
dXJlVGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKQorRG9jdW1lbnQqIERvY3VtZW50Ojpl
bnN1cmVUZW1wbGF0ZURvY3VtZW50KCkKIHsKLSAgICBpZiAoY29uc3QgRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSkKKyAgICBpZiAoY29uc3QgRG9j
dW1lbnQqIGRvY3VtZW50ID0gdGVtcGxhdGVEb2N1bWVudCgpKQogICAgICAgICByZXR1cm4gY29u
c3RfY2FzdDxEb2N1bWVudCo+KGRvY3VtZW50KTsKIAogICAgIGlmIChpc0hUTUxEb2N1bWVudCgp
KQotICAgICAgICBtX3RlbXBsYXRlQ29udGVudHNPd25lckRvY3VtZW50ID0gSFRNTERvY3VtZW50
OjpjcmVhdGUoMCwgYmxhbmtVUkwoKSk7CisgICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudCA9IEhU
TUxEb2N1bWVudDo6Y3JlYXRlKDAsIGJsYW5rVVJMKCkpOwogICAgIGVsc2UKLSAgICAgICAgbV90
ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCA9IERvY3VtZW50OjpjcmVhdGUoMCwgYmxhbmtV
UkwoKSk7CisgICAgICAgIG1fdGVtcGxhdGVEb2N1bWVudCA9IERvY3VtZW50OjpjcmVhdGUoMCwg
YmxhbmtVUkwoKSk7CisKKyAgICBtX3RlbXBsYXRlRG9jdW1lbnQtPnNldFRlbXBsYXRlRG9jdW1l
bnRIb3N0KHRoaXMpOyAvLyBiYWxhbmNlZCBpbiBkdG9yLgogCi0gICAgcmV0dXJuIG1fdGVtcGxh
dGVDb250ZW50c093bmVyRG9jdW1lbnQuZ2V0KCk7CisgICAgcmV0dXJuIG1fdGVtcGxhdGVEb2N1
bWVudC5nZXQoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGU5Y2M3MWIx
YTQ2MjgwYTY0NjcyZDA4MmQ3NDJiMzczOWJlZjkzMTguLjAwZmJmOThhMDZiOTU0NTMwMmE1YzA2
MzhjMDc0MDE3MjhjNzRhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMTkwLDggKzExOTAs
MTAgQEAgcHVibGljOgogI2VuZGlmCiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKLSAg
ICBjb25zdCBEb2N1bWVudCogdGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSBjb25zdDsK
LSAgICBEb2N1bWVudCogZW5zdXJlVGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKTsKKyAg
ICBjb25zdCBEb2N1bWVudCogdGVtcGxhdGVEb2N1bWVudCgpIGNvbnN0OworICAgIERvY3VtZW50
KiBlbnN1cmVUZW1wbGF0ZURvY3VtZW50KCk7CisgICAgdm9pZCBzZXRUZW1wbGF0ZURvY3VtZW50
SG9zdChEb2N1bWVudCogdGVtcGxhdGVEb2N1bWVudEhvc3QpIHsgbV90ZW1wbGF0ZURvY3VtZW50
SG9zdCA9IHRlbXBsYXRlRG9jdW1lbnRIb3N0OyB9CisgICAgRG9jdW1lbnQqIHRlbXBsYXRlRG9j
dW1lbnRIb3N0KCkgeyByZXR1cm4gbV90ZW1wbGF0ZURvY3VtZW50SG9zdDsgfQogI2VuZGlmCiAK
ICAgICB2aXJ0dWFsIHZvaWQgYWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50
aWZpZXIgPSAwKTsKQEAgLTE1NTYsNyArMTU1OCw4IEBAIHByaXZhdGU6CiAgICAgTG9jYWxlSWRl
bnRpZmllclRvTG9jYWxlTWFwIG1fbG9jYWxlQ2FjaGU7CiAKICNpZiBFTkFCTEUoVEVNUExBVEVf
RUxFTUVOVCkKLSAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fdGVtcGxhdGVDb250ZW50c093bmVyRG9j
dW1lbnQ7CisgICAgUmVmUHRyPERvY3VtZW50PiBtX3RlbXBsYXRlRG9jdW1lbnQ7CisgICAgRG9j
dW1lbnQqIG1fdGVtcGxhdGVEb2N1bWVudEhvc3Q7IC8vIE1hbnVhbGx5IG1hbmFnZWQgd2Vha3Jl
ZiAoYmFja3BvaW50ZXIgZnJvbSBtX3RlbXBsYXRlRG9jdW1lbnQpLgogI2VuZGlmCiB9OwogCkBA
IC0xNTY3LDEzICsxNTcwLDEzIEBAIGlubGluZSB2b2lkIERvY3VtZW50Ojpub3RpZnlSZW1vdmVQ
ZW5kaW5nU2hlZXRJZk5lZWRlZCgpCiB9CiAKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkK
LWlubGluZSBjb25zdCBEb2N1bWVudCogRG9jdW1lbnQ6OnRlbXBsYXRlQ29udGVudHNPd25lckRv
Y3VtZW50KCkgY29uc3QKK2lubGluZSBjb25zdCBEb2N1bWVudCogRG9jdW1lbnQ6OnRlbXBsYXRl
RG9jdW1lbnQoKSBjb25zdAogewogICAgIC8vIElmIERPQ1VNRU5UIGRvZXMgbm90IGhhdmUgYSBi
cm93c2luZyBjb250ZXh0LCBMZXQgVEVNUExBVEUgQ09OVEVOVFMgT1dORVIgYmUgRE9DVU1FTlQg
YW5kIGFib3J0IHRoZXNlIHN0ZXBzLgogICAgIGlmICghbV9mcmFtZSkKICAgICAgICAgcmV0dXJu
IHRoaXM7CiAKLSAgICByZXR1cm4gbV90ZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudC5nZXQo
KTsKKyAgICByZXR1cm4gbV90ZW1wbGF0ZURvY3VtZW50LmdldCgpOwogfQogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvbWFya3VwLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvbWFya3VwLmNwcAppbmRleCBjZDUzMDYxODFmZGZlZmE3NDVjYzI2OGIwNTI1
MjFhZmEzZTQ0ZTY0Li43OWU4ODEzNDA1YzA1NzYzY2VhZTc1NWMxMzcwMDg2MDEyODg2ODRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL21hcmt1cC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9tYXJrdXAuY3BwCkBAIC05OTYsNyArOTk2LDcgQEAgUGFzc1JlZlB0
cjxEb2N1bWVudEZyYWdtZW50PiBjcmVhdGVGcmFnbWVudEZvcklubmVyT3V0ZXJIVE1MKGNvbnN0
IFN0cmluZyYgbWFya3UKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBjb250ZXh0RWxlbWVudC0+
ZG9jdW1lbnQoKTsKICNpZiBFTkFCTEUoVEVNUExBVEVfRUxFTUVOVCkKICAgICBpZiAoY29udGV4
dEVsZW1lbnQtPmhhc1RhZ05hbWUodGVtcGxhdGVUYWcpKQotICAgICAgICBkb2N1bWVudCA9IGRv
Y3VtZW50LT5lbnN1cmVUZW1wbGF0ZUNvbnRlbnRzT3duZXJEb2N1bWVudCgpOworICAgICAgICBk
b2N1bWVudCA9IGRvY3VtZW50LT5lbnN1cmVUZW1wbGF0ZURvY3VtZW50KCk7CiAjZW5kaWYKICAg
ICBSZWZQdHI8RG9jdW1lbnRGcmFnbWVudD4gZnJhZ21lbnQgPSBEb2N1bWVudEZyYWdtZW50Ojpj
cmVhdGUoZG9jdW1lbnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxU
ZW1wbGF0ZUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGVtcGxhdGVFbGVt
ZW50LmNwcAppbmRleCAzZTJhZmRhYTIxNWQ4OGU5OTQ3OTUzNGEwYjM1NTM1Y2M3MTlmNDAwLi4y
N2I4Yzg2ZmQ5MjA5MTUyNGQwMDQ4OTVmYjI3NWVlYTZkNzlhMDEzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxUZW1wbGF0ZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFRlbXBsYXRlRWxlbWVudC5jcHAKQEAgLTYxLDcgKzYxLDcgQEAgUGFzc1Jl
ZlB0cjxIVE1MVGVtcGxhdGVFbGVtZW50PiBIVE1MVGVtcGxhdGVFbGVtZW50OjpjcmVhdGUoY29u
c3QgUXVhbGlmaWVkTmFtZSYKIERvY3VtZW50RnJhZ21lbnQqIEhUTUxUZW1wbGF0ZUVsZW1lbnQ6
OmNvbnRlbnQoKSBjb25zdAogewogICAgIGlmICghbV9jb250ZW50KQotICAgICAgICBtX2NvbnRl
bnQgPSBUZW1wbGF0ZUNvbnRlbnREb2N1bWVudEZyYWdtZW50OjpjcmVhdGUoZG9jdW1lbnQoKS0+
ZW5zdXJlVGVtcGxhdGVDb250ZW50c093bmVyRG9jdW1lbnQoKSwgdGhpcyk7CisgICAgICAgIG1f
Y29udGVudCA9IFRlbXBsYXRlQ29udGVudERvY3VtZW50RnJhZ21lbnQ6OmNyZWF0ZShkb2N1bWVu
dCgpLT5lbnN1cmVUZW1wbGF0ZURvY3VtZW50KCksIHRoaXMpOwogCiAgICAgcmV0dXJuIG1fY29u
dGVudC5nZXQoKTsKIH0KQEAgLTgyLDcgKzgyLDcgQEAgdm9pZCBIVE1MVGVtcGxhdGVFbGVtZW50
OjpkaWRNb3ZlVG9OZXdEb2N1bWVudChEb2N1bWVudCogb2xkRG9jdW1lbnQpCiAgICAgSFRNTEVs
ZW1lbnQ6OmRpZE1vdmVUb05ld0RvY3VtZW50KG9sZERvY3VtZW50KTsKICAgICBpZiAoIW1fY29u
dGVudCkKICAgICAgICAgcmV0dXJuOwotICAgIGRvY3VtZW50KCktPmVuc3VyZVRlbXBsYXRlQ29u
dGVudHNPd25lckRvY3VtZW50KCktPmFkb3B0SWZOZWVkZWQobV9jb250ZW50LmdldCgpKTsKKyAg
ICBkb2N1bWVudCgpLT5lbnN1cmVUZW1wbGF0ZURvY3VtZW50KCktPmFkb3B0SWZOZWVkZWQobV9j
b250ZW50LmdldCgpKTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbgppbmRleCBiYTAyODA4MjExOTk4ZTA1OWNkYjBjNmUyOTQyMzkxMWU4
ZGUwMjcwLi41N2Y2ZjdhY2RiZmRlZDkxZmE3OTU5MmU1OTBjYjg4OTI1N2NmYWY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNjUyLDcgKzE2NTIsOCBAQAog
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInZhbHVlIiwgInR5cGUiOiAic3RyaW5nIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIjxjb2RlPkF0dHI8L2NvZGU+J3MgdmFs
dWUuIiB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImZyYW1lSWQiLCAiJHJlZiI6
ICJOZXR3b3JrLkZyYW1lSWQiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRnJh
bWUgSUQgZm9yIGZyYW1lIG93bmVyIGVsZW1lbnRzLiIgfSwKICAgICAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJjb250ZW50RG9jdW1lbnQiLCAiJHJlZiI6ICJOb2RlIiwgIm9wdGlvbmFsIjog
dHJ1ZSwgImRlc2NyaXB0aW9uIjogIkNvbnRlbnQgZG9jdW1lbnQgZm9yIGZyYW1lIG93bmVyIGVs
ZW1lbnRzLiIgfSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzaGFkb3dSb290cyIs
ICJ0eXBlIjogImFycmF5IiwgIm9wdGlvbmFsIjogdHJ1ZSwgIml0ZW1zIjogeyAiJHJlZiI6ICJO
b2RlIiB9LCAiZGVzY3JpcHRpb24iOiAiU2hhZG93IHJvb3QgbGlzdCBmb3IgZ2l2ZW4gZWxlbWVu
dCBob3N0LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNoYWRvd1Jvb3RzIiwg
InR5cGUiOiAiYXJyYXkiLCAib3B0aW9uYWwiOiB0cnVlLCAiaXRlbXMiOiB7ICIkcmVmIjogIk5v
ZGUiIH0sICJkZXNjcmlwdGlvbiI6ICJTaGFkb3cgcm9vdCBsaXN0IGZvciBnaXZlbiBlbGVtZW50
IGhvc3QuIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRlbXBsYXRlQ29udGVu
dCIsICIkcmVmIjogIk5vZGUiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiQ29u
dGVudCBkb2N1bWVudCBmcmFnbWVudCBmb3IgdGVtcGxhdGUgZWxlbWVudHMiIH0KICAgICAgICAg
ICAgICAgICBdLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJET00gaW50ZXJhY3Rp
b24gaXMgaW1wbGVtZW50ZWQgaW4gdGVybXMgb2YgbWlycm9yIG9iamVjdHMgdGhhdCByZXByZXNl
bnQgdGhlIGFjdHVhbCBET00gbm9kZXMuIERPTU5vZGUgaXMgYSBiYXNlIG5vZGUgbWlycm9yIHR5
cGUuIgogICAgICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCmluZGV4IGM0MzA2ZTgzZWY5NWY1MTM5M2ZhZjQyNGQ5ZjM0MWFlZWE1
YjE2Y2UuLmZkNGY2ZTQ0ZGRiODAzYjM5N2NlZjBmOGQ2MjhhNDM3OTBlMGI5ZDAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtNjMsNiAr
NjMsOCBAQAogI2luY2x1ZGUgIkZyYW1lVHJlZS5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVz
LmgiCisjaW5jbHVkZSAiSFRNTFRlbXBsYXRlRWxlbWVudC5oIgogI2luY2x1ZGUgIkhpdFRlc3RS
ZXN1bHQuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZFNjcmlwdE1hbmFnZXIuaCIKQEAgLTEyOTQsNiArMTI5NiwxMiBAQCBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpET006Ok5vZGU+IEluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvck5v
ZGUoTm9kZSogbgogICAgICAgICAgICAgICAgIHNoYWRvd1Jvb3RzLT5hZGRJdGVtKGJ1aWxkT2Jq
ZWN0Rm9yTm9kZShyb290LCAwLCBub2Rlc01hcCkpOwogICAgICAgICAgICAgdmFsdWUtPnNldFNo
YWRvd1Jvb3RzKHNoYWRvd1Jvb3RzKTsKICAgICAgICAgfQorCisjaWYgRU5BQkxFKFRFTVBMQVRF
X0VMRU1FTlQpCisgICAgICAgIGlmIChlbGVtZW50LT5oYXNUYWdOYW1lKEhUTUxOYW1lczo6dGVt
cGxhdGVUYWcpKQorICAgICAgICAgICAgdmFsdWUtPnNldFRlbXBsYXRlQ29udGVudChidWlsZE9i
amVjdEZvck5vZGUoc3RhdGljX2Nhc3Q8SFRNTFRlbXBsYXRlRWxlbWVudCo+KGVsZW1lbnQpLT5j
b250ZW50KCksIDAsIG5vZGVzTWFwKSk7CisjZW5kaWYKKwogICAgIH0gZWxzZSBpZiAobm9kZS0+
aXNEb2N1bWVudE5vZGUoKSkgewogICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNf
Y2FzdDxEb2N1bWVudCo+KG5vZGUpOwogICAgICAgICB2YWx1ZS0+c2V0RG9jdW1lbnRVUkwoZG9j
dW1lbnRVUkxTdHJpbmcoZG9jdW1lbnQpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA2MTYyNDk5MjMxZGRiZjJkNTQ0
NmUyODkwNmM4ZTFhZjI3MGE0OTRkLi4yZWU2OTBlMjQyOTkwNmI5YjI1ZTY0Yjg0ZjUzNjExMmFj
YzlhZDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oCkBAIC0xOTg1LDggKzE5ODUsMTQgQEAgaW5saW5lIEluc3RydW1lbnRp
bmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0Zv
ckZyYW0KIAogaW5saW5lIEluc3RydW1lbnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KERvY3VtZW50KiBkb2N1bWVudCkK
IHsKLSAgICBpZiAoZG9jdW1lbnQpCi0gICAgICAgIHJldHVybiBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yUGFnZShkb2N1bWVudC0+cGFnZSgpKTsKKyAgICBpZiAoZG9jdW1lbnQpIHsKKyAgICAgICAg
UGFnZSogcGFnZSA9IGRvY3VtZW50LT5wYWdlKCk7CisjaWYgRU5BQkxFKFRFTVBMQVRFX0VMRU1F
TlQpCisgICAgICAgIGlmICghcGFnZSAmJiBkb2N1bWVudC0+dGVtcGxhdGVEb2N1bWVudEhvc3Qo
KSkKKyAgICAgICAgICAgIHBhZ2UgPSBkb2N1bWVudC0+dGVtcGxhdGVEb2N1bWVudEhvc3QoKS0+
cGFnZSgpOworI2VuZGlmCisgICAgICAgIHJldHVybiBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFn
ZShwYWdlKTsKKyAgICB9CiAgICAgcmV0dXJuIDA7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NQWdlbnQuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTUFnZW50LmpzCmluZGV4IGFhOTY0ZjM4YjYxNmI0
NjM2YTA1ZjNmOTcxY2IxOTM1NzAyYmE0MTMuLjE2MWJhMGIzZmFiZTMwMTFhY2JhNWUyNWU0N2Qx
MGRiODM4Zjc4ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRE9NQWdlbnQuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9E
T01BZ2VudC5qcwpAQCAtNzUsNiArNzUsOSBAQCBXZWJJbnNwZWN0b3IuRE9NTm9kZSA9IGZ1bmN0
aW9uKGRvbUFnZW50LCBkb2MsIGlzSW5TaGFkb3dUcmVlLCBwYXlsb2FkKSB7CiAgICAgICAgIH0K
ICAgICB9CiAKKyAgICBpZiAocGF5bG9hZC50ZW1wbGF0ZUNvbnRlbnQpCisgICAgICAgIHRoaXMu
X3RlbXBsYXRlQ29udGVudCA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NTm9kZSh0aGlzLl9kb21BZ2Vu
dCwgdGhpcy5vd25lckRvY3VtZW50LCB0cnVlLCBwYXlsb2FkLnRlbXBsYXRlQ29udGVudCk7CisK
ICAgICBpZiAocGF5bG9hZC5jaGlsZHJlbikKICAgICAgICAgdGhpcy5fc2V0Q2hpbGRyZW5QYXls
b2FkKHBheWxvYWQuY2hpbGRyZW4pOwogCkBAIC0xMzIsNyArMTM1LDcgQEAgV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGhhc0NoaWxkTm9kZXM6IGZ1bmN0
aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9jaGlsZE5vZGVDb3VudCA+IDAgfHwg
ISF0aGlzLl9zaGFkb3dSb290cy5sZW5ndGg7CisgICAgICAgIHJldHVybiB0aGlzLl9jaGlsZE5v
ZGVDb3VudCA+IDAgfHwgISF0aGlzLl9zaGFkb3dSb290cy5sZW5ndGggfHwgdGhpcy5fdGVtcGxh
dGVDb250ZW50OwogICAgIH0sCiAKICAgICAvKioKQEAgLTQ1Myw3ICs0NTYsMTEgQEAgV2ViSW5z
cGVjdG9yLkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIXByZXYpIHsKICAgICAg
ICAgICAgIGlmICghdGhpcy5jaGlsZHJlbikgewogICAgICAgICAgICAgICAgIC8vIEZpcnN0IG5v
ZGUKLSAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5fc2hhZG93Um9vdHMuY29u
Y2F0KFsgbm9kZSBdKTsKKyAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuID0gdGhpcy5fc2hh
ZG93Um9vdHMuc2xpY2UoKTsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVDb250
ZW50KQorICAgICAgICAgICAgICAgICAgICB0aGlzLmNoaWxkcmVuLnB1c2godGhpcy5fdGVtcGxh
dGVDb250ZW50KTsKKworICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4ucHVzaChub2RlKTsK
ICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4udW5zaGlm
dChub2RlKTsKICAgICAgICAgfSBlbHNlCkBAIC00ODMsNiArNDkwLDkgQEAgV2ViSW5zcGVjdG9y
LkRPTU5vZGUucHJvdG90eXBlID0gewogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIHRo
aXMuY2hpbGRyZW4gPSB0aGlzLl9zaGFkb3dSb290cy5zbGljZSgpOworICAgICAgICBpZiAodGhp
cy5fdGVtcGxhdGVDb250ZW50KQorICAgICAgICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKHRoaXMu
X3RlbXBsYXRlQ29udGVudCk7CisKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXlsb2Fk
cy5sZW5ndGg7ICsraSkgewogICAgICAgICAgICAgdmFyIHBheWxvYWQgPSBwYXlsb2Fkc1tpXTsK
ICAgICAgICAgICAgIHZhciBub2RlID0gbmV3IFdlYkluc3BlY3Rvci5ET01Ob2RlKHRoaXMuX2Rv
bUFnZW50LCB0aGlzLm93bmVyRG9jdW1lbnQsIHRoaXMuX2lzSW5TaGFkb3dUcmVlLCBwYXlsb2Fk
KTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>