<?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>97268</bug_id>
          
          <creation_ts>2012-09-20 15:58:13 -0700</creation_ts>
          <short_desc>Shrink baseline size of WTF::Vector on 64-bit by switching to unsigned capacity and size.</short_desc>
          <delta_ts>2013-06-02 13:03:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Template Framework</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>114627</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>d-r</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jberlin</cc>
    
    <cc>kling</cc>
    
    <cc>ossy</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>724942</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2012-09-20 15:58:13 -0700</bug_when>
    <thetext>I believe that using 32-bit indices for Vector addresses should be enough for WebKit, and if we switch from &apos;size_t&apos; to &apos;unsigned&apos;, we can save 8 bytes per Vector on 64-bit platforms.
There are plenty of Vectors in both JSC and WebCore, and we can save quite a lot here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728547</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-09-26 07:48:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/12376519&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875406</commentid>
    <comment_count>2</comment_count>
      <attachid>198012</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-14 15:07:46 -0700</bug_when>
    <thetext>Created attachment 198012
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875407</commentid>
    <comment_count>3</comment_count>
      <attachid>198012</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-04-14 15:25:23 -0700</bug_when>
    <thetext>Comment on attachment 198012
Patch

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

&gt; Source/WTF/ChangeLog:14
&gt; +
&gt; +        Shrink Vector by 8 bytes on 64-bit by using 32-bit capacity and size.
&gt; +        Vector now inherits from VectorBuffer instead of having a VectorBuffer member;
&gt; +        this is necessary for m_size to fall into the padding after the base class members.
&gt; +
&gt; +        The WTF::Vector API still uses size_t.
&gt; +

That is great!

Can we get some data on the outcome? (Binary size, dynamic size, etc).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875408</commentid>
    <comment_count>4</comment_count>
      <attachid>198012</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-14 15:30:00 -0700</bug_when>
    <thetext>Comment on attachment 198012
Patch

Attachment 198012 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/154203</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875423</commentid>
    <comment_count>5</comment_count>
      <attachid>198015</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-14 17:06:14 -0700</bug_when>
    <thetext>Created attachment 198015
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875425</commentid>
    <comment_count>6</comment_count>
      <attachid>198015</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-04-14 17:19:38 -0700</bug_when>
    <thetext>Comment on attachment 198015
Patch for landing

Attachment 198015 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/74229</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875426</commentid>
    <comment_count>7</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-14 17:22:25 -0700</bug_when>
    <thetext>GCC is crashing on the EFL EWS after this patch.
@Gyuyoung: What do?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>875429</commentid>
    <comment_count>8</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2013-04-14 18:06:14 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; GCC is crashing on the EFL EWS after this patch.
&gt; @Gyuyoung: What do?

Something is weird. There is no problem when I build WebKit efl with this patch locally. I will check this on buildbot again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>878403</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-04-19 06:18:04 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; GCC is crashing on the EFL EWS after this patch.
&gt; @Gyuyoung: What do?

Looks like GCC 4.6 with -O3 and that code makes the world explode. We&apos;re exploring some options in bug 114627.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879159</commentid>
    <comment_count>10</comment_count>
      <attachid>199032</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-04-22 08:19:39 -0700</bug_when>
    <thetext>Created attachment 199032
Try to make EFL EWS happy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879163</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-22 08:22:00 -0700</bug_when>
    <thetext>Attachment 199032 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source/JavaScriptCore/llint/LowLevelInterpreter.asm&apos;, u&apos;Source/WTF/ChangeLog&apos;, u&apos;Source/WTF/wtf/SizeLimits.cpp&apos;, u&apos;Source/WTF/wtf/Vector.h&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/WebCore/ChangeLog&apos;]&quot; exit_code: 1
