<?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>125756</bug_id>
          
          <creation_ts>2013-12-14 22:45:45 -0800</creation_ts>
          <short_desc>[CSSRegions] Incorrect repaint of fixed element with transformed parent</short_desc>
          <delta_ts>2014-01-14 22:39:32 -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>CSS</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>
          <dependson>125863</dependson>
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihnea Ovidenie">mihnea</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>959914</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-14 22:45:45 -0800</bug_when>
    <thetext>When a fixed positioned element in a named flow has an ancestor that dynamically receives/loses a transform, the fixed positioned element is incorrectly repainted wrt its modified containing block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959915</commentid>
    <comment_count>1</comment_count>
      <attachid>219272</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-14 22:55:11 -0800</bug_when>
    <thetext>Created attachment 219272
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960052</commentid>
    <comment_count>2</comment_count>
      <attachid>219272</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-12-16 07:02:51 -0800</bug_when>
    <thetext>Comment on attachment 219272
Patch

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

&gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed-expected.html:6
&gt; +                window.internals.settings.setAcceleratedCompositingForFixedPositionEnabled(false);

What is the purpose of this line?
You could add the reason as a comment in the code.

&gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed-expected.html:17
&gt; +        &lt;p&gt;That that a fixed positioned element whose parent gets a 3d transform dynamically is correctly re-positioned relative to the parent.&lt;/p&gt;

You probably meant to say that &quot;&lt;p&gt;Tests that a ...&quot;.

&gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed2-expected.html:14
&gt; +        &lt;p&gt;That that a fixed positioned element whose parent dynamically looses its transformation is correctly re-positioned relative to the view.&lt;/p&gt;

You probably meant to say that &quot;&lt;p&gt;Tests that a ...&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960119</commentid>
    <comment_count>3</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-16 10:32:14 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 219272 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219272&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed-expected.html:6
&gt; &gt; +                window.internals.settings.setAcceleratedCompositingForFixedPositionEnabled(false);
&gt; 
&gt; What is the purpose of this line?
&gt; You could add the reason as a comment in the code.

At this moment, accelerated compositing is not yet enabled for fixed positioned elements that are part of the named flow.

&gt; 
&gt; &gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed-expected.html:17
&gt; &gt; +        &lt;p&gt;That that a fixed positioned element whose parent gets a 3d transform dynamically is correctly re-positioned relative to the parent.&lt;/p&gt;
&gt; 
&gt; You probably meant to say that &quot;&lt;p&gt;Tests that a ...&quot;.
&gt; 
&gt; &gt; LayoutTests/fast/regions/fixed-in-named-flow-cb-changed2-expected.html:14
&gt; &gt; +        &lt;p&gt;That that a fixed positioned element whose parent dynamically looses its transformation is correctly re-positioned relative to the view.&lt;/p&gt;
&gt; 
&gt; You probably meant to say that &quot;&lt;p&gt;Tests that a ...&quot;.

Right, thanks for catching this. I will change when i will land the patch (after review).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960533</commentid>
    <comment_count>4</comment_count>
      <attachid>219425</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-17 09:14:15 -0800</bug_when>
    <thetext>Created attachment 219425
Patch 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960540</commentid>
    <comment_count>5</comment_count>
      <attachid>219425</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-12-17 09:23:52 -0800</bug_when>
    <thetext>Comment on attachment 219425
Patch 2

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

&gt; Source/WebCore/rendering/FlowThreadController.cpp:290
&gt; +// The list of layers is returned already sorted by z-Index.

I think the word “already” only makes sense here if you know how the code used to work and so should be removed. The “I” in “z-index” should not be capitalized.

&gt; Source/WebCore/rendering/FlowThreadController.cpp:301
&gt; +        // Iterate over the lists of fixed positioned layers collected at flow thread layer level

I don’t understand how this comment adds to the readability of the code. A for loop already says “iterate”. The if statements already says “fixed position” and the variable name also says “fixed positioned layers”, albeit with “positioned” abbreviated to “pos”. The other variable name says “flow thread layer”. The comment just repeats exactly what the code says. Please omit such comments.

&gt; Source/WebCore/rendering/FlowThreadController.cpp:323
&gt; +    // Sort the fixed layers list

Same thing about this comment. Fine to write this as a placeholder before writing the code, but once you write the code the comment seems superfluous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960559</commentid>
    <comment_count>6</comment_count>
      <attachid>219429</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-17 10:08:39 -0800</bug_when>
    <thetext>Created attachment 219429
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960561</commentid>
    <comment_count>7</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-17 10:10:05 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 219425 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=219425&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/FlowThreadController.cpp:290
&gt; &gt; +// The list of layers is returned already sorted by z-Index.
&gt; 
&gt; I think the word “already” only makes sense here if you know how the code used to work and so should be removed. The “I” in “z-index” should not be capitalized.
&gt; 
&gt; &gt; Source/WebCore/rendering/FlowThreadController.cpp:301
&gt; &gt; +        // Iterate over the lists of fixed positioned layers collected at flow thread layer level
&gt; 
&gt; I don’t understand how this comment adds to the readability of the code. A for loop already says “iterate”. The if statements already says “fixed position” and the variable name also says “fixed positioned layers”, albeit with “positioned” abbreviated to “pos”. The other variable name says “flow thread layer”. The comment just repeats exactly what the code says. Please omit such comments.
&gt; 
&gt; &gt; Source/WebCore/rendering/FlowThreadController.cpp:323
&gt; &gt; +    // Sort the fixed layers list
&gt; 
&gt; Same thing about this comment. Fine to write this as a placeholder before writing the code, but once you write the code the comment seems superfluous.

Thank you for the review. I removed the unnecessary comments and changed the first comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960572</commentid>
    <comment_count>8</comment_count>
      <attachid>219429</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-17 10:42:54 -0800</bug_when>
    <thetext>Comment on attachment 219429
Patch for landing

Clearing flags on attachment: 219429

Committed r160717: &lt;http://trac.webkit.org/changeset/160717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960573</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-17 10:42:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960584</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-12-17 11:11:29 -0800</bug_when>
    <thetext>This seems to have broken 3 tests:
http://build.webkit.org/results/Apple%20Mavericks%20Release%20WK1%20(Tests)/r160717%20(1758)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960605</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-17 11:45:33 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 125863</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960623</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-17 12:11:43 -0800</bug_when>
    <thetext>Rolled out in &lt;http://trac.webkit.org/changeset/160720&gt;.

I think that it&apos;s only the two new tests that were broken, fast/frames/sandboxed-iframe-navigation-allowed.html passed on the next run, so it&apos;s probably a flake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960627</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-12-17 12:21:27 -0800</bug_when>
    <thetext>Looks like there were assertion failures too:

