<?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>146414</bug_id>
          
          <creation_ts>2015-06-29 11:55:19 -0700</creation_ts>
          <short_desc>Compile warning (-Wsign-compare) on 32-bits at WebCore/platform/FileSystem.cpp</short_desc>
          <delta_ts>2015-08-10 03:06:05 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>oliver</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1105439</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-06-29 11:55:19 -0700</bug_when>
    <thetext>When building WebKitGTK+ on Linux/32-bits the following warning appears:

[2644/5687] Building CXX object Source/WebCore/CMakeFiles/WebCore.dir/platform/FileSystem.cpp.o
../../Source/WebCore/platform/FileSystem.cpp: In constructor ‘WebCore::MappedFileData::MappedFileData(const WTF::String&amp;, bool&amp;)’:
../../Source/WebCore/platform/FileSystem.cpp:154:50: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (fileStat.st_size &lt; 0 || fileStat.st_size &gt; std::numeric_limits&lt;unsigned&gt;::max()) {
                                                  ^

https://build.webkit.org/builders/GTK%20Linux%2032-bit%20Release/builds/53808/steps/compile-webkit/logs/stdio


bug 101458 can give some hints about the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108549</commentid>
    <comment_count>1</comment_count>
      <attachid>256568</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-10 00:04:22 -0700</bug_when>
    <thetext>Created attachment 256568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108550</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-10 00:06:21 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; When building WebKitGTK+ on Linux/32-bits the following warning appears:

I have not tested it on 32-bits systems but I hope the uploaded patch removes the warning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108627</commentid>
    <comment_count>3</comment_count>
      <attachid>256568</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-10 09:32:10 -0700</bug_when>
    <thetext>Comment on attachment 256568
Patch

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

&gt; Source/WebCore/platform/FileSystem.cpp:154
&gt; +    if (fileStat.st_size &lt; 0 || static_cast&lt;size_t&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {

If we got the typecast to exactly the right unsigned type, one guaranteed to be the same size as off_t, then the check against 0 becomes dead code, because negative numbers are guaranteed to turn into large unsigned numbers. It’s not obvious to me that size_t is guaranteed to be the right type. I would write this:

    if (static_cast&lt;std::make_unsigned&lt;off_t&gt;::type&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1108628</commentid>
    <comment_count>4</comment_count>
      <attachid>256568</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-07-10 09:34:04 -0700</bug_when>
    <thetext>Comment on attachment 256568
Patch

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

&gt;&gt; Source/WebCore/platform/FileSystem.cpp:154
&gt;&gt; +    if (fileStat.st_size &lt; 0 || static_cast&lt;size_t&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {
&gt; 
&gt; If we got the typecast to exactly the right unsigned type, one guaranteed to be the same size as off_t, then the check against 0 becomes dead code, because negative numbers are guaranteed to turn into large unsigned numbers. It’s not obvious to me that size_t is guaranteed to be the right type. I would write this:
&gt; 
&gt;     if (static_cast&lt;std::make_unsigned&lt;off_t&gt;::type&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {

Here’s an even more bulletproof way to write this:

    template&lt;typename T&gt; static inline makeUnsigned(T integer) { return static_cast&lt;std::make_unsigned&lt;T&gt;::type&gt;(integer); }

    if (makeUnsigned(fileState.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109024</commentid>
    <comment_count>5</comment_count>
      <attachid>256568</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-12 07:01:09 -0700</bug_when>
    <thetext>Comment on attachment 256568
Patch

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

&gt;&gt;&gt; Source/WebCore/platform/FileSystem.cpp:154
&gt;&gt;&gt; +    if (fileStat.st_size &lt; 0 || static_cast&lt;size_t&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {
&gt;&gt; 
&gt;&gt; If we got the typecast to exactly the right unsigned type, one guaranteed to be the same size as off_t, then the check against 0 becomes dead code, because negative numbers are guaranteed to turn into large unsigned numbers. It’s not obvious to me that size_t is guaranteed to be the right type. I would write this:
&gt;&gt; 
&gt;&gt;     if (static_cast&lt;std::make_unsigned&lt;off_t&gt;::type&gt;(fileStat.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {
&gt; 
&gt; Here’s an even more bulletproof way to write this:
&gt; 
&gt;     template&lt;typename T&gt; static inline makeUnsigned(T integer) { return static_cast&lt;std::make_unsigned&lt;T&gt;::type&gt;(integer); }
&gt; 
&gt;     if (makeUnsigned(fileState.st_size) &gt; std::numeric_limits&lt;unsigned&gt;::max()) {

If we want to further improve readability, we might want to write &quot;if (!WTF::isInBounds&lt;unsigned&gt;(fileState.st_size))&quot;
Integrating your suggestion in WTF::isInBounds might be useful then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109025</commentid>
    <comment_count>6</comment_count>
      <attachid>256678</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-12 07:02:20 -0700</bug_when>
    <thetext>Created attachment 256678
WTF::isInBounds version</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1109029</commentid>
    <comment_count>7</comment_count>
      <attachid>256678</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-12 08:36:50 -0700</bug_when>
    <thetext>Comment on attachment 256678
WTF::isInBounds version

Putting r?
This patch is missing unit tests to ensure everything is working fine.
I will do that when going back to WebKit in a few weeks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113360</commentid>
    <comment_count>8</comment_count>
      <attachid>257833</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-30 08:27:38 -0700</bug_when>
    <thetext>Created attachment 257833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113362</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-30 08:29:18 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Created attachment 257833 [details]
&gt; Patch

Adding unit tests and adding a small fix to BoundsCheckElider.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113391</commentid>
    <comment_count>10</comment_count>
      <attachid>257833</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2015-07-30 09:55:48 -0700</bug_when>
    <thetext>Comment on attachment 257833
Patch

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

&gt; Source/WebCore/platform/FileSystem.cpp:154
&gt; -    if (fileStat.st_size &lt; 0 || fileStat.st_size &gt; std::numeric_limits&lt;unsigned&gt;::max()) {
&gt; +    if (!WTF::isInBounds&lt;unsigned&gt;(fileStat.st_size)) {

Random question, why unsigned here?

&gt; Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:434
&gt; +    EXPECT_FALSE(WTF::isInBounds&lt;uint32_t&gt;((int32_t)-1));
&gt; +    EXPECT_FALSE(WTF::isInBounds&lt;uint16_t&gt;((int32_t)-1));
&gt; +    EXPECT_FALSE(WTF::isInBounds&lt;uint32_t&gt;((int16_t)-1));

Can you also add tests for 1, and max&lt;int32,uint32,int16,...&gt; etc? and verify that there hasn&apos;t been any behaviour change?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113668</commentid>
    <comment_count>11</comment_count>
      <attachid>257833</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-30 23:51:07 -0700</bug_when>
    <thetext>Comment on attachment 257833
Patch

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

&gt;&gt; Source/WebCore/platform/FileSystem.cpp:154
&gt;&gt; +    if (!WTF::isInBounds&lt;unsigned&gt;(fileStat.st_size)) {
&gt; 
&gt; Random question, why unsigned here?

We do a conversion from off_t to unsigned just after the &quot;if&quot;, unsigned being what is expected by SharedBuffer at the end.
It might be nice to refactor this in a WTF::convertSafely routine that would do the inbound check as well as the static_cast.

&gt;&gt; Tools/TestWebKitAPI/Tests/WTF/CheckedArithmeticOperations.cpp:434
&gt;&gt; +    EXPECT_FALSE(WTF::isInBounds&lt;uint32_t&gt;((int16_t)-1));
&gt; 
&gt; Can you also add tests for 1, and max&lt;int32,uint32,int16,...&gt; etc? and verify that there hasn&apos;t been any behaviour change?

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1113670</commentid>
    <comment_count>12</comment_count>
      <attachid>257908</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-07-31 00:01:57 -0700</bug_when>
    <thetext>Created attachment 257908
Trying to fix build, adding tests and convertSafely</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114184</commentid>
    <comment_count>13</comment_count>
      <attachid>258060</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-03 08:15:53 -0700</bug_when>
    <thetext>Created attachment 258060
Another try at fixing mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114190</commentid>
    <comment_count>14</comment_count>
      <attachid>258062</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-08-03 08:50:19 -0700</bug_when>
    <thetext>Created attachment 258062
Fixing EFL build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116197</commentid>
    <comment_count>15</comment_count>
      <attachid>258062</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-10 03:05:59 -0700</bug_when>
    <thetext>Comment on attachment 258062
Fixing EFL build

Clearing flags on attachment: 258062

Committed r188210: &lt;http://trac.webkit.org/changeset/188210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116198</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-10 03:06:05 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256568</attachid>
            <date>2015-07-10 00:04:22 -0700</date>
            <delta_ts>2015-07-12 07:02:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146414-20150710090320.patch</filename>
            <type>text/plain</type>
            <size>1513</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NjY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTQ2ZTMxMjRkN2FiNzhm
Y2YwYTU4OWRkNGU2MzZkNTU2NzNmNjRhMS4uNzUwMTEzYTVmY2QxMzk0MTQ4ODEyOWQxYjM3MzU5
ZTQ2M2RmZjQ5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE1LTA3LTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQ29tcGls
ZSB3YXJuaW5nICgtV3NpZ24tY29tcGFyZSkgb24gMzItYml0cyBhdCBXZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVTeXN0ZW0uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDY0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBGaXhlZCBjb21waWxhdGlvbiB3YXJuaW5nIGJ5IGNhc3Rpbmcgb2ZmX3QgdG8gc2l6
ZV90IGJlZm9yZSBjb21wYXJpbmcgaXQgd2l0aCBhbiB1bnNpZ25lZCB2YWx1ZS4KKworICAgICAg
ICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVt
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hcHBlZEZpbGVEYXRhOjpNYXBwZWRGaWxlRGF0YSk6
CisKIDIwMTUtMDctMDkgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBQbHVnaW4gY3JlYXRlIGNhbiBlbmQgdXAgZGVzdHJveWluZyBpdHMgcmVuZGVyZXIuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDk0NmQ1ZjNiM2E1ZDQ3ZmY5NDg2
Mjg0YmQwYmMzMjg4NzMzM2ZiMWIuLjM4ZTViNDVjNmVhYmQ5YmEzMGI5NTQ1MWEwZDZhM2VkNjFl
OGRlODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCkBAIC0xNTEsNyAr
MTUxLDcgQEAgTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmls
ZVBhdGgsIGJvb2wmIHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAo
ZmlsZVN0YXQuc3Rfc2l6ZSA8IDAgfHwgZmlsZVN0YXQuc3Rfc2l6ZSA+IHN0ZDo6bnVtZXJpY19s
aW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgeworICAgIGlmIChmaWxlU3RhdC5zdF9zaXplIDwgMCB8
fCBzdGF0aWNfY2FzdDxzaXplX3Q+KGZpbGVTdGF0LnN0X3NpemUpID4gc3RkOjpudW1lcmljX2xp
bWl0czx1bnNpZ25lZD46Om1heCgpKSB7CiAgICAgICAgIGNsb3NlKGZkKTsKICAgICAgICAgc3Vj
Y2VzcyA9IGZhbHNlOwogICAgICAgICByZXR1cm47Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>256678</attachid>
            <date>2015-07-12 07:02:20 -0700</date>
            <delta_ts>2015-07-30 08:27:30 -0700</delta_ts>
            <desc>WTF::isInBounds version</desc>
            <filename>bug-146414-20150712160114.patch</filename>
            <type>text/plain</type>
            <size>3341</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2NzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIyYTZjMDk4OGU5NGFiMTgxNWVkYjE3
NzJmMzc1MTYxYmQ5NjNjYjguLjg5NzU2NWI4MmM4OTJjOWQ3ODQwMDdmYTI3MTYxNGIzZjUwZWE3
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTUtMDctMTIgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0No
ZWNrZWRBcml0aG1ldGljLmg6IEltcHJvdmVkIGluQm91bmRzIG1ldGhvZCBpbiBjYXNlIG9mIHNp
Z25lZCAtPiB1bnNpZ25lZCBjaGVjay4KKwogMjAxNS0wNy0xMSAgSm9zZXBoIFBlY29yYXJvICA8
cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4LCByZXN0
cmljdCBBUFBfTElOS1MgdG8ganVzdCBpT1MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTEzMjFmYmM1NmJkZWQw
YjhiZjRmZjk3NGM2NjFlNzY3ZTU1MjI4Ni4uYTE5MjhmNWU1Zjc2ZWU2MTdhMmNmNjgzNDM0NzM1
NjllNzY2Njc2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA3LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQ29tcGls
ZSB3YXJuaW5nICgtV3NpZ24tY29tcGFyZSkgb24gMzItYml0cyBhdCBXZWJDb3JlL3BsYXRmb3Jt
L0ZpbGVTeXN0ZW0uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDY0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBObyBiZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vRmlsZVN5
c3RlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNYXBwZWRGaWxlRGF0YTo6TWFwcGVkRmlsZURh
dGEpOiBNYWtpbmcgdXNlIG9mIFdURjo6aXNJbkJvdW5kcy4KKwogMjAxNS0wNy0xMSAgQmFiYWsg
U2hhZmllaSAgPGJzaGFmaWVpQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxk
IGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmggYi9T
b3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCmluZGV4IDZjYzQ1YjMyOWM0MGY3YTBk
NjRiMmQwNjI2ODYzNjg1ODMxNDZiNTQuLjNiNzk1ZmIxZGRmMzM3ZThiNDEyNWI5YjJkYzEzYjI2
YWJjMzYyYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgK
KysrIGIvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaApAQCAtMTQ0LDE2ICsxNDQs
OSBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBC
b3VuZHNDaGVja2VyPFRhcmdldCwgU291cmNlLAogdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwg
dHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNvdXJjZSwgZmFs
c2UsIHRydWU+IHsKICAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UgdmFsdWUpCiAgICAg
ewotICAgICAgICAvLyBUYXJnZXQgaXMgdW5zaWduZWQgc28gYW55IHZhbHVlIGxlc3MgdGhhbiB6
ZXJvIGlzIGNsZWFybHkgdW5zYWZlCi0gICAgICAgIGlmICh2YWx1ZSA8IDApCisgICAgICAgIGlm
IChzaXplb2YoVGFyZ2V0KSA+IHNpemVvZihTb3VyY2UpICYmIHZhbHVlIDwgMCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gSWYgb3VyICh1bnNpZ25lZCkgVGFyZ2V0IGlz
IHRoZSBzYW1lIG9yIGdyZWF0ZXIgd2lkdGggd2UgY2FuCi0gICAgICAgIC8vIGNvbnZlcnQgdmFs
dWUgdG8gdHlwZSBUYXJnZXQgd2l0aG91dCBsb3NpbmcgcHJlY2lzaW9uCi0gICAgICAgIGlmIChz
aXplb2YoVGFyZ2V0KSA+PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8VGFyZ2V0Pih2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+Ojpt
YXgoKTsKLSAgICAgICAgLy8gVGhlIHNpZ25lZCBTb3VyY2UgdHlwZSBoYXMgZ3JlYXRlciBwcmVj
aXNpb24gdGhhbiB0aGUgdGFyZ2V0IHNvCi0gICAgICAgIC8vIG1heChUYXJnZXQpIC0+IFNvdXJj
ZSB3aWxsIHdpZGVuLgotICAgICAgICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8U291cmNl
PihzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PHR5cGVuYW1lIHN0ZDo6bWFrZV91bnNpZ25lZDxTb3VyY2U+Ojp0eXBlPih2YWx1
ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+OjptYXgoKTsKICAgICB9CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDk0NmQ1ZjNiM2E1ZDQ3ZmY5
NDg2Mjg0YmQwYmMzMjg4NzMzM2ZiMWIuLjRhZDEyNzI0ZTY1MjBlNDQ3Y2I1YjEyMTVkZWRlY2Nj
YmNmMmU2ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwCkBAIC0xNTEs
NyArMTUxLDcgQEAgTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYg
ZmlsZVBhdGgsIGJvb2wmIHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBp
ZiAoZmlsZVN0YXQuc3Rfc2l6ZSA8IDAgfHwgZmlsZVN0YXQuc3Rfc2l6ZSA+IHN0ZDo6bnVtZXJp
Y19saW1pdHM8dW5zaWduZWQ+OjptYXgoKSkgeworICAgIGlmICghV1RGOjppc0luQm91bmRzPHVu
c2lnbmVkPihmaWxlU3RhdC5zdF9zaXplKSkgewogICAgICAgICBjbG9zZShmZCk7CiAgICAgICAg
IHN1Y2Nlc3MgPSBmYWxzZTsKICAgICAgICAgcmV0dXJuOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257833</attachid>
            <date>2015-07-30 08:27:38 -0700</date>
            <delta_ts>2015-07-31 00:01:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146414-20150730172736.patch</filename>
            <type>text/plain</type>
            <size>6121</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwMDY5NTEyZmFiYWM5Y2VlMTZiNDhi
ZjcxOTI5YjYwZDZiZmM5MTYuLmFjYTU3NTE0MWRkNThlODU5N2JjMjkxMDc0YjhiZDNjMjU3ZjZl
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTUtMDctMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVk
IGluQm91bmRzIG1ldGhvZCBpbiBjYXNlIG9mIHNpZ25lZCAtPiB1bnNpZ25lZCBjaGVjay4KKyAg
ICAgICAgRml4ZWQgYnVnIGluIHRoZSB0ZXN0IHRoYXQgY2hlY2tzIHdoZXRoZXIgc291cmNlL3Rh
cmdldCB0eXBlIHdpbGwgYWx3YXlzIHJldHVybiB0cnVlLgorCisgICAgICAgICogd3RmL0NoZWNr
ZWRBcml0aG1ldGljLmg6CisKIDIwMTUtMDctMjUgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6
ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAoYm1hbGxvYyk6IFdl
YktpdCBwZXJmb3JtYW5jZSB0ZXN0cyBkb24ndCByZXBvcnQgbWVtb3J5IHN0YXRzLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDg0MDcyYTcwOTMyN2ZmM2U2NjY5ZWUyMzdhYzVjYWFlNzk2NjU0ZjcuLmJiNzBkNDdk
OGQ5ZmY2NmJiMjhjYmRhMTU5MTE0ZmU2NTg0OGU4ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNS0wNy0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIENvbXBpbGUgd2FybmluZyAoLVdzaWduLWNvbXBhcmUpIG9uIDMyLWJp
dHMgYXQgV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NDE0CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAg
ICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWFwcGVk
RmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKTogTWFraW5nIHVzZSBvZiBXVEY6OmlzSW5Cb3VuZHMu
CisKIDIwMTUtMDctMjUgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmVtb3ZlIGFuIG5ldmVyIGZhaWxpbmcgY2hlY2sgZm9yIGNsaWVudCgpIGluIFJlc291
cmNlSGFuZGxlOjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaCBiL1NvdXJjZS9XVEYvd3Rm
L0NoZWNrZWRBcml0aG1ldGljLmgKaW5kZXggNmNjNDViMzI5YzQwZjdhMGQ2NGIyZDA2MjY4NjM2
ODU4MzE0NmI1NC4uZTNlNDhjNjA0ZjRjZTlmNGU0YjhmOGIzYWE1NTA2ODFmNDFjMGM5NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMuaAorKysgYi9Tb3VyY2Uv
V1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCkBAIC0xNDQsMTYgKzE0NCw5IEBAIHRlbXBsYXRl
IDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8
VGFyZ2V0LCBTb3VyY2UsCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3Vy
Y2U+IHN0cnVjdCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291cmNlLCBmYWxzZSwgdHJ1ZT4gewog
ICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSB2YWx1ZSkKICAgICB7Ci0gICAgICAgIC8v
IFRhcmdldCBpcyB1bnNpZ25lZCBzbyBhbnkgdmFsdWUgbGVzcyB0aGFuIHplcm8gaXMgY2xlYXJs
eSB1bnNhZmUKLSAgICAgICAgaWYgKHZhbHVlIDwgMCkKKyAgICAgICAgaWYgKHNpemVvZihUYXJn
ZXQpID49IHNpemVvZihTb3VyY2UpICYmIHZhbHVlIDwgMCkKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKLSAgICAgICAgLy8gSWYgb3VyICh1bnNpZ25lZCkgVGFyZ2V0IGlzIHRoZSBzYW1lIG9y
IGdyZWF0ZXIgd2lkdGggd2UgY2FuCi0gICAgICAgIC8vIGNvbnZlcnQgdmFsdWUgdG8gdHlwZSBU
YXJnZXQgd2l0aG91dCBsb3NpbmcgcHJlY2lzaW9uCi0gICAgICAgIGlmIChzaXplb2YoVGFyZ2V0
KSA+PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8VGFy
Z2V0Pih2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+OjptYXgoKTsKLSAgICAg
ICAgLy8gVGhlIHNpZ25lZCBTb3VyY2UgdHlwZSBoYXMgZ3JlYXRlciBwcmVjaXNpb24gdGhhbiB0
aGUgdGFyZ2V0IHNvCi0gICAgICAgIC8vIG1heChUYXJnZXQpIC0+IFNvdXJjZSB3aWxsIHdpZGVu
LgotICAgICAgICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8U291cmNlPihzdGQ6Om51bWVy
aWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHR5
cGVuYW1lIHN0ZDo6bWFrZV91bnNpZ25lZDxTb3VyY2U+Ojp0eXBlPih2YWx1ZSkgPD0gc3RkOjpu
dW1lcmljX2xpbWl0czxUYXJnZXQ+OjptYXgoKTsKICAgICB9CiB9OwogCkBAIC0xNjksNyArMTYy
LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3Qg
Qm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNvdXJjZSwKICAgICB9CiB9OwogCi10ZW1wbGF0ZSA8dHlw
ZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2UsIGJvb2wgQ2FuRWxpZGUgPSBzdGQ6OmlzX3Nh
bWU8VGFyZ2V0LCBTb3VyY2U+Ojp2YWx1ZSB8fCAoc2l6ZW9mKFRhcmdldCkgPiBzaXplb2YoU291
cmNlKSkgPiBzdHJ1Y3QgQm91bmRzQ2hlY2tFbGlkZXI7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFy
Z2V0LCB0eXBlbmFtZSBTb3VyY2UsIGJvb2wgQ2FuRWxpZGUgPSBzdGQ6OmlzX3NhbWU8VGFyZ2V0
LCBTb3VyY2U+Ojp2YWx1ZSB8fCAoc2l6ZW9mKFRhcmdldCkgPiBzaXplb2YoU291cmNlKSAmJiBz
dGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46OmlzX3NpZ25lZCA9PSBzdGQ6Om51bWVyaWNfbGlt
aXRzPFNvdXJjZT46OmlzX3NpZ25lZCkgPiBzdHJ1Y3QgQm91bmRzQ2hlY2tFbGlkZXI7CiB0ZW1w
bGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVj
a0VsaWRlcjxUYXJnZXQsIFNvdXJjZSwgdHJ1ZT4gewogICAgIHN0YXRpYyBib29sIGluQm91bmRz
KFNvdXJjZSkgeyByZXR1cm4gdHJ1ZTsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5
c3RlbS5jcHAKaW5kZXggOTQ2ZDVmM2IzYTVkNDdmZjk0ODYyODRiZDBiYzMyODg3MzMzZmIxYi4u
NGFkMTI3MjRlNjUyMGU0NDdjYjViMTIxNWRlZGVjY2NiY2YyZTZkMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAKQEAgLTE1MSw3ICsxNTEsNyBAQCBNYXBwZWRGaWxlRGF0
YTo6TWFwcGVkRmlsZURhdGEoY29uc3QgU3RyaW5nJiBmaWxlUGF0aCwgYm9vbCYgc3VjY2VzcykK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChmaWxlU3RhdC5zdF9zaXplIDwgMCB8
fCBmaWxlU3RhdC5zdF9zaXplID4gc3RkOjpudW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgp
KSB7CisgICAgaWYgKCFXVEY6OmlzSW5Cb3VuZHM8dW5zaWduZWQ+KGZpbGVTdGF0LnN0X3NpemUp
KSB7CiAgICAgICAgIGNsb3NlKGZkKTsKICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOwogICAgICAg
ICByZXR1cm47CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggZTYzNTQyZTJiNDhiZGVlZGEyMzIwNTRjMGRmNTI0OTkyMTI5MTI2My4uZDE1MDEyZWM0
NjVkNzk4OTdiOWZhYTNmNjczZjYyZTc0N2U2YTRiMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA3LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQ29t
cGlsZSB3YXJuaW5nICgtV3NpZ24tY29tcGFyZSkgb24gMzItYml0cyBhdCBXZWJDb3JlL3BsYXRm
b3JtL0ZpbGVTeXN0ZW0uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDY0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3Bl
cmF0aW9ucy5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogQWRkaW5nIHVuaXQg
dGVzdHMgZm9yIFdURjo6aXNJbkJvdW5kcy4KKwogMjAxNS0wNy0yNCAgSHl1bmd3b29rIExlZSAg
PGh5dW5nd29vay5sZWVAbmF2ZXJjb3JwLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRh
dGVkIG15IG5pY2sgbmFtZSBpbiBjb250cmlidXRvcnMuanNvbgpkaWZmIC0tZ2l0IGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCBi
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9u
cy5jcHAKaW5kZXggMzQyMDRiZjAyNmU4MmJjNzE1YmY5ZTA0MzIwYTMzZGUwZTQ1MTRkZS4uZjIw
YjQ2OGJhZjU1OGFjNzE3NTdiZTU2MTY4OWI3MzQ5OWMxOGY2NCAxMDA2NDQKLS0tIGEvVG9vbHMv
VGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcAor
KysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQXJpdGhtZXRpY09wZXJh
dGlvbnMuY3BwCkBAIC00MjcsNCArNDI3LDE3IEBAIENoZWNrZWRBcml0aG1ldGljVGVzdCh1aW50
MzJfdCwgQ29lcmNlTGl0ZXJhbFRvVW5zaWduZWQsIEFsbG93TWl4ZWRTaWduZWRuZXNzVGVzCiBD
aGVja2VkQXJpdGhtZXRpY1Rlc3QoaW50NjRfdCwgQ29lcmNlTGl0ZXJhbE5vcCwgSWdub3JlTWl4
ZWRTaWduZWRuZXNzVGVzdCkKIENoZWNrZWRBcml0aG1ldGljVGVzdCh1aW50NjRfdCwgQ29lcmNl
TGl0ZXJhbFRvVW5zaWduZWQsIElnbm9yZU1peGVkU2lnbmVkbmVzc1Rlc3QpCiAKK1RFU1QoQ2hl
Y2tlZEFyaXRobWV0aWNUZXN0LCBJc0luQm91bmRzKQoreworICAgIEVYUEVDVF9GQUxTRShXVEY6
OmlzSW5Cb3VuZHM8dWludDMyX3Q+KChpbnQzMl90KS0xKSk7CisgICAgRVhQRUNUX0ZBTFNFKFdU
Rjo6aXNJbkJvdW5kczx1aW50MTZfdD4oKGludDMyX3QpLTEpKTsKKyAgICBFWFBFQ1RfRkFMU0Uo
V1RGOjppc0luQm91bmRzPHVpbnQzMl90PigoaW50MTZfdCktMSkpOworCisgICAgRVhQRUNUX0ZB
TFNFKFdURjo6aXNJbkJvdW5kczx1bnNpZ25lZD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+Ojpt
aW4oKSkpOworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8aW50PihzdGQ6Om51bWVy
aWNfbGltaXRzPHVuc2lnbmVkPjo6bWF4KCkpKTsKKworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJ
bkJvdW5kczx1bnNpZ25lZD4oMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1
bnNpZ25lZD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSkpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257908</attachid>
            <date>2015-07-31 00:01:57 -0700</date>
            <delta_ts>2015-08-03 08:15:45 -0700</delta_ts>
            <desc>Trying to fix build, adding tests and convertSafely</desc>
            <filename>bug-146414-20150731040154.patch</filename>
            <type>text/plain</type>
            <size>7837</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NDE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwMDY5NTEyZmFiYWM5Y2VlMTZiNDhi
ZjcxOTI5YjYwZDZiZmM5MTYuLjRmNTgwOGM4M2M4YjVjODg3NGFiYTI3ZjAxZGI5NjNlNzAwYmZj
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDctMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcHJvdmVk
IGluQm91bmRzIG1ldGhvZCBpbiBjYXNlIG9mIHNpZ25lZCAtPiB1bnNpZ25lZCBjaGVjay4KKyAg
ICAgICAgRml4ZWQgYnVnIGluIHRoZSB0ZXN0IHRoYXQgY2hlY2tzIHdoZXRoZXIgc291cmNlL3Rh
cmdldCB0eXBlIHdpbGwgYWx3YXlzIHJldHVybiB0cnVlLgorICAgICAgICBBZGRlZCBjb252ZXJ0
U2FmZWx5IGhlbHBlciByb3V0aW5lIHRoYXQgZG9lcyBhIHN0YXRpY19jYXN0IGFmdGVyIGNoZWNr
aW5nIHRoYXQgaW5wdXQgZGF0YSBpcyBpbiBib3VuZHMgb2YgdGhlIHRhcmdldCB0eXBlLgorCisg
ICAgICAgICogd3RmL0NoZWNrZWRBcml0aG1ldGljLmg6CisKIDIwMTUtMDctMjUgIENhcmxvcyBB
bGJlcnRvIExvcGV6IFBlcmV6ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgUkVHUkVT
U0lPTiAoYm1hbGxvYyk6IFdlYktpdCBwZXJmb3JtYW5jZSB0ZXN0cyBkb24ndCByZXBvcnQgbWVt
b3J5IHN0YXRzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg0MDcyYTcwOTMyN2ZmM2U2NjY5ZWUyMzdhYzVjYWFl
Nzk2NjU0ZjcuLjk0NzZjMDNjNzFhMmY5OGUyYjBkMzlhM2E1ZDhjZTFiYzZkNTlkZTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNS0wNy0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIENvbXBpbGUgd2FybmluZyAoLVdzaWdu
LWNvbXBhcmUpIG9uIDMyLWJpdHMgYXQgV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ2NDE0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gYmVoYXZp
b3IgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6TWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKTogTWFraW5nIHVzZSBv
ZiBXVEY6OmNvbnZlcnRTYWZlbHkuCisKIDIwMTUtMDctMjUgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGFuIG5ldmVyIGZhaWxpbmcgY2hlY2sg
Zm9yIGNsaWVudCgpIGluIFJlc291cmNlSGFuZGxlOjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJv
dGVjdGlvblNwYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0
aWMuaCBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgKaW5kZXggNmNjNDViMzI5
YzQwZjdhMGQ2NGIyZDA2MjY4NjM2ODU4MzE0NmI1NC4uNTE2MWNmYzU0MGVjYmY1MDMxNjAxN2Ix
NjlmMGZjOWQ2MDAyMGNmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRo
bWV0aWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCkBAIC0xNDQs
MTYgKzE0NCw5IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4g
c3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsCiB0ZW1wbGF0ZSA8dHlwZW5hbWUg
VGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291
cmNlLCBmYWxzZSwgdHJ1ZT4gewogICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSB2YWx1
ZSkKICAgICB7Ci0gICAgICAgIC8vIFRhcmdldCBpcyB1bnNpZ25lZCBzbyBhbnkgdmFsdWUgbGVz
cyB0aGFuIHplcm8gaXMgY2xlYXJseSB1bnNhZmUKLSAgICAgICAgaWYgKHZhbHVlIDwgMCkKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gSWYgb3VyICh1bnNpZ25lZCkgVGFy
Z2V0IGlzIHRoZSBzYW1lIG9yIGdyZWF0ZXIgd2lkdGggd2UgY2FuCi0gICAgICAgIC8vIGNvbnZl
cnQgdmFsdWUgdG8gdHlwZSBUYXJnZXQgd2l0aG91dCBsb3NpbmcgcHJlY2lzaW9uCi0gICAgICAg
IGlmIChzaXplb2YoVGFyZ2V0KSA+PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8VGFyZ2V0Pih2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJn
ZXQ+OjptYXgoKTsKLSAgICAgICAgLy8gVGhlIHNpZ25lZCBTb3VyY2UgdHlwZSBoYXMgZ3JlYXRl
ciBwcmVjaXNpb24gdGhhbiB0aGUgdGFyZ2V0IHNvCi0gICAgICAgIC8vIG1heChUYXJnZXQpIC0+
IFNvdXJjZSB3aWxsIHdpZGVuLgotICAgICAgICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8
U291cmNlPihzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsKKyAgICAgICAgaWYg
KHNpemVvZihUYXJnZXQpID49IHNpemVvZihTb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJuIHZh
bHVlID49IDA7CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx0eXBlbmFtZSBzdGQ6Om1ha2Vf
dW5zaWduZWQ8U291cmNlPjo6dHlwZT4odmFsdWUpIDw9IHN0ZDo6bnVtZXJpY19saW1pdHM8VGFy
Z2V0Pjo6bWF4KCk7CiAgICAgfQogfTsKIApAQCAtMTY5LDcgKzE2Miw3IEBAIHRlbXBsYXRlIDx0
eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFy
Z2V0LCBTb3VyY2UsCiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlw
ZW5hbWUgU291cmNlLCBib29sIENhbkVsaWRlID0gc3RkOjppc19zYW1lPFRhcmdldCwgU291cmNl
Pjo6dmFsdWUgfHwgKHNpemVvZihUYXJnZXQpID4gc2l6ZW9mKFNvdXJjZSkpID4gc3RydWN0IEJv
dW5kc0NoZWNrRWxpZGVyOwordGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291
cmNlLCBib29sIENhbkVsaWRlID0gc3RkOjppc19zYW1lPFRhcmdldCwgU291cmNlPjo6dmFsdWUg
fHwgKHNpemVvZihUYXJnZXQpID4gc2l6ZW9mKFNvdXJjZSkgJiYgc3RkOjpudW1lcmljX2xpbWl0
czxUYXJnZXQ+Ojppc19zaWduZWQgPT0gc3RkOjpudW1lcmljX2xpbWl0czxTb3VyY2U+Ojppc19z
aWduZWQpID4gc3RydWN0IEJvdW5kc0NoZWNrRWxpZGVyOwogdGVtcGxhdGUgPHR5cGVuYW1lIFRh
cmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tFbGlkZXI8VGFyZ2V0LCBT
b3VyY2UsIHRydWU+IHsKICAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UpIHsgcmV0dXJu
IHRydWU7IH0KIH07CkBAIC0xODEsNiArMTc0LDE0IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUYXJn
ZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RhdGljIGlubGluZSBib29sIGlzSW5Cb3VuZHMoU291cmNl
CiAgICAgcmV0dXJuIEJvdW5kc0NoZWNrRWxpZGVyPFRhcmdldCwgU291cmNlPjo6aW5Cb3VuZHMo
dmFsdWUpOwogfQogCit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+
IHN0YXRpYyBpbmxpbmUgYm9vbCBjb252ZXJ0U2FmZWx5KFNvdXJjZSBpbnB1dCwgVGFyZ2V0JiBv
dXRwdXQpCit7CisgICAgaWYgKCFpc0luQm91bmRzPFRhcmdldD4oaW5wdXQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgb3V0cHV0ID0gc3RhdGljX2Nhc3Q8VGFyZ2V0PihpbnB1dCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBzdHJ1Y3QgUmVtb3Zl
Q2hlY2tlZCB7CiAgICAgdHlwZWRlZiBUIENsZWFuVHlwZTsKICAgICBzdGF0aWMgY29uc3QgQ2xl
YW5UeXBlIERlZmF1bHRWYWx1ZSA9IDA7ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lz
dGVtLmNwcAppbmRleCA5NDZkNWYzYjNhNWQ0N2ZmOTQ4NjI4NGJkMGJjMzI4ODczMzNmYjFiLi44
N2UzMDUzNmYxN2FhOTc5ZGM3YjE5NWQyZTk3ZDYwNWY3MTdhZTI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcApAQCAtMTUxLDE0ICsxNTEsMTMgQEAgTWFwcGVkRmlsZURh
dGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgsIGJvb2wmIHN1Y2Nlc3Mp
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoZmlsZVN0YXQuc3Rfc2l6ZSA8IDAg
fHwgZmlsZVN0YXQuc3Rfc2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8dW5zaWduZWQ+OjptYXgo
KSkgeworICAgIHVuc2lnbmVkIHNpemU7CisgICAgaWYgKCFXVEY6OmNvbnZlcnRTYWZlbHkoZmls
ZVN0YXQuc3Rfc2l6ZSwgc2l6ZSkpIHsKICAgICAgICAgY2xvc2UoZmQpOwogICAgICAgICBzdWNj
ZXNzID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICB1bnNpZ25lZCBzaXpl
ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZpbGVTdGF0LnN0X3NpemUpOwotCiAgICAgaWYgKCFz
aXplKSB7CiAgICAgICAgIGNsb3NlKGZkKTsKICAgICAgICAgc3VjY2VzcyA9IHRydWU7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTYzNTQyZTJi
NDhiZGVlZGEyMzIwNTRjMGRmNTI0OTkyMTI5MTI2My4uZDE1MDEyZWM0NjVkNzk4OTdiOWZhYTNm
NjczZjYyZTc0N2U2YTRiMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA3LTMwICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQ29tcGlsZSB3YXJuaW5nICgt
V3NpZ24tY29tcGFyZSkgb24gMzItYml0cyBhdCBXZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0u
Y3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDY0
MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFRl
c3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHA6Cisg
ICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogQWRkaW5nIHVuaXQgdGVzdHMgZm9yIFdURjo6
aXNJbkJvdW5kcy4KKwogMjAxNS0wNy0yNCAgSHl1bmd3b29rIExlZSAgPGh5dW5nd29vay5sZWVA
bmF2ZXJjb3JwLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGVkIG15IG5pY2sgbmFt
ZSBpbiBjb250cmlidXRvcnMuanNvbgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcCBiL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5jcHAKaW5kZXggMzQy
MDRiZjAyNmU4MmJjNzE1YmY5ZTA0MzIwYTMzZGUwZTQ1MTRkZS4uNTY0YjNlMWZkNDlhYWQ0OWQ2
YzYyYjJmODU3NDc5ZjZlOTgzNjQxNiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRpb25zLmNwcAorKysgYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwCkBAIC00
MjcsNCArNDI3LDMyIEBAIENoZWNrZWRBcml0aG1ldGljVGVzdCh1aW50MzJfdCwgQ29lcmNlTGl0
ZXJhbFRvVW5zaWduZWQsIEFsbG93TWl4ZWRTaWduZWRuZXNzVGVzCiBDaGVja2VkQXJpdGhtZXRp
Y1Rlc3QoaW50NjRfdCwgQ29lcmNlTGl0ZXJhbE5vcCwgSWdub3JlTWl4ZWRTaWduZWRuZXNzVGVz
dCkKIENoZWNrZWRBcml0aG1ldGljVGVzdCh1aW50NjRfdCwgQ29lcmNlTGl0ZXJhbFRvVW5zaWdu
ZWQsIElnbm9yZU1peGVkU2lnbmVkbmVzc1Rlc3QpCiAKK1RFU1QoQ2hlY2tlZEFyaXRobWV0aWNU
ZXN0LCBJc0luQm91bmRzKQoreworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dWlu
dDMyX3Q+KChpbnQzMl90KS0xKSk7CisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1
aW50MTZfdD4oKGludDMyX3QpLTEpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRz
PHVpbnQzMl90PigoaW50MTZfdCktMSkpOworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3Vu
ZHM8dW5zaWduZWQ+KChpbnQpLTEpKTsKKworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3Vu
ZHM8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1pbigpKSk7CisgICAg
RVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4oc3RkOjpudW1lcmljX2xpbWl0
czxpbnQzMl90Pjo6bWluKCkpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRzPHVp
bnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDE2X3Q+OjptaW4oKSkpOworICAgIEVYUEVD
VF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dW5zaWduZWQ+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50
Pjo6bWluKCkpKTsKKworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4o
KGludDMyX3QpMSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4o
KGludDMyX3QpMSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4o
KGludDE2X3QpMSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1bnNpZ25lZD4o
KGludCkxKSk7CisKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KChp
bnQzMl90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KChp
bnQzMl90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KChp
bnQxNl90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dW5zaWduZWQ+KChp
bnQpMCkpOworCisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90PihzdGQ6
Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9GQUxTRShXVEY6
OmlzSW5Cb3VuZHM8dWludDE2X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1heCgp
KSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90PihzdGQ6Om51bWVy
aWNfbGltaXRzPGludDE2X3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJv
dW5kczx1bnNpZ25lZD4oc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSkpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258060</attachid>
            <date>2015-08-03 08:15:53 -0700</date>
            <delta_ts>2015-08-03 08:50:12 -0700</delta_ts>
            <desc>Another try at fixing mac build</desc>
            <filename>bug-146414-20150803121546.patch</filename>
            <type>text/plain</type>
            <size>13974</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY4ZmU3NmUzNmNkMjhkNWQzYzgwYWEy
ZGM3ZWQ5YzQwYmU1N2QzZDEuLjcyMDk0YmRkZTEwYzNlZmU4ZTVjOTRhODEzNjUyYmY4NDc3YzJj
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDgtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGNv
bnZlcnRTYWZlbHkgcm91dGluZSBiYXNlZCBvbiBpc0luQm91bmRzIHJvdXRpbmUuCisgICAgICAg
IFVwZGF0ZWQgQm91bmRDaGVja2VyIGJ5IGFkZGluZyBhIHRoaXJkIGJvb2xlYW4gcGFyYW1ldGVy
IHRvIHRoaXMgdGVtcGxhdGUgZ2l2aW5nIHdoZXRoZXIgVGFyZ2V0IGhhcyBncmVhdGVyIG9yIGVx
dWFsIHByZWNpc2lvbiB0aGFuIFNvdXJjZS4KKyAgICAgICAgUmVtb3ZlZCBCb3VuZENoZWNrRWxp
ZGVyLCB3aGljaCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IGFuZCBoYWQgc29tZSBpc3N1ZXMuCisK
KyAgICAgICAgKiB3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaDoKKyAgICAgICAgKFdURjo6aXNJbkJv
dW5kcyk6CisgICAgICAgIChXVEY6OmNvbnZlcnRTYWZlbHkpOgorCiAyMDE1LTA4LTAyICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEludmVzdGlnYXRl
IEhhc2hUYWJsZTo6SGFzaFRhYmxlKGNvbnN0IEhhc2hUYWJsZSYpIGFuZCBIYXNoVGFibGU6Om9w
ZXJhdG9yPShjb25zdCBIYXNoVGFibGUmKSBwZXJmb3JtYW5jZSBmb3IgaGFzaC1iYXNlZCBzdGF0
aWMgYW5hbHlzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzM2IzNDE4YjI4YWQ5MTU1YWY1MTMzMzE1Y2VhM2Qz
ZTEzMzJkZDhlLi4zZjYyNjk2ZjcxMzI5MzliNmMzMzFjNjhjOTBhZjRjMWYzMzgxNTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDgtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGJlaGF2
aW9yYWwgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKTogTWFraW5nIHVz
ZSBvZiBjb252ZXJ0U2FmZWx5LgorICAgICAgICAqIHBsYXRmb3JtL3Bvc2l4L1NoYXJlZEJ1ZmZl
clBPU0lYLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlRnJvbVJl
YWRpbmdGaWxlKTogTWFraW5nIHVzZSBvZiBjb252ZXJ0U2FmZWx5LgorCiAyMDE1LTA4LTAxICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IE9uIHNv
bWUgY29tcGxleCBzaXRlcywgaU9TIGluc3RhbnRseSBjcmFzaGVzIG9uY2UgVm9pY2VPdmVyIGlz
IHR1cm5lZCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aCBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgKaW5kZXggNmNjNDViMzI5YzQw
ZjdhMGQ2NGIyZDA2MjY4NjM2ODU4MzE0NmI1NC4uMDg5M2E4NzA3MDBjYzVmNjVlMjc5MDM2NTNk
OGRlY2QzNmYxMWI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0
aWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCkBAIC0xMjIsNjMg
KzEyMiw4NCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgY2xhc3MgT3ZlcmZsb3dIYW5kbGVyID0g
Q3Jhc2hPbk92ZXJmbG93PiBjbGFzcyBDaGVja2VkOwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0
cnVjdCBSZW1vdmVDaGVja2VkOwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBSZW1vdmVD
aGVja2VkPENoZWNrZWQ8VD4+OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFt
ZSBTb3VyY2UsIGJvb2wgdGFyZ2V0U2lnbmVkID0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+
Ojppc19zaWduZWQsIGJvb2wgc291cmNlU2lnbmVkID0gc3RkOjpudW1lcmljX2xpbWl0czxTb3Vy
Y2U+Ojppc19zaWduZWQ+IHN0cnVjdCBCb3VuZHNDaGVja2VyOwotdGVtcGxhdGUgPHR5cGVuYW1l
IFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNv
dXJjZSwgZmFsc2UsIGZhbHNlPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFt
ZSBTb3VyY2UsIGJvb2wgaXNUYXJnZXRCaWdnZXIgPSBzaXplb2YoVGFyZ2V0KSA+PSBzaXplb2Yo
U291cmNlKSwgYm9vbCB0YXJnZXRTaWduZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46
OmlzX3NpZ25lZCwgYm9vbCBzb3VyY2VTaWduZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFNvdXJj
ZT46OmlzX3NpZ25lZD4gc3RydWN0IEJvdW5kc0NoZWNrZXI7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUg
VGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291
cmNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlPiB7CiAgICAgc3RhdGljIGJvb2wgaW5Cb3VuZHMoU291
cmNlIHZhbHVlKQogICAgIHsKLSAgICAgICAgLy8gU2FtZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0
IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNyZWFzZSBwcmVjaXNpb24KLSAgICAgICAg
Ly8gdG8gd2lkZXN0IHR5cGUKKyAgICAgICAgLy8gU2FtZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0
IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNyZWFzZSBwcmVjaXNpb24gdG8gd2lkZXN0
IHR5cGUuCiAgICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdl
dD46Om1heCgpOwogICAgIH0KIH07Ci0KLXRlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVu
YW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIHRy
dWU+IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0
IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIGZhbHNlLCB0cnVlLCB0cnVlPiB7CiAgICAg
c3RhdGljIGJvb2wgaW5Cb3VuZHMoU291cmNlIHZhbHVlKQogICAgIHsKLSAgICAgICAgLy8gU2Ft
ZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNy
ZWFzZSBwcmVjaXNpb24KLSAgICAgICAgLy8gdG8gd2lkZXN0IHR5cGUKKyAgICAgICAgLy8gU2Ft
ZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNy
ZWFzZSBwcmVjaXNpb24gdG8gd2lkZXN0IHR5cGUuCiAgICAgICAgIHJldHVybiBzdGQ6Om51bWVy
aWNfbGltaXRzPFRhcmdldD46Om1pbigpIDw9IHZhbHVlICYmIHZhbHVlIDw9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8VGFyZ2V0Pjo6bWF4KCk7CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1l
IFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNv
dXJjZSwgZmFsc2UsIHRydWU+IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1l
IFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIGZhbHNlLCBmYWxz
ZSwgdHJ1ZT4gewogICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSB2YWx1ZSkKICAgICB7
Ci0gICAgICAgIC8vIFRhcmdldCBpcyB1bnNpZ25lZCBzbyBhbnkgdmFsdWUgbGVzcyB0aGFuIHpl
cm8gaXMgY2xlYXJseSB1bnNhZmUKLSAgICAgICAgaWYgKHZhbHVlIDwgMCkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gSWYgb3VyICh1bnNpZ25lZCkgVGFyZ2V0IGlzIHRo
ZSBzYW1lIG9yIGdyZWF0ZXIgd2lkdGggd2UgY2FuCi0gICAgICAgIC8vIGNvbnZlcnQgdmFsdWUg
dG8gdHlwZSBUYXJnZXQgd2l0aG91dCBsb3NpbmcgcHJlY2lzaW9uCi0gICAgICAgIGlmIChzaXpl
b2YoVGFyZ2V0KSA+PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VGFyZ2V0Pih2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+OjptYXgo
KTsKLSAgICAgICAgLy8gVGhlIHNpZ25lZCBTb3VyY2UgdHlwZSBoYXMgZ3JlYXRlciBwcmVjaXNp
b24gdGhhbiB0aGUgdGFyZ2V0IHNvCi0gICAgICAgIC8vIG1heChUYXJnZXQpIC0+IFNvdXJjZSB3
aWxsIHdpZGVuLgotICAgICAgICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8U291cmNlPihz
dGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsKKyAgICAgICAgLy8gV2hlbiBjb252
ZXJ0aW5nIHZhbHVlIHRvIHVuc2lnbmVkIFNvdXJjZSwgdmFsdWUgd2lsbCBiZWNvbWUgYSBiaWcg
dmFsdWUgaWYgdmFsdWUgaXMgbmVnYXRpdmUuCisgICAgICAgIC8vIENhc3RlZCB2YWx1ZSB3aWxs
IGJlY29tZSBiaWdnZXIgdGhhbiBUYXJnZXQ6Om1heCBhcyBTb3VyY2UgaXMgYmlnZ2VyIHRoYW4g
VGFyZ2V0LgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgc3RkOjptYWtlX3Vu
c2lnbmVkPFNvdXJjZT46OnR5cGU+KHZhbHVlKSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdl
dD46Om1heCgpOwogICAgIH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVu
YW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIGZh
bHNlPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVj
dCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291cmNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2U+IHsKICAg
ICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UgdmFsdWUpCiAgICAgewotICAgICAgICAvLyBT
aWduZWQgdGFyZ2V0IHdpdGggYW4gdW5zaWduZWQgc291cmNlCi0gICAgICAgIGlmIChzaXplb2Yo
VGFyZ2V0KSA8PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gdmFsdWUgPD0g
c3RhdGljX2Nhc3Q8U291cmNlPihzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsK
LSAgICAgICAgLy8gVGFyZ2V0IGlzIFdpZGVyIHRoYW4gU291cmNlIHNvIHdlJ3JlIGd1YXJhbnRl
ZWQgdG8gZml0IGFueSB2YWx1ZSBpbgotICAgICAgICAvLyB1bnNpZ25lZCBTb3VyY2UKKyAgICAg
ICAgLy8gVGhlIHVuc2lnbmVkIFNvdXJjZSB0eXBlIGhhcyBncmVhdGVyIHByZWNpc2lvbiB0aGFu
IHRoZSB0YXJnZXQgc28gbWF4KFRhcmdldCkgLT4gU291cmNlIHdpbGwgd2lkZW4uCisgICAgICAg
IHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxTb3VyY2U+KHN0ZDo6bnVtZXJpY19saW1pdHM8
VGFyZ2V0Pjo6bWF4KCkpOworICAgIH0KK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQs
IHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRy
dWUsIGZhbHNlLCBmYWxzZT4geworICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSkKKyAg
ICB7CisgICAgICAgIC8vIFNhbWUgc2lnbiwgZ3JlYXRlciBvciBzYW1lIHByZWNpc2lvbi4KICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdl
dCwgdHlwZW5hbWUgU291cmNlLCBib29sIENhbkVsaWRlID0gc3RkOjppc19zYW1lPFRhcmdldCwg
U291cmNlPjo6dmFsdWUgfHwgKHNpemVvZihUYXJnZXQpID4gc2l6ZW9mKFNvdXJjZSkpID4gc3Ry
dWN0IEJvdW5kc0NoZWNrRWxpZGVyOwotdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5h
bWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tFbGlkZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWU+
IHsKLSAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UpIHsgcmV0dXJuIHRydWU7IH0KK3Rl
bXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0No
ZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIHRydWUsIHRydWU+IHsKKyAgICBzdGF0aWMgYm9v
bCBpbkJvdW5kcyhTb3VyY2UpCisgICAgeworICAgICAgICAvLyBTYW1lIHNpZ24sIGdyZWF0ZXIg
b3Igc2FtZSBwcmVjaXNpb24uCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIH07Ci10ZW1w
bGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVj
a0VsaWRlcjxUYXJnZXQsIFNvdXJjZSwgZmFsc2U+IDogcHVibGljIEJvdW5kc0NoZWNrZXI8VGFy
Z2V0LCBTb3VyY2U+IHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291
cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNvdXJjZSwgdHJ1ZSwgdHJ1ZSwgZmFs
c2U+IHsKKyAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UgdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBUYXJnZXQgaXMgc2lnbmVkIHdpdGggZ3JlYXRlciBvciBzYW1lIHByZWNpc2lvbi4g
SWYgc3RyaWN0bHkgZ3JlYXRlciwgaXQgaXMgYWx3YXlzIHNhZmUuCisgICAgICAgIGlmIChzaXpl
b2YoVGFyZ2V0KSA+IHNpemVvZihTb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxTb3VyY2U+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8VGFyZ2V0Pjo6bWF4KCkpOworICAgIH0KK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
YXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3Vy
Y2UsIHRydWUsIGZhbHNlLCB0cnVlPiB7CisgICAgc3RhdGljIGJvb2wgaW5Cb3VuZHMoU291cmNl
IHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gVGFyZ2V0IGlzIHVuc2lnbmVkIHdpdGggZ3JlYXRl
ciBwcmVjaXNpb24uCisgICAgICAgIHJldHVybiB2YWx1ZSA+PSAwOworICAgIH0KIH07CiAKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RhdGljIGlubGluZSBi
b29sIGlzSW5Cb3VuZHMoU291cmNlIHZhbHVlKQogewotICAgIHJldHVybiBCb3VuZHNDaGVja0Vs
aWRlcjxUYXJnZXQsIFNvdXJjZT46OmluQm91bmRzKHZhbHVlKTsKKyAgICByZXR1cm4gQm91bmRz
Q2hlY2tlcjxUYXJnZXQsIFNvdXJjZT46OmluQm91bmRzKHZhbHVlKTsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdGF0aWMgaW5saW5lIGJvb2wgY29u
dmVydFNhZmVseShTb3VyY2UgaW5wdXQsIFRhcmdldCYgb3V0cHV0KQoreworICAgIGlmICghaXNJ
bkJvdW5kczxUYXJnZXQ+KGlucHV0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG91dHB1
dCA9IHN0YXRpY19jYXN0PFRhcmdldD4oaW5wdXQpOworICAgIHJldHVybiB0cnVlOwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFJlbW92ZUNoZWNrZWQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAppbmRleCA5NDZkNWYzYjNhNWQ0N2ZmOTQ4NjI4NGJkMGJj
MzI4ODczMzNmYjFiLi44N2UzMDUzNmYxN2FhOTc5ZGM3YjE5NWQyZTk3ZDYwNWY3MTdhZTI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcApAQCAtMTUxLDE0ICsxNTEsMTMg
QEAgTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgs
IGJvb2wmIHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoZmlsZVN0
YXQuc3Rfc2l6ZSA8IDAgfHwgZmlsZVN0YXQuc3Rfc2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8
dW5zaWduZWQ+OjptYXgoKSkgeworICAgIHVuc2lnbmVkIHNpemU7CisgICAgaWYgKCFXVEY6OmNv
bnZlcnRTYWZlbHkoZmlsZVN0YXQuc3Rfc2l6ZSwgc2l6ZSkpIHsKICAgICAgICAgY2xvc2UoZmQp
OwogICAgICAgICBzdWNjZXNzID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICB1bnNpZ25lZCBzaXplID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZpbGVTdGF0LnN0X3NpemUp
OwotCiAgICAgaWYgKCFzaXplKSB7CiAgICAgICAgIGNsb3NlKGZkKTsKICAgICAgICAgc3VjY2Vz
cyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9TaGFy
ZWRCdWZmZXJQT1NJWC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9TaGFyZWRC
dWZmZXJQT1NJWC5jcHAKaW5kZXggODYzZGJlMjUzZTVhZjIyMDAzYzdmMGJlZjUzMGFiZmExYTAx
YjBkNS4uM2VkNDc1NjNmYzAzODU2MjViMGViZTlhOWY0OWYxZWM4NDcwZTA2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcG9zaXgvU2hhcmVkQnVmZmVyUE9TSVguY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Bvc2l4L1NoYXJlZEJ1ZmZlclBPU0lYLmNwcApA
QCAtNTEsOCArNTEsOCBAQCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNyZWF0
ZUZyb21SZWFkaW5nRmlsZShjb25zdCBTdHJpbmcmIGZpbGVQYXRoKQogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBmaWxlU3RhdC5zdF9zaXplOwot
ICAgIGlmIChmaWxlU3RhdC5zdF9zaXplIDwgMCB8fCBieXRlc1RvUmVhZCAhPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZCBsb25nIGxvbmc+KGZpbGVTdGF0LnN0X3NpemUpKSB7CisgICAgc2l6ZV90IGJ5
dGVzVG9SZWFkOworICAgIGlmICghY29udmVydFNhZmVseShmaWxlU3RhdC5zdF9zaXplLCBieXRl
c1RvUmVhZCkpIHsKICAgICAgICAgY2xvc2UoZmQpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNGM2
ZGQwZGI4NTBjZjYwZWZmOTI0Mzc0OWI4NDgwMzFmNjdkMjkxOC4uYmQ4NWY1NmE1ZmRlYTdjNTNk
NjM0ZDVhYmYxODgxNDRkMWI5MGQzZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE1LTA4LTAzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+CisKKyAgICAgICAgQ29tcGlsZSB3YXJu
aW5nICgtV3NpZ24tY29tcGFyZSkgb24gMzItYml0cyBhdCBXZWJDb3JlL3BsYXRmb3JtL0ZpbGVT
eXN0ZW0uY3BwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDY0MTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0aW9ucy5j
cHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUKTogSW1wcm92aW5nIHRlc3Rpbmcgb2Yg
V1RGOjppc0luQm91bmRzLgorCiAyMDE1LTA4LTAyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxh
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIEludmVzdGlnYXRlIEhhc2hUYWJsZTo6SGFzaFRhYmxl
KGNvbnN0IEhhc2hUYWJsZSYpIGFuZCBIYXNoVGFibGU6Om9wZXJhdG9yPShjb25zdCBIYXNoVGFi
bGUmKSBwZXJmb3JtYW5jZSBmb3IgaGFzaC1iYXNlZCBzdGF0aWMgYW5hbHlzZXMKZGlmZiAtLWdp
dCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0
aW9ucy5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2VkQXJpdGhtZXRp
Y09wZXJhdGlvbnMuY3BwCmluZGV4IDM0MjA0YmYwMjZlODJiYzcxNWJmOWUwNDMyMGEzM2RlMGU0
NTE0ZGUuLjZmMDUwN2ZhZmY2OTRmY2E1OTMxZmM4OTcwMDM0OGRiNDhiM2NiOWYgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0aG1ldGljT3BlcmF0
aW9ucy5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRo
bWV0aWNPcGVyYXRpb25zLmNwcApAQCAtNDI3LDQgKzQyNyw2MiBAQCBDaGVja2VkQXJpdGhtZXRp
Y1Rlc3QodWludDMyX3QsIENvZXJjZUxpdGVyYWxUb1Vuc2lnbmVkLCBBbGxvd01peGVkU2lnbmVk
bmVzc1RlcwogQ2hlY2tlZEFyaXRobWV0aWNUZXN0KGludDY0X3QsIENvZXJjZUxpdGVyYWxOb3As
IElnbm9yZU1peGVkU2lnbmVkbmVzc1Rlc3QpCiBDaGVja2VkQXJpdGhtZXRpY1Rlc3QodWludDY0
X3QsIENvZXJjZUxpdGVyYWxUb1Vuc2lnbmVkLCBJZ25vcmVNaXhlZFNpZ25lZG5lc3NUZXN0KQog
CitURVNUKENoZWNrZWRBcml0aG1ldGljVGVzdCwgSXNJbkJvdW5kcykKK3sKKyAgICAvLyBiaWdn
ZXIgcHJlY2lzaW9uLCBzaWduZWQsIHNpZ25lZAorICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJv
dW5kczxpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDE2X3Q+OjptYXgoKSkpOworICAg
IEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRz
PGludDE2X3Q+OjptaW4oKSkpOworCisgICAgLy8gYmlnZ2VyIHByZWNpc2lvbiwgdW5zaWduZWQs
IHNpZ25lZAorICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4oc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjpp
c0luQm91bmRzPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDE2X3Q+OjptaW4oKSkp
OworCisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4oKGludDMyX3Qp
LTEpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRzPHVpbnQxNl90PigoaW50MzJf
dCktMSkpOworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dW5zaWduZWQgbG9uZz4o
KGludCktMSkpOworCisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90Pigo
aW50MzJfdCkxKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90Pigo
aW50MTZfdCkxKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVuc2lnbmVkPigo
aW50KTEpKTsKKworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4oKGlu
dDMyX3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4oKGlu
dDMyX3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4oKGlu
dDE2X3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1bnNpZ25lZD4oKGlu
dCkwKSk7CisKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KHN0ZDo6
bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1heCgpKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjpp
c0luQm91bmRzPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDE2X3Q+OjptYXgoKSkp
OworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1bnNpZ25lZD4oc3RkOjpudW1lcmlj
X2xpbWl0czxpbnQ+OjptYXgoKSkpOworCisgICAgLy8gYmlnZ2VyIHByZWNpc2lvbiwgc2lnbmVk
LCB1bnNpZ25lZAorICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxpbnQzMl90PihzdGQ6
Om51bWVyaWNfbGltaXRzPHVpbnQxNl90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RG
Ojppc0luQm91bmRzPGludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDMyX3Q+OjptYXgo
KSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxpbnQzMl90PigodWludDMyX3Qp
MCkpOworCisgICAgLy8gYmlnZ2VyIHByZWNpc2lvbiwgdW5zaWduZWQsIHVuc2lnbmVkCisgICAg
RVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90PihzdGQ6Om51bWVyaWNfbGltaXRz
PHVpbnQxNl90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWlu
dDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDE2X3Q+OjptaW4oKSkpOworCisgICAgLy8g
bG93ZXIgcHJlY2lzaW9uLCBzaWduZWQgc2lnbmVkCisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJ
bkJvdW5kczxpbnQxNl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOwor
ICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8aW50MTZfdD4oc3RkOjpudW1lcmljX2xp
bWl0czxpbnQzMl90Pjo6bWluKCkpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8
aW50MTZfdD4oKGludDMyX3QpLTEpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8
aW50MTZfdD4oKGludDMyX3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxp
bnQxNl90PigoaW50MzJfdCkxKSk7CisgICAgLy8gbG93ZXIgcHJlY2lzaW9uLCB1bnNpZ25lZCwg
c2lnbmVkCisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4oc3RkOjpu
dW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjpp
c0luQm91bmRzPHVpbnQxNl90PihzdGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSkp
OworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KChpbnQzMl90KS0x
KSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQxNl90PigoaW50MzJfdCkw
KSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQxNl90PigoaW50MzJfdCkx
KSk7CisgICAgLy8gbG93ZXIgcHJlY2lzaW9uLCBzaWduZWQsIHVuc2lnbmVkCisgICAgRVhQRUNU
X0ZBTFNFKFdURjo6aXNJbkJvdW5kczxpbnQxNl90PihzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQz
Ml90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8aW50MTZfdD4o
KHVpbnQzMl90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8aW50MTZfdD4o
KHVpbnQzMl90KTEpKTsKKyAgICAvLyBsb3dlciBwcmVjaXNpb24sIHVuc2lnbmVkLCB1bnNpZ25l
ZAorICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KHN0ZDo6bnVtZXJp
Y19saW1pdHM8dWludDMyX3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJv
dW5kczx1aW50MTZfdD4oKHVpbnQzMl90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5C
b3VuZHM8dWludDE2X3Q+KCh1aW50MzJfdCkxKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFRlc3RX
ZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258062</attachid>
            <date>2015-08-03 08:50:19 -0700</date>
            <delta_ts>2015-08-10 03:05:59 -0700</delta_ts>
            <desc>Fixing EFL build</desc>
            <filename>bug-146414-20150803125013.patch</filename>
            <type>text/plain</type>
            <size>13979</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg3NzMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDY4ZmU3NmUzNmNkMjhkNWQzYzgwYWEy
ZGM3ZWQ5YzQwYmU1N2QzZDEuLjcyMDk0YmRkZTEwYzNlZmU4ZTVjOTRhODEzNjUyYmY4NDc3YzJj
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTUtMDgtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGNv
bnZlcnRTYWZlbHkgcm91dGluZSBiYXNlZCBvbiBpc0luQm91bmRzIHJvdXRpbmUuCisgICAgICAg
IFVwZGF0ZWQgQm91bmRDaGVja2VyIGJ5IGFkZGluZyBhIHRoaXJkIGJvb2xlYW4gcGFyYW1ldGVy
IHRvIHRoaXMgdGVtcGxhdGUgZ2l2aW5nIHdoZXRoZXIgVGFyZ2V0IGhhcyBncmVhdGVyIG9yIGVx
dWFsIHByZWNpc2lvbiB0aGFuIFNvdXJjZS4KKyAgICAgICAgUmVtb3ZlZCBCb3VuZENoZWNrRWxp
ZGVyLCB3aGljaCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5IGFuZCBoYWQgc29tZSBpc3N1ZXMuCisK
KyAgICAgICAgKiB3dGYvQ2hlY2tlZEFyaXRobWV0aWMuaDoKKyAgICAgICAgKFdURjo6aXNJbkJv
dW5kcyk6CisgICAgICAgIChXVEY6OmNvbnZlcnRTYWZlbHkpOgorCiAyMDE1LTA4LTAyICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEludmVzdGlnYXRl
IEhhc2hUYWJsZTo6SGFzaFRhYmxlKGNvbnN0IEhhc2hUYWJsZSYpIGFuZCBIYXNoVGFibGU6Om9w
ZXJhdG9yPShjb25zdCBIYXNoVGFibGUmKSBwZXJmb3JtYW5jZSBmb3IgaGFzaC1iYXNlZCBzdGF0
aWMgYW5hbHlzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzM2IzNDE4YjI4YWQ5MTU1YWY1MTMzMzE1Y2VhM2Qz
ZTEzMzJkZDhlLi4zZjYyNjk2ZjcxMzI5MzliNmMzMzFjNjhjOTBhZjRjMWYzMzgxNTJkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDgtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxlIHdhcm5pbmcgKC1Xc2ln
bi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQxNAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIGJlaGF2
aW9yYWwgY2hhbmdlcy4KKworICAgICAgICAqIHBsYXRmb3JtL0ZpbGVTeXN0ZW0uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKTogTWFraW5nIHVz
ZSBvZiBjb252ZXJ0U2FmZWx5LgorICAgICAgICAqIHBsYXRmb3JtL3Bvc2l4L1NoYXJlZEJ1ZmZl
clBPU0lYLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlRnJvbVJl
YWRpbmdGaWxlKTogTWFraW5nIHVzZSBvZiBjb252ZXJ0U2FmZWx5LgorCiAyMDE1LTA4LTAxICBD
aHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IE9uIHNv
bWUgY29tcGxleCBzaXRlcywgaU9TIGluc3RhbnRseSBjcmFzaGVzIG9uY2UgVm9pY2VPdmVyIGlz
IHR1cm5lZCBvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0aWMu
aCBiL1NvdXJjZS9XVEYvd3RmL0NoZWNrZWRBcml0aG1ldGljLmgKaW5kZXggNmNjNDViMzI5YzQw
ZjdhMGQ2NGIyZDA2MjY4NjM2ODU4MzE0NmI1NC4uMDg5M2E4NzA3MDBjYzVmNjVlMjc5MDM2NTNk
OGRlY2QzNmYxMWI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ2hlY2tlZEFyaXRobWV0
aWMuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9DaGVja2VkQXJpdGhtZXRpYy5oCkBAIC0xMjIsNjMg
KzEyMiw4NCBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgY2xhc3MgT3ZlcmZsb3dIYW5kbGVyID0g
Q3Jhc2hPbk92ZXJmbG93PiBjbGFzcyBDaGVja2VkOwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0
cnVjdCBSZW1vdmVDaGVja2VkOwogdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHN0cnVjdCBSZW1vdmVD
aGVja2VkPENoZWNrZWQ8VD4+OwogCi10ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFt
ZSBTb3VyY2UsIGJvb2wgdGFyZ2V0U2lnbmVkID0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+
Ojppc19zaWduZWQsIGJvb2wgc291cmNlU2lnbmVkID0gc3RkOjpudW1lcmljX2xpbWl0czxTb3Vy
Y2U+Ojppc19zaWduZWQ+IHN0cnVjdCBCb3VuZHNDaGVja2VyOwotdGVtcGxhdGUgPHR5cGVuYW1l
IFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNv
dXJjZSwgZmFsc2UsIGZhbHNlPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFt
ZSBTb3VyY2UsIGJvb2wgaXNUYXJnZXRCaWdnZXIgPSBzaXplb2YoVGFyZ2V0KSA+PSBzaXplb2Yo
U291cmNlKSwgYm9vbCB0YXJnZXRTaWduZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46
OmlzX3NpZ25lZCwgYm9vbCBzb3VyY2VTaWduZWQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPFNvdXJj
ZT46OmlzX3NpZ25lZD4gc3RydWN0IEJvdW5kc0NoZWNrZXI7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUg
VGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291
cmNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlPiB7CiAgICAgc3RhdGljIGJvb2wgaW5Cb3VuZHMoU291
cmNlIHZhbHVlKQogICAgIHsKLSAgICAgICAgLy8gU2FtZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0
IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNyZWFzZSBwcmVjaXNpb24KLSAgICAgICAg
Ly8gdG8gd2lkZXN0IHR5cGUKKyAgICAgICAgLy8gU2FtZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0
IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNyZWFzZSBwcmVjaXNpb24gdG8gd2lkZXN0
IHR5cGUuCiAgICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdl
dD46Om1heCgpOwogICAgIH0KIH07Ci0KLXRlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVu
YW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIHRy
dWU+IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0
IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIGZhbHNlLCB0cnVlLCB0cnVlPiB7CiAgICAg
c3RhdGljIGJvb2wgaW5Cb3VuZHMoU291cmNlIHZhbHVlKQogICAgIHsKLSAgICAgICAgLy8gU2Ft
ZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNy
ZWFzZSBwcmVjaXNpb24KLSAgICAgICAgLy8gdG8gd2lkZXN0IHR5cGUKKyAgICAgICAgLy8gU2Ft
ZSBzaWduZWRuZXNzIHNvIGltcGxpY2l0IHR5cGUgY29udmVyc2lvbiB3aWxsIGFsd2F5cyBpbmNy
ZWFzZSBwcmVjaXNpb24gdG8gd2lkZXN0IHR5cGUuCiAgICAgICAgIHJldHVybiBzdGQ6Om51bWVy
aWNfbGltaXRzPFRhcmdldD46Om1pbigpIDw9IHZhbHVlICYmIHZhbHVlIDw9IHN0ZDo6bnVtZXJp
Y19saW1pdHM8VGFyZ2V0Pjo6bWF4KCk7CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1l
IFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNv
dXJjZSwgZmFsc2UsIHRydWU+IHsKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1l
IFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIGZhbHNlLCBmYWxz
ZSwgdHJ1ZT4gewogICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSB2YWx1ZSkKICAgICB7
Ci0gICAgICAgIC8vIFRhcmdldCBpcyB1bnNpZ25lZCBzbyBhbnkgdmFsdWUgbGVzcyB0aGFuIHpl
cm8gaXMgY2xlYXJseSB1bnNhZmUKLSAgICAgICAgaWYgKHZhbHVlIDwgMCkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLSAgICAgICAgLy8gSWYgb3VyICh1bnNpZ25lZCkgVGFyZ2V0IGlzIHRo
ZSBzYW1lIG9yIGdyZWF0ZXIgd2lkdGggd2UgY2FuCi0gICAgICAgIC8vIGNvbnZlcnQgdmFsdWUg
dG8gdHlwZSBUYXJnZXQgd2l0aG91dCBsb3NpbmcgcHJlY2lzaW9uCi0gICAgICAgIGlmIChzaXpl
b2YoVGFyZ2V0KSA+PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8VGFyZ2V0Pih2YWx1ZSkgPD0gc3RkOjpudW1lcmljX2xpbWl0czxUYXJnZXQ+OjptYXgo
KTsKLSAgICAgICAgLy8gVGhlIHNpZ25lZCBTb3VyY2UgdHlwZSBoYXMgZ3JlYXRlciBwcmVjaXNp
b24gdGhhbiB0aGUgdGFyZ2V0IHNvCi0gICAgICAgIC8vIG1heChUYXJnZXQpIC0+IFNvdXJjZSB3
aWxsIHdpZGVuLgotICAgICAgICByZXR1cm4gdmFsdWUgPD0gc3RhdGljX2Nhc3Q8U291cmNlPihz
dGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsKKyAgICAgICAgLy8gV2hlbiBjb252
ZXJ0aW5nIHZhbHVlIHRvIHVuc2lnbmVkIFNvdXJjZSwgdmFsdWUgd2lsbCBiZWNvbWUgYSBiaWcg
dmFsdWUgaWYgdmFsdWUgaXMgbmVnYXRpdmUuCisgICAgICAgIC8vIENhc3RlZCB2YWx1ZSB3aWxs
IGJlY29tZSBiaWdnZXIgdGhhbiBUYXJnZXQ6Om1heCBhcyBTb3VyY2UgaXMgYmlnZ2VyIHRoYW4g
VGFyZ2V0LgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dHlwZW5hbWUgc3RkOjptYWtlX3Vu
c2lnbmVkPFNvdXJjZT46OnR5cGU+KHZhbHVlKSA8PSBzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdl
dD46Om1heCgpOwogICAgIH0KIH07CiAKLXRlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVu
YW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIGZh
bHNlPiB7Cit0ZW1wbGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVj
dCBCb3VuZHNDaGVja2VyPFRhcmdldCwgU291cmNlLCBmYWxzZSwgdHJ1ZSwgZmFsc2U+IHsKICAg
ICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UgdmFsdWUpCiAgICAgewotICAgICAgICAvLyBT
aWduZWQgdGFyZ2V0IHdpdGggYW4gdW5zaWduZWQgc291cmNlCi0gICAgICAgIGlmIChzaXplb2Yo
VGFyZ2V0KSA8PSBzaXplb2YoU291cmNlKSkgCi0gICAgICAgICAgICByZXR1cm4gdmFsdWUgPD0g
c3RhdGljX2Nhc3Q8U291cmNlPihzdGQ6Om51bWVyaWNfbGltaXRzPFRhcmdldD46Om1heCgpKTsK
LSAgICAgICAgLy8gVGFyZ2V0IGlzIFdpZGVyIHRoYW4gU291cmNlIHNvIHdlJ3JlIGd1YXJhbnRl
ZWQgdG8gZml0IGFueSB2YWx1ZSBpbgotICAgICAgICAvLyB1bnNpZ25lZCBTb3VyY2UKKyAgICAg
ICAgLy8gVGhlIHVuc2lnbmVkIFNvdXJjZSB0eXBlIGhhcyBncmVhdGVyIHByZWNpc2lvbiB0aGFu
IHRoZSB0YXJnZXQgc28gbWF4KFRhcmdldCkgLT4gU291cmNlIHdpbGwgd2lkZW4uCisgICAgICAg
IHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxTb3VyY2U+KHN0ZDo6bnVtZXJpY19saW1pdHM8
VGFyZ2V0Pjo6bWF4KCkpOworICAgIH0KK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQs
IHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRy
dWUsIGZhbHNlLCBmYWxzZT4geworICAgIHN0YXRpYyBib29sIGluQm91bmRzKFNvdXJjZSkKKyAg
ICB7CisgICAgICAgIC8vIFNhbWUgc2lnbiwgZ3JlYXRlciBvciBzYW1lIHByZWNpc2lvbi4KICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogfTsKIAotdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdl
dCwgdHlwZW5hbWUgU291cmNlLCBib29sIENhbkVsaWRlID0gc3RkOjppc19zYW1lPFRhcmdldCwg
U291cmNlPjo6dmFsdWUgfHwgKHNpemVvZihUYXJnZXQpID4gc2l6ZW9mKFNvdXJjZSkpID4gc3Ry
dWN0IEJvdW5kc0NoZWNrRWxpZGVyOwotdGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5h
bWUgU291cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tFbGlkZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWU+
IHsKLSAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UpIHsgcmV0dXJuIHRydWU7IH0KK3Rl
bXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0No
ZWNrZXI8VGFyZ2V0LCBTb3VyY2UsIHRydWUsIHRydWUsIHRydWU+IHsKKyAgICBzdGF0aWMgYm9v
bCBpbkJvdW5kcyhTb3VyY2UpCisgICAgeworICAgICAgICAvLyBTYW1lIHNpZ24sIGdyZWF0ZXIg
b3Igc2FtZSBwcmVjaXNpb24uCisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KIH07Ci10ZW1w
bGF0ZSA8dHlwZW5hbWUgVGFyZ2V0LCB0eXBlbmFtZSBTb3VyY2U+IHN0cnVjdCBCb3VuZHNDaGVj
a0VsaWRlcjxUYXJnZXQsIFNvdXJjZSwgZmFsc2U+IDogcHVibGljIEJvdW5kc0NoZWNrZXI8VGFy
Z2V0LCBTb3VyY2U+IHsKKwordGVtcGxhdGUgPHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291
cmNlPiBzdHJ1Y3QgQm91bmRzQ2hlY2tlcjxUYXJnZXQsIFNvdXJjZSwgdHJ1ZSwgdHJ1ZSwgZmFs
c2U+IHsKKyAgICBzdGF0aWMgYm9vbCBpbkJvdW5kcyhTb3VyY2UgdmFsdWUpCisgICAgeworICAg
ICAgICAvLyBUYXJnZXQgaXMgc2lnbmVkIHdpdGggZ3JlYXRlciBvciBzYW1lIHByZWNpc2lvbi4g
SWYgc3RyaWN0bHkgZ3JlYXRlciwgaXQgaXMgYWx3YXlzIHNhZmUuCisgICAgICAgIGlmIChzaXpl
b2YoVGFyZ2V0KSA+IHNpemVvZihTb3VyY2UpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgIHJldHVybiB2YWx1ZSA8PSBzdGF0aWNfY2FzdDxTb3VyY2U+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8VGFyZ2V0Pjo6bWF4KCkpOworICAgIH0KK307CisKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
YXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RydWN0IEJvdW5kc0NoZWNrZXI8VGFyZ2V0LCBTb3Vy
Y2UsIHRydWUsIGZhbHNlLCB0cnVlPiB7CisgICAgc3RhdGljIGJvb2wgaW5Cb3VuZHMoU291cmNl
IHZhbHVlKQorICAgIHsKKyAgICAgICAgLy8gVGFyZ2V0IGlzIHVuc2lnbmVkIHdpdGggZ3JlYXRl
ciBwcmVjaXNpb24uCisgICAgICAgIHJldHVybiB2YWx1ZSA+PSAwOworICAgIH0KIH07CiAKIHRl
bXBsYXRlIDx0eXBlbmFtZSBUYXJnZXQsIHR5cGVuYW1lIFNvdXJjZT4gc3RhdGljIGlubGluZSBi
b29sIGlzSW5Cb3VuZHMoU291cmNlIHZhbHVlKQogewotICAgIHJldHVybiBCb3VuZHNDaGVja0Vs
aWRlcjxUYXJnZXQsIFNvdXJjZT46OmluQm91bmRzKHZhbHVlKTsKKyAgICByZXR1cm4gQm91bmRz
Q2hlY2tlcjxUYXJnZXQsIFNvdXJjZT46OmluQm91bmRzKHZhbHVlKTsKK30KKwordGVtcGxhdGUg
PHR5cGVuYW1lIFRhcmdldCwgdHlwZW5hbWUgU291cmNlPiBzdGF0aWMgaW5saW5lIGJvb2wgY29u
dmVydFNhZmVseShTb3VyY2UgaW5wdXQsIFRhcmdldCYgb3V0cHV0KQoreworICAgIGlmICghaXNJ
bkJvdW5kczxUYXJnZXQ+KGlucHV0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIG91dHB1
dCA9IHN0YXRpY19jYXN0PFRhcmdldD4oaW5wdXQpOworICAgIHJldHVybiB0cnVlOwogfQogCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gc3RydWN0IFJlbW92ZUNoZWNrZWQgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAppbmRleCA5NDZkNWYzYjNhNWQ0N2ZmOTQ4NjI4NGJkMGJj
MzI4ODczMzNmYjFiLi44N2UzMDUzNmYxN2FhOTc5ZGM3YjE5NWQyZTk3ZDYwNWY3MTdhZTI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmNwcApAQCAtMTUxLDE0ICsxNTEsMTMg
QEAgTWFwcGVkRmlsZURhdGE6Ok1hcHBlZEZpbGVEYXRhKGNvbnN0IFN0cmluZyYgZmlsZVBhdGgs
IGJvb2wmIHN1Y2Nlc3MpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAoZmlsZVN0
YXQuc3Rfc2l6ZSA8IDAgfHwgZmlsZVN0YXQuc3Rfc2l6ZSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8
dW5zaWduZWQ+OjptYXgoKSkgeworICAgIHVuc2lnbmVkIHNpemU7CisgICAgaWYgKCFXVEY6OmNv
bnZlcnRTYWZlbHkoZmlsZVN0YXQuc3Rfc2l6ZSwgc2l6ZSkpIHsKICAgICAgICAgY2xvc2UoZmQp
OwogICAgICAgICBzdWNjZXNzID0gZmFsc2U7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAg
ICB1bnNpZ25lZCBzaXplID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZpbGVTdGF0LnN0X3NpemUp
OwotCiAgICAgaWYgKCFzaXplKSB7CiAgICAgICAgIGNsb3NlKGZkKTsKICAgICAgICAgc3VjY2Vz
cyA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9TaGFy
ZWRCdWZmZXJQT1NJWC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9wb3NpeC9TaGFyZWRC
dWZmZXJQT1NJWC5jcHAKaW5kZXggODYzZGJlMjUzZTVhZjIyMDAzYzdmMGJlZjUzMGFiZmExYTAx
YjBkNS4uN2U5YTAyNjRkNzEwMWY3NGIxZDc4N2UyZDQ2NDExNzdjOGY3NzhjOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcG9zaXgvU2hhcmVkQnVmZmVyUE9TSVguY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Bvc2l4L1NoYXJlZEJ1ZmZlclBPU0lYLmNwcApA
QCAtNTEsOCArNTEsOCBAQCBSZWZQdHI8U2hhcmVkQnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNyZWF0
ZUZyb21SZWFkaW5nRmlsZShjb25zdCBTdHJpbmcmIGZpbGVQYXRoKQogICAgICAgICByZXR1cm4g
MDsKICAgICB9CiAKLSAgICBzaXplX3QgYnl0ZXNUb1JlYWQgPSBmaWxlU3RhdC5zdF9zaXplOwot
ICAgIGlmIChmaWxlU3RhdC5zdF9zaXplIDwgMCB8fCBieXRlc1RvUmVhZCAhPSBzdGF0aWNfY2Fz
dDx1bnNpZ25lZCBsb25nIGxvbmc+KGZpbGVTdGF0LnN0X3NpemUpKSB7CisgICAgc2l6ZV90IGJ5
dGVzVG9SZWFkOworICAgIGlmICghV1RGOjpjb252ZXJ0U2FmZWx5KGZpbGVTdGF0LnN0X3NpemUs
IGJ5dGVzVG9SZWFkKSkgewogICAgICAgICBjbG9zZShmZCk7CiAgICAgICAgIHJldHVybiAwOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCA0YzZkZDBkYjg1MGNmNjBlZmY5MjQzNzQ5Yjg0ODAzMWY2N2QyOTE4Li5iZDg1ZjU2YTVmZGVh
N2M1M2Q2MzRkNWFiZjE4ODE0NGQxYjkwZDNlIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMDgtMDMgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBDb21waWxl
IHdhcm5pbmcgKC1Xc2lnbi1jb21wYXJlKSBvbiAzMi1iaXRzIGF0IFdlYkNvcmUvcGxhdGZvcm0v
RmlsZVN5c3RlbS5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NjQxNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNPcGVyYXRp
b25zLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOiBJbXByb3ZpbmcgdGVzdGlu
ZyBvZiBXVEY6OmlzSW5Cb3VuZHMuCisKIDIwMTUtMDgtMDIgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CiAKICAgICAgICAgSW52ZXN0aWdhdGUgSGFzaFRhYmxlOjpIYXNo
VGFibGUoY29uc3QgSGFzaFRhYmxlJikgYW5kIEhhc2hUYWJsZTo6b3BlcmF0b3I9KGNvbnN0IEhh
c2hUYWJsZSYpIHBlcmZvcm1hbmNlIGZvciBoYXNoLWJhc2VkIHN0YXRpYyBhbmFseXNlcwpkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNP
cGVyYXRpb25zLmNwcCBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0NoZWNrZWRBcml0
aG1ldGljT3BlcmF0aW9ucy5jcHAKaW5kZXggMzQyMDRiZjAyNmU4MmJjNzE1YmY5ZTA0MzIwYTMz
ZGUwZTQ1MTRkZS4uNmYwNTA3ZmFmZjY5NGZjYTU5MzFmYzg5NzAwMzQ4ZGI0OGIzY2I5ZiAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvQ2hlY2tlZEFyaXRobWV0aWNP
cGVyYXRpb25zLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9DaGVja2Vk
QXJpdGhtZXRpY09wZXJhdGlvbnMuY3BwCkBAIC00MjcsNCArNDI3LDYyIEBAIENoZWNrZWRBcml0
aG1ldGljVGVzdCh1aW50MzJfdCwgQ29lcmNlTGl0ZXJhbFRvVW5zaWduZWQsIEFsbG93TWl4ZWRT
aWduZWRuZXNzVGVzCiBDaGVja2VkQXJpdGhtZXRpY1Rlc3QoaW50NjRfdCwgQ29lcmNlTGl0ZXJh
bE5vcCwgSWdub3JlTWl4ZWRTaWduZWRuZXNzVGVzdCkKIENoZWNrZWRBcml0aG1ldGljVGVzdCh1
aW50NjRfdCwgQ29lcmNlTGl0ZXJhbFRvVW5zaWduZWQsIElnbm9yZU1peGVkU2lnbmVkbmVzc1Rl
c3QpCiAKK1RFU1QoQ2hlY2tlZEFyaXRobWV0aWNUZXN0LCBJc0luQm91bmRzKQoreworICAgIC8v
IGJpZ2dlciBwcmVjaXNpb24sIHNpZ25lZCwgc2lnbmVkCisgICAgRVhQRUNUX1RSVUUoV1RGOjpp
c0luQm91bmRzPGludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MTZfdD46Om1heCgpKSk7
CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPGludDMyX3Q+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8aW50MTZfdD46Om1pbigpKSk7CisKKyAgICAvLyBiaWdnZXIgcHJlY2lzaW9uLCB1bnNp
Z25lZCwgc2lnbmVkCisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90Pihz
dGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9GQUxTRShX
VEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MTZfdD46Om1p
bigpKSk7CisKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRzPHVpbnQzMl90PigoaW50
MzJfdCktMSkpOworICAgIEVYUEVDVF9GQUxTRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KChp
bnQzMl90KS0xKSk7CisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1bnNpZ25lZCBs
b25nPigoaW50KS0xKSk7CisKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMy
X3Q+KChpbnQzMl90KTEpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMy
X3Q+KChpbnQxNl90KTEpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dW5zaWdu
ZWQ+KChpbnQpMSkpOworCisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90
PigoaW50MzJfdCkwKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQxNl90
PigoaW50MzJfdCkwKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVpbnQzMl90
PigoaW50MTZfdCkwKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVuc2lnbmVk
PigoaW50KTApKTsKKworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczx1aW50MzJfdD4o
c3RkOjpudW1lcmljX2xpbWl0czxpbnQzMl90Pjo6bWF4KCkpKTsKKyAgICBFWFBFQ1RfVFJVRShX
VEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MTZfdD46Om1h
eCgpKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPHVuc2lnbmVkPihzdGQ6Om51
bWVyaWNfbGltaXRzPGludD46Om1heCgpKSk7CisKKyAgICAvLyBiaWdnZXIgcHJlY2lzaW9uLCBz
aWduZWQsIHVuc2lnbmVkCisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPGludDMyX3Q+
KHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDE2X3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9GQUxT
RShXVEY6OmlzSW5Cb3VuZHM8aW50MzJfdD4oc3RkOjpudW1lcmljX2xpbWl0czx1aW50MzJfdD46
Om1heCgpKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91bmRzPGludDMyX3Q+KCh1aW50
MzJfdCkwKSk7CisKKyAgICAvLyBiaWdnZXIgcHJlY2lzaW9uLCB1bnNpZ25lZCwgdW5zaWduZWQK
KyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDMyX3Q+KHN0ZDo6bnVtZXJpY19s
aW1pdHM8dWludDE2X3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5k
czx1aW50MzJfdD4oc3RkOjpudW1lcmljX2xpbWl0czx1aW50MTZfdD46Om1pbigpKSk7CisKKyAg
ICAvLyBsb3dlciBwcmVjaXNpb24sIHNpZ25lZCBzaWduZWQKKyAgICBFWFBFQ1RfRkFMU0UoV1RG
Ojppc0luQm91bmRzPGludDE2X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1heCgp
KSk7CisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczxpbnQxNl90PihzdGQ6Om51bWVy
aWNfbGltaXRzPGludDMyX3Q+OjptaW4oKSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJv
dW5kczxpbnQxNl90PigoaW50MzJfdCktMSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJv
dW5kczxpbnQxNl90PigoaW50MzJfdCkwKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjppc0luQm91
bmRzPGludDE2X3Q+KChpbnQzMl90KTEpKTsKKyAgICAvLyBsb3dlciBwcmVjaXNpb24sIHVuc2ln
bmVkLCBzaWduZWQKKyAgICBFWFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRzPHVpbnQxNl90Pihz
dGQ6Om51bWVyaWNfbGltaXRzPGludDMyX3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9GQUxTRShX
VEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8aW50MzJfdD46Om1p
bigpKSk7CisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4oKGludDMy
X3QpLTEpKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KChpbnQz
Ml90KTApKTsKKyAgICBFWFBFQ1RfVFJVRShXVEY6OmlzSW5Cb3VuZHM8dWludDE2X3Q+KChpbnQz
Ml90KTEpKTsKKyAgICAvLyBsb3dlciBwcmVjaXNpb24sIHNpZ25lZCwgdW5zaWduZWQKKyAgICBF
WFBFQ1RfRkFMU0UoV1RGOjppc0luQm91bmRzPGludDE2X3Q+KHN0ZDo6bnVtZXJpY19saW1pdHM8
dWludDMyX3Q+OjptYXgoKSkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxpbnQx
Nl90PigodWludDMyX3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6aXNJbkJvdW5kczxpbnQx
Nl90PigodWludDMyX3QpMSkpOworICAgIC8vIGxvd2VyIHByZWNpc2lvbiwgdW5zaWduZWQsIHVu
c2lnbmVkCisgICAgRVhQRUNUX0ZBTFNFKFdURjo6aXNJbkJvdW5kczx1aW50MTZfdD4oc3RkOjpu
dW1lcmljX2xpbWl0czx1aW50MzJfdD46Om1heCgpKSk7CisgICAgRVhQRUNUX1RSVUUoV1RGOjpp
c0luQm91bmRzPHVpbnQxNl90PigodWludDMyX3QpMCkpOworICAgIEVYUEVDVF9UUlVFKFdURjo6
aXNJbkJvdW5kczx1aW50MTZfdD4oKHVpbnQzMl90KTEpKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
VGVzdFdlYktpdEFQSQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>