Source/WebCore/CMakeLists.txt:2567:  One space between command &quot;endif&quot; and its parentheses, should be &quot;endif (&quot;  [whitespace/parentheses] [5]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879175</commentid>
    <comment_count>12</comment_count>
      <attachid>199032</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-04-22 08:41:11 -0700</bug_when>
    <thetext>Comment on attachment 199032
Try to make EFL EWS happy

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

We don’t need Vector&lt;char&gt; that are &gt;4GB?

&gt; Source/WTF/ChangeLog:13
&gt; +        The WTF::Vector API still uses size_t.

Long term, that may be a mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879180</commentid>
    <comment_count>13</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-22 08:45:37 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 199032 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=199032&amp;action=review
&gt; 
&gt; We don’t need Vector&lt;char&gt; that are &gt;4GB?

Right now, no. If we need such huge vectors in the future, I suspect we&apos;ll want to look at something specialized.

&gt; 
&gt; &gt; Source/WTF/ChangeLog:13
&gt; &gt; +        The WTF::Vector API still uses size_t.
&gt; 
&gt; Long term, that may be a mistake.

Yes, but doing that now would turn this into a monster patch. I think it&apos;d be better to move the key clients to unsigned indexing one by one, and then change Vector when it&apos;s safe. WTF::notFound is a bit of a problem here, since both Vector and String APIs use the same size_t(-1) constant for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879205</commentid>
    <comment_count>14</comment_count>
      <attachid>199039</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2013-04-22 09:36:55 -0700</bug_when>
    <thetext>Created attachment 199039
Minor CMake style fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879211</commentid>
    <comment_count>15</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-22 09:43:20 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; Created an attachment (id=199039) [details]

Thanks Raphael!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879219</commentid>
    <comment_count>16</comment_count>
      <attachid>199039</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-22 09:59:14 -0700</bug_when>
    <thetext>Comment on attachment 199039
Minor CMake style fix

Clearing flags on attachment: 199039

Committed r148891: &lt;http://trac.webkit.org/changeset/148891&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879220</commentid>
    <comment_count>17</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-04-22 09:59:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879265</commentid>
    <comment_count>18</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-04-22 11:12:35 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; All reviewed patches have been landed.  Closing bug.

I think this might have caused some javascript core tests to fail:

2013-04-22 10:20:53.121 testapi[31838:507] Testing Objective-C API
ASSERTION FAILED: bitwise_cast&lt;size_t*&gt;(&amp;testVector)[0] == 42
build/OpenSource/Source/JavaScriptCore/llint/LLIntData.cpp(119) : static void JSC::LLInt::Data::performAssertions(JSC::VM &amp;)
1   0x10f5d075c JSC::LLInt::Data::performAssertions(JSC::VM&amp;)
2   0x10f51c041 JSC::VM::VM(JSC::VM::VMType, JSC::HeapType)
3   0x10f51a821 JSC::VM::VM(JSC::VM::VMType, JSC::HeapType)
4   0x10f51cbbc JSC::VM::createContextGroup(JSC::HeapType)
5   0x10f51595b JSContextGroupCreate
6   0x10f58cae5 -[JSVirtualMachine init]
7   0x10f5144f9 -[JSContext init]
8   0x10f1fde44 testObjectiveCAPI
9   0x10f1f517c main
10  0x7fff89e5d7bd start
11  0x1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879299</commentid>
    <comment_count>19</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2013-04-22 11:44:30 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; &gt; All reviewed patches have been landed.  Closing bug.
&gt; 
&gt; I think this might have caused some javascript core tests to fail:
&gt; 
&gt; 2013-04-22 10:20:53.121 testapi[31838:507] Testing Objective-C API
&gt; ASSERTION FAILED: bitwise_cast&lt;size_t*&gt;(&amp;testVector)[0] == 42
&gt; build/OpenSource/Source/JavaScriptCore/llint/LLIntData.cpp(119) : static void JSC::LLInt::Data::performAssertions(JSC::VM &amp;)
&gt; 1   0x10f5d075c JSC::LLInt::Data::performAssertions(JSC::VM&amp;)
&gt; 2   0x10f51c041 JSC::VM::VM(JSC::VM::VMType, JSC::HeapType)
&gt; 3   0x10f51a821 JSC::VM::VM(JSC::VM::VMType, JSC::HeapType)
&gt; 4   0x10f51cbbc JSC::VM::createContextGroup(JSC::HeapType)
&gt; 5   0x10f51595b JSContextGroupCreate
&gt; 6   0x10f58cae5 -[JSVirtualMachine init]
&gt; 7   0x10f5144f9 -[JSContext init]
&gt; 8   0x10f1fde44 testObjectiveCAPI
&gt; 9   0x10f1f517c main
&gt; 10  0x7fff89e5d7bd start
&gt; 11  0x1

Looks like Oliver fixed this in http://trac.webkit.org/changeset/148896</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896260</commentid>
    <comment_count>20</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-06-02 13:03:21 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Created an attachment (id=199032) [details]
&gt; Try to make EFL EWS happy

This cmake change was incorrect, fixes landed in 
- http://trac.webkit.org/changeset/150940
- http://trac.webkit.org/changeset/151083</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198012</attachid>
            <date>2013-04-14 15:07:46 -0700</date>
            <delta_ts>2013-04-14 17:06:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97268.diff</filename>
            <type>text/plain</type>
            <size>12921</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZhMTc3MTIuLmE2YTk5MGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA0LTE0ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBTaHJpbmsgYmFzZWxpbmUgc2l6ZSBvZiBX
VEY6OlZlY3RvciBvbiA2NC1iaXQgYnkgc3dpdGNoaW5nIHRvIHVuc2lnbmVkIGNhcGFjaXR5IGFu
ZCBzaXplLgorICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi85NzI2OD4KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEyMzc2NTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZSBMTEludCBXVEY6OlZlY3RvciBvZmZzZXQgY29uc3RhbnRz
IHRvIG1hdGNoIHRoZSBuZXcgbWVtb3J5IGxheW91dC4KKworICAgICAgICAqIGxsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtOgorCiAyMDEzLTA0LTEzICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBh
cm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBtaXNzaW5nIGV4cG9ydCBtYWNybyB0byBT
eW1ib2xUYWJsZUVudHJ5OjpmcmVlRmF0RW50cnlTbG93KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbSBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQppbmRleCAxNTM3ZjQ0Li41
YzA1NzE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc20KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtCkBAIC0xNTQsMTEgKzE1NCwxMSBAQCBlbHNlCiBlbmQKIAogIyBUaGlz
IG11c3QgbWF0Y2ggd3RmL1ZlY3Rvci5oCi1jb25zdCBWZWN0b3JTaXplT2Zmc2V0ID0gMAorY29u
c3QgVmVjdG9yQnVmZmVyT2Zmc2V0ID0gMAogaWYgSlNWQUxVRTY0Ci0gICAgY29uc3QgVmVjdG9y
QnVmZmVyT2Zmc2V0ID0gOAorICAgIGNvbnN0IFZlY3RvclNpemVPZmZzZXQgPSAxMgogZWxzZQot
ICAgIGNvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDQKKyAgICBjb25zdCBWZWN0b3JTaXplT2Zm
c2V0ID0gOAogZW5kCiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZwppbmRleCA5YjMxMzZiLi5iM2E0YjI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4
IEBACisyMDEzLTA0LTE0ICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaHJpbmsgYmFzZWxpbmUgc2l6ZSBvZiBXVEY6OlZlY3RvciBvbiA2NC1iaXQgYnkgc3dp
dGNoaW5nIHRvIHVuc2lnbmVkIGNhcGFjaXR5IGFuZCBzaXplLgorICAgICAgICA8aHR0cDovL3dl
YmtpdC5vcmcvYi85NzI2OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyMzc2NTE5PgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNocmluayBWZWN0
b3IgYnkgOCBieXRlcyBvbiA2NC1iaXQgYnkgdXNpbmcgMzItYml0IGNhcGFjaXR5IGFuZCBzaXpl
LgorICAgICAgICBWZWN0b3Igbm93IGluaGVyaXRzIGZyb20gVmVjdG9yQnVmZmVyIGluc3RlYWQg
b2YgaGF2aW5nIGEgVmVjdG9yQnVmZmVyIG1lbWJlcjsKKyAgICAgICAgdGhpcyBpcyBuZWNlc3Nh
cnkgZm9yIG1fc2l6ZSB0byBmYWxsIGludG8gdGhlIHBhZGRpbmcgYWZ0ZXIgdGhlIGJhc2UgY2xh
c3MgbWVtYmVycy4KKworICAgICAgICBUaGUgV1RGOjpWZWN0b3IgQVBJIHN0aWxsIHVzZXMgc2l6
ZV90LgorCisgICAgICAgIEJhc2VkIG9uIEJsaW5rIHIxNDgzMTMgYnkgPGNldmFuc0BjaHJvbWl1
bS5vcmc+LgorCisgICAgICAgICogd3RmL1NpemVMaW1pdHMuY3BwOgorICAgICAgICAqIHd0Zi9W
ZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyQmFzZTo6YWxsb2NhdGVCdWZmZXIp
OgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjp0cnlBbGxvY2F0ZUJ1ZmZlcik6Cisg
ICAgICAgIChWZWN0b3JCdWZmZXJCYXNlKToKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyOjpz
aG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3Rvcik6CisgICAgICAgIChXVEY6
OlZlY3Rvcjo6VmVjdG9yKToKKyAgICAgICAgKFdURjo6VmVjdG9yOjpjYXBhY2l0eSk6CisgICAg
ICAgIChXVEY6OlZlY3Rvcjo6YXQpOgorICAgICAgICAoV1RGOjpWZWN0b3I6OmRhdGEpOgorICAg
ICAgICAoV1RGOjpWZWN0b3I6OnN3YXApOgorICAgICAgICAoV1RGOjo6OlZlY3Rvcik6CisgICAg
ICAgIChXVEY6Ojo6cmVzZXJ2ZUNhcGFjaXR5KToKKyAgICAgICAgKFdURjo6Ojp0cnlSZXNlcnZl
Q2FwYWNpdHkpOgorICAgICAgICAoV1RGOjo6OnJlc2VydmVJbml0aWFsQ2FwYWNpdHkpOgorICAg
ICAgICAoV1RGOjo6OnNocmlua0NhcGFjaXR5KToKKyAgICAgICAgKFdURjo6OjpyZWxlYXNlQnVm
ZmVyKToKKwogMjAxMy0wNC0xNCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIFRyeSB0byBmaXggbm9uLWFwcGxlIHdpbmRvd3MgYnVpbGRzCmRpZmYgLS1naXQgYS9T
b3VyY2UvV1RGL3d0Zi9TaXplTGltaXRzLmNwcCBiL1NvdXJjZS9XVEYvd3RmL1NpemVMaW1pdHMu
Y3BwCmluZGV4IDk1ZDljMmIuLmNiMmQ2MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Np
emVMaW1pdHMuY3BwCisrKyBiL1NvdXJjZS9XVEYvd3RmL1NpemVMaW1pdHMuY3BwCkBAIC02MCw2
ICs2MCw3IEBAIENPTVBJTEVfQVNTRVJUKHNpemVvZihQYXNzUmVmUHRyPFJlZkNvdW50ZWQ8aW50
PiA+KSA9PSBzaXplb2YoaW50KiksIFBhc3NSZWZQdHJfCiBDT01QSUxFX0FTU0VSVChzaXplb2Yo
UmVmQ291bnRlZDxpbnQ+KSA9PSBzaXplb2YoU2FtZVNpemVBc1JlZkNvdW50ZWQpLCBSZWZDb3Vu
dGVkX3Nob3VsZF9zdGF5X3NtYWxsKTsKIENPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZDb3VudGVk
Q3VzdG9tQWxsb2NhdGVkPGludD4pID09IHNpemVvZihTYW1lU2l6ZUFzUmVmQ291bnRlZCksIFJl
ZkNvdW50ZWRDdXN0b21BbGxvY2F0ZWRfc2hvdWxkX3N0YXlfc21hbGwpOwogQ09NUElMRV9BU1NF
UlQoc2l6ZW9mKFJlZlB0cjxSZWZDb3VudGVkPGludD4gPikgPT0gc2l6ZW9mKGludCopLCBSZWZQ
dHJfc2hvdWxkX3N0YXlfc21hbGwpOwotQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFZlY3RvcjxpbnQ+
KSA9PSAzICogc2l6ZW9mKGludCopLCBWZWN0b3Jfc2hvdWxkX3N0YXlfc21hbGwpOworQ09NUElM
RV9BU1NFUlQoc2l6ZW9mKFZlY3RvcjxpbnQ+KSA9PSBzaXplb2YoaW50KikgKyAyICogc2l6ZW9m
KGludCksIFZlY3Rvcl9zaG91bGRfc3RheV9zbWFsbCk7CitDT01QSUxFX0FTU0VSVChzaXplb2Yo
VmVjdG9yPGludCwgMT4pID09IDIgKiBzaXplb2YoaW50KikgKyAyICogc2l6ZW9mKGludCksIFZl
Y3Rvcl9zaG91bGRfc3RheV9zbWFsbCk7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKaW5kZXggMGM4NzY1OS4uNjg5NjI1
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL1dURi93
dGYvVmVjdG9yLmgKQEAgLTI1Myw3ICsyNTMsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAg
dm9pZCBhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIEFTU0VSVChuZXdDYXBhY2l0eSk7Ci0gICAgICAgICAgICBpZiAobmV3Q2FwYWNpdHkg
PiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC8gc2l6ZW9mKFQpKQorICAgICAg
ICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1h
eCgpIC8gc2l6ZW9mKFQpKQogICAgICAgICAgICAgICAgIENSQVNIKCk7CiAgICAgICAgICAgICBz
aXplX3Qgc2l6ZVRvQWxsb2NhdGUgPSBmYXN0TWFsbG9jR29vZFNpemUobmV3Q2FwYWNpdHkgKiBz
aXplb2YoVCkpOwogICAgICAgICAgICAgbV9jYXBhY2l0eSA9IHNpemVUb0FsbG9jYXRlIC8gc2l6
ZW9mKFQpOwpAQCAtMjYzLDcgKzI2Myw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBib29s
IHRyeUFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAgewogICAgICAg
ICAgICAgQVNTRVJUKG5ld0NhcGFjaXR5KTsKLSAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+
IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLyBzaXplb2YoVCkpCisgICAgICAg
ICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4
KCkgLyBzaXplb2YoVCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgICAg
ICAgICBzaXplX3Qgc2l6ZVRvQWxsb2NhdGUgPSBmYXN0TWFsbG9jR29vZFNpemUobmV3Q2FwYWNp
dHkgKiBzaXplb2YoVCkpOwpAQCAtMzM1LDcgKzMzNSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
ICAgICB9CiAKICAgICAgICAgVCogbV9idWZmZXI7Ci0gICAgICAgIHNpemVfdCBtX2NhcGFjaXR5
OworICAgICAgICB1bnNpZ25lZCBtX2NhcGFjaXR5OwogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHk+CkBAIC00MzksNyArNDM5LDcgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgIGJvb2wgc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3Qg
bmV3Q2FwYWNpdHkpIGNvbnN0CiAgICAgICAgIHsKICAgICAgICAgICAgIC8vIFdlIGNhbm5vdCBy
ZWFsbG9jYXRlIHRoZSBpbmxpbmUgYnVmZmVyLgotICAgICAgICAgICAgcmV0dXJuIEJhc2U6OnNo
b3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpICYmIHN0ZDo6bWluKG1fY2FwYWNpdHks
IG5ld0NhcGFjaXR5KSA+IGlubGluZUNhcGFjaXR5OworICAgICAgICAgICAgcmV0dXJuIEJhc2U6
OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpICYmIHN0ZDo6bWluKHN0YXRpY19j
YXN0PHNpemVfdD4obV9jYXBhY2l0eSksIG5ld0NhcGFjaXR5KSA+IGlubGluZUNhcGFjaXR5Owog
ICAgICAgICB9CiAKICAgICAgICAgdm9pZCByZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBh
Y2l0eSkKQEAgLTUwNiwxMCArNTA2LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgIH07CiAKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHkgPSAwLCB0eXBlbmFt
ZSBPdmVyZmxvd0hhbmRsZXIgPSBDcmFzaE9uT3ZlcmZsb3c+Ci0gICAgY2xhc3MgVmVjdG9yIHsK
KyAgICBjbGFzcyBWZWN0b3IgOiBwcml2YXRlIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0
eT4gewogICAgICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBwcml2YXRlOgotICAg
ICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQnVmZmVyOworICAg
ICAgICB0eXBlZGVmIFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4gQmFzZTsKICAgICAg
ICAgdHlwZWRlZiBWZWN0b3JUeXBlT3BlcmF0aW9uczxUPiBUeXBlT3BlcmF0aW9uczsKIAogICAg
IHB1YmxpYzoKQEAgLTUyMCwxNCArNTIwLDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB0
eXBlZGVmIHN0ZDo6cmV2ZXJzZV9pdGVyYXRvcjxpdGVyYXRvcj4gcmV2ZXJzZV9pdGVyYXRvcjsK
ICAgICAgICAgdHlwZWRlZiBzdGQ6OnJldmVyc2VfaXRlcmF0b3I8Y29uc3RfaXRlcmF0b3I+IGNv
bnN0X3JldmVyc2VfaXRlcmF0b3I7CiAKLSAgICAgICAgVmVjdG9yKCkgCisgICAgICAgIFZlY3Rv
cigpCiAgICAgICAgICAgICA6IG1fc2l6ZSgwKQogICAgICAgICB7CiAgICAgICAgIH0KICAgICAg
ICAgCi0gICAgICAgIGV4cGxpY2l0IFZlY3RvcihzaXplX3Qgc2l6ZSkgCi0gICAgICAgICAgICA6
IG1fc2l6ZShzaXplKQotICAgICAgICAgICAgLCBtX2J1ZmZlcihzaXplKQorICAgICAgICBleHBs
aWNpdCBWZWN0b3Ioc2l6ZV90IHNpemUpCisgICAgICAgICAgICA6IEJhc2Uoc2l6ZSkKKyAgICAg
ICAgICAgICwgbV9zaXplKHNpemUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChiZWdpbigp
KQogICAgICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjppbml0aWFsaXplKGJlZ2luKCksIGVu
ZCgpKTsKQEAgLTU1MywzMCArNTUzLDMwIEBAIG5hbWVzcGFjZSBXVEYgewogI2VuZGlmCiAKICAg
ICAgICAgc2l6ZV90IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KLSAgICAgICAgc2l6
ZV90IGNhcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIuY2FwYWNpdHkoKTsgfQorICAg
ICAgICBzaXplX3QgY2FwYWNpdHkoKSBjb25zdCB7IHJldHVybiBCYXNlOjpjYXBhY2l0eSgpOyB9
CiAgICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICFzaXplKCk7IH0KIAotICAg
ICAgICBUJiBhdChzaXplX3QgaSkgCisgICAgICAgIFQmIGF0KHNpemVfdCBpKQogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoVU5MSUtFTFkoaSA+PSBzaXplKCkpKQogICAgICAgICAgICAgICAg
IE92ZXJmbG93SGFuZGxlcjo6b3ZlcmZsb3dlZCgpOwotICAgICAgICAgICAgcmV0dXJuIG1fYnVm
ZmVyLmJ1ZmZlcigpW2ldOyAKKyAgICAgICAgICAgIHJldHVybiBCYXNlOjpidWZmZXIoKVtpXTsK
ICAgICAgICAgfQogICAgICAgICBjb25zdCBUJiBhdChzaXplX3QgaSkgY29uc3QgCiAgICAgICAg
IHsKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShpID49IHNpemUoKSkpCiAgICAgICAgICAgICAg
ICAgT3ZlcmZsb3dIYW5kbGVyOjpvdmVyZmxvd2VkKCk7Ci0gICAgICAgICAgICByZXR1cm4gbV9i
dWZmZXIuYnVmZmVyKClbaV07IAorICAgICAgICAgICAgcmV0dXJuIEJhc2U6OmJ1ZmZlcigpW2ld
OwogICAgICAgICB9CiAgICAgICAgIFQmIGF0KENoZWNrZWQ8c2l6ZV90PiBpKQogICAgICAgICB7
CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChpIDwgc2l6ZSgpKTsKLSAgICAgICAgICAgIHJl
dHVybiBtX2J1ZmZlci5idWZmZXIoKVtpXTsKKyAgICAgICAgICAgIHJldHVybiBCYXNlOjpidWZm
ZXIoKVtpXTsKICAgICAgICAgfQogICAgICAgICBjb25zdCBUJiBhdChDaGVja2VkPHNpemVfdD4g
aSkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlQoaSA8IHNpemUo
KSk7Ci0gICAgICAgICAgICByZXR1cm4gbV9idWZmZXIuYnVmZmVyKClbaV07CisgICAgICAgICAg
ICByZXR1cm4gQmFzZTo6YnVmZmVyKClbaV07CiAgICAgICAgIH0KIAogICAgICAgICBUJiBvcGVy
YXRvcltdKHNpemVfdCBpKSB7IHJldHVybiBhdChpKTsgfQpAQCAtNTg0LDggKzU4NCw4IEBAIG5h
bWVzcGFjZSBXVEYgewogICAgICAgICBUJiBvcGVyYXRvcltdKENoZWNrZWQ8c2l6ZV90PiBpKSB7
IHJldHVybiBhdChpKTsgfQogICAgICAgICBjb25zdCBUJiBvcGVyYXRvcltdKENoZWNrZWQ8c2l6
ZV90PiBpKSBjb25zdCB7IHJldHVybiBhdChpKTsgfQogCi0gICAgICAgIFQqIGRhdGEoKSB7IHJl
dHVybiBtX2J1ZmZlci5idWZmZXIoKTsgfQotICAgICAgICBjb25zdCBUKiBkYXRhKCkgY29uc3Qg
eyByZXR1cm4gbV9idWZmZXIuYnVmZmVyKCk7IH0KKyAgICAgICAgVCogZGF0YSgpIHsgcmV0dXJu
IEJhc2U6OmJ1ZmZlcigpOyB9CisgICAgICAgIGNvbnN0IFQqIGRhdGEoKSBjb25zdCB7IHJldHVy
biBCYXNlOjpidWZmZXIoKTsgfQogCiAgICAgICAgIGl0ZXJhdG9yIGJlZ2luKCkgeyByZXR1cm4g
ZGF0YSgpOyB9CiAgICAgICAgIGl0ZXJhdG9yIGVuZCgpIHsgcmV0dXJuIGJlZ2luKCkgKyBtX3Np
emU7IH0KQEAgLTY0Myw4ICs2NDMsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgfQogCiAg
ICAgICAgIFZlY3RvcihzaXplX3Qgc2l6ZSwgY29uc3QgVCYgdmFsKQotICAgICAgICAgICAgOiBt
X3NpemUoc2l6ZSkKLSAgICAgICAgICAgICwgbV9idWZmZXIoc2l6ZSkKKyAgICAgICAgICAgIDog
QmFzZShzaXplKQorICAgICAgICAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKGJlZ2luKCkpCiAgICAgICAgICAgICAgICAgVHlwZU9wZXJhdGlvbnM6OnVuaW5p
dGlhbGl6ZWRGaWxsKGJlZ2luKCksIGVuZCgpLCB2YWwpOwpAQCAtNjYwLDcgKzY2MCw3IEBAIG5h
bWVzcGFjZSBXVEYgewogICAgICAgICB2b2lkIHN3YXAoVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5
LCBPdmVyZmxvd0hhbmRsZXI+JiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgc3RkOjpz
d2FwKG1fc2l6ZSwgb3RoZXIubV9zaXplKTsKLSAgICAgICAgICAgIG1fYnVmZmVyLnN3YXAob3Ro
ZXIubV9idWZmZXIpOworICAgICAgICAgICAgQmFzZTo6c3dhcChvdGhlcik7CiAgICAgICAgIH0K
IAogICAgICAgICB2b2lkIHJldmVyc2UoKTsKQEAgLTY3NSwxNCArNjc1LDI0IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBVKiBleHBhbmRDYXBhY2l0eShz
aXplX3QgbmV3TWluQ2FwYWNpdHksIFUqKTsgCiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+
IHZvaWQgYXBwZW5kU2xvd0Nhc2UoY29uc3QgVSYpOwogCi0gICAgICAgIHNpemVfdCBtX3NpemU7
Ci0gICAgICAgIEJ1ZmZlciBtX2J1ZmZlcjsKKyAgICAgICAgdW5zaWduZWQgbV9zaXplOworCisg
ICAgICAgIHVzaW5nIEJhc2U6OmJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6Y2FwYWNpdHk7
CisgICAgICAgIHVzaW5nIEJhc2U6OnN3YXA7CisgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRl
QnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpkZWFsbG9jYXRlQnVmZmVyOworICAgICAgICB1
c2luZyBCYXNlOjp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hvdWxk
UmVhbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcjsK
KyAgICAgICAgdXNpbmcgQmFzZTo6cmVzdG9yZUlubGluZUJ1ZmZlcklmTmVlZGVkOworICAgICAg
ICB1c2luZyBCYXNlOjpyZWxlYXNlQnVmZmVyOwogICAgIH07CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlcj4K
ICAgICBWZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj46OlZlY3Rvcihj
b25zdCBWZWN0b3ImIG90aGVyKQotICAgICAgICA6IG1fc2l6ZShvdGhlci5zaXplKCkpCi0gICAg
ICAgICwgbV9idWZmZXIob3RoZXIuY2FwYWNpdHkoKSkKKyAgICAgICAgOiBCYXNlKG90aGVyLmNh
cGFjaXR5KCkpCisgICAgICAgICwgbV9zaXplKG90aGVyLnNpemUoKSkKICAgICB7CiAgICAgICAg
IGlmIChiZWdpbigpKQogICAgICAgICAgICAgVHlwZU9wZXJhdGlvbnM6OnVuaW5pdGlhbGl6ZWRD
b3B5KG90aGVyLmJlZ2luKCksIG90aGVyLmVuZCgpLCBiZWdpbigpKTsKQEAgLTY5MSw4ICs3MDEs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5s
aW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlcj4KICAgICB0ZW1wbGF0ZTxzaXpl
X3Qgb3RoZXJDYXBhY2l0eSwgdHlwZW5hbWUgb3RoZXJPdmVyZmxvd0JlaGF2aW91cj4KICAgICBW
ZWN0b3I8VCwgaW5saW5lQ2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj46OlZlY3Rvcihjb25zdCBW
ZWN0b3I8VCwgb3RoZXJDYXBhY2l0eSwgb3RoZXJPdmVyZmxvd0JlaGF2aW91cj4mIG90aGVyKQot
ICAgICAgICA6IG1fc2l6ZShvdGhlci5zaXplKCkpCi0gICAgICAgICwgbV9idWZmZXIob3RoZXIu
Y2FwYWNpdHkoKSkKKyAgICAgICAgOiBCYXNlKG90aGVyLmNhcGFjaXR5KCkpCisgICAgICAgICwg
bV9zaXplKG90aGVyLnNpemUoKSkKICAgICB7CiAgICAgICAgIGlmIChiZWdpbigpKQogICAgICAg
ICAgICAgVHlwZU9wZXJhdGlvbnM6OnVuaW5pdGlhbGl6ZWRDb3B5KG90aGVyLmJlZ2luKCksIG90
aGVyLmVuZCgpLCBiZWdpbigpKTsKQEAgLTkxOCwxMCArOTI4LDEwIEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBUKiBvbGRCdWZmZXIgPSBiZWdpbigpOwog
ICAgICAgICBUKiBvbGRFbmQgPSBlbmQoKTsKLSAgICAgICAgbV9idWZmZXIuYWxsb2NhdGVCdWZm
ZXIobmV3Q2FwYWNpdHkpOworICAgICAgICBCYXNlOjphbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0
eSk7CiAgICAgICAgIGlmIChiZWdpbigpKQogICAgICAgICAgICAgVHlwZU9wZXJhdGlvbnM6Om1v
dmUob2xkQnVmZmVyLCBvbGRFbmQsIGJlZ2luKCkpOwotICAgICAgICBtX2J1ZmZlci5kZWFsbG9j
YXRlQnVmZmVyKG9sZEJ1ZmZlcik7CisgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIob2xk
QnVmZmVyKTsKICAgICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+CkBAIC05MzEsMTEgKzk0MSwx
MSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBU
KiBvbGRCdWZmZXIgPSBiZWdpbigpOwogICAgICAgICBUKiBvbGRFbmQgPSBlbmQoKTsKLSAgICAg
ICAgaWYgKCFtX2J1ZmZlci50cnlBbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpCisgICAgICAg
IGlmICghQmFzZTo6dHJ5QWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKQogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICBBU1NFUlQoYmVnaW4oKSk7CiAgICAgICAgIFR5cGVPcGVy
YXRpb25zOjptb3ZlKG9sZEJ1ZmZlciwgb2xkRW5kLCBiZWdpbigpKTsKLSAgICAgICAgbV9idWZm
ZXIuZGVhbGxvY2F0ZUJ1ZmZlcihvbGRCdWZmZXIpOworICAgICAgICBCYXNlOjpkZWFsbG9jYXRl
QnVmZmVyKG9sZEJ1ZmZlcik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKQEAg
LTk0NSw3ICs5NTUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgQVNTRVJUKCFtX3NpemUp
OwogICAgICAgICBBU1NFUlQoY2FwYWNpdHkoKSA9PSBpbmxpbmVDYXBhY2l0eSk7CiAgICAgICAg
IGlmIChpbml0aWFsQ2FwYWNpdHkgPiBpbmxpbmVDYXBhY2l0eSkKLSAgICAgICAgICAgIG1fYnVm
ZmVyLmFsbG9jYXRlQnVmZmVyKGluaXRpYWxDYXBhY2l0eSk7CisgICAgICAgICAgICBCYXNlOjph
bGxvY2F0ZUJ1ZmZlcihpbml0aWFsQ2FwYWNpdHkpOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFu
ZGxlcj4KQEAgLTk1OSwxOSArOTY5LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIFQq
IG9sZEJ1ZmZlciA9IGJlZ2luKCk7CiAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IDApIHsKLSAg
ICAgICAgICAgIGlmIChtX2J1ZmZlci5zaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5
KSkgewotICAgICAgICAgICAgICAgIG1fYnVmZmVyLnJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNp
dHkpOworICAgICAgICAgICAgaWYgKEJhc2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2Fw
YWNpdHkpKSB7CisgICAgICAgICAgICAgICAgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBh
Y2l0eSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBUKiBvbGRFbmQgPSBlbmQoKTsKLSAgICAgICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVm
ZmVyKG5ld0NhcGFjaXR5KTsKKyAgICAgICAgICAgIEJhc2U6OmFsbG9jYXRlQnVmZmVyKG5ld0Nh
cGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigpICE9IG9sZEJ1ZmZlcikKICAgICAgICAg
ICAgICAgICBUeXBlT3BlcmF0aW9uczo6bW92ZShvbGRCdWZmZXIsIG9sZEVuZCwgYmVnaW4oKSk7
CiAgICAgICAgIH0KIAotICAgICAgICBtX2J1ZmZlci5kZWFsbG9jYXRlQnVmZmVyKG9sZEJ1ZmZl
cik7Ci0gICAgICAgIG1fYnVmZmVyLnJlc3RvcmVJbmxpbmVCdWZmZXJJZk5lZWRlZCgpOworICAg
ICAgICBCYXNlOjpkZWFsbG9jYXRlQnVmZmVyKG9sZEJ1ZmZlcik7CisgICAgICAgIEJhc2U6OnJl
c3RvcmVJbmxpbmVCdWZmZXJJZk5lZWRlZCgpOwogICAgIH0KIAogICAgIC8vIFRlbXBsYXRpemlu
ZyB0aGVzZSBpcyBiZXR0ZXIgdGhhbiBqdXN0IGxldHRpbmcgdGhlIGNvbnZlcnNpb24gaGFwcGVu
IGltcGxpY2l0bHksCkBAIC0xMTU4LDcgKzExNjgsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBULCBzaXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJm
bG93SGFuZGxlcj4KICAgICBpbmxpbmUgVCogVmVjdG9yPFQsIGlubGluZUNhcGFjaXR5LCBPdmVy
Zmxvd0hhbmRsZXI+OjpyZWxlYXNlQnVmZmVyKCkKICAgICB7Ci0gICAgICAgIFQqIGJ1ZmZlciA9
IG1fYnVmZmVyLnJlbGVhc2VCdWZmZXIoKTsKKyAgICAgICAgVCogYnVmZmVyID0gQmFzZTo6cmVs
ZWFzZUJ1ZmZlcigpOwogICAgICAgICBpZiAoaW5saW5lQ2FwYWNpdHkgJiYgIWJ1ZmZlciAmJiBt
X3NpemUpIHsKICAgICAgICAgICAgIC8vIElmIHRoZSB2ZWN0b3IgaGFkIHNvbWUgZGF0YSwgYnV0
IG5vIGJ1ZmZlciB0byByZWxlYXNlLAogICAgICAgICAgICAgLy8gdGhhdCBtZWFucyBpdCB3YXMg
dXNpbmcgdGhlIGlubGluZSBidWZmZXIuIEluIHRoYXQgY2FzZSwK
</data>
<flag name="review"
          id="219872"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="219873"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>198015</attachid>
            <date>2013-04-14 17:06:14 -0700</date>
            <delta_ts>2013-04-22 08:19:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-97268-land.diff</filename>
            <type>text/plain</type>
            <size>12913</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGZhMTc3MTIuLmMxZmViOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTA0LTE0ICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBTaHJpbmsgYmFzZWxpbmUgc2l6ZSBvZiBX
VEY6OlZlY3RvciBvbiA2NC1iaXQgYnkgc3dpdGNoaW5nIHRvIHVuc2lnbmVkIGNhcGFjaXR5IGFu
ZCBzaXplLgorICAgICAgICA8aHR0cDovL3dlYmtpdC5vcmcvYi85NzI2OD4KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzEyMzc2NTE5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcu
CisKKyAgICAgICAgVXBkYXRlIExMSW50IFdURjo6VmVjdG9yIG9mZnNldCBjb25zdGFudHMgdG8g
bWF0Y2ggdGhlIG5ldyBtZW1vcnkgbGF5b3V0LgorCisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJ
bnRlcnByZXRlci5hc206CisKIDIwMTMtMDQtMTMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIG1pc3NpbmcgZXhwb3J0IG1hY3JvIHRvIFN5bWJv
bFRhYmxlRW50cnk6OmZyZWVGYXRFbnRyeVNsb3coKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCmluZGV4IDE1MzdmNDQuLjVjMDU3
MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyLmFzbQorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRl
cnByZXRlci5hc20KQEAgLTE1NCwxMSArMTU0LDExIEBAIGVsc2UKIGVuZAogCiAjIFRoaXMgbXVz
dCBtYXRjaCB3dGYvVmVjdG9yLmgKLWNvbnN0IFZlY3RvclNpemVPZmZzZXQgPSAwCitjb25zdCBW
ZWN0b3JCdWZmZXJPZmZzZXQgPSAwCiBpZiBKU1ZBTFVFNjQKLSAgICBjb25zdCBWZWN0b3JCdWZm
ZXJPZmZzZXQgPSA4CisgICAgY29uc3QgVmVjdG9yU2l6ZU9mZnNldCA9IDEyCiBlbHNlCi0gICAg
Y29uc3QgVmVjdG9yQnVmZmVyT2Zmc2V0ID0gNAorICAgIGNvbnN0IFZlY3RvclNpemVPZmZzZXQg
PSA4CiBlbmQKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCmluZGV4IDliMzEzNmIuLjI3YWEyMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAK
KzIwMTMtMDQtMTQgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgorCisgICAgICAg
IFNocmluayBiYXNlbGluZSBzaXplIG9mIFdURjo6VmVjdG9yIG9uIDY0LWJpdCBieSBzd2l0Y2hp
bmcgdG8gdW5zaWduZWQgY2FwYWNpdHkgYW5kIHNpemUuCisgICAgICAgIDxodHRwOi8vd2Via2l0
Lm9yZy9iLzk3MjY4PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTIzNzY1MTk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKworICAgICAgICBTaHJpbmsgVmVjdG9yIGJ5IDgg
Ynl0ZXMgb24gNjQtYml0IGJ5IHVzaW5nIDMyLWJpdCBjYXBhY2l0eSBhbmQgc2l6ZS4KKyAgICAg
ICAgVmVjdG9yIG5vdyBpbmhlcml0cyBmcm9tIFZlY3RvckJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmlu
ZyBhIFZlY3RvckJ1ZmZlciBtZW1iZXI7CisgICAgICAgIHRoaXMgaXMgbmVjZXNzYXJ5IGZvciBt
X3NpemUgdG8gZmFsbCBpbnRvIHRoZSBwYWRkaW5nIGFmdGVyIHRoZSBiYXNlIGNsYXNzIG1lbWJl
cnMuCisKKyAgICAgICAgVGhlIFdURjo6VmVjdG9yIEFQSSBzdGlsbCB1c2VzIHNpemVfdC4KKwor
ICAgICAgICBCYXNlZCBvbiBCbGluayByMTQ4MzEzIGJ5IDxjZXZhbnNAY2hyb21pdW0ub3JnPi4K
KworICAgICAgICAqIHd0Zi9TaXplTGltaXRzLmNwcDoKKyAgICAgICAgKiB3dGYvVmVjdG9yLmg6
CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OmFsbG9jYXRlQnVmZmVyKToKKyAgICAg
ICAgKFdURjo6VmVjdG9yQnVmZmVyQmFzZTo6dHJ5QWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAo
VmVjdG9yQnVmZmVyQmFzZSk6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlcjo6c2hvdWxkUmVh
bGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChWZWN0b3IpOgorICAgICAgICAoV1RGOjpWZWN0b3I6
OlZlY3Rvcik6CisgICAgICAgIChXVEY6OlZlY3Rvcjo6Y2FwYWNpdHkpOgorICAgICAgICAoV1RG
OjpWZWN0b3I6OmF0KToKKyAgICAgICAgKFdURjo6VmVjdG9yOjpkYXRhKToKKyAgICAgICAgKFdU
Rjo6VmVjdG9yOjpzd2FwKToKKyAgICAgICAgKFdURjo6OjpWZWN0b3IpOgorICAgICAgICAoV1RG
Ojo6OnJlc2VydmVDYXBhY2l0eSk6CisgICAgICAgIChXVEY6Ojo6dHJ5UmVzZXJ2ZUNhcGFjaXR5
KToKKyAgICAgICAgKFdURjo6OjpyZXNlcnZlSW5pdGlhbENhcGFjaXR5KToKKyAgICAgICAgKFdU
Rjo6OjpzaHJpbmtDYXBhY2l0eSk6CisgICAgICAgIChXVEY6Ojo6cmVsZWFzZUJ1ZmZlcik6CisK
IDIwMTMtMDQtMTQgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAogICAgICAgICBU
cnkgdG8gZml4IG5vbi1hcHBsZSB3aW5kb3dzIGJ1aWxkcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dU
Ri93dGYvU2l6ZUxpbWl0cy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9TaXplTGltaXRzLmNwcAppbmRl
eCA5NWQ5YzJiLi5jYjJkNjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9TaXplTGltaXRz
LmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9TaXplTGltaXRzLmNwcApAQCAtNjAsNiArNjAsNyBA
QCBDT01QSUxFX0FTU0VSVChzaXplb2YoUGFzc1JlZlB0cjxSZWZDb3VudGVkPGludD4gPikgPT0g
c2l6ZW9mKGludCopLCBQYXNzUmVmUHRyXwogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJlZkNvdW50
ZWQ8aW50PikgPT0gc2l6ZW9mKFNhbWVTaXplQXNSZWZDb3VudGVkKSwgUmVmQ291bnRlZF9zaG91
bGRfc3RheV9zbWFsbCk7CiBDT01QSUxFX0FTU0VSVChzaXplb2YoUmVmQ291bnRlZEN1c3RvbUFs
bG9jYXRlZDxpbnQ+KSA9PSBzaXplb2YoU2FtZVNpemVBc1JlZkNvdW50ZWQpLCBSZWZDb3VudGVk
Q3VzdG9tQWxsb2NhdGVkX3Nob3VsZF9zdGF5X3NtYWxsKTsKIENPTVBJTEVfQVNTRVJUKHNpemVv
ZihSZWZQdHI8UmVmQ291bnRlZDxpbnQ+ID4pID09IHNpemVvZihpbnQqKSwgUmVmUHRyX3Nob3Vs
ZF9zdGF5X3NtYWxsKTsKLUNPTVBJTEVfQVNTRVJUKHNpemVvZihWZWN0b3I8aW50PikgPT0gMyAq
IHNpemVvZihpbnQqKSwgVmVjdG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJU
KHNpemVvZihWZWN0b3I8aW50PikgPT0gc2l6ZW9mKGludCopICsgMiAqIHNpemVvZihpbnQpLCBW
ZWN0b3Jfc2hvdWxkX3N0YXlfc21hbGwpOworQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFZlY3Rvcjxp
bnQsIDE+KSA9PSAyICogc2l6ZW9mKGludCopICsgMiAqIHNpemVvZihpbnQpLCBWZWN0b3Jfc2hv
dWxkX3N0YXlfc21hbGwpOwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3Iu
aCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmluZGV4IDBjODc2NTkuLjY4OTYyNTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rv
ci5oCkBAIC0yNTMsNyArMjUzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHZvaWQgYWxs
b2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7CiAgICAgICAgICAgICBB
U1NFUlQobmV3Q2FwYWNpdHkpOwotICAgICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gc3RkOjpu
dW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIHNpemVvZihUKSkKKyAgICAgICAgICAgIGlm
IChuZXdDYXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSAvIHNp
emVvZihUKSkKICAgICAgICAgICAgICAgICBDUkFTSCgpOwogICAgICAgICAgICAgc2l6ZV90IHNp
emVUb0FsbG9jYXRlID0gZmFzdE1hbGxvY0dvb2RTaXplKG5ld0NhcGFjaXR5ICogc2l6ZW9mKFQp
KTsKICAgICAgICAgICAgIG1fY2FwYWNpdHkgPSBzaXplVG9BbGxvY2F0ZSAvIHNpemVvZihUKTsK
QEAgLTI2Myw3ICsyNjMsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCB0cnlBbGxv
Y2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCiAgICAgICAgIHsKICAgICAgICAgICAgIEFT
U0VSVChuZXdDYXBhY2l0eSk7Ci0gICAgICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51
bWVyaWNfbGltaXRzPHNpemVfdD46Om1heCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgaWYg
KG5ld0NhcGFjaXR5ID4gc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpIC8gc2l6
ZW9mKFQpKQogICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICAgICAgc2l6
ZV90IHNpemVUb0FsbG9jYXRlID0gZmFzdE1hbGxvY0dvb2RTaXplKG5ld0NhcGFjaXR5ICogc2l6
ZW9mKFQpKTsKQEAgLTMzNSw3ICszMzUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgfQog
CiAgICAgICAgIFQqIG1fYnVmZmVyOwotICAgICAgICBzaXplX3QgbV9jYXBhY2l0eTsKKyAgICAg
ICAgdW5zaWduZWQgbV9jYXBhY2l0eTsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VCwgc2l6ZV90IGlubGluZUNhcGFjaXR5PgpAQCAtNDM5LDcgKzQzOSw3IEBAIG5hbWVzcGFjZSBX
VEYgewogICAgICAgICBib29sIHNob3VsZFJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFj
aXR5KSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICAvLyBXZSBjYW5ub3QgcmVhbGxvY2F0
ZSB0aGUgaW5saW5lIGJ1ZmZlci4KLSAgICAgICAgICAgIHJldHVybiBCYXNlOjpzaG91bGRSZWFs
bG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBzdGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBh
Y2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKKyAgICAgICAgICAgIHJldHVybiBCYXNlOjpzaG91bGRS
ZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBzdGQ6Om1pbihzdGF0aWNfY2FzdDxzaXpl
X3Q+KG1fY2FwYWNpdHkpLCBuZXdDYXBhY2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKICAgICAgICAg
fQogCiAgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpCkBA
IC01MDYsMTAgKzUwNiwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB9OwogCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5ID0gMCwgdHlwZW5hbWUgT3ZlcmZs
b3dIYW5kbGVyID0gQ3Jhc2hPbk92ZXJmbG93PgotICAgIGNsYXNzIFZlY3RvciB7CisgICAgY2xh
c3MgVmVjdG9yIDogcHJpdmF0ZSBWZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IHsKICAg
ICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgcHJpdmF0ZToKLSAgICAgICAgdHlw
ZWRlZiBWZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJ1ZmZlcjsKKyAgICAgICAgdHlw
ZWRlZiBWZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+IEJhc2U7CiAgICAgICAgIHR5cGVk
ZWYgVmVjdG9yVHlwZU9wZXJhdGlvbnM8VD4gVHlwZU9wZXJhdGlvbnM7CiAKICAgICBwdWJsaWM6
CkBAIC01MjAsMTQgKzUyMCwxNCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgdHlwZWRlZiBz
dGQ6OnJldmVyc2VfaXRlcmF0b3I8aXRlcmF0b3I+IHJldmVyc2VfaXRlcmF0b3I7CiAgICAgICAg
IHR5cGVkZWYgc3RkOjpyZXZlcnNlX2l0ZXJhdG9yPGNvbnN0X2l0ZXJhdG9yPiBjb25zdF9yZXZl
cnNlX2l0ZXJhdG9yOwogCi0gICAgICAgIFZlY3RvcigpIAorICAgICAgICBWZWN0b3IoKQogICAg
ICAgICAgICAgOiBtX3NpemUoMCkKICAgICAgICAgewogICAgICAgICB9CiAgICAgICAgIAotICAg
ICAgICBleHBsaWNpdCBWZWN0b3Ioc2l6ZV90IHNpemUpIAotICAgICAgICAgICAgOiBtX3NpemUo
c2l6ZSkKLSAgICAgICAgICAgICwgbV9idWZmZXIoc2l6ZSkKKyAgICAgICAgZXhwbGljaXQgVmVj
dG9yKHNpemVfdCBzaXplKQorICAgICAgICAgICAgOiBCYXNlKHNpemUpCisgICAgICAgICAgICAs
IG1fc2l6ZShzaXplKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSkKICAgICAg
ICAgICAgICAgICBUeXBlT3BlcmF0aW9uczo6aW5pdGlhbGl6ZShiZWdpbigpLCBlbmQoKSk7CkBA
IC01NTMsMzAgKzU1MywzMCBAQCBuYW1lc3BhY2UgV1RGIHsKICNlbmRpZgogCiAgICAgICAgIHNp
emVfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9Ci0gICAgICAgIHNpemVfdCBjYXBh
Y2l0eSgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmNhcGFjaXR5KCk7IH0KKyAgICAgICAgc2l6
ZV90IGNhcGFjaXR5KCkgY29uc3QgeyByZXR1cm4gQmFzZTo6Y2FwYWNpdHkoKTsgfQogICAgICAg
ICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiAhc2l6ZSgpOyB9CiAKLSAgICAgICAgVCYg
YXQoc2l6ZV90IGkpIAorICAgICAgICBUJiBhdChzaXplX3QgaSkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKFVOTElLRUxZKGkgPj0gc2l6ZSgpKSkKICAgICAgICAgICAgICAgICBPdmVyZmxv
d0hhbmRsZXI6Om92ZXJmbG93ZWQoKTsKLSAgICAgICAgICAgIHJldHVybiBtX2J1ZmZlci5idWZm
ZXIoKVtpXTsgCisgICAgICAgICAgICByZXR1cm4gQmFzZTo6YnVmZmVyKClbaV07CiAgICAgICAg
IH0KICAgICAgICAgY29uc3QgVCYgYXQoc2l6ZV90IGkpIGNvbnN0IAogICAgICAgICB7CiAgICAg
ICAgICAgICBpZiAoVU5MSUtFTFkoaSA+PSBzaXplKCkpKQogICAgICAgICAgICAgICAgIE92ZXJm
bG93SGFuZGxlcjo6b3ZlcmZsb3dlZCgpOwotICAgICAgICAgICAgcmV0dXJuIG1fYnVmZmVyLmJ1
ZmZlcigpW2ldOyAKKyAgICAgICAgICAgIHJldHVybiBCYXNlOjpidWZmZXIoKVtpXTsKICAgICAg
ICAgfQogICAgICAgICBUJiBhdChDaGVja2VkPHNpemVfdD4gaSkKICAgICAgICAgewogICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoaSA8IHNpemUoKSk7Ci0gICAgICAgICAgICByZXR1cm4gbV9i
dWZmZXIuYnVmZmVyKClbaV07CisgICAgICAgICAgICByZXR1cm4gQmFzZTo6YnVmZmVyKClbaV07
CiAgICAgICAgIH0KICAgICAgICAgY29uc3QgVCYgYXQoQ2hlY2tlZDxzaXplX3Q+IGkpIGNvbnN0
CiAgICAgICAgIHsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGkgPCBzaXplKCkpOwotICAg
ICAgICAgICAgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpW2ldOworICAgICAgICAgICAgcmV0dXJu
IEJhc2U6OmJ1ZmZlcigpW2ldOwogICAgICAgICB9CiAKICAgICAgICAgVCYgb3BlcmF0b3JbXShz
aXplX3QgaSkgeyByZXR1cm4gYXQoaSk7IH0KQEAgLTU4NCw4ICs1ODQsOCBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgVCYgb3BlcmF0b3JbXShDaGVja2VkPHNpemVfdD4gaSkgeyByZXR1cm4g
YXQoaSk7IH0KICAgICAgICAgY29uc3QgVCYgb3BlcmF0b3JbXShDaGVja2VkPHNpemVfdD4gaSkg
Y29uc3QgeyByZXR1cm4gYXQoaSk7IH0KIAotICAgICAgICBUKiBkYXRhKCkgeyByZXR1cm4gbV9i
dWZmZXIuYnVmZmVyKCk7IH0KLSAgICAgICAgY29uc3QgVCogZGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1fYnVmZmVyLmJ1ZmZlcigpOyB9CisgICAgICAgIFQqIGRhdGEoKSB7IHJldHVybiBCYXNlOjpi
dWZmZXIoKTsgfQorICAgICAgICBjb25zdCBUKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gQmFzZTo6
YnVmZmVyKCk7IH0KIAogICAgICAgICBpdGVyYXRvciBiZWdpbigpIHsgcmV0dXJuIGRhdGEoKTsg
fQogICAgICAgICBpdGVyYXRvciBlbmQoKSB7IHJldHVybiBiZWdpbigpICsgbV9zaXplOyB9CkBA
IC02NDMsOCArNjQzLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIH0KIAogICAgICAgICBW
ZWN0b3Ioc2l6ZV90IHNpemUsIGNvbnN0IFQmIHZhbCkKLSAgICAgICAgICAgIDogbV9zaXplKHNp
emUpCi0gICAgICAgICAgICAsIG1fYnVmZmVyKHNpemUpCisgICAgICAgICAgICA6IEJhc2Uoc2l6
ZSkKKyAgICAgICAgICAgICwgbV9zaXplKHNpemUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlm
IChiZWdpbigpKQogICAgICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjp1bmluaXRpYWxpemVk
RmlsbChiZWdpbigpLCBlbmQoKSwgdmFsKTsKQEAgLTY2MCw3ICs2NjAsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgdm9pZCBzd2FwKFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZs
b3dIYW5kbGVyPiYgb3RoZXIpCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0ZDo6c3dhcChtX3Np
emUsIG90aGVyLm1fc2l6ZSk7Ci0gICAgICAgICAgICBtX2J1ZmZlci5zd2FwKG90aGVyLm1fYnVm
ZmVyKTsKKyAgICAgICAgICAgIEJhc2U6OnN3YXAob3RoZXIpOwogICAgICAgICB9CiAKICAgICAg
ICAgdm9pZCByZXZlcnNlKCk7CkBAIC02NzUsMTQgKzY3NSwyNCBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVT4gVSogZXhwYW5kQ2FwYWNpdHkoc2l6ZV90IG5l
d01pbkNhcGFjaXR5LCBVKik7IAogICAgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiB2b2lkIGFw
cGVuZFNsb3dDYXNlKGNvbnN0IFUmKTsKIAotICAgICAgICBzaXplX3QgbV9zaXplOwotICAgICAg
ICBCdWZmZXIgbV9idWZmZXI7CisgICAgICAgIHVuc2lnbmVkIG1fc2l6ZTsKKworICAgICAgICB1
c2luZyBCYXNlOjpidWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OmNhcGFjaXR5OworICAgICAg
ICB1c2luZyBCYXNlOjpzd2FwOworICAgICAgICB1c2luZyBCYXNlOjphbGxvY2F0ZUJ1ZmZlcjsK
KyAgICAgICAgdXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFz
ZTo6dHJ5QWxsb2NhdGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OnNob3VsZFJlYWxsb2Nh
dGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OnJlYWxsb2NhdGVCdWZmZXI7CisgICAgICAg
IHVzaW5nIEJhc2U6OnJlc3RvcmVJbmxpbmVCdWZmZXJJZk5lZWRlZDsKKyAgICAgICAgdXNpbmcg
QmFzZTo6cmVsZWFzZUJ1ZmZlcjsKICAgICB9OwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
c2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+CiAgICAgVmVj
dG9yPFQsIGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hhbmRsZXI+OjpWZWN0b3IoY29uc3QgVmVj
dG9yJiBvdGhlcikKLSAgICAgICAgOiBtX3NpemUob3RoZXIuc2l6ZSgpKQotICAgICAgICAsIG1f
YnVmZmVyKG90aGVyLmNhcGFjaXR5KCkpCisgICAgICAgIDogQmFzZShvdGhlci5jYXBhY2l0eSgp
KQorICAgICAgICAsIG1fc2l6ZShvdGhlci5zaXplKCkpCiAgICAgewogICAgICAgICBpZiAoYmVn
aW4oKSkKICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjp1bmluaXRpYWxpemVkQ29weShvdGhl
ci5iZWdpbigpLCBvdGhlci5lbmQoKSwgYmVnaW4oKSk7CkBAIC02OTEsOCArNzAxLDggQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFj
aXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+CiAgICAgdGVtcGxhdGU8c2l6ZV90IG90aGVy
Q2FwYWNpdHksIHR5cGVuYW1lIG90aGVyT3ZlcmZsb3dCZWhhdmlvdXI+CiAgICAgVmVjdG9yPFQs
IGlubGluZUNhcGFjaXR5LCBPdmVyZmxvd0hhbmRsZXI+OjpWZWN0b3IoY29uc3QgVmVjdG9yPFQs
IG90aGVyQ2FwYWNpdHksIG90aGVyT3ZlcmZsb3dCZWhhdmlvdXI+JiBvdGhlcikKLSAgICAgICAg
OiBtX3NpemUob3RoZXIuc2l6ZSgpKQotICAgICAgICAsIG1fYnVmZmVyKG90aGVyLmNhcGFjaXR5
KCkpCisgICAgICAgIDogQmFzZShvdGhlci5jYXBhY2l0eSgpKQorICAgICAgICAsIG1fc2l6ZShv
dGhlci5zaXplKCkpCiAgICAgewogICAgICAgICBpZiAoYmVnaW4oKSkKICAgICAgICAgICAgIFR5
cGVPcGVyYXRpb25zOjp1bmluaXRpYWxpemVkQ29weShvdGhlci5iZWdpbigpLCBvdGhlci5lbmQo
KSwgYmVnaW4oKSk7CkBAIC05MTgsMTAgKzkyOCwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgVCogb2xkQnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAg
VCogb2xkRW5kID0gZW5kKCk7Ci0gICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVmZmVyKG5ld0Nh
cGFjaXR5KTsKKyAgICAgICAgQmFzZTo6YWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOwogICAg
ICAgICBpZiAoYmVnaW4oKSkKICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjptb3ZlKG9sZEJ1
ZmZlciwgb2xkRW5kLCBiZWdpbigpKTsKLSAgICAgICAgbV9idWZmZXIuZGVhbGxvY2F0ZUJ1ZmZl
cihvbGRCdWZmZXIpOworICAgICAgICBCYXNlOjpkZWFsbG9jYXRlQnVmZmVyKG9sZEJ1ZmZlcik7
CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBh
Y2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPgpAQCAtOTMxLDExICs5NDEsMTEgQEAgbmFt
ZXNwYWNlIFdURiB7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgVCogb2xkQnVm
ZmVyID0gYmVnaW4oKTsKICAgICAgICAgVCogb2xkRW5kID0gZW5kKCk7Ci0gICAgICAgIGlmICgh
bV9idWZmZXIudHJ5QWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKQorICAgICAgICBpZiAoIUJh
c2U6OnRyeUFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgQVNTRVJUKGJlZ2luKCkpOwogICAgICAgICBUeXBlT3BlcmF0aW9uczo6
bW92ZShvbGRCdWZmZXIsIG9sZEVuZCwgYmVnaW4oKSk7Ci0gICAgICAgIG1fYnVmZmVyLmRlYWxs
b2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKKyAgICAgICAgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcihv
bGRCdWZmZXIpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCkBAIC05NDUsNyAr
OTU1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIEFTU0VSVCghbV9zaXplKTsKICAgICAg
ICAgQVNTRVJUKGNhcGFjaXR5KCkgPT0gaW5saW5lQ2FwYWNpdHkpOwogICAgICAgICBpZiAoaW5p
dGlhbENhcGFjaXR5ID4gaW5saW5lQ2FwYWNpdHkpCi0gICAgICAgICAgICBtX2J1ZmZlci5hbGxv
Y2F0ZUJ1ZmZlcihpbml0aWFsQ2FwYWNpdHkpOworICAgICAgICAgICAgQmFzZTo6YWxsb2NhdGVC
dWZmZXIoaW5pdGlhbENhcGFjaXR5KTsKICAgICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5h
bWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRsZXI+CkBA
IC05NTksMTkgKzk2OSwxOSBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgICAgICBUKiBvbGRCdWZm
ZXIgPSBiZWdpbigpOwogICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiAwKSB7Ci0gICAgICAgICAg
ICBpZiAobV9idWZmZXIuc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpIHsKLSAg
ICAgICAgICAgICAgICBtX2J1ZmZlci5yZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KTsKKyAg
ICAgICAgICAgIGlmIChCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSkg
eworICAgICAgICAgICAgICAgIEJhc2U6OnJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOwog
ICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgVCog
b2xkRW5kID0gZW5kKCk7Ci0gICAgICAgICAgICBtX2J1ZmZlci5hbGxvY2F0ZUJ1ZmZlcihuZXdD
YXBhY2l0eSk7CisgICAgICAgICAgICBCYXNlOjphbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSAhPSBvbGRCdWZmZXIpCiAgICAgICAgICAgICAgICAg
VHlwZU9wZXJhdGlvbnM6Om1vdmUob2xkQnVmZmVyLCBvbGRFbmQsIGJlZ2luKCkpOwogICAgICAg
ICB9CiAKLSAgICAgICAgbV9idWZmZXIuZGVhbGxvY2F0ZUJ1ZmZlcihvbGRCdWZmZXIpOwotICAg
ICAgICBtX2J1ZmZlci5yZXN0b3JlSW5saW5lQnVmZmVySWZOZWVkZWQoKTsKKyAgICAgICAgQmFz
ZTo6ZGVhbGxvY2F0ZUJ1ZmZlcihvbGRCdWZmZXIpOworICAgICAgICBCYXNlOjpyZXN0b3JlSW5s
aW5lQnVmZmVySWZOZWVkZWQoKTsKICAgICB9CiAKICAgICAvLyBUZW1wbGF0aXppbmcgdGhlc2Ug
aXMgYmV0dGVyIHRoYW4ganVzdCBsZXR0aW5nIHRoZSBjb252ZXJzaW9uIGhhcHBlbiBpbXBsaWNp
dGx5LApAQCAtMTE1OCw3ICsxMTY4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVCwgc2l6ZV90IGlubGluZUNhcGFjaXR5LCB0eXBlbmFtZSBPdmVyZmxvd0hhbmRs
ZXI+CiAgICAgaW5saW5lIFQqIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5k
bGVyPjo6cmVsZWFzZUJ1ZmZlcigpCiAgICAgewotICAgICAgICBUKiBidWZmZXIgPSBtX2J1ZmZl
ci5yZWxlYXNlQnVmZmVyKCk7CisgICAgICAgIFQqIGJ1ZmZlciA9IEJhc2U6OnJlbGVhc2VCdWZm
ZXIoKTsKICAgICAgICAgaWYgKGlubGluZUNhcGFjaXR5ICYmICFidWZmZXIgJiYgbV9zaXplKSB7
CiAgICAgICAgICAgICAvLyBJZiB0aGUgdmVjdG9yIGhhZCBzb21lIGRhdGEsIGJ1dCBubyBidWZm
ZXIgdG8gcmVsZWFzZSwKICAgICAgICAgICAgIC8vIHRoYXQgbWVhbnMgaXQgd2FzIHVzaW5nIHRo
ZSBpbmxpbmUgYnVmZmVyLiBJbiB0aGF0IGNhc2UsCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199032</attachid>
            <date>2013-04-22 08:19:39 -0700</date>
            <delta_ts>2013-04-22 09:36:46 -0700</delta_ts>
            <desc>Try to make EFL EWS happy</desc>
            <filename>bug-97268-20130422181950.patch</filename>
            <type>text/plain</type>
            <size>15047</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZjgxMjNkOGRkYmZkYTY4NzdlOGEwMmYzODY0ZjYwNTdlMDU0MDBiLi40OWVlYTRhYTg3NTVkZmVi
MjExZDZjMTE3OGE2MTA4YjMxZjIyM2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMy0wNC0yMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgU2hyaW5rIGJhc2VsaW5lIHNpemUgb2YgV1RGOjpWZWN0b3Igb24gNjQtYml0
IGJ5IHN3aXRjaGluZyB0byB1bnNpZ25lZCBjYXBhY2l0eSBhbmQgc2l6ZS4KKyAgICAgICAgPGh0
dHA6Ly93ZWJraXQub3JnL2IvOTcyNjg+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjM3NjUx
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIFVwZGF0ZSBM
TEludCBXVEY6OlZlY3RvciBvZmZzZXQgY29uc3RhbnRzIHRvIG1hdGNoIHRoZSBuZXcgbWVtb3J5
IGxheW91dC4KKworICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorCiAy
MDEzLTA0LTIxICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlMg
TGV4ZXIgYW5kIFBhcnNlciBzaG91bGQgYmUgbW9yZSBpbmZvcm1hdGl2ZSB3aGVuIHRoZXkgZW5j
b3VudGVyIGVycm9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZwppbmRleCAwOTk5ZWNmOTk5NTcxZmNiNjgyZmE4NjY2NDQ1ZjBiYWY1MTM4
M2EyLi5kODZjNDBjNTk4MDVhNGE3OGFhYzgzNDRhODBjZGMxOWFmMDc5NjUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM4IEBACisyMDEzLTA0LTIyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4K
KworICAgICAgICBTaHJpbmsgYmFzZWxpbmUgc2l6ZSBvZiBXVEY6OlZlY3RvciBvbiA2NC1iaXQg
Ynkgc3dpdGNoaW5nIHRvIHVuc2lnbmVkIGNhcGFjaXR5IGFuZCBzaXplLgorICAgICAgICA8aHR0
cDovL3dlYmtpdC5vcmcvYi85NzI2OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyMzc2NTE5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgU2hyaW5rIFZl
Y3RvciBieSA4IGJ5dGVzIG9uIDY0LWJpdCBieSB1c2luZyAzMi1iaXQgY2FwYWNpdHkgYW5kIHNp
emUuCisgICAgICAgIFZlY3RvciBub3cgaW5oZXJpdHMgZnJvbSBWZWN0b3JCdWZmZXIgaW5zdGVh
ZCBvZiBoYXZpbmcgYSBWZWN0b3JCdWZmZXIgbWVtYmVyOworICAgICAgICB0aGlzIGlzIG5lY2Vz
c2FyeSBmb3IgbV9zaXplIHRvIGZhbGwgaW50byB0aGUgcGFkZGluZyBhZnRlciB0aGUgYmFzZSBj
bGFzcyBtZW1iZXJzLgorCisgICAgICAgIFRoZSBXVEY6OlZlY3RvciBBUEkgc3RpbGwgdXNlcyBz
aXplX3QuCisKKyAgICAgICAgQmFzZWQgb24gQmxpbmsgcjE0ODMxMyBieSA8Y2V2YW5zQGNocm9t
aXVtLm9yZz4uCisKKyAgICAgICAgKiB3dGYvU2l6ZUxpbWl0cy5jcHA6CisgICAgICAgICogd3Rm
L1ZlY3Rvci5oOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjphbGxvY2F0ZUJ1ZmZl
cik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OnRyeUFsbG9jYXRlQnVmZmVyKToK
KyAgICAgICAgKFZlY3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXI6
OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAoVmVjdG9yKToKKyAgICAgICAgKFdU
Rjo6VmVjdG9yOjpWZWN0b3IpOgorICAgICAgICAoV1RGOjpWZWN0b3I6OmNhcGFjaXR5KToKKyAg
ICAgICAgKFdURjo6VmVjdG9yOjphdCk6CisgICAgICAgIChXVEY6OlZlY3Rvcjo6ZGF0YSk6Cisg
ICAgICAgIChXVEY6OlZlY3Rvcjo6c3dhcCk6CisgICAgICAgIChXVEY6Ojo6VmVjdG9yKToKKyAg
ICAgICAgKFdURjo6OjpyZXNlcnZlQ2FwYWNpdHkpOgorICAgICAgICAoV1RGOjo6OnRyeVJlc2Vy
dmVDYXBhY2l0eSk6CisgICAgICAgIChXVEY6Ojo6cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSk6Cisg
ICAgICAgIChXVEY6Ojo6c2hyaW5rQ2FwYWNpdHkpOgorICAgICAgICAoV1RGOjo6OnJlbGVhc2VC
dWZmZXIpOgorCiAyMDEzLTA0LTIxICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBJbXByb3ZlIFN0cmluZ0ltcGwgY29kZSBkZW5zaXR5IGZvciBvbGRl
ciBBUk0gaGFyZHdhcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MTY4YzliYzAyM2M2MDQ2NzJjNzU4MzgyMTYz
NmY2MzhhOTMxMGE0Li45MTcxMjlhMGE2YWQ4MjI5NTk3NmQ3OGFjNjUxYjZkOGZhYjY2YWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDQtMjIgIEFuZHJlYXMgS2xpbmcgIDxh
a2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFNocmluayBiYXNlbGluZSBzaXplIG9mIFdURjo6
VmVjdG9yIG9uIDY0LWJpdCBieSBzd2l0Y2hpbmcgdG8gdW5zaWduZWQgY2FwYWNpdHkgYW5kIHNp
emUuCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzk3MjY4PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTIzNzY1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgYSB3b3JrYXJvdW5kIGZvciBHQ0MgNC42Lngg
aW4gUmVsZWFzZSBtb2RlIHNvIGl0CisgICAgICAgIGRvZXMgbm90IGNyYXNoLgorCiAyMDEzLTA0
LTIyICBYdWVmZWkgUmVuICA8eHJlbkBibGFja2JlcnJ5LmNvbT4KIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZjM1
OTYwMzRjYmE2MTc4OGM0MGQ5ZTc3MjYzNWM4N2FkOTIyNGI4ZS4uYTU1YTI0Mjg3ZDdmMWEyNzJh
NjJjZWI1YTIwNGRmOWM4OTc0NDQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTU0LDExICsxNTQsMTEgQEAgZWxz
ZQogZW5kCiAKICMgVGhpcyBtdXN0IG1hdGNoIHd0Zi9WZWN0b3IuaAotY29uc3QgVmVjdG9yU2l6
ZU9mZnNldCA9IDAKK2NvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDAKIGlmIEpTVkFMVUU2NAot
ICAgIGNvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDgKKyAgICBjb25zdCBWZWN0b3JTaXplT2Zm
c2V0ID0gMTIKIGVsc2UKLSAgICBjb25zdCBWZWN0b3JCdWZmZXJPZmZzZXQgPSA0CisgICAgY29u
c3QgVmVjdG9yU2l6ZU9mZnNldCA9IDgKIGVuZAogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1NpemVMaW1pdHMuY3BwIGIvU291cmNlL1dURi93dGYvU2l6ZUxpbWl0cy5jcHAKaW5kZXgg
OTVkOWMyYjFlOTA4ZGNhOTIzNGZlNDA5ZjVmNTUxNzVhYWUzNjIwNi4uY2IyZDYwYjc4MGQzYjg1
ZWJkYjI3NWI3YzZlYjg0NjRhMTJjY2NiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2l6
ZUxpbWl0cy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvU2l6ZUxpbWl0cy5jcHAKQEAgLTYwLDYg
KzYwLDcgQEAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFBhc3NSZWZQdHI8UmVmQ291bnRlZDxpbnQ+
ID4pID09IHNpemVvZihpbnQqKSwgUGFzc1JlZlB0cl8KIENPTVBJTEVfQVNTRVJUKHNpemVvZihS
ZWZDb3VudGVkPGludD4pID09IHNpemVvZihTYW1lU2l6ZUFzUmVmQ291bnRlZCksIFJlZkNvdW50
ZWRfc2hvdWxkX3N0YXlfc21hbGwpOwogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJlZkNvdW50ZWRD
dXN0b21BbGxvY2F0ZWQ8aW50PikgPT0gc2l6ZW9mKFNhbWVTaXplQXNSZWZDb3VudGVkKSwgUmVm
Q291bnRlZEN1c3RvbUFsbG9jYXRlZF9zaG91bGRfc3RheV9zbWFsbCk7CiBDT01QSUxFX0FTU0VS
VChzaXplb2YoUmVmUHRyPFJlZkNvdW50ZWQ8aW50PiA+KSA9PSBzaXplb2YoaW50KiksIFJlZlB0
cl9zaG91bGRfc3RheV9zbWFsbCk7Ci1DT01QSUxFX0FTU0VSVChzaXplb2YoVmVjdG9yPGludD4p
ID09IDMgKiBzaXplb2YoaW50KiksIFZlY3Rvcl9zaG91bGRfc3RheV9zbWFsbCk7CitDT01QSUxF
X0FTU0VSVChzaXplb2YoVmVjdG9yPGludD4pID09IHNpemVvZihpbnQqKSArIDIgKiBzaXplb2Yo
aW50KSwgVmVjdG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihW
ZWN0b3I8aW50LCAxPikgPT0gMiAqIHNpemVvZihpbnQqKSArIDIgKiBzaXplb2YoaW50KSwgVmVj
dG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
VmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAppbmRleCAwYzg3NjU5YWUyMjIwYmUw
MTcxNGEzYWYzYzFhYTA2ZjZkMmM5ZTJiLi42ODk2MjU1OWY5NTdjYjZiNTA2MzI1NGMwOGJkYTcx
Y2M3ZjUxMzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9WZWN0b3IuaApAQCAtMjUzLDcgKzI1Myw3IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAg
ewogICAgICAgICAgICAgQVNTRVJUKG5ld0NhcGFjaXR5KTsKLSAgICAgICAgICAgIGlmIChuZXdD
YXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLyBzaXplb2YoVCkp
CisgICAgICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2ln
bmVkPjo6bWF4KCkgLyBzaXplb2YoVCkpCiAgICAgICAgICAgICAgICAgQ1JBU0goKTsKICAgICAg
ICAgICAgIHNpemVfdCBzaXplVG9BbGxvY2F0ZSA9IGZhc3RNYWxsb2NHb29kU2l6ZShuZXdDYXBh
Y2l0eSAqIHNpemVvZihUKSk7CiAgICAgICAgICAgICBtX2NhcGFjaXR5ID0gc2l6ZVRvQWxsb2Nh
dGUgLyBzaXplb2YoVCk7CkBAIC0yNjMsNyArMjYzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIGJvb2wgdHJ5QWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7
CiAgICAgICAgICAgICBBU1NFUlQobmV3Q2FwYWNpdHkpOwotICAgICAgICAgICAgaWYgKG5ld0Nh
cGFjaXR5ID4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIHNpemVvZihUKSkK
KyAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWdu
ZWQ+OjptYXgoKSAvIHNpemVvZihUKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgICAgIHNpemVfdCBzaXplVG9BbGxvY2F0ZSA9IGZhc3RNYWxsb2NHb29kU2l6ZShu
ZXdDYXBhY2l0eSAqIHNpemVvZihUKSk7CkBAIC0zMzUsNyArMzM1LDcgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIH0KIAogICAgICAgICBUKiBtX2J1ZmZlcjsKLSAgICAgICAgc2l6ZV90IG1f
Y2FwYWNpdHk7CisgICAgICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KQEAgLTQzOSw3ICs0Mzks
NyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgLy8gV2Ug
Y2Fubm90IHJlYWxsb2NhdGUgdGhlIGlubGluZSBidWZmZXIuCi0gICAgICAgICAgICByZXR1cm4g
QmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4obV9j
YXBhY2l0eSwgbmV3Q2FwYWNpdHkpID4gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICByZXR1
cm4gQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4o
c3RhdGljX2Nhc3Q8c2l6ZV90PihtX2NhcGFjaXR5KSwgbmV3Q2FwYWNpdHkpID4gaW5saW5lQ2Fw
YWNpdHk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIHJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90
IG5ld0NhcGFjaXR5KQpAQCAtNTA2LDEwICs1MDYsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDAs
IHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlciA9IENyYXNoT25PdmVyZmxvdz4KLSAgICBjbGFzcyBW
ZWN0b3IgeworICAgIGNsYXNzIFZlY3RvciA6IHByaXZhdGUgVmVjdG9yQnVmZmVyPFQsIGlubGlu
ZUNhcGFjaXR5PiB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZh
dGU6Ci0gICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZm
ZXI7CisgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCYXNl
OwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25z
OwogCiAgICAgcHVibGljOgpAQCAtNTIwLDE0ICs1MjAsMTQgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIHR5cGVkZWYgc3RkOjpyZXZlcnNlX2l0ZXJhdG9yPGl0ZXJhdG9yPiByZXZlcnNlX2l0
ZXJhdG9yOwogICAgICAgICB0eXBlZGVmIHN0ZDo6cmV2ZXJzZV9pdGVyYXRvcjxjb25zdF9pdGVy
YXRvcj4gY29uc3RfcmV2ZXJzZV9pdGVyYXRvcjsKIAotICAgICAgICBWZWN0b3IoKSAKKyAgICAg
ICAgVmVjdG9yKCkKICAgICAgICAgICAgIDogbV9zaXplKDApCiAgICAgICAgIHsKICAgICAgICAg
fQogICAgICAgICAKLSAgICAgICAgZXhwbGljaXQgVmVjdG9yKHNpemVfdCBzaXplKSAKLSAgICAg
ICAgICAgIDogbV9zaXplKHNpemUpCi0gICAgICAgICAgICAsIG1fYnVmZmVyKHNpemUpCisgICAg
ICAgIGV4cGxpY2l0IFZlY3RvcihzaXplX3Qgc2l6ZSkKKyAgICAgICAgICAgIDogQmFzZShzaXpl
KQorICAgICAgICAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KGJlZ2luKCkpCiAgICAgICAgICAgICAgICAgVHlwZU9wZXJhdGlvbnM6OmluaXRpYWxpemUoYmVn
aW4oKSwgZW5kKCkpOwpAQCAtNTUzLDMwICs1NTMsMzAgQEAgbmFtZXNwYWNlIFdURiB7CiAjZW5k
aWYKIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQotICAg
ICAgICBzaXplX3QgY2FwYWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5jYXBhY2l0eSgp
OyB9CisgICAgICAgIHNpemVfdCBjYXBhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIEJhc2U6OmNhcGFj
aXR5KCk7IH0KICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gIXNpemUoKTsg
fQogCi0gICAgICAgIFQmIGF0KHNpemVfdCBpKSAKKyAgICAgICAgVCYgYXQoc2l6ZV90IGkpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShpID49IHNpemUoKSkpCiAgICAgICAg
ICAgICAgICAgT3ZlcmZsb3dIYW5kbGVyOjpvdmVyZmxvd2VkKCk7Ci0gICAgICAgICAgICByZXR1
cm4gbV9idWZmZXIuYnVmZmVyKClbaV07IAorICAgICAgICAgICAgcmV0dXJuIEJhc2U6OmJ1ZmZl
cigpW2ldOwogICAgICAgICB9CiAgICAgICAgIGNvbnN0IFQmIGF0KHNpemVfdCBpKSBjb25zdCAK
ICAgICAgICAgewogICAgICAgICAgICAgaWYgKFVOTElLRUxZKGkgPj0gc2l6ZSgpKSkKICAgICAg
ICAgICAgICAgICBPdmVyZmxvd0hhbmRsZXI6Om92ZXJmbG93ZWQoKTsKLSAgICAgICAgICAgIHJl
dHVybiBtX2J1ZmZlci5idWZmZXIoKVtpXTsgCisgICAgICAgICAgICByZXR1cm4gQmFzZTo6YnVm
ZmVyKClbaV07CiAgICAgICAgIH0KICAgICAgICAgVCYgYXQoQ2hlY2tlZDxzaXplX3Q+IGkpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGkgPCBzaXplKCkpOwotICAgICAg
ICAgICAgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpW2ldOworICAgICAgICAgICAgcmV0dXJuIEJh
c2U6OmJ1ZmZlcigpW2ldOwogICAgICAgICB9CiAgICAgICAgIGNvbnN0IFQmIGF0KENoZWNrZWQ8
c2l6ZV90PiBpKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChp
IDwgc2l6ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiBtX2J1ZmZlci5idWZmZXIoKVtpXTsKKyAg
ICAgICAgICAgIHJldHVybiBCYXNlOjpidWZmZXIoKVtpXTsKICAgICAgICAgfQogCiAgICAgICAg
IFQmIG9wZXJhdG9yW10oc2l6ZV90IGkpIHsgcmV0dXJuIGF0KGkpOyB9CkBAIC01ODQsOCArNTg0
LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIFQmIG9wZXJhdG9yW10oQ2hlY2tlZDxzaXpl
X3Q+IGkpIHsgcmV0dXJuIGF0KGkpOyB9CiAgICAgICAgIGNvbnN0IFQmIG9wZXJhdG9yW10oQ2hl
Y2tlZDxzaXplX3Q+IGkpIGNvbnN0IHsgcmV0dXJuIGF0KGkpOyB9CiAKLSAgICAgICAgVCogZGF0
YSgpIHsgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpOyB9Ci0gICAgICAgIGNvbnN0IFQqIGRhdGEo
KSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5idWZmZXIoKTsgfQorICAgICAgICBUKiBkYXRhKCkg
eyByZXR1cm4gQmFzZTo6YnVmZmVyKCk7IH0KKyAgICAgICAgY29uc3QgVCogZGF0YSgpIGNvbnN0
IHsgcmV0dXJuIEJhc2U6OmJ1ZmZlcigpOyB9CiAKICAgICAgICAgaXRlcmF0b3IgYmVnaW4oKSB7
IHJldHVybiBkYXRhKCk7IH0KICAgICAgICAgaXRlcmF0b3IgZW5kKCkgeyByZXR1cm4gYmVnaW4o
KSArIG1fc2l6ZTsgfQpAQCAtNjQzLDggKzY0Myw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAg
ICB9CiAKICAgICAgICAgVmVjdG9yKHNpemVfdCBzaXplLCBjb25zdCBUJiB2YWwpCi0gICAgICAg
ICAgICA6IG1fc2l6ZShzaXplKQotICAgICAgICAgICAgLCBtX2J1ZmZlcihzaXplKQorICAgICAg
ICAgICAgOiBCYXNlKHNpemUpCisgICAgICAgICAgICAsIG1fc2l6ZShzaXplKQogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSkKICAgICAgICAgICAgICAgICBUeXBlT3BlcmF0aW9u
czo6dW5pbml0aWFsaXplZEZpbGwoYmVnaW4oKSwgZW5kKCksIHZhbCk7CkBAIC02NjAsNyArNjYw
LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3I8VCwgaW5saW5l
Q2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj4mIG90aGVyKQogICAgICAgICB7CiAgICAgICAgICAg
ICBzdGQ6OnN3YXAobV9zaXplLCBvdGhlci5tX3NpemUpOwotICAgICAgICAgICAgbV9idWZmZXIu
c3dhcChvdGhlci5tX2J1ZmZlcik7CisgICAgICAgICAgICBCYXNlOjpzd2FwKG90aGVyKTsKICAg
ICAgICAgfQogCiAgICAgICAgIHZvaWQgcmV2ZXJzZSgpOwpAQCAtNjc1LDE0ICs2NzUsMjQgQEAg
bmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFUqIGV4cGFuZENh
cGFjaXR5KHNpemVfdCBuZXdNaW5DYXBhY2l0eSwgVSopOyAKICAgICAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVT4gdm9pZCBhcHBlbmRTbG93Q2FzZShjb25zdCBVJik7CiAKLSAgICAgICAgc2l6ZV90
IG1fc2l6ZTsKLSAgICAgICAgQnVmZmVyIG1fYnVmZmVyOworICAgICAgICB1bnNpZ25lZCBtX3Np
emU7CisKKyAgICAgICAgdXNpbmcgQmFzZTo6YnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpj
YXBhY2l0eTsKKyAgICAgICAgdXNpbmcgQmFzZTo6c3dhcDsKKyAgICAgICAgdXNpbmcgQmFzZTo6
YWxsb2NhdGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXI7Cisg
ICAgICAgIHVzaW5nIEJhc2U6OnRyeUFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNl
OjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpyZWFsbG9jYXRl
QnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpyZXN0b3JlSW5saW5lQnVmZmVySWZOZWVkZWQ7
CisgICAgICAgIHVzaW5nIEJhc2U6OnJlbGVhc2VCdWZmZXI7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dI
YW5kbGVyPgogICAgIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPjo6
VmVjdG9yKGNvbnN0IFZlY3RvciYgb3RoZXIpCi0gICAgICAgIDogbV9zaXplKG90aGVyLnNpemUo
KSkKLSAgICAgICAgLCBtX2J1ZmZlcihvdGhlci5jYXBhY2l0eSgpKQorICAgICAgICA6IEJhc2Uo
b3RoZXIuY2FwYWNpdHkoKSkKKyAgICAgICAgLCBtX3NpemUob3RoZXIuc2l6ZSgpKQogICAgIHsK
ICAgICAgICAgaWYgKGJlZ2luKCkpCiAgICAgICAgICAgICBUeXBlT3BlcmF0aW9uczo6dW5pbml0
aWFsaXplZENvcHkob3RoZXIuYmVnaW4oKSwgb3RoZXIuZW5kKCksIGJlZ2luKCkpOwpAQCAtNjkx
LDggKzcwMSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNp
emVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPgogICAgIHRlbXBs
YXRlPHNpemVfdCBvdGhlckNhcGFjaXR5LCB0eXBlbmFtZSBvdGhlck92ZXJmbG93QmVoYXZpb3Vy
PgogICAgIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPjo6VmVjdG9y
KGNvbnN0IFZlY3RvcjxULCBvdGhlckNhcGFjaXR5LCBvdGhlck92ZXJmbG93QmVoYXZpb3VyPiYg
b3RoZXIpCi0gICAgICAgIDogbV9zaXplKG90aGVyLnNpemUoKSkKLSAgICAgICAgLCBtX2J1ZmZl
cihvdGhlci5jYXBhY2l0eSgpKQorICAgICAgICA6IEJhc2Uob3RoZXIuY2FwYWNpdHkoKSkKKyAg
ICAgICAgLCBtX3NpemUob3RoZXIuc2l6ZSgpKQogICAgIHsKICAgICAgICAgaWYgKGJlZ2luKCkp
CiAgICAgICAgICAgICBUeXBlT3BlcmF0aW9uczo6dW5pbml0aWFsaXplZENvcHkob3RoZXIuYmVn
aW4oKSwgb3RoZXIuZW5kKCksIGJlZ2luKCkpOwpAQCAtOTE4LDEwICs5MjgsMTAgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIFQqIG9sZEJ1ZmZlciA9IGJl
Z2luKCk7CiAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgpOwotICAgICAgICBtX2J1ZmZlci5hbGxv
Y2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CisgICAgICAgIEJhc2U6OmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgaWYgKGJlZ2luKCkpCiAgICAgICAgICAgICBUeXBlT3BlcmF0
aW9uczo6bW92ZShvbGRCdWZmZXIsIG9sZEVuZCwgYmVnaW4oKSk7Ci0gICAgICAgIG1fYnVmZmVy
LmRlYWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKKyAgICAgICAgQmFzZTo6ZGVhbGxvY2F0ZUJ1
ZmZlcihvbGRCdWZmZXIpOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBz
aXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlcj4KQEAgLTkzMSwx
MSArOTQxLDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIFQqIG9sZEJ1ZmZlciA9IGJlZ2luKCk7CiAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgp
OwotICAgICAgICBpZiAoIW1fYnVmZmVyLnRyeUFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSkK
KyAgICAgICAgaWYgKCFCYXNlOjp0cnlBbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIEFTU0VSVChiZWdpbigpKTsKICAgICAgICAg
VHlwZU9wZXJhdGlvbnM6Om1vdmUob2xkQnVmZmVyLCBvbGRFbmQsIGJlZ2luKCkpOwotICAgICAg
ICBtX2J1ZmZlci5kZWFsbG9jYXRlQnVmZmVyKG9sZEJ1ZmZlcik7CisgICAgICAgIEJhc2U6OmRl
YWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
ICAgIApAQCAtOTQ1LDcgKzk1NSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBBU1NFUlQo
IW1fc2l6ZSk7CiAgICAgICAgIEFTU0VSVChjYXBhY2l0eSgpID09IGlubGluZUNhcGFjaXR5KTsK
ICAgICAgICAgaWYgKGluaXRpYWxDYXBhY2l0eSA+IGlubGluZUNhcGFjaXR5KQotICAgICAgICAg
ICAgbV9idWZmZXIuYWxsb2NhdGVCdWZmZXIoaW5pdGlhbENhcGFjaXR5KTsKKyAgICAgICAgICAg
IEJhc2U6OmFsbG9jYXRlQnVmZmVyKGluaXRpYWxDYXBhY2l0eSk7CiAgICAgfQogICAgIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3Zl
cmZsb3dIYW5kbGVyPgpAQCAtOTU5LDE5ICs5NjksMTkgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAg
ICAgICAgVCogb2xkQnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4g
MCkgewotICAgICAgICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3
Q2FwYWNpdHkpKSB7Ci0gICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihu
ZXdDYXBhY2l0eSk7CisgICAgICAgICAgICBpZiAoQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZl
cihuZXdDYXBhY2l0eSkpIHsKKyAgICAgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVy
KG5ld0NhcGFjaXR5KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgpOwotICAgICAgICAgICAgbV9idWZmZXIuYWxs
b2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOworICAgICAgICAgICAgQmFzZTo6YWxsb2NhdGVCdWZm
ZXIobmV3Q2FwYWNpdHkpOwogICAgICAgICAgICAgaWYgKGJlZ2luKCkgIT0gb2xkQnVmZmVyKQog
ICAgICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjptb3ZlKG9sZEJ1ZmZlciwgb2xkRW5kLCBi
ZWdpbigpKTsKICAgICAgICAgfQogCi0gICAgICAgIG1fYnVmZmVyLmRlYWxsb2NhdGVCdWZmZXIo
b2xkQnVmZmVyKTsKLSAgICAgICAgbV9idWZmZXIucmVzdG9yZUlubGluZUJ1ZmZlcklmTmVlZGVk
KCk7CisgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKKyAgICAgICAg
QmFzZTo6cmVzdG9yZUlubGluZUJ1ZmZlcklmTmVlZGVkKCk7CiAgICAgfQogCiAgICAgLy8gVGVt
cGxhdGl6aW5nIHRoZXNlIGlzIGJldHRlciB0aGFuIGp1c3QgbGV0dGluZyB0aGUgY29udmVyc2lv
biBoYXBwZW4gaW1wbGljaXRseSwKQEAgLTExNTgsNyArMTE2OCw3IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5h
bWUgT3ZlcmZsb3dIYW5kbGVyPgogICAgIGlubGluZSBUKiBWZWN0b3I8VCwgaW5saW5lQ2FwYWNp
dHksIE92ZXJmbG93SGFuZGxlcj46OnJlbGVhc2VCdWZmZXIoKQogICAgIHsKLSAgICAgICAgVCog
YnVmZmVyID0gbV9idWZmZXIucmVsZWFzZUJ1ZmZlcigpOworICAgICAgICBUKiBidWZmZXIgPSBC
YXNlOjpyZWxlYXNlQnVmZmVyKCk7CiAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSAmJiAhYnVm
ZmVyICYmIG1fc2l6ZSkgewogICAgICAgICAgICAgLy8gSWYgdGhlIHZlY3RvciBoYWQgc29tZSBk
YXRhLCBidXQgbm8gYnVmZmVyIHRvIHJlbGVhc2UsCiAgICAgICAgICAgICAvLyB0aGF0IG1lYW5z
IGl0IHdhcyB1c2luZyB0aGUgaW5saW5lIGJ1ZmZlci4gSW4gdGhhdCBjYXNlLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3YjM4OWY4Nzk2NWM2ZDAyOWRhODRiNTYwMDBiMTllZjkwMGQ4YTczLi4w
YmMwNmNkYThkMGQ4YTgwNWJjMmYyZThlODdhZjliNTkxODQ4NjU1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMjU1Myw2ICsyNTUzLDIwIEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICB4bWwv
cGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuY3BwCiApCiAKKyMgR0NDIDQuNi54IGNyYXNo
ZXMgd2hlbiBidWlsZGluZyB0aGlzIGZpbGUgd2l0aCAtTzMgYW5kIC1ETkRFQlVHLgorIyBSZWZl
cmVuY2VzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcyNjgKKyMg
ICAgICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDYy
NworaWYgKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCkgIyBDYW4gcmVzdHJpY3QgYmFzZWQgb24g
dGhlIHZlcnNpb24uCisgICAgc3RyaW5nKFRPVVBQRVIgIkNNQUtFX0NYWF9GTEFHU18ke0NNQUtF
X0JVSUxEX1RZUEV9IiBfQ1hYRkxBR1NfVkFSTkFNRSkKKworICAgIHN0cmluZyhGSU5EICR7X0NY
WEZMQUdTX1ZBUk5BTUV9ICItTzMiIF9DWFhGTEFHU19IQVNfTzMpCisgICAgaWYgKF9DWFhGTEFH
U19IQVNfTzMpCisgICAgICAgIHN0cmluZyhSRVBMQUNFICItTzMiICItTzIiIF9DWFhGTEFHUyAk
eyR7X0NYWEZMQUdTX1ZBUk5BTUV9fSkKKyAgICAgICAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0
aWVzKE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiJHtfQ1hY
RkxBR1N9IikKKyAgICBlbmRpZigpCitlbmRpZiAoKQorCiBzZXQoV2ViQ29yZV9DU1NfUFJPUEVS
VFlfTkFNRVMKICAgICAke1dFQkNPUkVfRElSfS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgogKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199039</attachid>
            <date>2013-04-22 09:36:55 -0700</date>
            <delta_ts>2013-04-22 09:59:14 -0700</delta_ts>
            <desc>Minor CMake style fix</desc>
            <filename>bug-97268-20130422193706.patch</filename>
            <type>text/plain</type>
            <size>15048</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ4ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZjgxMjNkOGRkYmZkYTY4NzdlOGEwMmYzODY0ZjYwNTdlMDU0MDBiLi40OWVlYTRhYTg3NTVkZmVi
MjExZDZjMTE3OGE2MTA4YjMxZjIyM2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMy0wNC0yMiAgQW5kcmVhcyBLbGluZyAgPGFrbGluZ0BhcHBsZS5jb20+
CisKKyAgICAgICAgU2hyaW5rIGJhc2VsaW5lIHNpemUgb2YgV1RGOjpWZWN0b3Igb24gNjQtYml0
IGJ5IHN3aXRjaGluZyB0byB1bnNpZ25lZCBjYXBhY2l0eSBhbmQgc2l6ZS4KKyAgICAgICAgPGh0
dHA6Ly93ZWJraXQub3JnL2IvOTcyNjg+CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjM3NjUx
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIFVwZGF0ZSBM
TEludCBXVEY6OlZlY3RvciBvZmZzZXQgY29uc3RhbnRzIHRvIG1hdGNoIHRoZSBuZXcgbWVtb3J5
IGxheW91dC4KKworICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorCiAy
MDEzLTA0LTIxICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAgICAgSlMg
TGV4ZXIgYW5kIFBhcnNlciBzaG91bGQgYmUgbW9yZSBpbmZvcm1hdGl2ZSB3aGVuIHRoZXkgZW5j
b3VudGVyIGVycm9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V1RGL0NoYW5nZUxvZwppbmRleCAwOTk5ZWNmOTk5NTcxZmNiNjgyZmE4NjY2NDQ1ZjBiYWY1MTM4
M2EyLi5kODZjNDBjNTk4MDVhNGE3OGFhYzgzNDRhODBjZGMxOWFmMDc5NjUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDM4IEBACisyMDEzLTA0LTIyICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFwcGxlLmNvbT4K
KworICAgICAgICBTaHJpbmsgYmFzZWxpbmUgc2l6ZSBvZiBXVEY6OlZlY3RvciBvbiA2NC1iaXQg
Ynkgc3dpdGNoaW5nIHRvIHVuc2lnbmVkIGNhcGFjaXR5IGFuZCBzaXplLgorICAgICAgICA8aHR0
cDovL3dlYmtpdC5vcmcvYi85NzI2OD4KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzEyMzc2NTE5
PgorCisgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCisKKyAgICAgICAgU2hyaW5rIFZl
Y3RvciBieSA4IGJ5dGVzIG9uIDY0LWJpdCBieSB1c2luZyAzMi1iaXQgY2FwYWNpdHkgYW5kIHNp
emUuCisgICAgICAgIFZlY3RvciBub3cgaW5oZXJpdHMgZnJvbSBWZWN0b3JCdWZmZXIgaW5zdGVh
ZCBvZiBoYXZpbmcgYSBWZWN0b3JCdWZmZXIgbWVtYmVyOworICAgICAgICB0aGlzIGlzIG5lY2Vz
c2FyeSBmb3IgbV9zaXplIHRvIGZhbGwgaW50byB0aGUgcGFkZGluZyBhZnRlciB0aGUgYmFzZSBj
bGFzcyBtZW1iZXJzLgorCisgICAgICAgIFRoZSBXVEY6OlZlY3RvciBBUEkgc3RpbGwgdXNlcyBz
aXplX3QuCisKKyAgICAgICAgQmFzZWQgb24gQmxpbmsgcjE0ODMxMyBieSA8Y2V2YW5zQGNocm9t
aXVtLm9yZz4uCisKKyAgICAgICAgKiB3dGYvU2l6ZUxpbWl0cy5jcHA6CisgICAgICAgICogd3Rm
L1ZlY3Rvci5oOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjphbGxvY2F0ZUJ1ZmZl
cik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OnRyeUFsbG9jYXRlQnVmZmVyKToK
KyAgICAgICAgKFZlY3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXI6
OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAoVmVjdG9yKToKKyAgICAgICAgKFdU
Rjo6VmVjdG9yOjpWZWN0b3IpOgorICAgICAgICAoV1RGOjpWZWN0b3I6OmNhcGFjaXR5KToKKyAg
ICAgICAgKFdURjo6VmVjdG9yOjphdCk6CisgICAgICAgIChXVEY6OlZlY3Rvcjo6ZGF0YSk6Cisg
ICAgICAgIChXVEY6OlZlY3Rvcjo6c3dhcCk6CisgICAgICAgIChXVEY6Ojo6VmVjdG9yKToKKyAg
ICAgICAgKFdURjo6OjpyZXNlcnZlQ2FwYWNpdHkpOgorICAgICAgICAoV1RGOjo6OnRyeVJlc2Vy
dmVDYXBhY2l0eSk6CisgICAgICAgIChXVEY6Ojo6cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSk6Cisg
ICAgICAgIChXVEY6Ojo6c2hyaW5rQ2FwYWNpdHkpOgorICAgICAgICAoV1RGOjo6OnJlbGVhc2VC
dWZmZXIpOgorCiAyMDEzLTA0LTIxICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBJbXByb3ZlIFN0cmluZ0ltcGwgY29kZSBkZW5zaXR5IGZvciBvbGRl
ciBBUk0gaGFyZHdhcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MTY4YzliYzAyM2M2MDQ2NzJjNzU4MzgyMTYz
NmY2MzhhOTMxMGE0Li45MTcxMjlhMGE2YWQ4MjI5NTk3NmQ3OGFjNjUxYjZkOGZhYjY2YWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDQtMjIgIEFuZHJlYXMgS2xpbmcgIDxh
a2xpbmdAYXBwbGUuY29tPgorCisgICAgICAgIFNocmluayBiYXNlbGluZSBzaXplIG9mIFdURjo6
VmVjdG9yIG9uIDY0LWJpdCBieSBzd2l0Y2hpbmcgdG8gdW5zaWduZWQgY2FwYWNpdHkgYW5kIHNp
emUuCisgICAgICAgIDxodHRwOi8vd2Via2l0Lm9yZy9iLzk3MjY4PgorICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMTIzNzY1MTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OiBBZGQgYSB3b3JrYXJvdW5kIGZvciBHQ0MgNC42Lngg
aW4gUmVsZWFzZSBtb2RlIHNvIGl0CisgICAgICAgIGRvZXMgbm90IGNyYXNoLgorCiAyMDEzLTA0
LTIyICBYdWVmZWkgUmVuICA8eHJlbkBibGFja2JlcnJ5LmNvbT4KIAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20gYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KaW5kZXggZjM1
OTYwMzRjYmE2MTc4OGM0MGQ5ZTc3MjYzNWM4N2FkOTIyNGI4ZS4uYTU1YTI0Mjg3ZDdmMWEyNzJh
NjJjZWI1YTIwNGRmOWM4OTc0NDQ5MyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbQpAQCAtMTU0LDExICsxNTQsMTEgQEAgZWxz
ZQogZW5kCiAKICMgVGhpcyBtdXN0IG1hdGNoIHd0Zi9WZWN0b3IuaAotY29uc3QgVmVjdG9yU2l6
ZU9mZnNldCA9IDAKK2NvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDAKIGlmIEpTVkFMVUU2NAot
ICAgIGNvbnN0IFZlY3RvckJ1ZmZlck9mZnNldCA9IDgKKyAgICBjb25zdCBWZWN0b3JTaXplT2Zm
c2V0ID0gMTIKIGVsc2UKLSAgICBjb25zdCBWZWN0b3JCdWZmZXJPZmZzZXQgPSA0CisgICAgY29u
c3QgVmVjdG9yU2l6ZU9mZnNldCA9IDgKIGVuZAogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL1NpemVMaW1pdHMuY3BwIGIvU291cmNlL1dURi93dGYvU2l6ZUxpbWl0cy5jcHAKaW5kZXgg
OTVkOWMyYjFlOTA4ZGNhOTIzNGZlNDA5ZjVmNTUxNzVhYWUzNjIwNi4uY2IyZDYwYjc4MGQzYjg1
ZWJkYjI3NWI3YzZlYjg0NjRhMTJjY2NiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvU2l6
ZUxpbWl0cy5jcHAKKysrIGIvU291cmNlL1dURi93dGYvU2l6ZUxpbWl0cy5jcHAKQEAgLTYwLDYg
KzYwLDcgQEAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFBhc3NSZWZQdHI8UmVmQ291bnRlZDxpbnQ+
ID4pID09IHNpemVvZihpbnQqKSwgUGFzc1JlZlB0cl8KIENPTVBJTEVfQVNTRVJUKHNpemVvZihS
ZWZDb3VudGVkPGludD4pID09IHNpemVvZihTYW1lU2l6ZUFzUmVmQ291bnRlZCksIFJlZkNvdW50
ZWRfc2hvdWxkX3N0YXlfc21hbGwpOwogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFJlZkNvdW50ZWRD
dXN0b21BbGxvY2F0ZWQ8aW50PikgPT0gc2l6ZW9mKFNhbWVTaXplQXNSZWZDb3VudGVkKSwgUmVm
Q291bnRlZEN1c3RvbUFsbG9jYXRlZF9zaG91bGRfc3RheV9zbWFsbCk7CiBDT01QSUxFX0FTU0VS
VChzaXplb2YoUmVmUHRyPFJlZkNvdW50ZWQ8aW50PiA+KSA9PSBzaXplb2YoaW50KiksIFJlZlB0
cl9zaG91bGRfc3RheV9zbWFsbCk7Ci1DT01QSUxFX0FTU0VSVChzaXplb2YoVmVjdG9yPGludD4p
ID09IDMgKiBzaXplb2YoaW50KiksIFZlY3Rvcl9zaG91bGRfc3RheV9zbWFsbCk7CitDT01QSUxF
X0FTU0VSVChzaXplb2YoVmVjdG9yPGludD4pID09IHNpemVvZihpbnQqKSArIDIgKiBzaXplb2Yo
aW50KSwgVmVjdG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihW
ZWN0b3I8aW50LCAxPikgPT0gMiAqIHNpemVvZihpbnQqKSArIDIgKiBzaXplb2YoaW50KSwgVmVj
dG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
VmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAppbmRleCAwYzg3NjU5YWUyMjIwYmUw
MTcxNGEzYWYzYzFhYTA2ZjZkMmM5ZTJiLi42ODk2MjU1OWY5NTdjYjZiNTA2MzI1NGMwOGJkYTcx
Y2M3ZjUxMzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9WZWN0b3IuaApAQCAtMjUzLDcgKzI1Myw3IEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgICAgICB2b2lkIGFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKICAgICAgICAg
ewogICAgICAgICAgICAgQVNTRVJUKG5ld0NhcGFjaXR5KTsKLSAgICAgICAgICAgIGlmIChuZXdD
YXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLyBzaXplb2YoVCkp
CisgICAgICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHVuc2ln
bmVkPjo6bWF4KCkgLyBzaXplb2YoVCkpCiAgICAgICAgICAgICAgICAgQ1JBU0goKTsKICAgICAg
ICAgICAgIHNpemVfdCBzaXplVG9BbGxvY2F0ZSA9IGZhc3RNYWxsb2NHb29kU2l6ZShuZXdDYXBh
Y2l0eSAqIHNpemVvZihUKSk7CiAgICAgICAgICAgICBtX2NhcGFjaXR5ID0gc2l6ZVRvQWxsb2Nh
dGUgLyBzaXplb2YoVCk7CkBAIC0yNjMsNyArMjYzLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIGJvb2wgdHJ5QWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQogICAgICAgICB7
CiAgICAgICAgICAgICBBU1NFUlQobmV3Q2FwYWNpdHkpOwotICAgICAgICAgICAgaWYgKG5ld0Nh
cGFjaXR5ID4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIHNpemVvZihUKSkK
KyAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWdu
ZWQ+OjptYXgoKSAvIHNpemVvZihUKSkKICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAK
ICAgICAgICAgICAgIHNpemVfdCBzaXplVG9BbGxvY2F0ZSA9IGZhc3RNYWxsb2NHb29kU2l6ZShu
ZXdDYXBhY2l0eSAqIHNpemVvZihUKSk7CkBAIC0zMzUsNyArMzM1LDcgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIH0KIAogICAgICAgICBUKiBtX2J1ZmZlcjsKLSAgICAgICAgc2l6ZV90IG1f
Y2FwYWNpdHk7CisgICAgICAgIHVuc2lnbmVkIG1fY2FwYWNpdHk7CiAgICAgfTsKIAogICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eT4KQEAgLTQzOSw3ICs0Mzks
NyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAgLy8gV2Ug
Y2Fubm90IHJlYWxsb2NhdGUgdGhlIGlubGluZSBidWZmZXIuCi0gICAgICAgICAgICByZXR1cm4g
QmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4obV9j
YXBhY2l0eSwgbmV3Q2FwYWNpdHkpID4gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgICAgICByZXR1
cm4gQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4o
c3RhdGljX2Nhc3Q8c2l6ZV90PihtX2NhcGFjaXR5KSwgbmV3Q2FwYWNpdHkpID4gaW5saW5lQ2Fw
YWNpdHk7CiAgICAgICAgIH0KIAogICAgICAgICB2b2lkIHJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90
IG5ld0NhcGFjaXR5KQpAQCAtNTA2LDEwICs1MDYsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
fTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSA9IDAs
IHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlciA9IENyYXNoT25PdmVyZmxvdz4KLSAgICBjbGFzcyBW
ZWN0b3IgeworICAgIGNsYXNzIFZlY3RvciA6IHByaXZhdGUgVmVjdG9yQnVmZmVyPFQsIGlubGlu
ZUNhcGFjaXR5PiB7CiAgICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIHByaXZh
dGU6Ci0gICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCdWZm
ZXI7CisgICAgICAgIHR5cGVkZWYgVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiBCYXNl
OwogICAgICAgICB0eXBlZGVmIFZlY3RvclR5cGVPcGVyYXRpb25zPFQ+IFR5cGVPcGVyYXRpb25z
OwogCiAgICAgcHVibGljOgpAQCAtNTIwLDE0ICs1MjAsMTQgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIHR5cGVkZWYgc3RkOjpyZXZlcnNlX2l0ZXJhdG9yPGl0ZXJhdG9yPiByZXZlcnNlX2l0
ZXJhdG9yOwogICAgICAgICB0eXBlZGVmIHN0ZDo6cmV2ZXJzZV9pdGVyYXRvcjxjb25zdF9pdGVy
YXRvcj4gY29uc3RfcmV2ZXJzZV9pdGVyYXRvcjsKIAotICAgICAgICBWZWN0b3IoKSAKKyAgICAg
ICAgVmVjdG9yKCkKICAgICAgICAgICAgIDogbV9zaXplKDApCiAgICAgICAgIHsKICAgICAgICAg
fQogICAgICAgICAKLSAgICAgICAgZXhwbGljaXQgVmVjdG9yKHNpemVfdCBzaXplKSAKLSAgICAg
ICAgICAgIDogbV9zaXplKHNpemUpCi0gICAgICAgICAgICAsIG1fYnVmZmVyKHNpemUpCisgICAg
ICAgIGV4cGxpY2l0IFZlY3RvcihzaXplX3Qgc2l6ZSkKKyAgICAgICAgICAgIDogQmFzZShzaXpl
KQorICAgICAgICAgICAgLCBtX3NpemUoc2l6ZSkKICAgICAgICAgewogICAgICAgICAgICAgaWYg
KGJlZ2luKCkpCiAgICAgICAgICAgICAgICAgVHlwZU9wZXJhdGlvbnM6OmluaXRpYWxpemUoYmVn
aW4oKSwgZW5kKCkpOwpAQCAtNTUzLDMwICs1NTMsMzAgQEAgbmFtZXNwYWNlIFdURiB7CiAjZW5k
aWYKIAogICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQotICAg
ICAgICBzaXplX3QgY2FwYWNpdHkoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5jYXBhY2l0eSgp
OyB9CisgICAgICAgIHNpemVfdCBjYXBhY2l0eSgpIGNvbnN0IHsgcmV0dXJuIEJhc2U6OmNhcGFj
aXR5KCk7IH0KICAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gIXNpemUoKTsg
fQogCi0gICAgICAgIFQmIGF0KHNpemVfdCBpKSAKKyAgICAgICAgVCYgYXQoc2l6ZV90IGkpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIGlmIChVTkxJS0VMWShpID49IHNpemUoKSkpCiAgICAgICAg
ICAgICAgICAgT3ZlcmZsb3dIYW5kbGVyOjpvdmVyZmxvd2VkKCk7Ci0gICAgICAgICAgICByZXR1
cm4gbV9idWZmZXIuYnVmZmVyKClbaV07IAorICAgICAgICAgICAgcmV0dXJuIEJhc2U6OmJ1ZmZl
cigpW2ldOwogICAgICAgICB9CiAgICAgICAgIGNvbnN0IFQmIGF0KHNpemVfdCBpKSBjb25zdCAK
ICAgICAgICAgewogICAgICAgICAgICAgaWYgKFVOTElLRUxZKGkgPj0gc2l6ZSgpKSkKICAgICAg
ICAgICAgICAgICBPdmVyZmxvd0hhbmRsZXI6Om92ZXJmbG93ZWQoKTsKLSAgICAgICAgICAgIHJl
dHVybiBtX2J1ZmZlci5idWZmZXIoKVtpXTsgCisgICAgICAgICAgICByZXR1cm4gQmFzZTo6YnVm
ZmVyKClbaV07CiAgICAgICAgIH0KICAgICAgICAgVCYgYXQoQ2hlY2tlZDxzaXplX3Q+IGkpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIFJFTEVBU0VfQVNTRVJUKGkgPCBzaXplKCkpOwotICAgICAg
ICAgICAgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpW2ldOworICAgICAgICAgICAgcmV0dXJuIEJh
c2U6OmJ1ZmZlcigpW2ldOwogICAgICAgICB9CiAgICAgICAgIGNvbnN0IFQmIGF0KENoZWNrZWQ8
c2l6ZV90PiBpKSBjb25zdAogICAgICAgICB7CiAgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChp
IDwgc2l6ZSgpKTsKLSAgICAgICAgICAgIHJldHVybiBtX2J1ZmZlci5idWZmZXIoKVtpXTsKKyAg
ICAgICAgICAgIHJldHVybiBCYXNlOjpidWZmZXIoKVtpXTsKICAgICAgICAgfQogCiAgICAgICAg
IFQmIG9wZXJhdG9yW10oc2l6ZV90IGkpIHsgcmV0dXJuIGF0KGkpOyB9CkBAIC01ODQsOCArNTg0
LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIFQmIG9wZXJhdG9yW10oQ2hlY2tlZDxzaXpl
X3Q+IGkpIHsgcmV0dXJuIGF0KGkpOyB9CiAgICAgICAgIGNvbnN0IFQmIG9wZXJhdG9yW10oQ2hl
Y2tlZDxzaXplX3Q+IGkpIGNvbnN0IHsgcmV0dXJuIGF0KGkpOyB9CiAKLSAgICAgICAgVCogZGF0
YSgpIHsgcmV0dXJuIG1fYnVmZmVyLmJ1ZmZlcigpOyB9Ci0gICAgICAgIGNvbnN0IFQqIGRhdGEo
KSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5idWZmZXIoKTsgfQorICAgICAgICBUKiBkYXRhKCkg
eyByZXR1cm4gQmFzZTo6YnVmZmVyKCk7IH0KKyAgICAgICAgY29uc3QgVCogZGF0YSgpIGNvbnN0
IHsgcmV0dXJuIEJhc2U6OmJ1ZmZlcigpOyB9CiAKICAgICAgICAgaXRlcmF0b3IgYmVnaW4oKSB7
IHJldHVybiBkYXRhKCk7IH0KICAgICAgICAgaXRlcmF0b3IgZW5kKCkgeyByZXR1cm4gYmVnaW4o
KSArIG1fc2l6ZTsgfQpAQCAtNjQzLDggKzY0Myw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAg
ICB9CiAKICAgICAgICAgVmVjdG9yKHNpemVfdCBzaXplLCBjb25zdCBUJiB2YWwpCi0gICAgICAg
ICAgICA6IG1fc2l6ZShzaXplKQotICAgICAgICAgICAgLCBtX2J1ZmZlcihzaXplKQorICAgICAg
ICAgICAgOiBCYXNlKHNpemUpCisgICAgICAgICAgICAsIG1fc2l6ZShzaXplKQogICAgICAgICB7
CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSkKICAgICAgICAgICAgICAgICBUeXBlT3BlcmF0aW9u
czo6dW5pbml0aWFsaXplZEZpbGwoYmVnaW4oKSwgZW5kKCksIHZhbCk7CkBAIC02NjAsNyArNjYw
LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3I8VCwgaW5saW5l
Q2FwYWNpdHksIE92ZXJmbG93SGFuZGxlcj4mIG90aGVyKQogICAgICAgICB7CiAgICAgICAgICAg
ICBzdGQ6OnN3YXAobV9zaXplLCBvdGhlci5tX3NpemUpOwotICAgICAgICAgICAgbV9idWZmZXIu
c3dhcChvdGhlci5tX2J1ZmZlcik7CisgICAgICAgICAgICBCYXNlOjpzd2FwKG90aGVyKTsKICAg
ICAgICAgfQogCiAgICAgICAgIHZvaWQgcmV2ZXJzZSgpOwpAQCAtNjc1LDE0ICs2NzUsMjQgQEAg
bmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFUqIGV4cGFuZENh
cGFjaXR5KHNpemVfdCBuZXdNaW5DYXBhY2l0eSwgVSopOyAKICAgICAgICAgdGVtcGxhdGU8dHlw
ZW5hbWUgVT4gdm9pZCBhcHBlbmRTbG93Q2FzZShjb25zdCBVJik7CiAKLSAgICAgICAgc2l6ZV90
IG1fc2l6ZTsKLSAgICAgICAgQnVmZmVyIG1fYnVmZmVyOworICAgICAgICB1bnNpZ25lZCBtX3Np
emU7CisKKyAgICAgICAgdXNpbmcgQmFzZTo6YnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpj
YXBhY2l0eTsKKyAgICAgICAgdXNpbmcgQmFzZTo6c3dhcDsKKyAgICAgICAgdXNpbmcgQmFzZTo6
YWxsb2NhdGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXI7Cisg
ICAgICAgIHVzaW5nIEJhc2U6OnRyeUFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNl
OjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpyZWFsbG9jYXRl
QnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpyZXN0b3JlSW5saW5lQnVmZmVySWZOZWVkZWQ7
CisgICAgICAgIHVzaW5nIEJhc2U6OnJlbGVhc2VCdWZmZXI7CiAgICAgfTsKIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dI
YW5kbGVyPgogICAgIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPjo6
VmVjdG9yKGNvbnN0IFZlY3RvciYgb3RoZXIpCi0gICAgICAgIDogbV9zaXplKG90aGVyLnNpemUo
KSkKLSAgICAgICAgLCBtX2J1ZmZlcihvdGhlci5jYXBhY2l0eSgpKQorICAgICAgICA6IEJhc2Uo
b3RoZXIuY2FwYWNpdHkoKSkKKyAgICAgICAgLCBtX3NpemUob3RoZXIuc2l6ZSgpKQogICAgIHsK
ICAgICAgICAgaWYgKGJlZ2luKCkpCiAgICAgICAgICAgICBUeXBlT3BlcmF0aW9uczo6dW5pbml0
aWFsaXplZENvcHkob3RoZXIuYmVnaW4oKSwgb3RoZXIuZW5kKCksIGJlZ2luKCkpOwpAQCAtNjkx
LDggKzcwMSw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNp
emVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3ZlcmZsb3dIYW5kbGVyPgogICAgIHRlbXBs
YXRlPHNpemVfdCBvdGhlckNhcGFjaXR5LCB0eXBlbmFtZSBvdGhlck92ZXJmbG93QmVoYXZpb3Vy
PgogICAgIFZlY3RvcjxULCBpbmxpbmVDYXBhY2l0eSwgT3ZlcmZsb3dIYW5kbGVyPjo6VmVjdG9y
KGNvbnN0IFZlY3RvcjxULCBvdGhlckNhcGFjaXR5LCBvdGhlck92ZXJmbG93QmVoYXZpb3VyPiYg
b3RoZXIpCi0gICAgICAgIDogbV9zaXplKG90aGVyLnNpemUoKSkKLSAgICAgICAgLCBtX2J1ZmZl
cihvdGhlci5jYXBhY2l0eSgpKQorICAgICAgICA6IEJhc2Uob3RoZXIuY2FwYWNpdHkoKSkKKyAg
ICAgICAgLCBtX3NpemUob3RoZXIuc2l6ZSgpKQogICAgIHsKICAgICAgICAgaWYgKGJlZ2luKCkp
CiAgICAgICAgICAgICBUeXBlT3BlcmF0aW9uczo6dW5pbml0aWFsaXplZENvcHkob3RoZXIuYmVn
aW4oKSwgb3RoZXIuZW5kKCksIGJlZ2luKCkpOwpAQCAtOTE4LDEwICs5MjgsMTAgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIFQqIG9sZEJ1ZmZlciA9IGJl
Z2luKCk7CiAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgpOwotICAgICAgICBtX2J1ZmZlci5hbGxv
Y2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CisgICAgICAgIEJhc2U6OmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgaWYgKGJlZ2luKCkpCiAgICAgICAgICAgICBUeXBlT3BlcmF0
aW9uczo6bW92ZShvbGRCdWZmZXIsIG9sZEVuZCwgYmVnaW4oKSk7Ci0gICAgICAgIG1fYnVmZmVy
LmRlYWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKKyAgICAgICAgQmFzZTo6ZGVhbGxvY2F0ZUJ1
ZmZlcihvbGRCdWZmZXIpOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCBz
aXplX3QgaW5saW5lQ2FwYWNpdHksIHR5cGVuYW1lIE92ZXJmbG93SGFuZGxlcj4KQEAgLTkzMSwx
MSArOTQxLDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgICAgIFQqIG9sZEJ1ZmZlciA9IGJlZ2luKCk7CiAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgp
OwotICAgICAgICBpZiAoIW1fYnVmZmVyLnRyeUFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSkK
KyAgICAgICAgaWYgKCFCYXNlOjp0cnlBbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIEFTU0VSVChiZWdpbigpKTsKICAgICAgICAg
VHlwZU9wZXJhdGlvbnM6Om1vdmUob2xkQnVmZmVyLCBvbGRFbmQsIGJlZ2luKCkpOwotICAgICAg
ICBtX2J1ZmZlci5kZWFsbG9jYXRlQnVmZmVyKG9sZEJ1ZmZlcik7CisgICAgICAgIEJhc2U6OmRl
YWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQog
ICAgIApAQCAtOTQ1LDcgKzk1NSw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBBU1NFUlQo
IW1fc2l6ZSk7CiAgICAgICAgIEFTU0VSVChjYXBhY2l0eSgpID09IGlubGluZUNhcGFjaXR5KTsK
ICAgICAgICAgaWYgKGluaXRpYWxDYXBhY2l0eSA+IGlubGluZUNhcGFjaXR5KQotICAgICAgICAg
ICAgbV9idWZmZXIuYWxsb2NhdGVCdWZmZXIoaW5pdGlhbENhcGFjaXR5KTsKKyAgICAgICAgICAg
IEJhc2U6OmFsbG9jYXRlQnVmZmVyKGluaXRpYWxDYXBhY2l0eSk7CiAgICAgfQogICAgIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5hbWUgT3Zl
cmZsb3dIYW5kbGVyPgpAQCAtOTU5LDE5ICs5NjksMTkgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAg
ICAgICAgVCogb2xkQnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4g
MCkgewotICAgICAgICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3
Q2FwYWNpdHkpKSB7Ci0gICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihu
ZXdDYXBhY2l0eSk7CisgICAgICAgICAgICBpZiAoQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZl
cihuZXdDYXBhY2l0eSkpIHsKKyAgICAgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVy
KG5ld0NhcGFjaXR5KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgpOwotICAgICAgICAgICAgbV9idWZmZXIuYWxs
b2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOworICAgICAgICAgICAgQmFzZTo6YWxsb2NhdGVCdWZm
ZXIobmV3Q2FwYWNpdHkpOwogICAgICAgICAgICAgaWYgKGJlZ2luKCkgIT0gb2xkQnVmZmVyKQog
ICAgICAgICAgICAgICAgIFR5cGVPcGVyYXRpb25zOjptb3ZlKG9sZEJ1ZmZlciwgb2xkRW5kLCBi
ZWdpbigpKTsKICAgICAgICAgfQogCi0gICAgICAgIG1fYnVmZmVyLmRlYWxsb2NhdGVCdWZmZXIo
b2xkQnVmZmVyKTsKLSAgICAgICAgbV9idWZmZXIucmVzdG9yZUlubGluZUJ1ZmZlcklmTmVlZGVk
KCk7CisgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIob2xkQnVmZmVyKTsKKyAgICAgICAg
QmFzZTo6cmVzdG9yZUlubGluZUJ1ZmZlcklmTmVlZGVkKCk7CiAgICAgfQogCiAgICAgLy8gVGVt
cGxhdGl6aW5nIHRoZXNlIGlzIGJldHRlciB0aGFuIGp1c3QgbGV0dGluZyB0aGUgY29udmVyc2lv
biBoYXBwZW4gaW1wbGljaXRseSwKQEAgLTExNTgsNyArMTE2OCw3IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgdHlwZW5h
bWUgT3ZlcmZsb3dIYW5kbGVyPgogICAgIGlubGluZSBUKiBWZWN0b3I8VCwgaW5saW5lQ2FwYWNp
dHksIE92ZXJmbG93SGFuZGxlcj46OnJlbGVhc2VCdWZmZXIoKQogICAgIHsKLSAgICAgICAgVCog
YnVmZmVyID0gbV9idWZmZXIucmVsZWFzZUJ1ZmZlcigpOworICAgICAgICBUKiBidWZmZXIgPSBC
YXNlOjpyZWxlYXNlQnVmZmVyKCk7CiAgICAgICAgIGlmIChpbmxpbmVDYXBhY2l0eSAmJiAhYnVm
ZmVyICYmIG1fc2l6ZSkgewogICAgICAgICAgICAgLy8gSWYgdGhlIHZlY3RvciBoYWQgc29tZSBk
YXRhLCBidXQgbm8gYnVmZmVyIHRvIHJlbGVhc2UsCiAgICAgICAgICAgICAvLyB0aGF0IG1lYW5z
IGl0IHdhcyB1c2luZyB0aGUgaW5saW5lIGJ1ZmZlci4gSW4gdGhhdCBjYXNlLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAppbmRleCA3YjM4OWY4Nzk2NWM2ZDAyOWRhODRiNTYwMDBiMTllZjkwMGQ4YTczLi41
NjIxZmU2MDZmZTVhNzE0OTRlM2U5ODU5NWQyYmJlMjI2N2IzZjFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dApAQCAtMjU1Myw2ICsyNTUzLDIwIEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICB4bWwv
cGFyc2VyL1hNTERvY3VtZW50UGFyc2VyU2NvcGUuY3BwCiApCiAKKyMgR0NDIDQuNi54IGNyYXNo
ZXMgd2hlbiBidWlsZGluZyB0aGlzIGZpbGUgd2l0aCAtTzMgYW5kIC1ETkRFQlVHLgorIyBSZWZl
cmVuY2VzOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTcyNjgKKyMg
ICAgICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNDYy
NworaWYgKENNQUtFX0NPTVBJTEVSX0lTX0dOVUNYWCkgIyBDYW4gcmVzdHJpY3QgYmFzZWQgb24g
dGhlIHZlcnNpb24uCisgICAgc3RyaW5nKFRPVVBQRVIgIkNNQUtFX0NYWF9GTEFHU18ke0NNQUtF
X0JVSUxEX1RZUEV9IiBfQ1hYRkxBR1NfVkFSTkFNRSkKKworICAgIHN0cmluZyhGSU5EICR7X0NY
WEZMQUdTX1ZBUk5BTUV9ICItTzMiIF9DWFhGTEFHU19IQVNfTzMpCisgICAgaWYgKF9DWFhGTEFH
U19IQVNfTzMpCisgICAgICAgIHN0cmluZyhSRVBMQUNFICItTzMiICItTzIiIF9DWFhGTEFHUyAk
eyR7X0NYWEZMQUdTX1ZBUk5BTUV9fSkKKyAgICAgICAgc2V0X3NvdXJjZV9maWxlc19wcm9wZXJ0
aWVzKE1vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXREZWZsYXRlci5jcHAKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFBST1BFUlRJRVMgQ09NUElMRV9GTEFHUyAiJHtfQ1hY
RkxBR1N9IikKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKwogc2V0KFdlYkNvcmVfQ1NTX1BST1BF
UlRZX05BTUVTCiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KICkK
</data>

          </attachment>
      

    </bug>

</bugzilla>