http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r160718%20(1142)/results.html

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.JavaScriptCore      	0x000000010bb7cb2a WTFCrash + 42 (Assertions.cpp:341)
1   com.apple.WebCore             	0x000000010da55f42 WebCore::RenderLayer::negZOrderList() const + 82 (RenderLayer.h:550)
2   com.apple.WebCore             	0x000000010da54c5f WebCore::FlowThreadController::collectFixedPositionedLayers(WTF::Vector&lt;WebCore::RenderLayer*, 0ul, WTF::CrashOnOverflow&gt;&amp;) const + 223 (FlowThreadController.cpp:302)
3   com.apple.WebCore             	0x000000010e8ac488 WebCore::RenderLayer::paintFixedLayersInNamedFlows(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 136 (RenderLayer.cpp:4048)
4   com.apple.WebCore             	0x000000010e8ab79b WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2347 (RenderLayer.cpp:4185)
5   com.apple.WebCore             	0x000000010e8aae68 WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 264 (RenderLayer.cpp:3896)
6   com.apple.WebCore             	0x000000010e8a9d3c WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 1612 (RenderLayer.cpp:3877)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960855</commentid>
    <comment_count>14</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2013-12-17 22:59:13 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; Looks like there were assertion failures too:
&gt; 
&gt; http://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r160718%20(1142)/results.html
&gt; 
&gt; Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
&gt; 0   com.apple.JavaScriptCore          0x000000010bb7cb2a WTFCrash + 42 (Assertions.cpp:341)
&gt; 1   com.apple.WebCore                 0x000000010da55f42 WebCore::RenderLayer::negZOrderList() const + 82 (RenderLayer.h:550)
&gt; 2   com.apple.WebCore                 0x000000010da54c5f WebCore::FlowThreadController::collectFixedPositionedLayers(WTF::Vector&lt;WebCore::RenderLayer*, 0ul, WTF::CrashOnOverflow&gt;&amp;) const + 223 (FlowThreadController.cpp:302)
&gt; 3   com.apple.WebCore                 0x000000010e8ac488 WebCore::RenderLayer::paintFixedLayersInNamedFlows(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 136 (RenderLayer.cpp:4048)
&gt; 4   com.apple.WebCore                 0x000000010e8ab79b WebCore::RenderLayer::paintLayerContents(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 2347 (RenderLayer.cpp:4185)
&gt; 5   com.apple.WebCore                 0x000000010e8aae68 WebCore::RenderLayer::paintLayerContentsAndReflection(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 264 (RenderLayer.cpp:3896)
&gt; 6   com.apple.WebCore                 0x000000010e8a9d3c WebCore::RenderLayer::paintLayer(WebCore::GraphicsContext*, WebCore::RenderLayer::LayerPaintingInfo const&amp;, unsigned int) + 1612 (RenderLayer.cpp:3877)

Thanks, investigating. Looks like it hits the assertion only on WebKit1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965910</commentid>
    <comment_count>15</comment_count>
      <attachid>220740</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-09 08:15:21 -0800</bug_when>
    <thetext>Created attachment 220740
Patch 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>966483</commentid>
    <comment_count>16</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-10 11:36:35 -0800</bug_when>
    <thetext>Darin, would you like to review this one too please? I managed to fix the assertions in the debug build from the previous fix you reviewed as well as fixing the paths in the tests.

Thank you</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>967843</commentid>
    <comment_count>17</comment_count>
      <attachid>221165</attachid>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2014-01-14 08:26:25 -0800</bug_when>
    <thetext>Created attachment 221165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968175</commentid>
    <comment_count>18</comment_count>
      <attachid>221165</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 22:39:29 -0800</bug_when>
    <thetext>Comment on attachment 221165
Patch

Clearing flags on attachment: 221165

Committed r162050: &lt;http://trac.webkit.org/changeset/162050&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968176</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-14 22:39:32 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219272</attachid>
            <date>2013-12-14 22:55:11 -0800</date>
            <delta_ts>2013-12-17 10:08:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>125756.patch</filename>
            <type>text/plain</type>
            <size>12367</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAzODI2Mzg2Li4zYzYyMDc2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMTIt
MTQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgQ29sbGVj
dCB0aGUgZml4ZWQgbGF5ZXJzIGFscmVhZHkgc29ydGVkCisKKyAgICAgICAgW0NTU1JlZ2lvbnNd
IEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1lZCBwYXJl
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc1
NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0
ZXN0cyBmb3IgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHBhcmVudCB0aGF0Ogor
ICAgICAgICAxLiBkeW5hbWljYWxseSBnZXRzIGEgdHJhbnNmb3JtLCBpbiB3aGljaCBjYXNlIHRo
ZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAgICAgICAg
cmVsYXRpdmUgdG8gaXRzIHBhcmVudAorICAgICAgICAyLiBkeW5hbWljYWxseSBsb3NlcyBpdHMg
dHJhbnNmb3JtLCBpbiB3aGljaCBjYXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hv
dWxkIGJlIHBvc2l0aW9uZWQKKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIHZpZXcuCisKKyAgICAg
ICAgKiBmYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93
LWNiLWNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2ZpeGVkLWlu
LW5hbWVkLWZsb3ctY2ItY2hhbmdlZDItZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDIuaHRtbDogQWRkZWQu
CisKIDIwMTMtMTItMTMgIE1pY2hhxYIgUGFrdcWCYSB2ZWwgUnV0a2EgIDxtLnBha3VsYUBzYW1z
dW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIEVGTCBnYXJkZW5pbmcKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1m
bG93LWNiLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi5hMzE0YzdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC1leHBlY3RlZC5odG1sCkBAIC0wLDAg
KzEsMjMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxz
Y3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JG
aXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8
c3R5bGU+CisgICAgICAgICAgICAjcGFyZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1
MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAgICAg
ICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyB3
aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorCisg
ICAgICAgICAgICAudHJhbnNmb3JtZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAx
LCAxKTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAgICAg
ICAgPHA+VGhhdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBhcmVudCBn
ZXRzIGEgM2QgdHJhbnNmb3JtIGR5bmFtaWNhbGx5IGlzIGNvcnJlY3RseSByZS1wb3NpdGlvbmVk
IHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ug
c2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwvcD4KKyAgICAgICAgPGRp
diBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0i
Zml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1j
aGFuZ2VkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxv
dy1jYi1jaGFuZ2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTky
YmI0NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1p
bi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbApAQCAtMCwwICsxLDM2IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQo
ZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAg
I3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyMDBweDsgbGVmdDogMjAwcHg7IHdpZHRo
OiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDt9CisKKyAgICAgICAg
ICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyB9
CisKKyAgICAgICAgICAgICNwYXJlbnQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRp
b246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0
OiAxMDBweDsgfQorCisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDog
NTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1j
b2xvcjogZ3JlZW47IH0KKworICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFu
c2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+
CisgICAgPGJvZHk+CisgICAgICAgIDxwPlRoYXQgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudCB3aG9zZSBwYXJlbnQgZ2V0cyBhIDNkIHRyYW5zZm9ybSBkeW5hbWljYWxseSBpcyBjb3Jy
ZWN0bHkgcmUtcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgcGFyZW50LjwvcD4KKyAgICAgICAg
PHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJl
ZC48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InBh
cmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2
PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAg
ICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgicGFyZW50IikuY2xhc3NOYW1lID0gInRyYW5zZm9ybWVkIjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgd2luZG93LnNldFRpbWVvdXQodGVzdCwgMCk7CisgICAgICAg
IDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFu
Z2VkMi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQw
M2Q4N2YKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTggQEAK
KzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+Cisg
ICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0
aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+Cisg
ICAgICAgICAgICAjZ3JlZW4geyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBw
eDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47fQor
ICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKworICAgICAgICA8cD5U
aGF0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcGFyZW50IGR5bmFtaWNh
bGx5IGxvb3NlcyBpdHMgdHJhbnNmb3JtYXRpb24gaXMgY29ycmVjdGx5IHJlLXBvc2l0aW9uZWQg
cmVsYXRpdmUgdG8gdGhlIHZpZXcuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hv
dWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwvcD4KKyAgICAgICAgPGRpdiBp
ZD0iZ3JlZW4iPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2Vk
Mi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYTk2ZTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxv
dy1jYi1jaGFuZ2VkMi5odG1sCkBAIC0wLDAgKzEsMzkgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9z
aXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBoZWln
aHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDt9CisKKyAgICAgICAgICAgICNyZWdpb24g
eyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4
OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyB9CisKKyAgICAgICAg
ICAgICNwYXJlbnQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQor
CisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDog
NTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47
IH0KKworICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxl
M2QoMSwgMSwgMSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+
CisKKyAgICAgICAgPHA+VGhhdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3Nl
IHBhcmVudCBkeW5hbWljYWxseSBsb29zZXMgaXRzIHRyYW5zZm9ybWF0aW9uIGlzIGNvcnJlY3Rs
eSByZS1wb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3LjwvcD4KKyAgICAgICAgPHA+T24g
c3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+
CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudCIg
Y2xhc3M9InRyYW5zZm9ybWVkIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4K
KyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKworICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgICAg
ICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50IikuY2xhc3NOYW1lID0gIiI7Cisg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KHRlc3QsIDApOwor
ICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2Ni
MzhiNC4uOTI3NDE2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEyLTE0ICBN
aWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIENvbGxlY3QgdGhl
IGZpeGVkIGxheWVycyBhbHJlYWR5IHNvcnRlZAorCisgICAgICAgIFtDU1NSZWdpb25zXSBJbmNv
cnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGggdHJhbnNmb3JtZWQgcGFyZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3NTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0czogZmFz
dC9yZWdpb25zL2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1sCisgICAgICAgICAg
ICAgICBmYXN0L3JlZ2lvbnMvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sCisK
KyAgICAgICAgV2hlbiBjb2xsZWN0aW5nIHRoZSBsYXllcnMgZm9yIGZpeGVkIHBvc2l0aW9uZWQg
ZWxlbWVudHMgd2l0aCBuYW1lZCBmbG93CisgICAgICAgIGFzIGEgY29udGFpbmluZyBibG9jaywg
dXNlIGxheWVycyBjb2xsZWN0aW9uIGF0IG5hbWVkIGZsb3cgbGF5ZXIgbGV2ZWwKKyAgICAgICAg
aW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBwb3NpdGlvbmVkIGVsZW1lbnRzIGNvbGxlY3Rpb24u
CisKKyAgICAgICAgTW9kaWZpZWQgYWxzbyBGbG93VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZp
eGVkUG9zaXRpb25lZExheWVycyBmdW5jdGlvbgorICAgICAgICB0byBhbHdheXMgcmV0dXJuIHRo
ZSBsYXllcnMgc29ydGVkIGJ5IHotaW5kZXgsIGFzIHRoaXMgb3BlcmF0aW9uIHdhcyBhbHdheXMK
KyAgICAgICAgZG9uZSBhdCB0aGUgY2FsbCBzaXRlcy4KKworICAgICAgICAqIHJlbmRlcmluZy9G
bG93VGhyZWFkQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wYXJlWkluZGV4
KToKKyAgICAgICAgKFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQ
b3NpdGlvbmVkTGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50Rml4ZWRMYXllcnNJbk5hbWVkRmxv
d3MpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RGaXhlZExheWVyc0lu
TmFtZWRGbG93cyk6CisKIDIwMTMtMTItMTMgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNp
YUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEV4cG9zZSBhbHNvIHdlYmtpdF9kb21fZG9j
dW1lbnRfZ2V0X3VybApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dU
aHJlYWRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFk
Q29udHJvbGxlci5jcHAKaW5kZXggNzU4ZWMyZC4uMjg4OTQyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCkBAIC0yODAsOCArMjgw
LDE1IEBAIGJvb2wgRmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQ29udGVudEVsZW1lbnRSZWdpc3Rl
cmVkV2l0aEFueU5hbWVkRmxvdyhjb25zdCBFbGVtCiAgICAgcmV0dXJuIG1fbWFwTmFtZWRGbG93
Q29udGVudEVsZW1lbnQuY29udGFpbnMoJmNvbnRlbnRFbGVtZW50KTsKIH0KIAotLy8gQ29sbGVj
dCB0aGUgZml4ZWQgcG9zaXRpb25lZCBsYXllcnMgdGhhdCBoYXZlIHRoZSBuYW1lZCBmbG93cyBh
cyBjb250YWluaW5nIGJsb2NrCisvLyBIZWxwZXIgZm9yIHRoZSBzb3J0aW5nIG9mIGxheWVycyBi
eSB6LWluZGV4Lgorc3RhdGljIGlubGluZSBib29sIGNvbXBhcmVaSW5kZXgoUmVuZGVyTGF5ZXIq
IGZpcnN0LCBSZW5kZXJMYXllciogc2Vjb25kKQoreworICAgIHJldHVybiBmaXJzdC0+ekluZGV4
KCkgPCBzZWNvbmQtPnpJbmRleCgpOworfQorCisvLyBDb2xsZWN0IHRoZSBmaXhlZCBwb3NpdGlv
bmVkIGxheWVycyB0aGF0IGhhdmUgdGhlIG5hbWVkIGZsb3dzIGFzIGNvbnRhaW5pbmcgYmxvY2su
CiAvLyBUaGVzZSBsYXllcnMgYXJlIHBhaW50ZWQgYW5kIGhpdC10ZXN0ZWQgc3RhcnRpbmcgZnJv
bSBSZW5kZXJWaWV3IG5vdCBmcm9tIHJlZ2lvbnMuCisvLyBUaGUgbGlzdCBvZiBsYXllcnMgaXMg
cmV0dXJuZWQgYWxyZWFkeSBzb3J0ZWQgYnkgei1JbmRleC4KIHZvaWQgRmxvd1RocmVhZENvbnRy
b2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxheWVyKj4m
IGZpeGVkUG9zTGF5ZXJzKSBjb25zdAogewogICAgIGZvciAoYXV0byBpdGVyID0gbV9yZW5kZXJO
YW1lZEZsb3dUaHJlYWRMaXN0LT5iZWdpbigpLCBlbmQgPSBtX3JlbmRlck5hbWVkRmxvd1RocmVh
ZExpc3QtPmVuZCgpOyBpdGVyICE9IGVuZDsgKytpdGVyKSB7CkBAIC0yOTIsMTcgKzI5OSwzMCBA
QCB2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJz
KFZlY3RvcjxSZW5kZXJMYXllcio+JiBmaQogICAgICAgICBpZiAoIWZsb3dSZW5kZXJlci0+aGFz
UmVnaW9ucygpKQogICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgLy8gSXRlcmF0ZSBv
dmVyIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIGluIHRoZSBmbG93IHRocmVhZAotICAg
ICAgICBUcmFja2VkUmVuZGVyZXJMaXN0SGFzaFNldCogcG9zaXRpb25lZERlc2NlbmRhbnRzID0g
Zmxvd1JlbmRlcmVyLT5wb3NpdGlvbmVkT2JqZWN0cygpOwotICAgICAgICBpZiAocG9zaXRpb25l
ZERlc2NlbmRhbnRzKSB7Ci0gICAgICAgICAgICBmb3IgKGF1dG8gaXQgPSBwb3NpdGlvbmVkRGVz
Y2VuZGFudHMtPmJlZ2luKCksIGVuZCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+ZW5kKCk7IGl0
ICE9IGVuZDsgKytpdCkgewotICAgICAgICAgICAgICAgIFJlbmRlckJveCogYm94ID0gKml0Owot
ICAgICAgICAgICAgICAgIGlmICghYm94LT5maXhlZFBvc2l0aW9uZWRXaXRoTmFtZWRGbG93Q29u
dGFpbmluZ0Jsb2NrKCkpCisgICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgbGlzdHMgb2YgZml4
ZWQgcG9zaXRpb25lZCBsYXllcnMgY29sbGVjdGVkIGF0IGZsb3cgdGhyZWFkIGxheWVyIGxldmVs
CisgICAgICAgIFJlbmRlckxheWVyKiBmbG93VGhyZWFkTGF5ZXIgPSBmbG93UmVuZGVyZXItPmxh
eWVyKCk7CisKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0
ID0gZmxvd1RocmVhZExheWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKKyAgICAgICAgICAgIGZvciAo
c2l6ZV90IGkgPSAwLCBzaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwgc2l6ZTsgKytp
KSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IG5lZ1pPcmRlckxp
c3QtPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVyKCkuc3R5
bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCiAgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChib3gtPmxheWVy
KCkpOworICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJyTGF5ZXIpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXll
cio+KiBwb3NaT3JkZXJMaXN0ID0gZmxvd1RocmVhZExheWVyLT5wb3NaT3JkZXJMaXN0KCkpIHsK
KyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBzaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6
ZSgpOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJM
YXllciA9IHBvc1pPcmRlckxpc3QtPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5
ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJz
LmFwcGVuZChjdXJyTGF5ZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorCisg
ICAgLy8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKKyAgICBzdGQ6OnN0YWJsZV9zb3J0KGZp
eGVkUG9zTGF5ZXJzLmJlZ2luKCksIGZpeGVkUG9zTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4
KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCmluZGV4IDM2ZjBlY2MuLjQzZjk1MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcApAQCAtNDA0NCw5ICs0MDQ0LDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6
cGFpbnRGaXhlZExheWVyc0luTmFtZWRGbG93cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNv
bnN0IEwKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBmaXhlZExheWVyczsKICAgICByZW5kZXJl
cigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRM
YXllcnMoZml4ZWRMYXllcnMpOwogCi0gICAgLy8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QK
LSAgICBzdGQ6OnN0YWJsZV9zb3J0KGZpeGVkTGF5ZXJzLmJlZ2luKCksIGZpeGVkTGF5ZXJzLmVu
ZCgpLCBjb21wYXJlWkluZGV4KTsKLQogICAgIC8vIFBhaW50IHRoZSBsYXllcnMKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IGZpeGVkTGF5ZXJzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIFJl
bmRlckxheWVyKiBmaXhlZExheWVyID0gZml4ZWRMYXllcnMuYXQoaSk7CkBAIC00ODAwLDkgKzQ3
OTcsNiBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6OmhpdFRlc3RGaXhlZExheWVyc0luTmFt
ZWRGbG93cyhSZW5kZXJMYXllciogLypyb290TGF5ZQogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+
IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRlcmVyKCkudmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVy
KCkuY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhmaXhlZExheWVycyk7CiAKLSAgICAvLyBT
b3J0IHRoZSBmaXhlZCBsYXllcnMgbGlzdAotICAgIHN0ZDo6c3RhYmxlX3NvcnQoZml4ZWRMYXll
cnMuYmVnaW4oKSwgZml4ZWRMYXllcnMuZW5kKCksIGNvbXBhcmVaSW5kZXgpOwotCiAgICAgLy8g
SGl0IHRlc3QgdGhlIGxheWVycwogICAgIFJlbmRlckxheWVyKiByZXN1bHRMYXllciA9IDA7CiAg
ICAgZm9yIChpbnQgaSA9IGZpeGVkTGF5ZXJzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219425</attachid>
            <date>2013-12-17 09:14:15 -0800</date>
            <delta_ts>2013-12-17 10:08:27 -0800</delta_ts>
            <desc>Patch 2</desc>
            <filename>125756-2.patch</filename>
            <type>text/plain</type>
            <size>11571</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhNTZhMWU0Li5lMThmMmMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTMtMTIt
MTcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1l
ZCBwYXJlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNTc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0cyBmb3IgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHBhcmVudCB0
aGF0OgorICAgICAgICAxLiBkeW5hbWljYWxseSBnZXRzIGEgdHJhbnNmb3JtLCBpbiB3aGljaCBj
YXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAg
ICAgICAgcmVsYXRpdmUgdG8gaXRzIHBhcmVudAorICAgICAgICAyLiBkeW5hbWljYWxseSBsb3Nl
cyBpdHMgdHJhbnNmb3JtLCBpbiB3aGljaCBjYXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIHZpZXcuCisK
KyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNo
YW5nZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWlu
dC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWlu
LW5hbWVkLWZsb3ctY2ItY2hhbmdlZDIuaHRtbDogQWRkZWQuCisKIDIwMTMtMTItMTcgIE1hcmlv
IFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFkYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RL
XVtXSzJdIHJvd0F0SW5kZXggaXMgbm90IGltcGxlbWVudGVkIGluIERSVC9XS1RSCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93
LWNiLWNoYW5nZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFp
bnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGNkYjhiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFu
Z2VkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACisocmVwYWludCByZWN0cworICAocmVj
dCAxNTAgMTUwIDEwMCAxMDApCisgIChyZWN0IDUwIDUwIDUwIDUwKQorICAocmVjdCAxNTAgMTUw
IDEwMCAxMDApCisgIChyZWN0IDIwMCAyMDAgNTAgNTApCisgIChyZWN0IDEwMCAxMDAgMjAwIDIw
MCkKKyAgKHJlY3QgMTAwIDEwMCAyMDAgMjAwKQorICAocmVjdCAxMDAgMTAwIDIwMCAyMDApCisp
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWlu
LW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
cGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYjU0NGZmNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5o
dG1sCkBAIC0wLDAgKzEsMzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vcmVwYWludC9yZXNvdXJjZXMvdGV4dC1iYXNlZC1y
ZXBhaW50LmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3JlZCB7
IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAyMDBweDsgbGVmdDogMjAwcHg7IHdpZHRoOiA1MHB4
OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDt9CisKKyAgICAgICAgICAgICNy
ZWdpb24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6
IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyB9CisKKyAg
ICAgICAgICAgICNwYXJlbnQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFi
c29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBw
eDsgfQorCisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsg
bGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjog
Z3JlZW47IH0KKworICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06
IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAg
PGJvZHkgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKyAgICAgICAgPCEtLQorICAgICAgICBU
ZXN0IGZvciBXZWJLaXQgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI1NzU2CisgICAgICAgIFRoYXQgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCB3
aG9zZSBwYXJlbnQgZ2V0cyBhIDNkIHRyYW5zZm9ybSBkeW5hbWljYWxseSBpcyBjb3JyZWN0bHkg
cmUtcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgcGFyZW50LgorICAgICAgICBPbiBzdWNjZXNz
LCB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLgorICAgICAgICAt
LT4KKyAgICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50
Ij4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+Cisg
ICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAg
ICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicGFyZW50IikuY2xhc3NOYW1lID0gInRyYW5zZm9ybWVkIjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxv
dy1jYi1jaGFuZ2VkMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVw
YWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iN2VlYjEwCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1j
aGFuZ2VkMi1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisocmVwYWludCByZWN0cworICAo
cmVjdCA1MCA1MCA1MCA1MCkKKyAgKHJlY3QgMTAwIDEwMCAyMDAgMjAwKQorKQorCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93
LWNiLWNoYW5nZWQyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhl
ZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uZDdiYmQ1OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
cmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDIuaHRtbApAQCAt
MCwwICsxLDQwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAg
ICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5n
Rm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAg
ICAgPHNjcmlwdCBzcmM9Ii4uL3JlcGFpbnQvcmVzb3VyY2VzL3RleHQtYmFzZWQtcmVwYWludC5q
cyI+PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlv
bjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDog
NTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkO30KKworICAgICAgICAgICAgI3JlZ2lvbiB7IC13
ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxl
ZnQ6IDEwMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IH0KKworICAgICAgICAgICAg
I3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRv
cDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAg
ICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4
OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQor
CisgICAgICAgICAgICAudHJhbnNmb3JtZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgx
LCAxLCAxKTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxv
YWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICAgICAgICA8IS0tCisgICAgICAgIFRlc3QgZm9yIFdl
YktpdCBidWc6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3NTYK
KyAgICAgICAgVGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBhcmVu
dCBkeW5hbWljYWxseSBsb29zZXMgaXRzIHRyYW5zZm9ybWF0aW9uIGlzIGNvcnJlY3RseSByZS1w
b3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3LgorICAgICAgICBPbiBzdWNjZXNzLCB5b3Ug
c2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLgorICAgICAgICAtLT4KKyAg
ICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icGFyZW50IiBjbGFz
cz0idHJhbnNmb3JtZWQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAg
ICAgICA8L2Rpdj4KKworICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorCisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBmdW5jdGlvbiByZXBhaW50VGVzdCgpIHsKKyAgICAgICAg
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicGFyZW50IikuY2xhc3NOYW1lID0gIiI7
CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBhMGZhNDJiLi5kNGY3YTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTMtMTItMTcgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAg
ICAgICAgW0NTU1JlZ2lvbnNdIEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0
aCB0cmFuc2Zvcm1lZCBwYXJlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNTc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdoZW4gY29sbGVjdGluZyB0aGUgbGF5ZXJzIGZvciBmaXhlZCBwb3NpdGlv
bmVkIGVsZW1lbnRzIHdpdGggbmFtZWQgZmxvdworICAgICAgICBhcyBhIGNvbnRhaW5pbmcgYmxv
Y2ssIHVzZSBsYXllcnMgY29sbGVjdGlvbiBhdCBuYW1lZCBmbG93IGxheWVyIGxldmVsCisgICAg
ICAgIGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgcG9zaXRpb25lZCBlbGVtZW50cyBjb2xsZWN0
aW9uLgorCisgICAgICAgIE1vZGlmaWVkIGFsc28gRmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxl
Y3RGaXhlZFBvc2l0aW9uZWRMYXllcnMgZnVuY3Rpb24KKyAgICAgICAgdG8gYWx3YXlzIHJldHVy
biB0aGUgbGF5ZXJzIHNvcnRlZCBieSB6LWluZGV4LCBhcyB0aGlzIG9wZXJhdGlvbiB3YXMgYWx3
YXlzCisgICAgICAgIGRvbmUgYXQgdGhlIGNhbGwgc2l0ZXMuCisKKyAgICAgICAgVGVzdHM6IGZh
c3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1sCisg
ICAgICAgICAgICAgICBmYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNi
LWNoYW5nZWQyLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb21wYXJlWkluZGV4KToKKyAgICAgICAgKFdlYkNv
cmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKToK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OnBhaW50Rml4ZWRMYXllcnNJbk5hbWVkRmxvd3MpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RGaXhlZExheWVyc0luTmFtZWRGbG93cyk6CisKIDIw
MTMtMTItMTcgIFNpbW9uIFBlbmEgIDxzaW1vbi5wZW5hQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtOSVhdIEVuYWJsZSBmdWxsIGRlYnVnIGJ1aWxkcyBieSBoYXZpbmcgYXIgY3JlYXRpbmcgdGhp
biBhcmNoaXZlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJl
YWRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29u
dHJvbGxlci5jcHAKaW5kZXggNzU4ZWMyZC4uMjM2YTQzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCkBAIC0yOCw3ICsyOCw2IEBA
CiAgKi8KIAogI2luY2x1ZGUgImNvbmZpZy5oIgotCiAjaW5jbHVkZSAiRmxvd1RocmVhZENvbnRy
b2xsZXIuaCIKIAogI2luY2x1ZGUgIk5hbWVkRmxvd0NvbGxlY3Rpb24uaCIKQEAgLTI4MCw4ICsy
NzksMTUgQEAgYm9vbCBGbG93VGhyZWFkQ29udHJvbGxlcjo6aXNDb250ZW50RWxlbWVudFJlZ2lz
dGVyZWRXaXRoQW55TmFtZWRGbG93KGNvbnN0IEVsZW0KICAgICByZXR1cm4gbV9tYXBOYW1lZEZs
b3dDb250ZW50RWxlbWVudC5jb250YWlucygmY29udGVudEVsZW1lbnQpOwogfQogCi0vLyBDb2xs
ZWN0IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGxheWVycyB0aGF0IGhhdmUgdGhlIG5hbWVkIGZsb3dz
IGFzIGNvbnRhaW5pbmcgYmxvY2sKKy8vIEhlbHBlciBmb3IgdGhlIHNvcnRpbmcgb2YgbGF5ZXJz
IGJ5IHotaW5kZXguCitzdGF0aWMgaW5saW5lIGJvb2wgY29tcGFyZVpJbmRleChSZW5kZXJMYXll
ciogZmlyc3QsIFJlbmRlckxheWVyKiBzZWNvbmQpCit7CisgICAgcmV0dXJuIGZpcnN0LT56SW5k
ZXgoKSA8IHNlY29uZC0+ekluZGV4KCk7Cit9CisKKy8vIENvbGxlY3QgdGhlIGZpeGVkIHBvc2l0
aW9uZWQgbGF5ZXJzIHRoYXQgaGF2ZSB0aGUgbmFtZWQgZmxvd3MgYXMgY29udGFpbmluZyBibG9j
ay4KIC8vIFRoZXNlIGxheWVycyBhcmUgcGFpbnRlZCBhbmQgaGl0LXRlc3RlZCBzdGFydGluZyBm
cm9tIFJlbmRlclZpZXcgbm90IGZyb20gcmVnaW9ucy4KKy8vIFRoZSBsaXN0IG9mIGxheWVycyBp
cyByZXR1cm5lZCBhbHJlYWR5IHNvcnRlZCBieSB6LUluZGV4Lgogdm9pZCBGbG93VGhyZWFkQ29u
dHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIq
PiYgZml4ZWRQb3NMYXllcnMpIGNvbnN0CiB7CiAgICAgZm9yIChhdXRvIGl0ZXIgPSBtX3JlbmRl
ck5hbWVkRmxvd1RocmVhZExpc3QtPmJlZ2luKCksIGVuZCA9IG1fcmVuZGVyTmFtZWRGbG93VGhy
ZWFkTGlzdC0+ZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKQEAgLTI5MiwxNyArMjk4LDMw
IEBAIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXll
cnMoVmVjdG9yPFJlbmRlckxheWVyKj4mIGZpCiAgICAgICAgIGlmICghZmxvd1JlbmRlcmVyLT5o
YXNSZWdpb25zKCkpCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAvLyBJdGVyYXRl
IG92ZXIgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgaW4gdGhlIGZsb3cgdGhyZWFkCi0g
ICAgICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNoU2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMg
PSBmbG93UmVuZGVyZXItPnBvc2l0aW9uZWRPYmplY3RzKCk7Ci0gICAgICAgIGlmIChwb3NpdGlv
bmVkRGVzY2VuZGFudHMpIHsKLSAgICAgICAgICAgIGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWRE
ZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsg
aXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSAqaXQ7
Ci0gICAgICAgICAgICAgICAgaWYgKCFib3gtPmZpeGVkUG9zaXRpb25lZFdpdGhOYW1lZEZsb3dD
b250YWluaW5nQmxvY2soKSkKKyAgICAgICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBsaXN0cyBvZiBm
aXhlZCBwb3NpdGlvbmVkIGxheWVycyBjb2xsZWN0ZWQgYXQgZmxvdyB0aHJlYWQgbGF5ZXIgbGV2
ZWwKKyAgICAgICAgUmVuZGVyTGF5ZXIqIGZsb3dUaHJlYWRMYXllciA9IGZsb3dSZW5kZXJlci0+
bGF5ZXIoKTsKKworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxp
c3QgPSBmbG93VGhyZWFkTGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAgZm9y
IChzaXplX3QgaSA9IDAsIHNpemUgPSBuZWdaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyAr
K2kpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gbmVnWk9yZGVy
TGlzdC0+YXQoaSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5z
dHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAg
Y29udGludWU7Ci0gICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGJveC0+bGF5
ZXIoKSk7CisgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7
CisgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxh
eWVyKj4qIHBvc1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkg
eworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5z
aXplKCk7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3Vy
ckxheWVyID0gcG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJM
YXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKKyAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXll
cnMuYXBwZW5kKGN1cnJMYXllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisK
KyAgICAvLyBTb3J0IHRoZSBmaXhlZCBsYXllcnMgbGlzdAorICAgIHN0ZDo6c3RhYmxlX3NvcnQo
Zml4ZWRQb3NMYXllcnMuYmVnaW4oKSwgZml4ZWRQb3NMYXllcnMuZW5kKCksIGNvbXBhcmVaSW5k
ZXgpOwogfQogCiAjaWZuZGVmIE5ERUJVRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggMDQ1YWE3NS4uZjQ4OGJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC00MDQ0LDkgKzQwNDQsNiBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludEZpeGVkTGF5ZXJzSW5OYW1lZEZsb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgTAogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRl
cmVyKCkudmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25l
ZExheWVycyhmaXhlZExheWVycyk7CiAKLSAgICAvLyBTb3J0IHRoZSBmaXhlZCBsYXllcnMgbGlz
dAotICAgIHN0ZDo6c3RhYmxlX3NvcnQoZml4ZWRMYXllcnMuYmVnaW4oKSwgZml4ZWRMYXllcnMu
ZW5kKCksIGNvbXBhcmVaSW5kZXgpOwotCiAgICAgLy8gUGFpbnQgdGhlIGxheWVycwogICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgZml4ZWRMYXllcnMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAg
UmVuZGVyTGF5ZXIqIGZpeGVkTGF5ZXIgPSBmaXhlZExheWVycy5hdChpKTsKQEAgLTQ3OTQsOSAr
NDc5MSw2IEBAIFJlbmRlckxheWVyKiBSZW5kZXJMYXllcjo6aGl0VGVzdEZpeGVkTGF5ZXJzSW5O
YW1lZEZsb3dzKFJlbmRlckxheWVyKiAvKnJvb3RMYXllCiAgICAgVmVjdG9yPFJlbmRlckxheWVy
Kj4gZml4ZWRMYXllcnM7CiAgICAgcmVuZGVyZXIoKS52aWV3KCkuZmxvd1RocmVhZENvbnRyb2xs
ZXIoKS5jb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKGZpeGVkTGF5ZXJzKTsKIAotICAgIC8v
IFNvcnQgdGhlIGZpeGVkIGxheWVycyBsaXN0Ci0gICAgc3RkOjpzdGFibGVfc29ydChmaXhlZExh
eWVycy5iZWdpbigpLCBmaXhlZExheWVycy5lbmQoKSwgY29tcGFyZVpJbmRleCk7Ci0KICAgICAv
LyBIaXQgdGVzdCB0aGUgbGF5ZXJzCiAgICAgUmVuZGVyTGF5ZXIqIHJlc3VsdExheWVyID0gMDsK
ICAgICBmb3IgKGludCBpID0gZml4ZWRMYXllcnMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219429</attachid>
            <date>2013-12-17 10:08:39 -0800</date>
            <delta_ts>2014-01-09 08:15:21 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-125756-20131217200934.patch</filename>
            <type>text/plain</type>
            <size>11977</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNzA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBmYTQyYmQ1ZTNlOTg3
YTkzOTdiYjJlYTYzZjc5ZmViYTVkMjMzNi4uZjMzNWI3N2JhZDQzYTRkOTZiZTU1YTU3Y2FhOGQ2
Mzg0MzQ0NmU0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTEyLTE3ICBNaWhu
ZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSBJ
bmNvcnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGggdHJhbnNmb3JtZWQgcGFyZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3NTYK
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBXaGVuIGNvbGxl
Y3RpbmcgdGhlIGxheWVycyBmb3IgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyB3aXRoIG5hbWVk
IGZsb3cKKyAgICAgICAgYXMgYSBjb250YWluaW5nIGJsb2NrLCB1c2UgbGF5ZXJzIGNvbGxlY3Rp
b24gYXQgbmFtZWQgZmxvdyBsYXllciBsZXZlbAorICAgICAgICBpbnN0ZWFkIG9mIHJlbHlpbmcg
b24gdGhlIHBvc2l0aW9uZWQgZWxlbWVudHMgY29sbGVjdGlvbi4KKworICAgICAgICBNb2RpZmll
ZCBhbHNvIEZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJz
IGZ1bmN0aW9uCisgICAgICAgIHRvIGFsd2F5cyByZXR1cm4gdGhlIGxheWVycyBzb3J0ZWQgYnkg
ei1pbmRleCwgYXMgdGhpcyBvcGVyYXRpb24gd2FzIGFsd2F5cworICAgICAgICBkb25lIGF0IHRo
ZSBjYWxsIHNpdGVzLgorCisgICAgICAgIFRlc3RzOiBmYXN0L3JlZ2lvbnMvcmVwYWludC9maXhl
ZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9yZWdp
b25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Y29tcGFyZVpJbmRleCk6CisgICAgICAgIChXZWJDb3JlOjpGbG93VGhyZWFkQ29udHJvbGxl
cjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyk6CisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludEZpeGVk
TGF5ZXJzSW5OYW1lZEZsb3dzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRU
ZXN0Rml4ZWRMYXllcnNJbk5hbWVkRmxvd3MpOgorCiAyMDEzLTEyLTE3ICBTaW1vbiBQZW5hICA8
c2ltb24ucGVuYUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbTklYXSBFbmFibGUgZnVsbCBkZWJ1
ZyBidWlsZHMgYnkgaGF2aW5nIGFyIGNyZWF0aW5nIHRoaW4gYXJjaGl2ZXMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwCmluZGV4IDc1OGVj
MmRmODI4MzA2YWQ4NmJmNWJkMzE0MzM4Y2EwMTk0YTYzYmIuLjZkMTcyNDdiZDMxNjY2ZGUxYzc2
NGY1MTg0NDQxNmY1NWFiNzE0MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9GbG93VGhyZWFkQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcApAQCAtMjgsNyArMjgsNiBAQAogICovCiAKICNpbmNs
dWRlICJjb25maWcuaCIKLQogI2luY2x1ZGUgIkZsb3dUaHJlYWRDb250cm9sbGVyLmgiCiAKICNp
bmNsdWRlICJOYW1lZEZsb3dDb2xsZWN0aW9uLmgiCkBAIC0yODAsOCArMjc5LDE1IEBAIGJvb2wg
Rmxvd1RocmVhZENvbnRyb2xsZXI6OmlzQ29udGVudEVsZW1lbnRSZWdpc3RlcmVkV2l0aEFueU5h
bWVkRmxvdyhjb25zdCBFbGVtCiAgICAgcmV0dXJuIG1fbWFwTmFtZWRGbG93Q29udGVudEVsZW1l
bnQuY29udGFpbnMoJmNvbnRlbnRFbGVtZW50KTsKIH0KIAotLy8gQ29sbGVjdCB0aGUgZml4ZWQg
cG9zaXRpb25lZCBsYXllcnMgdGhhdCBoYXZlIHRoZSBuYW1lZCBmbG93cyBhcyBjb250YWluaW5n
IGJsb2NrCisvLyBIZWxwZXIgZm9yIHRoZSBzb3J0aW5nIG9mIGxheWVycyBieSB6LWluZGV4Lgor
c3RhdGljIGlubGluZSBib29sIGNvbXBhcmVaSW5kZXgoUmVuZGVyTGF5ZXIqIGZpcnN0LCBSZW5k
ZXJMYXllciogc2Vjb25kKQoreworICAgIHJldHVybiBmaXJzdC0+ekluZGV4KCkgPCBzZWNvbmQt
PnpJbmRleCgpOworfQorCisvLyBDb2xsZWN0IHRoZSBmaXhlZCBwb3NpdGlvbmVkIGxheWVycyB0
aGF0IGhhdmUgdGhlIG5hbWVkIGZsb3dzIGFzIGNvbnRhaW5pbmcgYmxvY2suCiAvLyBUaGVzZSBs
YXllcnMgYXJlIHBhaW50ZWQgYW5kIGhpdC10ZXN0ZWQgc3RhcnRpbmcgZnJvbSBSZW5kZXJWaWV3
IG5vdCBmcm9tIHJlZ2lvbnMuCisvLyBUaGUgbGlzdCBvZiBsYXllcnMgaXMgcmV0dXJuZWQgc29y
dGVkIGJ5IHotaW5kZXguCiB2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xsZWN0Rml4ZWRQ
b3NpdGlvbmVkTGF5ZXJzKFZlY3RvcjxSZW5kZXJMYXllcio+JiBmaXhlZFBvc0xheWVycykgY29u
c3QKIHsKICAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVuZGVyTmFtZWRGbG93VGhyZWFkTGlzdC0+
YmVnaW4oKSwgZW5kID0gbV9yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0LT5lbmQoKTsgaXRlciAh
PSBlbmQ7ICsraXRlcikgewpAQCAtMjkyLDE3ICsyOTgsMjcgQEAgdm9pZCBGbG93VGhyZWFkQ29u
dHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIq
PiYgZmkKICAgICAgICAgaWYgKCFmbG93UmVuZGVyZXItPmhhc1JlZ2lvbnMoKSkKICAgICAgICAg
ICAgIGNvbnRpbnVlOwogCi0gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgZml4ZWQgcG9zaXRp
b25lZCBlbGVtZW50cyBpbiB0aGUgZmxvdyB0aHJlYWQKLSAgICAgICAgVHJhY2tlZFJlbmRlcmVy
TGlzdEhhc2hTZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IGZsb3dSZW5kZXJlci0+cG9zaXRp
b25lZE9iamVjdHMoKTsKLSAgICAgICAgaWYgKHBvc2l0aW9uZWREZXNjZW5kYW50cykgewotICAg
ICAgICAgICAgZm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpLCBl
bmQgPSBwb3NpdGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAg
ICAgICAgICAgICAgICBSZW5kZXJCb3gqIGJveCA9ICppdDsKLSAgICAgICAgICAgICAgICBpZiAo
IWJveC0+Zml4ZWRQb3NpdGlvbmVkV2l0aE5hbWVkRmxvd0NvbnRhaW5pbmdCbG9jaygpKQorICAg
ICAgICBSZW5kZXJMYXllciogZmxvd1RocmVhZExheWVyID0gZmxvd1JlbmRlcmVyLT5sYXllcigp
OworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBmbG93
VGhyZWFkTGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDAsIHNpemUgPSBuZWdaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kpIHsKKyAg
ICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gbmVnWk9yZGVyTGlzdC0+YXQo
aSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnBv
c2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7
Ci0gICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGJveC0+bGF5ZXIoKSk7Cisg
ICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBv
c1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgeworICAgICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7IGkg
PCBzaXplOyArK2kpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0g
cG9zWk9yZGVyTGlzdC0+YXQoaSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVu
ZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKKyAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5k
KGN1cnJMYXllcik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CisKKyAgICBzdGQ6
OnN0YWJsZV9zb3J0KGZpeGVkUG9zTGF5ZXJzLmJlZ2luKCksIGZpeGVkUG9zTGF5ZXJzLmVuZCgp
LCBjb21wYXJlWkluZGV4KTsKIH0KIAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDA0NWFhNzU1ZDc4YTUxMzkzNTg2N2Y2N2YxNGJj
ZDE2ZDM5OTVlMGYuLmY0ODhiZjhiMWE4MTBlYjU2Y2ZmYzc2MzgxMWU0Mzg2MTAwOTlkNjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDA0NCw5ICs0MDQ0
LDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRGaXhlZExheWVyc0luTmFtZWRGbG93cyhHcmFw
aGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEwKICAgICBWZWN0b3I8UmVuZGVyTGF5ZXIqPiBm
aXhlZExheWVyczsKICAgICByZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJvbGxlcigp
LmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwogCi0gICAgLy8gU29y
dCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKLSAgICBzdGQ6OnN0YWJsZV9zb3J0KGZpeGVkTGF5ZXJz
LmJlZ2luKCksIGZpeGVkTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4KTsKLQogICAgIC8vIFBh
aW50IHRoZSBsYXllcnMKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZpeGVkTGF5ZXJzLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIFJlbmRlckxheWVyKiBmaXhlZExheWVyID0gZml4ZWRMYXll
cnMuYXQoaSk7CkBAIC00Nzk0LDkgKzQ3OTEsNiBAQCBSZW5kZXJMYXllciogUmVuZGVyTGF5ZXI6
OmhpdFRlc3RGaXhlZExheWVyc0luTmFtZWRGbG93cyhSZW5kZXJMYXllciogLypyb290TGF5ZQog
ICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRlcmVyKCkudmll
dygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhm
aXhlZExheWVycyk7CiAKLSAgICAvLyBTb3J0IHRoZSBmaXhlZCBsYXllcnMgbGlzdAotICAgIHN0
ZDo6c3RhYmxlX3NvcnQoZml4ZWRMYXllcnMuYmVnaW4oKSwgZml4ZWRMYXllcnMuZW5kKCksIGNv
bXBhcmVaSW5kZXgpOwotCiAgICAgLy8gSGl0IHRlc3QgdGhlIGxheWVycwogICAgIFJlbmRlckxh
eWVyKiByZXN1bHRMYXllciA9IDA7CiAgICAgZm9yIChpbnQgaSA9IGZpeGVkTGF5ZXJzLnNpemUo
KSAtIDE7IGkgPj0gMDsgLS1pKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTU2YTFlNGE4YTBmOWJhMTRmOTFhNDBjMzg4
ODZjMGZlNGFkMmRkYS4uOWRlYzliZjIzZGEzYTExOWFlZGVkMjdkYTA5MTUyODc0NzhiMjgwYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTEyLTE3ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhu
ZWFAYWRvYmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSBJbmNvcnJlY3QgcmVwYWludCBv
ZiBmaXhlZCBlbGVtZW50IHdpdGggdHJhbnNmb3JtZWQgcGFyZW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3NTYKKworICAgICAgICBSZXZpZXdl
ZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGVzdHMgZm9yIGEgZml4ZWQgcG9zaXRp
b25lZCBlbGVtZW50IHdpdGggYSBwYXJlbnQgdGhhdDoKKyAgICAgICAgMS4gZHluYW1pY2FsbHkg
Z2V0cyBhIHRyYW5zZm9ybSwgaW4gd2hpY2ggY2FzZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVt
ZW50IHNob3VsZCBiZSBwb3NpdGlvbmVkCisgICAgICAgIHJlbGF0aXZlIHRvIGl0cyBwYXJlbnQK
KyAgICAgICAgMi4gZHluYW1pY2FsbHkgbG9zZXMgaXRzIHRyYW5zZm9ybSwgaW4gd2hpY2ggY2Fz
ZSB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHNob3VsZCBiZSBwb3NpdGlvbmVkCisgICAg
ICAgIHJlbGF0aXZlIHRvIHRoZSB2aWV3LgorCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFp
bnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFu
Z2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWlu
LW5hbWVkLWZsb3ctY2ItY2hhbmdlZDItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLmh0bWw6
IEFkZGVkLgorCiAyMDEzLTEyLTE3ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bWFyaW8ucHJhZGFA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0dUS11bV0syXSByb3dBdEluZGV4IGlzIG5vdCBpbXBs
ZW1lbnRlZCBpbiBEUlQvV0tUUgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hh
bmdlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBjZGI4YjIyNzM0NTAyNDU5NjVjYTRhM2Zl
NmE3NDA2OGFkODU1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9u
cy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwxMCBAQAorKHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgMTUwIDE1MCAxMDAgMTAwKQor
ICAocmVjdCA1MCA1MCA1MCA1MCkKKyAgKHJlY3QgMTUwIDE1MCAxMDAgMTAwKQorICAocmVjdCAy
MDAgMjAwIDUwIDUwKQorICAocmVjdCAxMDAgMTAwIDIwMCAyMDApCisgIChyZWN0IDEwMCAxMDAg
MjAwIDIwMCkKKyAgKHJlY3QgMTAwIDEwMCAyMDAgMjAwKQorKQorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5n
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVk
LWZsb3ctY2ItY2hhbmdlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI1NDRmZjU5YjNiYmNhMjUwZWNhODZi
YWZkOTBhN2UwYTU1MjYxMGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Jl
Z2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbApAQCAtMCww
ICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8
c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9y
Rml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAg
PHNjcmlwdCBzcmM9Ii4uL3JlcGFpbnQvcmVzb3VyY2VzL3RleHQtYmFzZWQtcmVwYWludC5qcyI+
PC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMjAwcHg7IGxlZnQ6IDIwMHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7fQorCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdl
YmtpdC1mbG93LWZyb206IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVm
dDogMTAwcHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgfQorCisgICAgICAgICAgICAj
cGFyZW50IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiA1MHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKworICAg
ICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7
IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisK
KyAgICAgICAgICAgIC50cmFuc2Zvcm1lZCB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEs
IDEsIDEpOyB9CisgICAgICAgIDwvc3R5bGU+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9h
ZD0icnVuUmVwYWludFRlc3QoKSI+CisgICAgICAgIDwhLS0KKyAgICAgICAgVGVzdCBmb3IgV2Vi
S2l0IGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc1Ngor
ICAgICAgICBUaGF0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2UgcGFyZW50
IGdldHMgYSAzZCB0cmFuc2Zvcm0gZHluYW1pY2FsbHkgaXMgY29ycmVjdGx5IHJlLXBvc2l0aW9u
ZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudC4KKyAgICAgICAgT24gc3VjY2VzcywgeW91IHNob3Vs
ZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC4KKyAgICAgICAgLS0+CisgICAgICAg
IDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InBhcmVudCI+CisgICAgICAg
ICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rp
b24gcmVwYWludFRlc3QoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhcmVudCIpLmNsYXNzTmFtZSA9ICJ0cmFuc2Zvcm1lZCI7CisgICAgICAgICAgICB9Cisg
ICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdl
ZDItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjdlZWIx
MDM3YzQ4ODdlYmI3NWJkMjFiNzA3NjBkNWM1YzcwZThjNgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hh
bmdlZDItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorKHJlcGFpbnQgcmVjdHMKKyAgKHJl
Y3QgNTAgNTAgNTAgNTApCisgIChyZWN0IDEwMCAxMDAgMjAwIDIwMCkKKykKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1j
Yi1jaGFuZ2VkMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ3YmJkNTlmMWQxM2Ni
MDRmM2MxNGJiMjcyZWMyMzIxMGJiOGRiMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQyLmh0
bWwKQEAgLTAsMCArMSw0MCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4K
KyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAg
ICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21w
b3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+
CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi9yZXBhaW50L3Jlc291cmNlcy90ZXh0LWJhc2VkLXJl
cGFpbnQuanMiPjwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsg
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiA1MHB4OyBo
ZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IHJlZDt9CisKKyAgICAgICAgICAgICNyZWdp
b24geyAtd2Via2l0LWZsb3ctZnJvbTogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEw
MHB4OyBsZWZ0OiAxMDBweDsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyB9CisKKyAgICAg
ICAgICAgICNwYXJlbnQgeyAtd2Via2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29s
dXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
fQorCisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVm
dDogNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IH0KKworICAgICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNj
YWxlM2QoMSwgMSwgMSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJv
ZHkgb25sb2FkPSJydW5SZXBhaW50VGVzdCgpIj4KKyAgICAgICAgPCEtLQorICAgICAgICBUZXN0
IGZvciBXZWJLaXQgYnVnOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI1NzU2CisgICAgICAgIFRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCB3aG9z
ZSBwYXJlbnQgZHluYW1pY2FsbHkgbG9vc2VzIGl0cyB0cmFuc2Zvcm1hdGlvbiBpcyBjb3JyZWN0
bHkgcmUtcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgdmlldy4KKyAgICAgICAgT24gc3VjY2Vz
cywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC4KKyAgICAgICAg
LS0+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYgaWQ9InBhcmVu
dCIgY2xhc3M9InRyYW5zZm9ybWVkIj4KKyAgICAgICAgICAgIDxkaXYgaWQ9ImZpeGVkIj48L2Rp
dj4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKwor
ICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7Cisg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNsYXNzTmFt
ZSA9ICIiOworICAgICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220740</attachid>
            <date>2014-01-09 08:15:21 -0800</date>
            <delta_ts>2014-01-14 08:26:25 -0800</delta_ts>
            <desc>Patch 3</desc>
            <filename>125756-3.patch</filename>
            <type>text/plain</type>
            <size>20117</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwNDYyNzg2Li4yNTU1ZDRiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDEt
MDkgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1l
ZCBwYXJlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNTc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0cyBmb3IgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHBhcmVudCB0
aGF0OgorICAgICAgICAxLiBkeW5hbWljYWxseSBnZXRzIGEgdHJhbnNmb3JtLCBpbiB3aGljaCBj
YXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAg
ICAgICAgcmVsYXRpdmUgdG8gaXRzIHBhcmVudAorICAgICAgICAyLiBkeW5hbWljYWxseSBsb3Nl
cyBpdHMgdHJhbnNmb3JtLCBpbiB3aGljaCBjYXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIHZpZXcuCisK
KyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNo
YW5nZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFp
bnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDItZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0wOCAgQ29t
bWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjE2MTUzMi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVn
aW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC1leHBlY3RlZC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1j
Yi1jaGFuZ2VkLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uNDZiYjliNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9y
ZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMjQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAg
IDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAg
ICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdG
b3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAg
ICA8c3R5bGU+CisgICAgICAgICAgICAjcGFyZW50IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6
IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAg
ICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4
OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQor
CisgICAgICAgICAgICAudHJhbnNmb3JtZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgx
LCAxLCAxKTsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keT4KKyAg
ICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEyNTc1NiI+V2ViS2l0IEJ1ZyAxMjU3NTY8L2E+IFtDU1NSZWdpb25zXSBJbmNv
cnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGggdHJhbnNmb3JtZWQgcGFyZW50PC9w
PgorICAgICAgICA8cD5UaGF0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2hvc2Ug
cGFyZW50IGdldHMgYSAzZCB0cmFuc2Zvcm0gZHluYW1pY2FsbHkgaXMgY29ycmVjdGx5IHJlLXBv
c2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudC48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nl
c3MsIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBubyByZWQuPC9wPgorICAg
ICAgICA8ZGl2IGlkPSJwYXJlbnQiIGNsYXNzPSJ0cmFuc2Zvcm1lZCI+CisgICAgICAgICAgICA8
ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWlu
LW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
cGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZDNjNmNjNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5o
dG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+
CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAg
ICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0
PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRl
OyB0b3A6IDIwMHB4OyBsZWZ0OiAyMDBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogcmVkO30KKworICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxv
dy1mcm9tOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4
OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IH0KKworICAgICAgICAgICAgI3BhcmVudCB7
IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsg
bGVmdDogNTBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAgICAgICAgICAg
ICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhlZDsgdG9wOiA1MHB4OyBsZWZ0OiA1MHB4OyB3aWR0aDog
NTBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorCisgICAgICAg
ICAgICAudHJhbnNmb3JtZWQgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsg
fQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blJl
cGFpbnRUZXN0KCkiPgorICAgICAgICA8cD5UZXN0IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1NzU2Ij5XZWJLaXQgQnVnIDEyNTc1NjwvYT4g
W0NTU1JlZ2lvbnNdIEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFu
c2Zvcm1lZCBwYXJlbnQ8L3A+CisgICAgICAgIDxwPlRoYXQgdGhhdCBhIGZpeGVkIHBvc2l0aW9u
ZWQgZWxlbWVudCB3aG9zZSBwYXJlbnQgZ2V0cyBhIDNkIHRyYW5zZm9ybSBkeW5hbWljYWxseSBp
cyBjb3JyZWN0bHkgcmUtcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgcGFyZW50LjwvcD4KKyAg
ICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5k
IG5vIHJlZC48L3A+CisgICAgICAgIDxkaXYgaWQ9InJlZCI+PC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InBhcmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24iPjwvZGl2PgorICAgICAgICA8c2NyaXB0
PgorICAgICAgICAgICAgZnVuY3Rpb24gcmVwYWludFRlc3QoKSB7CisgICAgICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInBhcmVudCIpLmNsYXNzTmFtZSA9ICJ0cmFuc2Zvcm1l
ZCI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHJ1blJlcGFpbnRUZXN0
KCkgeworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICAg
ICAgICAgICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldFRvcDsKKyAgICAgICAgICAgICAgICAgICAg
cmVwYWludFRlc3QoKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KHJlcGFpbnRUZXN0LCAxMDApOworICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQt
Zmxvdy1jYi1jaGFuZ2VkMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi1leHBlY3RlZC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExYTNhYTEKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93
LWNiLWNoYW5nZWQyLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZh
bHNlKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNw
YXJlbnQgeyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyB9CisgICAgICAgICAgICAjZml4ZWQgeyBwb3NpdGlvbjog
Zml4ZWQ7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4
OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsgfQorICAgICAgICA8L3N0eWxlPgorICAgIDwvaGVh
ZD4KKyAgICA8Ym9keSBvbmxvYWQ9InJ1blJlcGFpbnRUZXN0KCkiPgorICAgICAgICA8cD5UZXN0
IGZvciA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1
NzU2Ij5XZWJLaXQgQnVnIDEyNTc1NjwvYT4gW0NTU1JlZ2lvbnNdIEluY29ycmVjdCByZXBhaW50
IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1lZCBwYXJlbnQ8L3A+CisgICAgICAgIDxw
PlRlc3QgdGhhdCBhIGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudCB3aG9zZSBwYXJlbnQgZHluYW1p
Y2FsbHkgbG9vc2VzIGl0cyB0cmFuc2Zvcm1hdGlvbiBpcyBjb3JyZWN0bHkgcmUtcG9zaXRpb25l
ZCByZWxhdGl2ZSB0byB0aGUgdmlldy48L3A+CisgICAgICAgIDxwPk9uIHN1Y2Nlc3MsIHlvdSBz
aG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBubyByZWQuPC9wPgorCisgICAgICAgIDxk
aXYgaWQ9InBhcmVudCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+CisgICAg
ICAgIDwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ct
Y2ItY2hhbmdlZDIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWQ1
NGU5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQv
Zml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAg
ICAgICAgICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9u
RW5hYmxlZChmYWxzZSk7CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAg
ICAgICAgICAjcmVkIHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBw
eDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogcmVkO30KKwor
ICAgICAgICAgICAgI3JlZ2lvbiB7IC13ZWJraXQtZmxvdy1mcm9tOiBmbG93OyBwb3NpdGlvbjog
YWJzb2x1dGU7IHRvcDogMTAwcHg7IGxlZnQ6IDEwMHB4OyB3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7IH0KKworICAgICAgICAgICAgI3BhcmVudCB7IC13ZWJraXQtZmxvdy1pbnRvOiBmbG93
OyBwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyB9CisKKyAgICAgICAgICAgICNmaXhlZCB7IHBvc2l0aW9uOiBmaXhl
ZDsgdG9wOiAxNTBweDsgbGVmdDogMTUwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJh
Y2tncm91bmQtY29sb3I6IGdyZWVuOyB9CisKKyAgICAgICAgICAgIC50cmFuc2Zvcm1lZCB7IC13
ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9CisgICAgICAgIDwvc3R5bGU+Cisg
ICAgPC9oZWFkPgorICAgIDxib2R5IG9ubG9hZD0icnVuUmVwYWludFRlc3QoKSI+CisgICAgICAg
IDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjU3NTYiPldlYktpdCBCdWcgMTI1NzU2PC9hPiBbQ1NTUmVnaW9uc10gSW5jb3JyZWN0
IHJlcGFpbnQgb2YgZml4ZWQgZWxlbWVudCB3aXRoIHRyYW5zZm9ybWVkIHBhcmVudDwvcD4KKyAg
ICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBhcmVu
dCBkeW5hbWljYWxseSBsb29zZXMgaXRzIHRyYW5zZm9ybWF0aW9uIGlzIGNvcnJlY3RseSByZS1w
b3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3LjwvcD4KKyAgICAgICAgPHA+T24gc3VjY2Vz
cywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5kIG5vIHJlZC48L3A+CisKKyAg
ICAgICAgPGRpdiBpZD0icmVkIj48L2Rpdj4KKworICAgICAgICA8ZGl2IGlkPSJwYXJlbnQiIGNs
YXNzPSJ0cmFuc2Zvcm1lZCI+CisgICAgICAgICAgICA8ZGl2IGlkPSJmaXhlZCI+PC9kaXY+Cisg
ICAgICAgIDwvZGl2PgorCisgICAgICAgIDxkaXYgaWQ9InJlZ2lvbiI+PC9kaXY+CisKKyAgICAg
ICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5jbGFzc05hbWUgPSAi
IjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gcnVuUmVwYWludFRlc3Qo
KSB7CisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgICAg
ICAgICAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0VG9wOworICAgICAgICAgICAgICAgICAgICBy
ZXBhaW50VGVzdCgpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAg
ICAgIHNldFRpbWVvdXQocmVwYWludFRlc3QsIDEwMCk7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggOGY3NDBmZi4uYTY0YjMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisy
MDE0LTAxLTA5ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCisgICAgICAg
IFtDU1NSZWdpb25zXSBJbmNvcnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGggdHJh
bnNmb3JtZWQgcGFyZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjU3NTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBXaGVuIGNvbGxlY3RpbmcgdGhlIGxheWVycyBmb3IgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50cyB3aXRoIG5hbWVkIGZsb3cKKyAgICAgICAgYXMgYSBjb250YWluaW5nIGJsb2NrLCB1
c2UgbGF5ZXJzIGNvbGxlY3Rpb24gYXQgbmFtZWQgZmxvdyBsYXllciBsZXZlbAorICAgICAgICBp
bnN0ZWFkIG9mIHJlbHlpbmcgb24gdGhlIHBvc2l0aW9uZWQgZWxlbWVudHMgY29sbGVjdGlvbi4K
KworICAgICAgICBXaXRoIHRoaXMgYXBwcm9hY2gsIHRoZXJlIGFyZSBzaXR1YXRpb25zIHdpdGgg
bmVzdGVkIG5hbWVkIGZsb3dzIGxhaWQgb3V0IGluIGF1dG8taGVpZ2h0IHJlZ2lvbnMKKyAgICAg
ICAgYW5kIHRodXMgYXNzdW1pbmcgMiBzdGVwIGxheW91dHMsIGluIHdoaWNoIGlzIGVub3VnaCB0
byBsYXkgb3V0IHRoZSBpbm5lciBuYW1lZAorICAgICAgICBmbG93IG9uY2UgaW5zdGVhZCBvZiB0
d2ljZSB3aXRoIGEgcGVyZm9ybWFuY2UgZ2Fpbi4gSW4gc3VjaCBzaXR1YXRpb25zLCB0aGUgbGF5
ZXJzCisgICAgICAgIGxpc3RzIGZvciB0aGUgaW5uZXIgbmFtZWQgZmxvdyBhcmUgbm90IHlldCB1
cGRhdGVkIHdoZW4gY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycworICAgICAgICBpcyBjYWxs
ZWQgdG8gcGFpbnQgdGhlIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzLiBJIGNhbGxlZCB1cGRhdGVM
YXllckxpc3RzSWZOZWVkZWQKKyAgICAgICAgZm9yIGFsbCBuYW1lZCBmbG93cyBsYXllcnMsIHZp
YSB0aGUgZmxvdyB0aHJlYWQgY29udHJvbGxlciwgYmVmb3JlIGluc3BlY3RpbmcKKyAgICAgICAg
dGhlIG5hbWVkIGZsb3cgbGF5ZXJzLgorCisgICAgICAgIEkgbW9kaWZpZWQgRmxvd1RocmVhZENv
bnRyb2xsZXI6OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMgZnVuY3Rpb24KKyAgICAgICAg
dG8gYWx3YXlzIHJldHVybiB0aGUgbGF5ZXJzIHNvcnRlZCBieSB6LWluZGV4LCBhcyB0aGlzIG9w
ZXJhdGlvbiB3YXMgYWx3YXlzCisgICAgICAgIGRvbmUgYXQgdGhlIGNhbGwgc2l0ZXMuCisKKyAg
ICAgICAgSSByZW5hbWVkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlUmVuZGVyRmxvd1Ro
cmVhZExheWVyc0lmTmVlZGVkIHRvCisgICAgICAgIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlQWxsTGF5ZXJUb1JlZ2lvbk1hcHBpbmdzSWZOZWVkZWQgdG8gc2hvdworICAgICAgICB0aGF0
IHdlIGFyZSBub3Qgb25seSB1cGRhdGluZyB0aGUgbmFtZWQgZmxvdyBsYXllcnMgaGllcmFyY2h5
LCBidXQgYWxzbworICAgICAgICB0aGUgbWFwcGluZyBiZXR3ZWVuIHRoZSByZWdpb25zIGFuZCB0
aGUgbGF5ZXJzIG9mIHRoZSBuYW1lZCBmbG93cyAoaWYgbmVlZGVkKS4KKworICAgICAgICBUZXN0
czogZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0
bWwKKyAgICAgICAgICAgICAgIGZhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZs
b3ctY2ItY2hhbmdlZDIuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjp1cGRh
dGVBbGxMYXllclRvUmVnaW9uTWFwcGluZ3NJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpj
b21wYXJlWkluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjp1
cGRhdGVGbG93VGhyZWFkc0xheWVyTGlzdHNJZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpG
bG93VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyk6CisgICAg
ICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmg6CisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckZsb3dUaHJlYWQuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRGaXhlZExheWVyc0lu
TmFtZWRGbG93cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdEZpeGVk
TGF5ZXJzSW5OYW1lZEZsb3dzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21w
b3NpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBk
YXRlQ29tcG9zaXRpbmdMYXllcnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNv
bXBvc2l0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhyZWFkLmg6
CisKIDIwMTQtMDEtMDggIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxNjE1MzIuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAppbmRleCA3NThlYzJk
Li44MzY2ZmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVh
ZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFk
Q29udHJvbGxlci5jcHAKQEAgLTI4LDcgKzI4LDYgQEAKICAqLwogCiAjaW5jbHVkZSAiY29uZmln
LmgiCi0KICNpbmNsdWRlICJGbG93VGhyZWFkQ29udHJvbGxlci5oIgogCiAjaW5jbHVkZSAiTmFt
ZWRGbG93Q29sbGVjdGlvbi5oIgpAQCAtMjY1LDcgKzI2NCw3IEBAIHZvaWQgRmxvd1RocmVhZENv
bnRyb2xsZXI6OnVwZGF0ZUZsb3dUaHJlYWRzSW50b0ZpbmFsUGhhc2UoKQogfQogCiAjaWYgVVNF
KEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6dXBk
YXRlUmVuZGVyRmxvd1RocmVhZExheWVyc0lmTmVlZGVkKCkKK3ZvaWQgRmxvd1RocmVhZENvbnRy
b2xsZXI6OnVwZGF0ZUFsbExheWVyVG9SZWdpb25NYXBwaW5nc0lmTmVlZGVkKCkKIHsKICAgICAv
LyBXYWxrIHRoZSBmbG93IGNoYWluIGluIHJldmVyc2Ugb3JkZXIgYmVjYXVzZSBSZW5kZXJSZWdp
b25zIG1pZ2h0IGJlY29tZSBSZW5kZXJMYXllcnMgZm9yIHRoZSBmb2xsb3dpbmcgZmxvdyB0aHJl
YWRzLgogICAgIGZvciAoYXV0byBpdGVyID0gbV9yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0LT5y
YmVnaW4oKSwgZW5kID0gbV9yZW5kZXJOYW1lZEZsb3dUaHJlYWRMaXN0LT5yZW5kKCk7IGl0ZXIg
IT0gZW5kOyArK2l0ZXIpIHsKQEAgLTI4MCw4ICsyNzksMjMgQEAgYm9vbCBGbG93VGhyZWFkQ29u
dHJvbGxlcjo6aXNDb250ZW50RWxlbWVudFJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KGNvbnN0
IEVsZW0KICAgICByZXR1cm4gbV9tYXBOYW1lZEZsb3dDb250ZW50RWxlbWVudC5jb250YWlucygm
Y29udGVudEVsZW1lbnQpOwogfQogCit2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjp1cGRhdGVG
bG93VGhyZWFkc0xheWVyTGlzdHNJZk5lZWRlZCgpCit7CisgICAgZm9yIChhdXRvIGl0ZXIgPSBt
X3JlbmRlck5hbWVkRmxvd1RocmVhZExpc3QtPmJlZ2luKCksIGVuZCA9IG1fcmVuZGVyTmFtZWRG
bG93VGhyZWFkTGlzdC0+ZW5kKCk7IGl0ZXIgIT0gZW5kOyArK2l0ZXIpIHsKKyAgICAgICAgUmVu
ZGVyTmFtZWRGbG93VGhyZWFkKiBmbG93UmVuZGVyZXIgPSAqaXRlcjsKKyAgICAgICAgZmxvd1Jl
bmRlcmVyLT5sYXllcigpLT51cGRhdGVMYXllckxpc3RzSWZOZWVkZWQoKTsKKyAgICB9Cit9CisK
Ky8vIEhlbHBlciBmb3IgdGhlIHNvcnRpbmcgb2YgbGF5ZXJzIGJ5IHotaW5kZXguCitzdGF0aWMg
aW5saW5lIGJvb2wgY29tcGFyZVpJbmRleChSZW5kZXJMYXllciogZmlyc3QsIFJlbmRlckxheWVy
KiBzZWNvbmQpCit7CisgICAgcmV0dXJuIGZpcnN0LT56SW5kZXgoKSA8IHNlY29uZC0+ekluZGV4
KCk7Cit9CisKIC8vIENvbGxlY3QgdGhlIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzIHRoYXQgaGF2
ZSB0aGUgbmFtZWQgZmxvd3MgYXMgY29udGFpbmluZyBibG9jawogLy8gVGhlc2UgbGF5ZXJzIGFy
ZSBwYWludGVkIGFuZCBoaXQtdGVzdGVkIHN0YXJ0aW5nIGZyb20gUmVuZGVyVmlldyBub3QgZnJv
bSByZWdpb25zLgorLy8gVGhlIGxpc3Qgb2YgbGF5ZXJzIGlzIHJldHVybmVkIHNvcnRlZCBieSB6
LWluZGV4Lgogdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6Y29sbGVjdEZpeGVkUG9zaXRpb25l
ZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgZml4ZWRQb3NMYXllcnMpIGNvbnN0CiB7CiAg
ICAgZm9yIChhdXRvIGl0ZXIgPSBtX3JlbmRlck5hbWVkRmxvd1RocmVhZExpc3QtPmJlZ2luKCks
IGVuZCA9IG1fcmVuZGVyTmFtZWRGbG93VGhyZWFkTGlzdC0+ZW5kKCk7IGl0ZXIgIT0gZW5kOyAr
K2l0ZXIpIHsKQEAgLTI5MiwxNyArMzA2LDI3IEBAIHZvaWQgRmxvd1RocmVhZENvbnRyb2xsZXI6
OmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoVmVjdG9yPFJlbmRlckxheWVyKj4mIGZpCiAg
ICAgICAgIGlmICghZmxvd1JlbmRlcmVyLT5oYXNSZWdpb25zKCkpCiAgICAgICAgICAgICBjb250
aW51ZTsKIAotICAgICAgICAvLyBJdGVyYXRlIG92ZXIgdGhlIGZpeGVkIHBvc2l0aW9uZWQgZWxl
bWVudHMgaW4gdGhlIGZsb3cgdGhyZWFkCi0gICAgICAgIFRyYWNrZWRSZW5kZXJlckxpc3RIYXNo
U2V0KiBwb3NpdGlvbmVkRGVzY2VuZGFudHMgPSBmbG93UmVuZGVyZXItPnBvc2l0aW9uZWRPYmpl
Y3RzKCk7Ci0gICAgICAgIGlmIChwb3NpdGlvbmVkRGVzY2VuZGFudHMpIHsKLSAgICAgICAgICAg
IGZvciAoYXV0byBpdCA9IHBvc2l0aW9uZWREZXNjZW5kYW50cy0+YmVnaW4oKSwgZW5kID0gcG9z
aXRpb25lZERlc2NlbmRhbnRzLT5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgICAg
ICAgICAgUmVuZGVyQm94KiBib3ggPSAqaXQ7Ci0gICAgICAgICAgICAgICAgaWYgKCFib3gtPmZp
eGVkUG9zaXRpb25lZFdpdGhOYW1lZEZsb3dDb250YWluaW5nQmxvY2soKSkKKyAgICAgICAgUmVu
ZGVyTGF5ZXIqIGZsb3dUaHJlYWRMYXllciA9IGZsb3dSZW5kZXJlci0+bGF5ZXIoKTsKKyAgICAg
ICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBuZWdaT3JkZXJMaXN0ID0gZmxvd1RocmVhZExh
eWVyLT5uZWdaT3JkZXJMaXN0KCkpIHsKKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwLCBz
aXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgICAg
ICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IG5lZ1pPcmRlckxpc3QtPmF0KGkpOworICAg
ICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5wb3NpdGlvbigp
ICE9IEZpeGVkUG9zaXRpb24pCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAg
ICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChib3gtPmxheWVyKCkpOworICAgICAgICAg
ICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJyTGF5ZXIpOworICAgICAgICAgICAgfQor
ICAgICAgICB9CisKKyAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBwb3NaT3JkZXJM
aXN0ID0gZmxvd1RocmVhZExheWVyLT5wb3NaT3JkZXJMaXN0KCkpIHsKKyAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGkgPSAwLCBzaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6ZSgpOyBpIDwgc2l6ZTsg
KytpKSB7CisgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1cnJMYXllciA9IHBvc1pPcmRl
ckxpc3QtPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChjdXJyTGF5ZXItPnJlbmRlcmVyKCku
c3R5bGUoKS5wb3NpdGlvbigpICE9IEZpeGVkUG9zaXRpb24pCisgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgICAgIGZpeGVkUG9zTGF5ZXJzLmFwcGVuZChjdXJyTGF5
ZXIpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorCisgICAgc3RkOjpzdGFibGVf
c29ydChmaXhlZFBvc0xheWVycy5iZWdpbigpLCBmaXhlZFBvc0xheWVycy5lbmQoKSwgY29tcGFy
ZVpJbmRleCk7CiB9CiAKICNpZm5kZWYgTkRFQlVHCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCmluZGV4IGUyNWZmYjEuLjY0M2NmNzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCkBAIC04
MCwxMiArODAsMTMgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlRmxvd1RocmVhZHNJbnRvTWVh
c3VyZUNvbnRlbnRQaGFzZSgpOwogICAgIHZvaWQgdXBkYXRlRmxvd1RocmVhZHNJbnRvRmluYWxQ
aGFzZSgpOwogCisgICAgdm9pZCB1cGRhdGVGbG93VGhyZWFkc0xheWVyTGlzdHNJZk5lZWRlZCgp
OwogICAgIC8vIENvbGxlY3QgdGhlIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzIHRoYXQgaGF2ZSB0
aGUgbmFtZWQgZmxvd3MgYXMgY29udGFpbmluZyBibG9jawogICAgIC8vIFRoZXNlIGxheWVycyBh
cmUgcGFpbnRlZCBhbmQgaGl0LXRlc3RlZCBieSBSZW5kZXJWaWV3CiAgICAgdm9pZCBjb2xsZWN0
Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKFZlY3RvcjxSZW5kZXJMYXllcio+JiBmaXhlZFBvc0xheWVy
cykgY29uc3Q7CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgdm9pZCB1
cGRhdGVSZW5kZXJGbG93VGhyZWFkTGF5ZXJzSWZOZWVkZWQoKTsKKyAgICB2b2lkIHVwZGF0ZUFs
bExheWVyVG9SZWdpb25NYXBwaW5nc0lmTmVlZGVkKCk7CiAjZW5kaWYKIAogI2lmbmRlZiBOREVC
VUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcAppbmRl
eCAxMzhjOWVhLi5iYTBmYzAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRmxvd1RocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsb3dUaHJlYWQuY3BwCkBAIC0yOCw3ICsyOCw2IEBACiAgKi8KIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgotCiAjaW5jbHVkZSAiUmVuZGVyRmxvd1RocmVhZC5oIgogCiAjaW5jbHVkZSAiRmxvd1Ro
cmVhZENvbnRyb2xsZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
CmluZGV4IDE4ODk2MDEuLjRlOTljMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtNDAyOSwxMyArNDAyOSwxMyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWlu
dEZpeGVkTGF5ZXJzSW5OYW1lZEZsb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
TAogICAgIGlmICghcmVuZGVyZXIoKS52aWV3KCkuaGFzUmVuZGVyTmFtZWRGbG93VGhyZWFkcygp
KQogICAgICAgICByZXR1cm47CiAKKyAgICAvLyBFbnN1cmUgdGhlIGZsb3cgdGhyZWFkcyBoaWVy
YXJjaHkgaXMgdXAtdG8tZGF0ZSBiZWZvcmUgdXNpbmcgaXQuCisgICAgcmVuZGVyZXIoKS52aWV3
KCkuZmxvd1RocmVhZENvbnRyb2xsZXIoKS51cGRhdGVGbG93VGhyZWFkc0xheWVyTGlzdHNJZk5l
ZWRlZCgpOworCiAgICAgLy8gQ29sbGVjdCB0aGUgZml4ZWQgbGF5ZXJzIGluIGEgbGlzdCB0byBi
ZSBwYWludGVkCiAgICAgVmVjdG9yPFJlbmRlckxheWVyKj4gZml4ZWRMYXllcnM7CiAgICAgcmVu
ZGVyZXIoKS52aWV3KCkuZmxvd1RocmVhZENvbnRyb2xsZXIoKS5jb2xsZWN0Rml4ZWRQb3NpdGlv
bmVkTGF5ZXJzKGZpeGVkTGF5ZXJzKTsKIAotICAgIC8vIFNvcnQgdGhlIGZpeGVkIGxheWVycyBs
aXN0Ci0gICAgc3RkOjpzdGFibGVfc29ydChmaXhlZExheWVycy5iZWdpbigpLCBmaXhlZExheWVy
cy5lbmQoKSwgY29tcGFyZVpJbmRleCk7Ci0KICAgICAvLyBQYWludCB0aGUgbGF5ZXJzCiAgICAg
Zm9yIChzaXplX3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgewogICAgICAg
ICBSZW5kZXJMYXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOwpAQCAtNDc4Myw5
ICs0NzgzLDYgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjpoaXRUZXN0Rml4ZWRMYXllcnNJ
bk5hbWVkRmxvd3MoUmVuZGVyTGF5ZXIqIC8qcm9vdExheWUKICAgICBWZWN0b3I8UmVuZGVyTGF5
ZXIqPiBmaXhlZExheWVyczsKICAgICByZW5kZXJlcigpLnZpZXcoKS5mbG93VGhyZWFkQ29udHJv
bGxlcigpLmNvbGxlY3RGaXhlZFBvc2l0aW9uZWRMYXllcnMoZml4ZWRMYXllcnMpOwogCi0gICAg
Ly8gU29ydCB0aGUgZml4ZWQgbGF5ZXJzIGxpc3QKLSAgICBzdGQ6OnN0YWJsZV9zb3J0KGZpeGVk
TGF5ZXJzLmJlZ2luKCksIGZpeGVkTGF5ZXJzLmVuZCgpLCBjb21wYXJlWkluZGV4KTsKLQogICAg
IC8vIEhpdCB0ZXN0IHRoZSBsYXllcnMKICAgICBSZW5kZXJMYXllciogcmVzdWx0TGF5ZXIgPSAw
OwogICAgIGZvciAoaW50IGkgPSBmaXhlZExheWVycy5zaXplKCkgLSAxOyBpID49IDA7IC0taSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcAppbmRleCA0ZjgwZDM4Li4zMjkwNjBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNjQyLDggKzY0Miw4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3Np
dGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAjZW5kaWYKIAogICAgIGlmIChjaGVja0ZvckhpZXJhcmNo
eVVwZGF0ZSkgewotICAgICAgICBpZiAoaXNGdWxsVXBkYXRlKQotICAgICAgICAgICAgdXBkYXRl
UmVuZGVyRmxvd1RocmVhZExheWVyc0lmTmVlZGVkKCk7CisgICAgICAgIGlmIChpc0Z1bGxVcGRh
dGUgJiYgbV9yZW5kZXJWaWV3Lmhhc1JlbmRlck5hbWVkRmxvd1RocmVhZHMoKSkKKyAgICAgICAg
ICAgIG1fcmVuZGVyVmlldy5mbG93VGhyZWFkQ29udHJvbGxlcigpLnVwZGF0ZUFsbExheWVyVG9S
ZWdpb25NYXBwaW5nc0lmTmVlZGVkKCk7CiAgICAgICAgIC8vIEdvIHRocm91Z2ggdGhlIGxheWVy
cyBpbiBwcmVzZW50YXRpb24gb3JkZXIsIHNvIHRoYXQgd2UgY2FuIGNvbXB1dGUgd2hpY2ggUmVu
ZGVyTGF5ZXJzIG5lZWQgY29tcG9zaXRpbmcgbGF5ZXJzLgogICAgICAgICAvLyBGSVhNRTogd2Ug
Y291bGQgbWF5YmUgZG8gdGhpcyBhbmQgdGhlIGhpZXJhcmNoeSB1ZHBhdGUgaW4gb25lIHBhc3Ms
IGJ1dCB0aGUgcGFyZW50aW5nIGxvZ2ljIHdvdWxkIGJlIG1vcmUgY29tcGxleC4KICAgICAgICAg
Q29tcG9zaXRpbmdTdGF0ZSBjb21wU3RhdGUodXBkYXRlUm9vdCk7CkBAIC03MDYsMTIgKzcwNiw2
IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVDb21wb3NpdGluZ0xheWVycyhD
b21wb3NpdGluZ1VwZGF0ZVR5cGUgdXBkYXRlCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpsYXllclRyZWVEaWRDaGFuZ2UocGFnZSgpKTsKIH0KIAotdm9pZCBSZW5kZXJMYXllckNvbXBv
c2l0b3I6OnVwZGF0ZVJlbmRlckZsb3dUaHJlYWRMYXllcnNJZk5lZWRlZCgpCi17Ci0gICAgaWYg
KG1fcmVuZGVyVmlldy5oYXNSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCkpCi0gICAgICAgIG1fcmVu
ZGVyVmlldy5mbG93VGhyZWFkQ29udHJvbGxlcigpLnVwZGF0ZVJlbmRlckZsb3dUaHJlYWRMYXll
cnNJZk5lZWRlZCgpOwotfQotCiB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6bGF5ZXJCZWNh
bWVOb25Db21wb3NpdGVkKGNvbnN0IFJlbmRlckxheWVyJiBsYXllcikKIHsKICAgICAvLyBJbmZv
cm0gdGhlIGluc3BlY3RvciB0aGF0IHRoZSBnaXZlbiBSZW5kZXJMYXllciB3YXMgZGVzdHJveWVk
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5o
CmluZGV4IGUxN2E0NjcuLmFhYjE4NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKQEAgLTE0Miw5ICsxNDIsNiBAQCBwdWJsaWM6CiAg
ICAgLy8gd2UgZGlzY292ZXIgdGhhdCBhbiBpZnJhbWUgaXMgb3ZlcmxhcHBlZCBkdXJpbmcgcGFp
bnRpbmcpLgogICAgIHZvaWQgc2NoZWR1bGVDb21wb3NpdGluZ0xheWVyVXBkYXRlKCk7CiAKLSAg
ICAvLyBVcGRhdGUgdGhlIG1hcHMgdGhhdCB3ZSB1c2UgdG8gZGlzdHJpYnV0ZSBsYXllcnMgdG8g
Y29yZXNwb25kaW5nIHJlZ2lvbnMuCi0gICAgdm9pZCB1cGRhdGVSZW5kZXJGbG93VGhyZWFkTGF5
ZXJzSWZOZWVkZWQoKTsKLSAgICAKICAgICAvLyBVcGRhdGUgdGhlIGNvbXBvc2l0aW5nIHN0YXRl
IG9mIHRoZSBnaXZlbiBsYXllci4gUmV0dXJucyB0cnVlIGlmIHRoYXQgc3RhdGUgY2hhbmdlZC4K
ICAgICBlbnVtIENvbXBvc2l0aW5nQ2hhbmdlUmVwYWludCB7IENvbXBvc2l0aW5nQ2hhbmdlUmVw
YWludE5vdywgQ29tcG9zaXRpbmdDaGFuZ2VXaWxsUmVwYWludExhdGVyIH07CiAgICAgYm9vbCB1
cGRhdGVMYXllckNvbXBvc2l0aW5nU3RhdGUoUmVuZGVyTGF5ZXImLCBDb21wb3NpdGluZ0NoYW5n
ZVJlcGFpbnQgPSBDb21wb3NpdGluZ0NoYW5nZVJlcGFpbnROb3cpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5oCmluZGV4IDhlMDBmZWQuLjcz
YjliODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZs
b3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93
VGhyZWFkLmgKQEAgLTE1Myw0ICsxNTMsMyBAQCBSRU5ERVJfT0JKRUNUX1RZUEVfQ0FTVFMoUmVu
ZGVyTmFtZWRGbG93VGhyZWFkLCBpc1JlbmRlck5hbWVkRmxvd1RocmVhZCgpKQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVuZGVyTmFtZWRGbG93VGhyZWFkX2gKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221165</attachid>
            <date>2014-01-14 08:26:25 -0800</date>
            <delta_ts>2014-01-14 22:39:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>125756-4.patch</filename>
            <type>text/plain</type>
            <size>14095</size>
            <attacher name="Mihnea Ovidenie">mihnea</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhZGI1NTliLi45ZmNhYWEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTQtMDEt
MTQgIE1paG5lYSBPdmlkZW5pZSAgPG1paG5lYUBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEluY29ycmVjdCByZXBhaW50IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1l
ZCBwYXJlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNTc1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0cyBmb3IgYSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgd2l0aCBhIHBhcmVudCB0
aGF0OgorICAgICAgICAxLiBkeW5hbWljYWxseSBnZXRzIGEgdHJhbnNmb3JtLCBpbiB3aGljaCBj
YXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAg
ICAgICAgcmVsYXRpdmUgdG8gaXRzIHBhcmVudAorICAgICAgICAyLiBkeW5hbWljYWxseSBsb3Nl
cyBpdHMgdHJhbnNmb3JtLCBpbiB3aGljaCBjYXNlIHRoZSBmaXhlZCBwb3NpdGlvbmVkIGVsZW1l
bnQgc2hvdWxkIGJlIHBvc2l0aW9uZWQKKyAgICAgICAgcmVsYXRpdmUgdG8gdGhlIHZpZXcuCisK
KyAgICAgICAgKiBmYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNo
YW5nZWQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFp
bnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0bWw6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDItZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQt
aW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sOiBBZGRlZC4KKwogMjAxNC0wMS0xNCAgTWFu
dWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkIEdUSyBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMv
cmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hh
bmdlZC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2
YmI5YjQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWlu
dC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsx
LDI0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2Ny
aXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yRml4
ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAgICAgICAgPHN0
eWxlPgorICAgICAgICAgICAgI3BhcmVudCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxNTBw
eDsgbGVmdDogMTUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQorCisgICAgICAg
ICAgICAjZml4ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKworICAg
ICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwg
MSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAg
IDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjU3NTYiPldlYktpdCBCdWcgMTI1NzU2PC9hPiBbQ1NTUmVnaW9uc10gSW5jb3JyZWN0
IHJlcGFpbnQgb2YgZml4ZWQgZWxlbWVudCB3aXRoIHRyYW5zZm9ybWVkIHBhcmVudDwvcD4KKyAg
ICAgICAgPHA+VGhhdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50IHdob3NlIHBhcmVu
dCBnZXRzIGEgM2QgdHJhbnNmb3JtIGR5bmFtaWNhbGx5IGlzIGNvcnJlY3RseSByZS1wb3NpdGlv
bmVkIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQuPC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5
b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3RhbmdsZSBhbmQgbm8gcmVkLjwvcD4KKyAgICAgICAg
PGRpdiBpZD0icGFyZW50IiBjbGFzcz0idHJhbnNmb3JtZWQiPgorICAgICAgICAgICAgPGRpdiBp
ZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1l
ZC1mbG93LWNiLWNoYW5nZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50
L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLmQzYzZjYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQuaHRtbApA
QCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAg
ICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAg
ICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0
aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQoZmFsc2UpOworICAgICAgICA8L3NjcmlwdD4KKyAg
ICAgICAgPHN0eWxlPgorICAgICAgICAgICAgI3JlZCB7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9w
OiAyMDBweDsgbGVmdDogMjAwcHg7IHdpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91
bmQtY29sb3I6IHJlZDt9CisKKyAgICAgICAgICAgICNyZWdpb24geyAtd2Via2l0LWZsb3ctZnJv
bTogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDEwMHB4OyBsZWZ0OiAxMDBweDsgd2lk
dGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyB9CisKKyAgICAgICAgICAgICNwYXJlbnQgeyAtd2Vi
a2l0LWZsb3ctaW50bzogZmxvdzsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6
IDUwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgfQorCisgICAgICAgICAgICAjZml4
ZWQgeyBwb3NpdGlvbjogZml4ZWQ7IHRvcDogNTBweDsgbGVmdDogNTBweDsgd2lkdGg6IDUwcHg7
IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKworICAgICAgICAgICAg
LnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0KKyAg
ICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJydW5SZXBhaW50
VGVzdCgpIj4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc1NiI+V2ViS2l0IEJ1ZyAxMjU3NTY8L2E+IFtDU1NS
ZWdpb25zXSBJbmNvcnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGggdHJhbnNmb3Jt
ZWQgcGFyZW50PC9wPgorICAgICAgICA8cD5UaGF0IHRoYXQgYSBmaXhlZCBwb3NpdGlvbmVkIGVs
ZW1lbnQgd2hvc2UgcGFyZW50IGdldHMgYSAzZCB0cmFuc2Zvcm0gZHluYW1pY2FsbHkgaXMgY29y
cmVjdGx5IHJlLXBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHBhcmVudC48L3A+CisgICAgICAg
IDxwPk9uIHN1Y2Nlc3MsIHlvdSBzaG91bGQgc2VlIGEgZ3JlZW4gcmVjdGFuZ2xlIGFuZCBubyBy
ZWQuPC9wPgorICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJw
YXJlbnQiPgorICAgICAgICAgICAgPGRpdiBpZD0iZml4ZWQiPjwvZGl2PgorICAgICAgICA8L2Rp
dj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHJlcGFpbnRUZXN0KCkgeworICAgICAgICAgICAgICAgIGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJwYXJlbnQiKS5jbGFzc05hbWUgPSAidHJhbnNmb3JtZWQiOwor
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBydW5SZXBhaW50VGVzdCgpIHsK
KyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRUb3A7CisgICAgICAgICAgICAgICAgICAgIHJlcGFp
bnRUZXN0KCk7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAg
c2V0VGltZW91dChyZXBhaW50VGVzdCwgMTAwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ct
Y2ItY2hhbmdlZDItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9yZXBh
aW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDItZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTNjMWFiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1j
aGFuZ2VkMi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMjIgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3JpcHQ+CisgICAgICAgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JGaXhlZFBvc2l0aW9uRW5hYmxlZChmYWxzZSk7
CisgICAgICAgIDwvc2NyaXB0PgorICAgICAgICA8c3R5bGU+CisgICAgICAgICAgICAjcGFyZW50
IHsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDUwcHg7IGxlZnQ6IDUwcHg7IHdpZHRoOiAxMDBw
eDsgaGVpZ2h0OiAxMDBweDsgfQorICAgICAgICAgICAgI2ZpeGVkIHsgcG9zaXRpb246IGZpeGVk
OyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lkdGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFj
a2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+Cisg
ICAgPGJvZHk+CisgICAgICAgIDxwPlRlc3QgZm9yIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjU3NTYiPldlYktpdCBCdWcgMTI1NzU2PC9hPiBbQ1NT
UmVnaW9uc10gSW5jb3JyZWN0IHJlcGFpbnQgb2YgZml4ZWQgZWxlbWVudCB3aXRoIHRyYW5zZm9y
bWVkIHBhcmVudDwvcD4KKyAgICAgICAgPHA+VGVzdCB0aGF0IGEgZml4ZWQgcG9zaXRpb25lZCBl
bGVtZW50IHdob3NlIHBhcmVudCBkeW5hbWljYWxseSBsb29zZXMgaXRzIHRyYW5zZm9ybWF0aW9u
IGlzIGNvcnJlY3RseSByZS1wb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoZSB2aWV3LjwvcD4KKyAg
ICAgICAgPHA+T24gc3VjY2VzcywgeW91IHNob3VsZCBzZWUgYSBncmVlbiByZWN0YW5nbGUgYW5k
IG5vIHJlZC48L3A+CisKKyAgICAgICAgPGRpdiBpZD0icGFyZW50Ij4KKyAgICAgICAgICAgIDxk
aXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3JlcGFpbnQvZml4ZWQtaW4t
bmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL3Jl
cGFpbnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkMi5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZDU0ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3JlZ2lvbnMvcmVwYWludC9maXhlZC1pbi1uYW1lZC1mbG93LWNiLWNoYW5nZWQy
Lmh0bWwKQEAgLTAsMCArMSw0OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVh
ZD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxlcmF0ZWRD
b21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKGZhbHNlKTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgICAgIDxzdHlsZT4KKyAgICAgICAgICAgICNyZWQgeyBwb3NpdGlvbjogYWJzb2x1
dGU7IHRvcDogMTUwcHg7IGxlZnQ6IDE1MHB4OyB3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4OyBi
YWNrZ3JvdW5kLWNvbG9yOiByZWQ7fQorCisgICAgICAgICAgICAjcmVnaW9uIHsgLXdlYmtpdC1m
bG93LWZyb206IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAxMDBweDsgbGVmdDogMTAw
cHg7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgfQorCisgICAgICAgICAgICAjcGFyZW50
IHsgLXdlYmtpdC1mbG93LWludG86IGZsb3c7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiA1MHB4
OyBsZWZ0OiA1MHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IH0KKworICAgICAgICAg
ICAgI2ZpeGVkIHsgcG9zaXRpb246IGZpeGVkOyB0b3A6IDE1MHB4OyBsZWZ0OiAxNTBweDsgd2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IH0KKworICAg
ICAgICAgICAgLnRyYW5zZm9ybWVkIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwg
MSk7IH0KKyAgICAgICAgPC9zdHlsZT4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJy
dW5SZXBhaW50VGVzdCgpIj4KKyAgICAgICAgPHA+VGVzdCBmb3IgPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc1NiI+V2ViS2l0IEJ1ZyAxMjU3NTY8
L2E+IFtDU1NSZWdpb25zXSBJbmNvcnJlY3QgcmVwYWludCBvZiBmaXhlZCBlbGVtZW50IHdpdGgg
dHJhbnNmb3JtZWQgcGFyZW50PC9wPgorICAgICAgICA8cD5UZXN0IHRoYXQgYSBmaXhlZCBwb3Np
dGlvbmVkIGVsZW1lbnQgd2hvc2UgcGFyZW50IGR5bmFtaWNhbGx5IGxvb3NlcyBpdHMgdHJhbnNm
b3JtYXRpb24gaXMgY29ycmVjdGx5IHJlLXBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlIHZpZXcu
PC9wPgorICAgICAgICA8cD5PbiBzdWNjZXNzLCB5b3Ugc2hvdWxkIHNlZSBhIGdyZWVuIHJlY3Rh
bmdsZSBhbmQgbm8gcmVkLjwvcD4KKworICAgICAgICA8ZGl2IGlkPSJyZWQiPjwvZGl2PgorCisg
ICAgICAgIDxkaXYgaWQ9InBhcmVudCIgY2xhc3M9InRyYW5zZm9ybWVkIj4KKyAgICAgICAgICAg
IDxkaXYgaWQ9ImZpeGVkIj48L2Rpdj4KKyAgICAgICAgPC9kaXY+CisKKyAgICAgICAgPGRpdiBp
ZD0icmVnaW9uIj48L2Rpdj4KKworICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgZnVuY3Rp
b24gcmVwYWludFRlc3QoKSB7CisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInBhcmVudCIpLmNsYXNzTmFtZSA9ICIiOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBydW5SZXBhaW50VGVzdCgpIHsKKyAgICAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRU
b3A7CisgICAgICAgICAgICAgICAgICAgIHJlcGFpbnRUZXN0KCk7CisgICAgICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChyZXBhaW50VGVzdCwgMTAw
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIDwvc2NyaXB0Pgor
ICAgIDwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhZDE4ZGM0Li5lODMwODc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMzQgQEAKIDIwMTQtMDEtMTQgIE1paG5lYSBPdmlkZW5pZSAgPG1p
aG5lYUBhZG9iZS5jb20+CiAKKyAgICAgICAgW0NTU1JlZ2lvbnNdIEluY29ycmVjdCByZXBhaW50
IG9mIGZpeGVkIGVsZW1lbnQgd2l0aCB0cmFuc2Zvcm1lZCBwYXJlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTc1NgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY29sbGVjdGluZyB0aGUgbGF5
ZXJzIGZvciBmaXhlZCBwb3NpdGlvbmVkIGVsZW1lbnRzIHdpdGggbmFtZWQgZmxvdworICAgICAg
ICBhcyBhIGNvbnRhaW5pbmcgYmxvY2ssIHVzZSBsYXllcnMgY29sbGVjdGlvbiBhdCBuYW1lZCBm
bG93IGxheWVyIGxldmVsCisgICAgICAgIGluc3RlYWQgb2YgcmVseWluZyBvbiB0aGUgcG9zaXRp
b25lZCBlbGVtZW50cyBjb2xsZWN0aW9uLgorCisgICAgICAgIFdpdGggdGhpcyBhcHByb2FjaCwg
dGhlcmUgYXJlIHNpdHVhdGlvbnMgd2l0aCBuZXN0ZWQgbmFtZWQgZmxvd3MgbGFpZCBvdXQgaW4K
KyAgICAgICAgYXV0by1oZWlnaHQgcmVnaW9ucyBhbmQgdGh1cyBhc3N1bWluZyAyIHN0ZXAgbGF5
b3V0cywgaW4gd2hpY2ggaXMgZW5vdWdoIHRvIGxheQorICAgICAgICBvdXQgdGhlIGlubmVyIG5h
bWVkIGZsb3cgb25jZSBpbnN0ZWFkIG9mIHR3aWNlIHdpdGggYSBwZXJmb3JtYW5jZSBnYWluLgor
ICAgICAgICBJbiBzdWNoIHNpdHVhdGlvbnMsIHRoZSBsYXllcnMgbGlzdHMgZm9yIHRoZSBpbm5l
ciBuYW1lZCBmbG93IGFyZSBub3QgeWV0IHVwZGF0ZWQKKyAgICAgICAgd2hlbiBjb2xsZWN0Rml4
ZWRQb3NpdGlvbmVkTGF5ZXJzIGlzIGNhbGxlZCB0byBwYWludCB0aGUgZml4ZWQgcG9zaXRpb25l
ZCBsYXllcnMuCisgICAgICAgIFRoZXJlZm9yZSBJIGNhbGxlZCB1cGRhdGVMYXllckxpc3RzSWZO
ZWVkZWQgZm9yIGFsbCBuYW1lZCBmbG93cyBsYXllcnMsIHZpYSB0aGUgZmxvdyB0aHJlYWQgY29u
dHJvbGxlciwgYmVmb3JlIGluc3BlY3RpbmcgdGhlIG5hbWVkIGZsb3cgbGF5ZXJzIHRvIGF2b2lk
IGhpdHRpbmcgdGhlIGFzc2VydGlvbnMgd2hlbgorICAgICAgICBhY2Nlc3NpbmcgdGhlIG5hbWVk
IGZsb3dzIGxheWVycyBsaXN0cy4KKworICAgICAgICBUZXN0czogZmFzdC9yZWdpb25zL3JlcGFp
bnQvZml4ZWQtaW4tbmFtZWQtZmxvdy1jYi1jaGFuZ2VkLmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3QvcmVnaW9ucy9yZXBhaW50L2ZpeGVkLWluLW5hbWVkLWZsb3ctY2ItY2hhbmdlZDIuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjp1cGRhdGVOYW1lZEZsb3dzTGF5ZXJMaXN0
c0lmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkZsb3dUaHJlYWRDb250cm9sbGVyOjpjb2xs
ZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKToKKyAgICAgICAgKiByZW5kZXJpbmcvRmxvd1RocmVh
ZENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBhaW50Rml4ZWRMYXllcnNJbk5hbWVkRmxvd3Mp
OgorCisyMDE0LTAxLTE0ICBNaWhuZWEgT3ZpZGVuaWUgIDxtaWhuZWFAYWRvYmUuY29tPgorCiAg
ICAgICAgIFtDU1NSZWdpb25zXSBUaGUgbGlzdCBvZiBmaXhlZCBwb3NpdGlvbmVkIGxheWVycyBp
biBuYW1lZCBmbG93cyBzaG91bGQgYmUgc29ydGVkIGJ5IHotaW5kZXgKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjk3OAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb3dUaHJlYWRDb250cm9sbGVyLmNwcAppbmRleCAxY2Y2OTQ0
Li5mNjlkMzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVh
ZENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFk
Q29udHJvbGxlci5jcHAKQEAgLTI3OSw2ICsyNzksMTQgQEAgYm9vbCBGbG93VGhyZWFkQ29udHJv
bGxlcjo6aXNDb250ZW50RWxlbWVudFJlZ2lzdGVyZWRXaXRoQW55TmFtZWRGbG93KGNvbnN0IEVs
ZW0KICAgICByZXR1cm4gbV9tYXBOYW1lZEZsb3dDb250ZW50RWxlbWVudC5jb250YWlucygmY29u
dGVudEVsZW1lbnQpOwogfQogCit2b2lkIEZsb3dUaHJlYWRDb250cm9sbGVyOjp1cGRhdGVOYW1l
ZEZsb3dzTGF5ZXJMaXN0c0lmTmVlZGVkKCkKK3sKKyAgICBmb3IgKGF1dG8gaXRlciA9IG1fcmVu
ZGVyTmFtZWRGbG93VGhyZWFkTGlzdC0+YmVnaW4oKSwgZW5kID0gbV9yZW5kZXJOYW1lZEZsb3dU
aHJlYWRMaXN0LT5lbmQoKTsgaXRlciAhPSBlbmQ7ICsraXRlcikgeworICAgICAgICBSZW5kZXJO
YW1lZEZsb3dUaHJlYWQqIGZsb3dSZW5kZXJlciA9ICppdGVyOworICAgICAgICBmbG93UmVuZGVy
ZXItPmxheWVyKCktPnVwZGF0ZUxheWVyTGlzdHNJZk5lZWRlZCgpOworICAgIH0KK30KKwogc3Rh
dGljIGlubGluZSBib29sIGNvbXBhcmVaSW5kZXgoUmVuZGVyTGF5ZXIqIGZpcnN0LCBSZW5kZXJM
YXllciogc2Vjb25kKQogewogICAgIHJldHVybiBmaXJzdC0+ekluZGV4KCkgPCBzZWNvbmQtPnpJ
bmRleCgpOwpAQCAtMjk2LDE0ICszMDQsMjIgQEAgdm9pZCBGbG93VGhyZWFkQ29udHJvbGxlcjo6
Y29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVycyhWZWN0b3I8UmVuZGVyTGF5ZXIqPiYgZmkKICAg
ICAgICAgaWYgKCFmbG93UmVuZGVyZXItPmhhc1JlZ2lvbnMoKSkKICAgICAgICAgICAgIGNvbnRp
bnVlOwogCi0gICAgICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgZml4ZWQgcG9zaXRpb25lZCBlbGVt
ZW50cyBpbiB0aGUgZmxvdyB0aHJlYWQKLSAgICAgICAgVHJhY2tlZFJlbmRlcmVyTGlzdEhhc2hT
ZXQqIHBvc2l0aW9uZWREZXNjZW5kYW50cyA9IGZsb3dSZW5kZXJlci0+cG9zaXRpb25lZE9iamVj
dHMoKTsKLSAgICAgICAgaWYgKHBvc2l0aW9uZWREZXNjZW5kYW50cykgewotICAgICAgICAgICAg
Zm9yIChhdXRvIGl0ID0gcG9zaXRpb25lZERlc2NlbmRhbnRzLT5iZWdpbigpLCBlbmQgPSBwb3Np
dGlvbmVkRGVzY2VuZGFudHMtPmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKLSAgICAgICAgICAg
ICAgICBSZW5kZXJCb3gqIGJveCA9ICppdDsKLSAgICAgICAgICAgICAgICBpZiAoIWJveC0+Zml4
ZWRQb3NpdGlvbmVkV2l0aE5hbWVkRmxvd0NvbnRhaW5pbmdCbG9jaygpKQorICAgICAgICBSZW5k
ZXJMYXllciogZmxvd1RocmVhZExheWVyID0gZmxvd1JlbmRlcmVyLT5sYXllcigpOworICAgICAg
ICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBmbG93VGhyZWFkTGF5
ZXItPm5lZ1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDAsIHNp
emUgPSBuZWdaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXplOyArK2kpIHsKKyAgICAgICAgICAg
ICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gbmVnWk9yZGVyTGlzdC0+YXQoaSk7CisgICAg
ICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnBvc2l0aW9uKCkg
IT0gRml4ZWRQb3NpdGlvbikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAg
ICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXllcik7CisgICAgICAgICAgICB9
CisgICAgICAgIH0KKworICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIHBvc1pPcmRl
ckxpc3QgPSBmbG93VGhyZWFkTGF5ZXItPnBvc1pPcmRlckxpc3QoKSkgeworICAgICAgICAgICAg
Zm9yIChzaXplX3QgaSA9IDAsIHNpemUgPSBwb3NaT3JkZXJMaXN0LT5zaXplKCk7IGkgPCBzaXpl
OyArK2kpIHsKKyAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyckxheWVyID0gcG9zWk9y
ZGVyTGlzdC0+YXQoaSk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJMYXllci0+cmVuZGVyZXIo
KS5zdHlsZSgpLnBvc2l0aW9uKCkgIT0gRml4ZWRQb3NpdGlvbikKICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGJveC0+
bGF5ZXIoKSk7CisgICAgICAgICAgICAgICAgZml4ZWRQb3NMYXllcnMuYXBwZW5kKGN1cnJMYXll
cik7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvRmxvd1RocmVhZENvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5oCmluZGV4IGUyNWZmYjEuLmUwMDQ2OTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG93VGhyZWFkQ29udHJvbGxlci5o
CkBAIC04MCw2ICs4MCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0ZUZsb3dUaHJlYWRzSW50
b01lYXN1cmVDb250ZW50UGhhc2UoKTsKICAgICB2b2lkIHVwZGF0ZUZsb3dUaHJlYWRzSW50b0Zp
bmFsUGhhc2UoKTsKIAorICAgIHZvaWQgdXBkYXRlTmFtZWRGbG93c0xheWVyTGlzdHNJZk5lZWRl
ZCgpOwogICAgIC8vIENvbGxlY3QgdGhlIGZpeGVkIHBvc2l0aW9uZWQgbGF5ZXJzIHRoYXQgaGF2
ZSB0aGUgbmFtZWQgZmxvd3MgYXMgY29udGFpbmluZyBibG9jawogICAgIC8vIFRoZXNlIGxheWVy
cyBhcmUgcGFpbnRlZCBhbmQgaGl0LXRlc3RlZCBieSBSZW5kZXJWaWV3CiAgICAgdm9pZCBjb2xs
ZWN0Rml4ZWRQb3NpdGlvbmVkTGF5ZXJzKFZlY3RvcjxSZW5kZXJMYXllcio+JiBmaXhlZFBvc0xh
eWVycykgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRl
eCBkMmE2OGI0Li41ZDQ3ZWE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKQEAgLTQwNTcsNiArNDA1Nyw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnBhaW50Rml4ZWRM
YXllcnNJbk5hbWVkRmxvd3MoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMCiAgICAg
aWYgKCFyZW5kZXJlcigpLnZpZXcoKS5oYXNSZW5kZXJOYW1lZEZsb3dUaHJlYWRzKCkpCiAgICAg
ICAgIHJldHVybjsKIAorICAgIC8vIEVuc3VyZSB0aGUgZmxvdyB0aHJlYWRzIGhpZXJhcmNoeSBp
cyB1cC10by1kYXRlIGJlZm9yZSB1c2luZyBpdC4KKyAgICByZW5kZXJlcigpLnZpZXcoKS5mbG93
VGhyZWFkQ29udHJvbGxlcigpLnVwZGF0ZU5hbWVkRmxvd3NMYXllckxpc3RzSWZOZWVkZWQoKTsK
KwogICAgIC8vIENvbGxlY3QgdGhlIGZpeGVkIGxheWVycyBpbiBhIGxpc3QgdG8gYmUgcGFpbnRl
ZAogICAgIFZlY3RvcjxSZW5kZXJMYXllcio+IGZpeGVkTGF5ZXJzOwogICAgIHJlbmRlcmVyKCku
dmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVy
cyhmaXhlZExheWVycyk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>