<?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>100838</bug_id>
          
          <creation_ts>2012-10-31 03:06:13 -0700</creation_ts>
          <short_desc>[Qt][WK2] setPlatformStrategies always asserts after r132744</short_desc>
          <delta_ts>2012-11-04 08:53:10 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>101068</dependson>
    
    <dependson>101155</dependson>
    
    <dependson>101158</dependson>
          <blocked>79668</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Balazs Kelemen">kbalazs</assigned_to>
          <cc>abecsi</cc>
    
    <cc>ap</cc>
    
    <cc>hausmann</cc>
    
    <cc>kbalazs</cc>
    
    <cc>noam</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zarvai</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>755108</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-10-31 03:06:13 -0700</bug_when>
    <thetext>Now all tests fail with assertion on Qt-WK2 in debug mode:

ASSERTION FAILED: platformStrategies == s_platformStrategies
/home/oszi/WebKit/Source/WebCore/platform/PlatformStrategies.cpp(52) : void WebCore::setPlatformStrategies(WebCore::PlatformStrategies*)
1   0x7f35219e2e2c /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebCore.so.1(WebCore::setPlatformStrategies(WebCore::PlatformStrategies*)+0x56) [0x7f35219e2e2c]
2   0x7f3524a9d0e0 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit1.so.1(PlatformStrategiesQt::PlatformStrategiesQt()+0xf4) [0x7f3524a9d0e0]
3   0x7f3524a9ce4c /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit1.so.1(PlatformStrategiesQt::initialize()+0x44) [0x7f3524a9ce4c]
4   0x7f3524a861a7 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit1.so.1(WebCore::initializeWebCoreQt()+0x36) [0x7f3524a861a7]
5   0x7f3524a5b377 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit1.so.1(QWebSettings::clearMemoryCaches()+0xd) [0x7f3524a5b377]
6   0x7f34cf85570e /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::TestRunner::platformInitialize()+0x14) [0x7f34cf85570e]
7   0x7f34cf84d4c3 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::TestRunner::TestRunner()+0x15d) [0x7f34cf84d4c3]
8   0x7f34cf84d1e7 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::TestRunner::create()+0x2b) [0x7f34cf84d1e7]
9   0x7f34cf838152 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::InjectedBundle::beginTesting(OpaqueWKDictionary const*)+0x60) [0x7f34cf838152]
10  0x7f34cf837b9e /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::InjectedBundle::didReceiveMessage(OpaqueWKString const*, void const*)+0x210) [0x7f34cf837b9e]
11  0x7f34cf8376db /home/oszi/WebKit/WebKitBuild/Debug/lib/libWTRInjectedBundle.so(WTR::InjectedBundle::didReceiveMessage(OpaqueWKBundle const*, OpaqueWKString const*, void const*, void const*)+0x2f) [0x7f34cf8376db]
12  0x7f3524301799 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::InjectedBundleClient::didReceiveMessage(WebKit::InjectedBundle*, WTF::String const&amp;, WebKit::APIObject*)+0x93) [0x7f3524301799]
13  0x7f35242fd5d4 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::InjectedBundle::didReceiveMessage(WTF::String const&amp;, WebKit::APIObject*)+0x34) [0x7f35242fd5d4]
14  0x7f35243edd7e /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::WebProcess::postInjectedBundleMessage(CoreIPC::DataReference const&amp;)+0x11e) [0x7f35243edd7e]
15  0x7f352447b143 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(void CoreIPC::callMemberFunction&lt;WebKit::WebProcess, void (WebKit::WebProcess::*)(CoreIPC::DataReference const&amp;), CoreIPC::DataReference&gt;(CoreIPC::Arguments1&lt;CoreIPC::DataReference&gt; const&amp;, WebKit::WebProcess*, void (WebKit::WebProcess::*)(CoreIPC::DataReference const&amp;))+0x5a) [0x7f352447b143]
16  0x7f352447a805 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(void CoreIPC::handleMessage&lt;Messages::WebProcess::PostInjectedBundleMessage, WebKit::WebProcess, void (WebKit::WebProcess::*)(CoreIPC::DataReference const&amp;)&gt;(CoreIPC::MessageDecoder&amp;, WebKit::WebProcess*, void (WebKit::WebProcess::*)(CoreIPC::DataReference const&amp;))+0x5d) [0x7f352447a805]
17  0x7f3524479900 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::WebProcess::didReceiveWebProcessMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)+0x18ee) [0x7f3524479900]
18  0x7f35243ec0fe /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)+0x68) [0x7f35243ec0fe]
19  0x7f35243e9f10 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WebKit::WebConnectionToUIProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)+0x72) [0x7f35243e9f10]
20  0x7f3524147b80 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(CoreIPC::Connection::dispatchMessage(CoreIPC::MessageID, CoreIPC::MessageDecoder&amp;)+0x42) [0x7f3524147b80]
21  0x7f3524147cbf /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(CoreIPC::Connection::dispatchMessage(CoreIPC::Connection::Message&lt;CoreIPC::MessageDecoder&gt;&amp;)+0x137) [0x7f3524147cbf]
22  0x7f3524147e5b /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(CoreIPC::Connection::dispatchOneMessage()+0xa7) [0x7f3524147e5b]
23  0x7f3524151b45 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;::operator()(CoreIPC::Connection*)+0x59) [0x7f3524151b45]
24  0x7f35241518f6 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WTF::BoundFunctionImpl&lt;WTF::FunctionWrapper&lt;void (CoreIPC::Connection::*)()&gt;, void ()(CoreIPC::Connection*)&gt;::operator()()+0x32) [0x7f35241518f6]
25  0x7f35241f690c /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebKit2.so.1(WTF::Function&lt;void ()()&gt;::operator()() const+0x72) [0x7f35241f690c]
26  0x7f35219afb5b /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebCore.so.1(WebCore::RunLoop::performWork()+0xbf) [0x7f35219afb5b]
27  0x7f3521cf0ec8 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebCore.so.1(WebCore::RunLoop::TimerObject::performWork()+0x1c) [0x7f3521cf0ec8]
28  0x7f3521cf1a15 /home/oszi/WebKit/WebKitBuild/Debug/lib/libWebCore.so.1(+0x2d62a15) [0x7f3521cf1a15]
29  0x7f35168f128e /usr/local/Trolltech/Qt5/Qt-5.0.0-r39/lib/libQtCore.so.5(QObject::event(QEvent*)+0x36e) [0x7f35168f128e]
30  0x7f3517c87d5c /usr/local/Trolltech/Qt5/Qt-5.0.0-r39/lib/libQtWidgets.so.5(QApplicationPrivate::notify_helper(QObject*, QEvent*)+0xac) [0x7f3517c87d5c]
31  0x7f3517c8f61b /usr/local/Trolltech/Qt5/Qt-5.0.0-r39/lib/libQtWidgets.so.5(QApplication::notify(QObject*, QEvent*)+0x11b) [0x7f3517c8f61b]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755132</commentid>
    <comment_count>1</comment_count>
      <attachid>171614</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-31 04:12:35 -0700</bug_when>
    <thetext>Created attachment 171614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755145</commentid>
    <comment_count>2</comment_count>
      <attachid>171614</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-10-31 04:25:44 -0700</bug_when>
    <thetext>Comment on attachment 171614
Patch

r-, it doesn&apos;t fix the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755157</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-10-31 04:37:46 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/132744 inverted this assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755162</commentid>
    <comment_count>4</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-10-31 04:44:57 -0700</bug_when>
    <thetext>And it is Qt specific bug, because assertion doesn&apos;t hit on GTK and EFL WK2 debug bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755184</commentid>
    <comment_count>5</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-31 05:31:25 -0700</bug_when>
    <thetext>The assert was inverted because it was wrong, now it is correct. I think the patch is trivially a fix, although it&apos;s still possible that we call setPlatformStrategies twice in which case the assert still triggered (although I could not reproduce it locally yet). The fact that it does not asserted on bots yet can be because some compilers init statics by default (?), or it is just 0 &quot;by luck&quot;. I&apos;m going to check when and why we can call it twice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755217</commentid>
    <comment_count>6</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-10-31 06:23:44 -0700</bug_when>
    <thetext>Ok, I found the place. In TestRunner::platformInitialize we call QWebSettings::clearMemoryCaches. This is obviously an error, we should not call WebKit1 API from WebKit2 the web process. The reason why this cache clear is necessary is to clear the font cache between tests, see bug 53427. In order to remove the wk1 api call and keep the same behavior we should add publicly available (private) API, i.e. move the initializeTestFonts code to WebCore. /me: preparing the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755336</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-31 08:42:29 -0700</bug_when>
    <thetext>You&apos;ve probably seen the discussion in webkit-dev, I think that clearing caches between tests is not the best approach anyway.

I&apos;m only mentioning this for completeness, changing that is not necessary to fix the assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756835</commentid>
    <comment_count>8</comment_count>
      <attachid>171974</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-01 19:28:01 -0700</bug_when>
    <thetext>Created attachment 171974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756844</commentid>
    <comment_count>9</comment_count>
      <attachid>171974</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-01 19:42:10 -0700</bug_when>
    <thetext>Comment on attachment 171974
Patch

Attachment 171974 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14688114</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756854</commentid>
    <comment_count>10</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-01 19:47:59 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 171974 [details])
&gt; Attachment 171974 [details] did not pass qt-wk2-ews (qt):
&gt; Output: http://queues.webkit.org/results/14688114

It is building finely for me. Is the ews fails to do a qmake_all or a clean build if the incremental build fails?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>756997</commentid>
    <comment_count>11</comment_count>
      <attachid>171974</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-11-02 02:15:59 -0700</bug_when>
    <thetext>Comment on attachment 171974
Patch

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

r=me with a few minor glitches that should be fixed before landing :)

&gt; Source/WebCore/ChangeLog:16
&gt; +        in non production mode.

Very good reasoning, I fully agree.

There are some dependencies left from WTR to the WK1 API, right? (DumpRenderTreeSupport?)

If not, then we can elimiate the dependency mentioned in Tools/Tools.pro to build wtr only if build?(webkit1) is true.

&gt; Source/WebCore/Target.pri:4084
&gt; +!production_build {

While this will work most of the time, I think the correct condition to use is

if(build?(drt)|build?(wtr))

Those will be disabled if !production_build of course.

&gt; Source/WebCore/WebCore.pri:289
&gt; +!production_build:have?(FONTCONFIG) PKGCONFIG += fontconfig

I think a colon is missing at the end here, at least to be on the safe side :)

&gt; Tools/DumpRenderTree/qt/DumpRenderTree.pro:-35
&gt; -    QtInitializeTestFonts.h \

I don&apos;t see those files as removed in the diff. Is that a bug in the review tool?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757131</commentid>
    <comment_count>12</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-02 05:51:52 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 171974 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171974&amp;action=review
&gt; 
&gt; r=me with a few minor glitches that should be fixed before landing :)
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:16
&gt; &gt; +        in non production mode.
&gt; 
&gt; Very good reasoning, I fully agree.
&gt; 
&gt; There are some dependencies left from WTR to the WK1 API, right? (DumpRenderTreeSupport?)
&gt; 
&gt; If not, then we can elimiate the dependency mentioned in Tools/Tools.pro to build wtr only if build?(webkit1) is true.

Yes, there are dependencies on DumpRenderTreeSupport yet.

&gt; 
&gt; &gt; Source/WebCore/Target.pri:4084
&gt; &gt; +!production_build {
&gt; 
&gt; While this will work most of the time, I think the correct condition to use is
&gt; 
&gt; if(build?(drt)|build?(wtr))
&gt; 
&gt; Those will be disabled if !production_build of course.
&gt; 
&gt; &gt; Source/WebCore/WebCore.pri:289
&gt; &gt; +!production_build:have?(FONTCONFIG) PKGCONFIG += fontconfig
&gt; 
&gt; I think a colon is missing at the end here, at least to be on the safe side :)
&gt; 
&gt; &gt; Tools/DumpRenderTree/qt/DumpRenderTree.pro:-35
&gt; &gt; -    QtInitializeTestFonts.h \
&gt; 
&gt; I don&apos;t see those files as removed in the diff. Is that a bug in the review tool?

No, I was forgetting to remove them.

Thanks for the review, I will incorporate your comments at landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757222</commentid>
    <comment_count>13</comment_count>
      <attachid>171974</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-02 08:45:42 -0700</bug_when>
    <thetext>Comment on attachment 171974
Patch

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

&gt; Source/WebCore/platform/PlatformStrategies.cpp:34
&gt; -static PlatformStrategies* s_platformStrategies;
&gt; +static PlatformStrategies* s_platformStrategies = 0;

This is not needed, please don&apos;t land this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757238</commentid>
    <comment_count>14</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-02 09:02:40 -0700</bug_when>
    <thetext>Committed r133303: &lt;http://trac.webkit.org/changeset/133303&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757246</commentid>
    <comment_count>15</comment_count>
      <attachid>171974</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2012-11-02 09:07:11 -0700</bug_when>
    <thetext>Comment on attachment 171974
Patch

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

&gt;&gt; Source/WebCore/platform/PlatformStrategies.cpp:34
&gt;&gt; +static PlatformStrategies* s_platformStrategies = 0;
&gt; 
&gt; This is not needed, please don&apos;t land this change.

AFAIK this doesn&apos;t make a difference anymore with current GCC/clang, the variable ends up in BSS anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757265</commentid>
    <comment_count>16</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-02 09:37:34 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; (From update of attachment 171974 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=171974&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/platform/PlatformStrategies.cpp:34
&gt; &gt;&gt; +static PlatformStrategies* s_platformStrategies = 0;
&gt; &gt; 
&gt; &gt; This is not needed, please don&apos;t land this change.
&gt; 
&gt; AFAIK this doesn&apos;t make a difference anymore with current GCC/clang, the variable ends up in BSS anyway.

Sorry, I did not noticed Alexey&apos;s comment before landing. Btw it&apos;s completely new to me and I think the majority of the code base don&apos;t depend on this, but ok.

Anyway, the patch fails to build on qt bots fail:

make[3]: *** No rule to make target `/ramdisk/qt-linux-release-minimal/build/Tools/DumpRenderTree/qt/QtInitializeTestFonts.cpp&apos;, needed by `obj/release/ramdisk/qt-linux-release-minimal/build/Tools/DumpRenderTree/qt/QtInitializeTestFonts.o&apos;.

Of course no target since I removed the file and also removed it from the project files. I was thinking that nowadays the bots try a quick incremental build but if it&apos;s fails than it reruns qmake, but it seems like it doesn&apos;t do the latter. This is quite bad, how can one land something that affects the build system at all? 

I think a forced clean build would fix that but Ossy is offline now (since this is public holiday here) so I will roll out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757268</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-02 09:40:15 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 101068</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>757274</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-11-02 09:44:31 -0700</bug_when>
    <thetext>&gt; AFAIK this doesn&apos;t make a difference anymore with current GCC/clang, the variable ends up in BSS anyway.

Yes, I think so. I was objecting against unneeded code churn and added visual noise, not about inefficiency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758058</commentid>
    <comment_count>19</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-11-04 00:50:46 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Anyway, the patch fails to build on qt bots fail:
&gt; 
&gt; make[3]: *** No rule to make target `/ramdisk/qt-linux-release-minimal/build/Tools/DumpRenderTree/qt/QtInitializeTestFonts.cpp&apos;, needed by `obj/release/ramdisk/qt-linux-release-minimal/build/Tools/DumpRenderTree/qt/QtInitializeTestFonts.o&apos;.
&gt; 
&gt; Of course no target since I removed the file and also removed it from the project files. I was thinking that nowadays the bots try a quick incremental build but if it&apos;s fails than it reruns qmake, but it seems like it doesn&apos;t do the latter. This is quite bad, how can one land something that affects the build system at all? 
&gt; 
&gt; I think a forced clean build would fix that but Ossy is offline now (since this is public holiday here) so I will roll out.

Let&apos;s check the build tomorrow. But I don&apos;t think if it is an incremental build issue, because bots run clean build always when a Qt project file changes. Otherwise qmake runs always, you can&apos;t avoid running it. (See https://bugs.webkit.org/show_bug.cgi?id=100360 for details.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758122</commentid>
    <comment_count>20</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-04 05:42:39 -0800</bug_when>
    <thetext>&gt; 
&gt; Let&apos;s check the build tomorrow. But I don&apos;t think if it is an incremental build issue, because bots run clean build always when a Qt project file changes. Otherwise qmake runs always, you can&apos;t avoid running it. (See https://bugs.webkit.org/show_bug.cgi?id=100360 for details.)

You are right, it was my fault because I failed to remove the deleted files from some project files. The weird fact is that locally incremental build was working for me because non-updated call sites was using functions from the object files of the removed sources. Now I have a version of the patch that was already build on bots yesterday evening but it broke tests so I rolled out again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>758131</commentid>
    <comment_count>21</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2012-11-04 08:50:15 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/133421.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171614</attachid>
            <date>2012-10-31 04:12:35 -0700</date>
            <delta_ts>2012-11-01 19:27:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100838-20121031121057.patch</filename>
            <type>text/plain</type>
            <size>1349</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTI0MDgyMzUxYjYyYmM3
MTNmZTA0MjY4ODI1YTViZmNlYmE0MGNjMi4uOWRkMjVjMDBkOTY5MWIwNjJjNDY3ZDIwNDZkY2E3
Y2EyMzJhYzgxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTEwLTMxICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBbV0syXSBzZXRQbGF0
Zm9ybVN0cmF0ZWdpZXMgYWx3YXlzIGFzc2VydHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDgzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFR5cG8gZml4OiB6ZXJvIGluaXRpYWxpemUgdGhlIHN0YXRp
YyB2YXJpYWJsZSBhcworICAgICAgICBpdCBpcyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb25zIGJl
bG93LgorCisgICAgICAgIFRlc3RlZCBieSBhbGwgdGVzdHMgaW4gZGVidWcuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisK
IDIwMTItMTAtMzEgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgYXR0ZW1wdCB0byBmaXggdGhlIHJlbGVhc2UgYnVpbGQgYnkgbm90
IGV4cG9ydGluZyBzeW1ib2xzIHRoYXQgYXJlbid0IGRlZmluZWQgdGhlcmUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCBjYTQ1MTUwMTZh
MTI2Njk1OTY5ZWFlYjVmOWU5ODNiYTNhZmViNmI1Li41NjdmZWY4YjMzNjJiYWRjZGI0MzBmMGM1
NGIzYzRjZWU4Mjg0YmJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1zdGF0aWMgUGxhdGZvcm1TdHJhdGVnaWVzKiBzX3BsYXRmb3JtU3RyYXRlZ2llczsKK3N0YXRp
YyBQbGF0Zm9ybVN0cmF0ZWdpZXMqIHNfcGxhdGZvcm1TdHJhdGVnaWVzID0gMDsKIAogUGxhdGZv
cm1TdHJhdGVnaWVzKiBwbGF0Zm9ybVN0cmF0ZWdpZXMoKQogewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171974</attachid>
            <date>2012-11-01 19:28:01 -0700</date>
            <delta_ts>2012-11-04 08:53:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-100838-20121102032621.patch</filename>
            <type>text/plain</type>
            <size>20870</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzMjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEwYmE0YmFmOGExNzlh
NDllNDdlNWUxZTljZGEyMTQ2NDAwNzM2Yy4uOTA3MDkzMjdmNzgwM2EyZDc0NjRlOWY3NDU2M2Ux
NjM1YThjZmQ5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDEyLTExLTAxICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKworICAgICAgICBbUXRdW1dLMl0gc2V0
UGxhdGZvcm1TdHJhdGVnaWVzIGFsd2F5cyBhc3NlcnRzIGFmdGVyIHIxMzI3NDQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDgzOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcm9ibGVtIGhlcmUg
aXMgdGhhdCB3ZSB1c2UgUVdlYlNldHRpbmdzOjpjbGVhck1lbW9yeUNhY2hlcywgYSBXZWJLaXQx
IEFQSQorICAgICAgICBmcm9tIHRoZSBpbmplY3RlZCBidW5kbGUsIHdoaWNoIGNhbGxzIGluaXRp
YWxpemVXZWJDb3JlUXQgYW5kIGl0IHNldHMgdGhlIHBsYXRmb3JtCisgICAgICAgIHN0cmF0ZWdp
ZXMgdG8gdGhlIG9uZSBmb3IgV2ViS2l0MS4gV2Ugc2hvdWxkIHN0b3AgdXNpbmcgV2ViS2l0MSBB
UEkncyBmcm9tIFdlYktpdDIKKyAgICAgICAgY29kZS4gSW4gb3JkZXIgdG8ga2VlcCB0aGUgYmVo
YXZpb3IsIHRoaXMgcGF0Y2ggYWRkcyBleHBvcnRlZCBoZWxwZXJzIHRvIFdlYkNvcmUKKyAgICAg
ICAgdGhhdCBjYW4gYmUgdXNlZCBmcm9tIER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRUZXN0UnVu
bmVyLiBUaGlzIGlzIHRoZSBzYW1lIGlkZWEKKyAgICAgICAgYXMgV2ViQ29yZVRlc3RTdXBwb3J0
IGJ1dCB0aGVzZSBoZWxwZXJzIGFyZSBzcGVjaWZpYyB0byBRdC4gVGVjaG5pY2FsbHkgd2UgY291
bGQKKyAgICAgICAgYWRkIGl0IHRvIHRoZSBXZWJLaXQxIEFQSSBmb3IgdGhlIHRpbWUgYmVpbmcs
IGJ1dCBteSBnb2FsIHdhcyB0byBtb3ZlIGluIHRoZSBkaXJlY3Rpb24KKyAgICAgICAgb2YgcmVt
b3ZpbmcgdGhlIFdlYktpdDEgZGVwZW5kZW5jeSBmcm9tIFdlYktpdFRlc3RSdW5uZXIuIFdlIG9u
bHkgYnVpbGQgdGhlIGZpbGUKKyAgICAgICAgaW4gbm9uIHByb2R1Y3Rpb24gbW9kZS4KKworICAg
ICAgICBCYXNpY2FsbHkgY292ZXJlZCBieSBhbGwgdGVzdHMuCisKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFdlYkNvcmUucHJpOiBXZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBmb250
Y29uZmlnIChvbmx5IGluIG5vbi1wcm9kdWN0aW9uIG1vZGUpIHNpbmNlCisgICAgICAgIGluaXRp
YWxpemVUZXN0Rm9udHMgdXNlcyBpdC4KKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0
ZWdpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6IFplcm8gaW5pdGlhbGl6ZSB0aGUgZ2xvYmFs
IHN0YXRpYyB2YXJpYWJsZSBhcyBpdCBpcyBleHBlY3RlZCBieSB0aGUgZnVuY3Rpb25zCisgICAg
ICAgIGJlbG93LiBJdCBpcyBhIHNpZGUgZml4LiBJdCBzZWVtcyBsaWtlIGl0IGhhcyBub3QgYmVl
biBzaG93biBvbiBkZWJ1ZyBXZWJLaXQyIGJvdHMgYmVjYXVzZQorICAgICAgICBjb21tb24gcnVu
dGltZSBlbnZpcm9ubWVudHMgdGVuZCB0byB6ZXJvIGluaXRpYWxpemUgc3RhdGljcyBieSBkZWZh
dWx0IC0gYnV0IEkgZG9uJ3QgdGhpbmsKKyAgICAgICAgd2Ugc2hvdWxkIHJlbHkgb24gdGhhdC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9xdC9RdFRlc3RTdXBwb3J0LmNwcDogQWRkZWQuIEkgY2hvb3Nl
IEdQTCBsaWNlbnNlIGJlY2F1c2UgY29kZSBmcm9tIHF3ZWJzZXR0aW5ncy5jcHAKKyAgICAgICAg
aXMgYWxzbyB1bmRlciB0aGF0LgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYktpdDo6
UXRUZXN0U3VwcG9ydDo6Y2xlYXJNZW1vcnlDYWNoZXMpOiBUaGlzIGlzIGJhc2ljYWxseSBhIGNv
cHkgb2YgUVdlYlNldHRpbmdzOjpjbGVhck1lbW9yeUNhY2hlcworICAgICAgICB3aXRob3V0IGNh
bGxpbmcgaW5pdGlhbGl6ZVdlYkNvcmVRdC4KKyAgICAgICAgKFdlYktpdDo6UXRUZXN0U3VwcG9y
dDo6aW5pdGlhbGl6ZVRlc3RGb250cyk6IEkgbW92ZWQgdGhpcyBjb2RlIGhlcmUgYXMgd2VsbCBu
b3cgdGhhdCB3ZSBoYXZlIHRvIGV4cG9zZQorICAgICAgICBzeW1ib2xzIGZyb20gV2ViQ29yZSBh
bnl3YXkuIFRoZSBhZHZhbnRhZ2UgaXMgdGhhdCBub3cgd2UgZG9uJ3QgaGF2ZSB0byBidWlsZCBp
dCB0d2ljZSBhbmQgd2UgZG9uJ3QgbmVlZAorICAgICAgICBhZGRpdGlvbmFsIGZpbGVzIHRvIGZv
cndhcmQgaXQgZnJvbSB0aGUgZGlyZWN0b3J5IG9mIER1bXBSZW5kZXJUcmVlIGZvciBXZWJLaXRU
ZXN0UnVubmVyLgorICAgICAgICBJIGFkZGVkIGEgY2FsbCB0byBGb250Q2FjZTo6aW52YWxpZGF0
ZSBpbiB0aGUgY2FzZSB3aGVuIHRoZSBmb250IHNldCBoYXMgYmVlbiBjaGFuZ2VkIHNvIHRoYXQg
aXQgd2lsbCBkbworICAgICAgICB0aGUgam9iIGV2ZW4gaWYgd2Ugd291bGQgc3RvcCBjbGVhcmlu
ZyBhbGwgY2FjaGVzIGJldHdlZW4gdGVzdHMuIEFsc28gbW92ZWQgdGhlIGNhbGwgdG8KKyAgICAg
ICAgUUZvbnREYXRhYmFzZTo6cmVtb3ZlQWxsQXBwbGljYXRpb25Gb250cyBmcm9tIGNhbGxlcnMg
dG8gaGVyZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9RdFRlc3RTdXBwb3J0Lmg6CisgICAgICAg
IChXZWJLaXQpOgorICAgICAgICAoUXRUZXN0U3VwcG9ydCk6CisKIDIwMTItMTEtMDEgIEFudHRp
IEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxMzI5
NDEpOiBhdHRyaWJ1dGUgbW9kaWZpY2F0aW9uIDEwJSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFy
Z2V0LnByaQppbmRleCA1NGQ1MGQ3NDBiNmYxNjI5Yzc5ZGFjOTZmZDEzYzk2ZTYzZDc5YjUwLi4y
NTAzYzAyMjM0NmFjMjc2MzZmNWE0ZTExNDI4YzMxNWRmMzNhNjZmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAg
LTQwODEsNiArNDA4MSwxMSBAQCB1c2U/KEdSQVBISUNTX1NVUkZBQ0UpIHsKICAgICB9CiB9CiAK
KyFwcm9kdWN0aW9uX2J1aWxkIHsKKyAgICBIRUFERVJTICs9IHBsYXRmb3JtL3F0L1F0VGVzdFN1
cHBvcnQuaAorICAgIFNPVVJDRVMgKz0gcGxhdGZvcm0vcXQvUXRUZXN0U3VwcG9ydC5jcHAKK30K
KwogQUxMX0lOX09ORV9TT1VSQ0VTICs9IFwKICAgICBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlBbGxJbk9uZS5jcHAgXAogICAgIGluc3BlY3Rvci9JbnNwZWN0b3JBbGxJbk9uZS5jcHAgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnByaQppbmRleCBiM2UzOWRkZmUxMmYzZjNiOWRjZTIwOTBkMmMxMjZhYmJmMzgwZTdj
Li43N2UxN2RkMDJlMGQzOWUxYWEzYWZmOGI3NTNlZmYxY2EwNzRjZWUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBy
aQpAQCAtMjg2LDMgKzI4Niw1IEBAIHVuaXh8d2luMzItZysrKiB7CiAKIGVuYWJsZV9mYXN0X21v
YmlsZV9zY3JvbGxpbmc6IERFRklORVMgKz0gRU5BQkxFX0ZBU1RfTU9CSUxFX1NDUk9MTElORz0x
CiAKKyFwcm9kdWN0aW9uX2J1aWxkOmhhdmU/KEZPTlRDT05GSUcpIFBLR0NPTkZJRyArPSBmb250
Y29uZmlnCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwCmluZGV4IGNhNDUxNTAxNmExMjY2OTU5NjllYWViNWY5ZTk4M2JhM2FmZWI2YjUuLjU2N2Zl
ZjhiMzM2MmJhZGNkYjQzMGYwYzU0YjNjNGNlZTgyODRiYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtMzEsNyArMzEsNyBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBQbGF0Zm9ybVN0cmF0ZWdpZXMqIHNfcGxhdGZv
cm1TdHJhdGVnaWVzOworc3RhdGljIFBsYXRmb3JtU3RyYXRlZ2llcyogc19wbGF0Zm9ybVN0cmF0
ZWdpZXMgPSAwOwogCiBQbGF0Zm9ybVN0cmF0ZWdpZXMqIHBsYXRmb3JtU3RyYXRlZ2llcygpCiB7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdFRlc3RTdXBwb3J0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3F0L1F0VGVzdFN1cHBvcnQuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZhZWRmNjM4ZTc4NDNmYzA3YmNlNjk4NDZkODEyY2Q3NGU3NGY5MWMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdC9RdFRlc3RTdXBwb3J0LmNwcApAQCAt
MCwwICsxLDEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlv
biBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBVbml2
ZXJzaXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIlF0VGVzdFN1cHBvcnQuaCIKKworI2luY2x1ZGUgIkNyb3NzT3JpZ2luUHJl
ZmxpZ2h0UmVzdWx0Q2FjaGUuaCIKKyNpbmNsdWRlICJGb250Q2FjaGUuaCIKKyNpbmNsdWRlICJN
ZW1vcnlDYWNoZS5oIgorI2luY2x1ZGUgIlBhZ2VDYWNoZS5oIgorI2luY2x1ZGUgPFFGb250RGF0
YWJhc2U+CisKKyNpZiBIQVZFKEZPTlRDT05GSUcpCisjaW5jbHVkZSA8UUJ5dGVBcnJheT4KKyNp
bmNsdWRlIDxRRGlyPgorI2luY2x1ZGUgPGZvbnRjb25maWcvZm9udGNvbmZpZy5oPgorI2VuZGlm
CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9p
ZCBRdFRlc3RTdXBwb3J0OjpjbGVhck1lbW9yeUNhY2hlcygpCit7CisgICAgaWYgKCFtZW1vcnlD
YWNoZSgpLT5kaXNhYmxlZCgpKSB7CisgICAgICAgIG1lbW9yeUNhY2hlKCktPnNldERpc2FibGVk
KHRydWUpOworICAgICAgICBtZW1vcnlDYWNoZSgpLT5zZXREaXNhYmxlZChmYWxzZSk7CisgICAg
fQorCisgICAgaW50IHBhZ2VDYXBhY2l0eSA9IFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5jYXBhY2l0
eSgpOworICAgIFdlYkNvcmU6OnBhZ2VDYWNoZSgpLT5zZXRDYXBhY2l0eSgwKTsKKyAgICBXZWJD
b3JlOjpwYWdlQ2FjaGUoKS0+cmVsZWFzZUF1dG9yZWxlYXNlZFBhZ2VzTm93KCk7CisgICAgV2Vi
Q29yZTo6cGFnZUNhY2hlKCktPnNldENhcGFjaXR5KHBhZ2VDYXBhY2l0eSk7CisKKyAgICBXZWJD
b3JlOjpmb250Q2FjaGUoKS0+aW52YWxpZGF0ZSgpOworCisgICAgV2ViQ29yZTo6Q3Jvc3NPcmln
aW5QcmVmbGlnaHRSZXN1bHRDYWNoZTo6c2hhcmVkKCkuZW1wdHkoKTsKK30KKwordm9pZCBRdFRl
c3RTdXBwb3J0Ojppbml0aWFsaXplVGVzdEZvbnRzKCkKK3sKKyNpZiBIQVZFKEZPTlRDT05GSUcp
CisgICAgc3RhdGljIGludCBudW1Gb250cyA9IC0xOworCisgICAgRmNJbml0KCk7CisKKyAgICAv
LyBTb21lIHRlc3QgY2FzZXMgbWF5IGFkZCBvciByZW1vdmUgYXBwbGljYXRpb24gZm9udHMgKHZp
YSBAZm9udC1mYWNlKS4KKyAgICAvLyBNYWtlIHN1cmUgdG8gcmUtaW5pdGlhbGl6ZSB0aGUgZm9u
dCBzZXQgaWYgbmVjZXNzYXJ5LgorICAgIEZjRm9udFNldCogYXBwRm9udFNldCA9IEZjQ29uZmln
R2V0Rm9udHMoMCwgRmNTZXRBcHBsaWNhdGlvbik7CisgICAgaWYgKGFwcEZvbnRTZXQgJiYgbnVt
Rm9udHMgPj0gMCAmJiBhcHBGb250U2V0LT5uZm9udCA9PSBudW1Gb250cykKKyAgICAgICAgcmV0
dXJuOworCisgICAgUUJ5dGVBcnJheSBmb250RGlyID0gZ2V0ZW52KCJXRUJLSVRfVEVTVEZPTlRT
Iik7CisgICAgaWYgKGZvbnREaXIuaXNFbXB0eSgpIHx8ICFRRGlyKFFTdHJpbmc6OmZyb21MYXRp
bjEoZm9udERpcikpLmV4aXN0cygpKSB7CisgICAgICAgIHFGYXRhbCgiXG5cbiIKKyAgICAgICAg
ICAgICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tXG4iCisgICAgICAgICAgICAiV0VCS0lUX1RFU1RGT05UUyBlbnZp
cm9ubWVudCB2YXJpYWJsZSBpcyBub3Qgc2V0IGNvcnJlY3RseS5cbiIKKyAgICAgICAgICAgICJU
aGlzIHZhcmlhYmxlIGhhcyB0byBwb2ludCB0byB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhl
IGZvbnRzXG4iCisgICAgICAgICAgICAieW91IGNhbiBjbG9uZSBmcm9tIGdpdDovL2dpdG9yaW91
cy5vcmcvcXR3ZWJraXQvdGVzdGZvbnRzLmdpdFxuIgorICAgICAgICAgICAgIi0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS1cbiIKKyAgICAgICAgICAgICk7CisgICAgfQorCisgICAgUUJ5dGVBcnJheSBjb25maWdGaWxl
ID0gZm9udERpciArICIvZm9udHMuY29uZiI7CisgICAgRmNDb25maWcqIGNvbmZpZyA9IEZjQ29u
ZmlnQ3JlYXRlKCk7CisgICAgaWYgKCFGY0NvbmZpZ1BhcnNlQW5kTG9hZChjb25maWcsIHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgRmNDaGFyOCo+KGNvbmZpZ0ZpbGUuY29uc3REYXRhKCkpLCBGY1Ry
dWUpKQorICAgICAgICBxRmF0YWwoIkNvdWxkbid0IGxvYWQgZm9udCBjb25maWd1cmF0aW9uIGZp
bGUiKTsKKyAgICBpZiAoIUZjQ29uZmlnQXBwRm9udEFkZERpcihjb25maWcsIHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgRmNDaGFyOCo+KGZvbnREaXIuZGF0YSgpKSkpCisgICAgICAgIHFGYXRhbCgi
Q291bGRuJ3QgYWRkIGZvbnQgZGlyISIpOworICAgIEZjQ29uZmlnU2V0Q3VycmVudChjb25maWcp
OworCisgICAgYXBwRm9udFNldCA9IEZjQ29uZmlnR2V0Rm9udHMoY29uZmlnLCBGY1NldEFwcGxp
Y2F0aW9uKTsKKyAgICBudW1Gb250cyA9IGFwcEZvbnRTZXQtPm5mb250OworCisgICAgV2ViQ29y
ZTo6Zm9udENhY2hlKCktPmludmFsaWRhdGUoKTsKKyAgICBRRm9udERhdGFiYXNlOjpyZW1vdmVB
bGxBcHBsaWNhdGlvbkZvbnRzKCk7CisjZW5kaWYKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vcXQvUXRUZXN0U3VwcG9ydC5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vcXQvUXRUZXN0U3VwcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjNDAyOTM4OWEyM2E4YzI1NmQx
MTE1NDdlY2IwN2FmNjM1ZmIxZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9xdC9RdFRlc3RTdXBwb3J0LmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMSBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWll
cykKKyAqIENvcHlyaWdodCAoQykgMjAxMiBVbml2ZXJzaXR5IG9mIFN6ZWdlZC4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQg
YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi
ZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAq
IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBu
b3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG
cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisgKgorICovCisKKyNpZm5kZWYgUXRUZXN0U3VwcG9ydF9oCisjZGVmaW5lIFF0VGVzdFN1
cHBvcnRfaAorCisjaW5jbHVkZSA8UXRDb3JlL3FnbG9iYWwuaD4KKworI2lmIGRlZmluZWQoQlVJ
TERJTkdfV0VCS0lUKQorI2RlZmluZSBURVNUU1VQUE9SVF9FWFBPUlQgUV9ERUNMX0VYUE9SVAor
I2Vsc2UKKyNkZWZpbmUgVEVTVFNVUFBPUlRfRVhQT1JUIFFfREVDTF9JTVBPUlQKKyNlbmRpZgor
CisvLyBIZWxwZXJzIGZvciB0ZXN0IHJ1bm5lcnMgKER1bXBSZW5kZXJUcmVlIGFuZCBXZWJLaXRU
ZXN0UnVubmVyKS4KKy8vIFRoaXMgaXMgbGl2aW5nIGluIFdlYkNvcmUgZm9yIGJldHRlciBjb2Rl
IHNoYXJpbmcsIGFsdGhvdWdoCisvLyB3ZSBleHBvc2UgaXQgYXMgKHByaXZhdGUpIEFQSSwgc28g
aXQgaXMgcGFydCBvZiB0aGUgV2ViS2l0IGxheWVyLgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
bmFtZXNwYWNlIFF0VGVzdFN1cHBvcnQgeworCitURVNUU1VQUE9SVF9FWFBPUlQgdm9pZCBjbGVh
ck1lbW9yeUNhY2hlcygpOworVEVTVFNVUFBPUlRfRVhQT1JUIHZvaWQgaW5pdGlhbGl6ZVRlc3RG
b250cygpOworCit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWEzMDlkYzFmMWNiMGM2NzZiMWY4ODFlNzNmNzk4OWYy
MjcwMDQxZi4uNGFjMzM3ODkwOGEyMDYxMDQxNGNmMzI3YTUxMzUwZGIzOGY1MTA5NiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMz
IEBACisyMDEyLTExLTAxICBCYWxhenMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBbUXRdW1dLMl0gc2V0UGxhdGZvcm1TdHJhdGVnaWVzIGFsd2F5cyBhc3NlcnRzIGFm
dGVyIHIxMzI3NDQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEwMDgzOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFR1cm5lZCB0ZXN0IHJ1bm5lcnMgdG8gdXNlIHRoZSBuZXcgUXRUZXN0U3VwcG9ydC4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybzoKKyAgICAgICAg
KiBEdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZU1haW4uY3BwOgorICAgICAgICAobWFp
bik6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6b3Blbik6CisgICAgICAgICogUXRUZXN0
QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybzoKKyAgICAgICAgKiBRdFRlc3RCcm93c2VyL3F0dGVz
dGJyb3dzZXIuY3BwOgorICAgICAgICAoTGF1bmNoZXJBcHBsaWNhdGlvbjo6aGFuZGxlVXNlck9w
dGlvbnMpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGFyZ2V0
LnByaToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0FjdGl2
YXRlRm9udHNRdC5jcHA6CisgICAgICAgIChXVFI6OmFjdGl2YXRlRm9udHMpOgorICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvSW5qZWN0ZWRCdW5kbGVRdC5jcHA6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9UZXN0UnVubmVy
UXQuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpwbGF0Zm9ybUluaXRpYWxpemUpOiBS
ZW1vdmVkIHRoZSBjb21tZW50IGZyb20gaGVyZQorICAgICAgICBiZWNhdXNlIGl0IHdhcyBqdXN0
IGx5aW5nLCBhcHBhcmVudGx5IHR3byB0aW1lcy4gRmlyc3QsIGl0IGlzIG5vdCBpbmNvcnJlY3QK
KyAgICAgICAgdG8gcmVpbml0aWFsaXplIG91ciBmb250IHNldCBhbmQgY2xlYXIgZm9udCBjYWNo
ZXMsIGl0IGlzIHdoYXQgdGhlIHRlc3RzCisgICAgICAgIGV4cGVjdC4gU2Vjb25kLCB0aGUgdXNl
IG9mIFFSYXdGb250IGhhcyBub3RoaW5nIHRvIGRvIHdpdGggdGhlIGZvbnQgY2FjaGUuCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9UYXJnZXQucHJpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvcXQvbWFpbi5jcHA6CisgICAgICAgIChtYWluKToKKwogMjAxMi0xMS0wMSAgSmVyIE5v
YmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgTExEQi1QeXRob24gc2Ny
aXB0cyB0byBzdXBwb3J0IFdlYktpdCBkYXRhIHR5cGVzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWUucHJvIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWUucHJvCmluZGV4IDFiOGQ4ZDNkNzdhMGJkZDg5YjQwNjYxODY1Y2Q4
OTE4MThmNWYyNjIuLjBiZDBiMTZhNjdjYWJkOWU1YzMzMzBlOGNlYzVmODk2Yzg1OTQ3NWUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlLnBybworKysg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZS5wcm8KQEAgLTE0LDYgKzE0
LDcgQEAgV0VCS0lUICs9IHd0ZiBqYXZhc2NyaXB0Y29yZSB3ZWJjb3JlCiBJTkNMVURFUEFUSCAr
PSBcCiAgICAgJCRQV0QvIFwKICAgICAkJFBXRC8uLiBcCisgICAgJCR7Uk9PVF9XRUJLSVRfRElS
fS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdCBcCiAgICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0IFwKICAgICAkJHtST09UX1dFQktJVF9ESVJ9
L1NvdXJjZS9XVEYKIApAQCAtMjEsOCArMjIsNiBAQCBRVCA9IGNvcmUgZ3VpIG5ldHdvcmsgdGVz
dGxpYiB3ZWJraXR3aWRnZXRzIHdpZGdldHMKIGhhdmU/KFFUUFJJTlRTVVBQT1JUKTogUVQgKz0g
cHJpbnRzdXBwb3J0CiBtYWN4OiBRVCArPSB4bWwKIAotaGF2ZT8oRk9OVENPTkZJRyk6IFBLR0NP
TkZJRyArPSBmb250Y29uZmlnCi0KIEhFQURFUlMgKz0gXAogICAgICQkUFdELy4uL1dvcmtRdWV1
ZS5oIFwKICAgICAkJFBXRC8uLi9EdW1wUmVuZGVyVHJlZS5oIFwKQEAgLTMyLDcgKzMxLDYgQEAg
SEVBREVSUyArPSBcCiAgICAgV29ya1F1ZXVlSXRlbVF0LmggXAogICAgIFRlc3RSdW5uZXJRdC5o
IFwKICAgICBHQ0NvbnRyb2xsZXJRdC5oIFwKLSAgICBRdEluaXRpYWxpemVUZXN0Rm9udHMuaCBc
CiAgICAgdGVzdHBsdWdpbi5oCiAKIFNPVVJDRVMgKz0gXApAQCAtNDQsNyArNDIsNiBAQCBTT1VS
Q0VTICs9IFwKICAgICBXb3JrUXVldWVJdGVtUXQuY3BwIFwKICAgICBUZXN0UnVubmVyUXQuY3Bw
IFwKICAgICBHQ0NvbnRyb2xsZXJRdC5jcHAgXAotICAgIFF0SW5pdGlhbGl6ZVRlc3RGb250cy5j
cHAgXAogICAgIHRlc3RwbHVnaW4uY3BwIFwKICAgICBEdW1wUmVuZGVyVHJlZU1haW4uY3BwCiAK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlTWFpbi5j
cHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZU1haW4uY3BwCmluZGV4
IDI2MDM2MDE0MmI4NjBkMzViMzI1MjBhNTQxM2RmOWNhYjhkMmM5ZTQuLmFlMDFkYmM5ZGZkZGM3
MTUzNjk4MWFjOTc4M2JlMWIwODgyYzNkYzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL3F0L0R1bXBSZW5kZXJUcmVlTWFpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
cXQvRHVtcFJlbmRlclRyZWVNYWluLmNwcApAQCAtMjksOCArMjksNiBAQAogCiAjaW5jbHVkZSAi
RHVtcFJlbmRlclRyZWVRdC5oIgogCi0jaW5jbHVkZSAiUXRJbml0aWFsaXplVGVzdEZvbnRzLmgi
Ci0KICNpbmNsdWRlIDxxYXBwbGljYXRpb24uaD4KICNpbmNsdWRlIDxxZGVidWcuaD4KICNpbmNs
dWRlIDxxZGlyLmg+CkBAIC0xMTUsOCArMTEzLDYgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIq
IGFyZ3ZbXSkKICAgICBpZiAoc3VwcHJlc3NRdERlYnVnT3V0cHV0KQogICAgICAgICBxSW5zdGFs
bE1lc3NhZ2VIYW5kbGVyKG1lc3NhZ2VIYW5kbGVyKTsKIAotICAgIFdlYktpdDo6aW5pdGlhbGl6
ZVRlc3RGb250cygpOwotCiAgICAgUUFwcGxpY2F0aW9uOjpzZXRTdHlsZShuZXcgUVdpbmRvd3NT
dHlsZSk7CiAgICAgUUFwcGxpY2F0aW9uOjpzZXREZXNrdG9wU2V0dGluZ3NBd2FyZShmYWxzZSk7
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXgg
MGQyOGNiY2MxMTg3ZjVlMTk5NDk5NzkwMDA0YWQzOWJkNzU2OWZjMC4uODE3MzA3MDZhMmNlZmU3
MDhiY2NmZTcwZmMzNjE5ZmUyMmM5Y2Y4NSAxMDA3NTUKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQv
RHVtcFJlbmRlclRyZWVRdC5jcHAKQEAgLTM2LDkgKzM2LDkgQEAKICNpbmNsdWRlICJEdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oIgogI2luY2x1ZGUgIkV2ZW50U2VuZGVyUXQuaCIKICNpbmNsdWRl
ICJHQ0NvbnRyb2xsZXJRdC5oIgorI2luY2x1ZGUgIlF0VGVzdFN1cHBvcnQuaCIKICNpbmNsdWRl
ICJUZXN0UnVubmVyUXQuaCIKICNpbmNsdWRlICJUZXh0SW5wdXRDb250cm9sbGVyUXQuaCIKLSNp
bmNsdWRlICJRdEluaXRpYWxpemVUZXN0Rm9udHMuaCIKICNpbmNsdWRlICJ0ZXN0cGx1Z2luLmgi
CiAjaW5jbHVkZSAiV29ya1F1ZXVlLmgiCiAKQEAgLTQ5LDcgKzQ5LDYgQEAKICNpbmNsdWRlIDxR
RmlsZT4KICNpbmNsdWRlIDxRRmlsZUluZm8+CiAjaW5jbHVkZSA8UUZvY3VzRXZlbnQ+Ci0jaW5j
bHVkZSA8UUZvbnREYXRhYmFzZT4KICNpbmNsdWRlIDxRTGFiZWw+CiAjaW5jbHVkZSA8UUxvY2Fs
ZT4KICNpbmNsdWRlIDxRTmV0d29ya0FjY2Vzc01hbmFnZXI+CkBAIC02MjMsOSArNjIyLDkgQEAg
dm9pZCBEdW1wUmVuZGVyVHJlZTo6b3Blbihjb25zdCBRVXJsJiB1cmwpCiAgICAgUUZvY3VzRXZl
bnQgZXYoUUV2ZW50OjpGb2N1c0luKTsKICAgICBtX3BhZ2UtPmV2ZW50KCZldik7CiAKLSAgICBR
V2ViU2V0dGluZ3M6OmNsZWFyTWVtb3J5Q2FjaGVzKCk7Ci0gICAgUUZvbnREYXRhYmFzZTo6cmVt
b3ZlQWxsQXBwbGljYXRpb25Gb250cygpOwotICAgIFdlYktpdDo6aW5pdGlhbGl6ZVRlc3RGb250
cygpOworICAgIFdlYktpdDo6UXRUZXN0U3VwcG9ydDo6Y2xlYXJNZW1vcnlDYWNoZXMoKTsKKwor
ICAgIFdlYktpdDo6UXRUZXN0U3VwcG9ydDo6aW5pdGlhbGl6ZVRlc3RGb250cygpOwogCiAgICAg
RHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OmR1bXBGcmFtZUxvYWRlcih1cmwudG9TdHJpbmcoKS5j
b250YWlucygibG9hZGluZy8iKSk7CiAgICAgc2V0VGV4dE91dHB1dEVuYWJsZWQodHJ1ZSk7CmRp
ZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJvIGIvVG9vbHMv
UXRUZXN0QnJvd3Nlci9RdFRlc3RCcm93c2VyLnBybwppbmRleCBmNjk2MDZhYjkzOGVjYzhjMDcx
NGEzYjkwOTUxZDNiMjkzNzY3NmU4Li5jNGM0MGNjYmJhOGE3MWI5MzVjZTU1OWNlNjRjYTAxYjNi
ODgxYTAwIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL1F0VGVzdEJyb3dzZXIucHJv
CisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvUXRUZXN0QnJvd3Nlci5wcm8KQEAgLTcsNiArNyw3
IEBACiBURU1QTEFURSA9IGFwcAogCiBJTkNMVURFUEFUSCArPSBcCisgICAgJCR7Uk9PVF9XRUJL
SVRfRElSfS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9xdCBcCiAgICAgJCR7Uk9PVF9XRUJLSVRf
RElSfS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0IFwKICAgICAkJHtST09UX1dFQktJ
VF9ESVJ9L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0LyBcCiAgICAgJCR7Uk9PVF9XRUJLSVRfRElS
fS9Tb3VyY2UvV1RGCmRpZmYgLS1naXQgYS9Ub29scy9RdFRlc3RCcm93c2VyL3F0dGVzdGJyb3dz
ZXIuY3BwIGIvVG9vbHMvUXRUZXN0QnJvd3Nlci9xdHRlc3Ricm93c2VyLmNwcAppbmRleCA2NGNi
MjYxNTNlM2UyMDVmNzk1YzMwMDA1ZGI2NDBjYTFjMGI3NzZlLi5mY2QxM2EyMDRhNDY0Njg2Mjk2
NzZlYTliMDliNmU4NjRhZDhlMThjIDEwMDY0NAotLS0gYS9Ub29scy9RdFRlc3RCcm93c2VyL3F0
dGVzdGJyb3dzZXIuY3BwCisrKyBiL1Rvb2xzL1F0VGVzdEJyb3dzZXIvcXR0ZXN0YnJvd3Nlci5j
cHAKQEAgLTMxLDcgKzMxLDcgQEAKICAqLwogCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuaCIKLSNpbmNsdWRlICJRdEluaXRpYWxpemVUZXN0Rm9udHMuaCIKKyNpbmNsdWRlICJR
dFRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSAibGF1bmNoZXJ3aW5kb3cuaCIKICNpbmNsdWRlICJ1
cmxsb2FkZXIuaCIKIApAQCAtMjQxLDcgKzI0MSw3IEBAIHZvaWQgTGF1bmNoZXJBcHBsaWNhdGlv
bjo6aGFuZGxlVXNlck9wdGlvbnMoKQogI2VuZGlmCiAKICAgICBpZiAoYXJncy5jb250YWlucygi
LXVzZS10ZXN0LWZvbnRzIikpCi0gICAgICAgIFdlYktpdDo6aW5pdGlhbGl6ZVRlc3RGb250cygp
OworICAgICAgICBXZWJLaXQ6OlF0VGVzdFN1cHBvcnQ6OmluaXRpYWxpemVUZXN0Rm9udHMoKTsK
IAogICAgIGlmIChhcmdzLmNvbnRhaW5zKCItcHJpbnQtbG9hZGVkLXVybHMiKSkKICAgICAgICAg
d2luZG93T3B0aW9ucy5wcmludExvYWRlZFVybHMgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UYXJnZXQucHJpIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UYXJnZXQucHJpCmluZGV4IGE0NmI5MzAwZDljNzVl
N2E0OWNkYTU3ZTc0NWYxNzM5MGUxODcyODkuLjRhZDYwN2IzYjk0NmQwMTU4MmUzYmU1ZWJkMDdi
ZGQ0ZjVjYmYxOTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGFyZ2V0LnByaQorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL1RhcmdldC5wcmkKQEAgLTYyLDYgKzYyLDcgQEAgSU5DTFVERVBBVEggKz0gXAogICAgICQk
UFdEIFwKICAgICAkJFBXRC8uLiBcCiAgICAgJCRQV0QvQmluZGluZ3MgXAorICAgICQke1JPT1Rf
V0VCS0lUX0RJUn0vU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vcXQgXAogICAgICQke1JPT1RfV0VC
S0lUX0RJUn0vU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcyBcCiAgICAgJCR7Uk9PVF9XRUJLSVRf
RElSfS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvQWN0aXZhdGVGb250c1F0LmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvcXQvQWN0aXZhdGVGb250c1F0
LmNwcAppbmRleCA3ODllMjE3N2YzZTQ2Mjg5ZWI0Yjg0Y2FiZGEyYmUwMDQyMTBkZGExLi4zMzJm
ZmNmMDJhN2E0NzAyNGVkYmRhMGJmYjllY2NiODg3NjU3M2ZiIDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L0FjdGl2YXRlRm9udHNRdC5jcHAKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9xdC9BY3RpdmF0ZUZvbnRz
UXQuY3BwCkBAIC0zMCwxNCArMzAsMTQgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJBY3RpdmF0ZUZvbnRzLmgiCiAjaW5jbHVkZSAiRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCIK
LSNpbmNsdWRlICJRdEluaXRpYWxpemVUZXN0Rm9udHMuaCIKKyNpbmNsdWRlICJRdFRlc3RTdXBw
b3J0LmgiCiAjaW5jbHVkZSA8UUNvcmVBcHBsaWNhdGlvbj4KIAogbmFtZXNwYWNlIFdUUiB7CiAK
IHZvaWQgYWN0aXZhdGVGb250cygpCiB7Ci0gICAgV2ViS2l0Ojppbml0aWFsaXplVGVzdEZvbnRz
KCk7CisgICAgV2ViS2l0OjpRdFRlc3RTdXBwb3J0Ojppbml0aWFsaXplVGVzdEZvbnRzKCk7CiAg
ICAgUUNvcmVBcHBsaWNhdGlvbjo6c2V0QXR0cmlidXRlKFF0OjpBQV9Vc2U5NkRwaSwgdHJ1ZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
cXQvVGVzdFJ1bm5lclF0LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvcXQvVGVzdFJ1bm5lclF0LmNwcAppbmRleCBmNWQxNDliM2RjMmUyZmNjNzE5MGZiNTNiMzU2
NDFmN2M2NzkwNDM5Li4xNjcxYWM3M2JhZTQ1Nzc3NDIyZDA2ZmRiNmVjODliMGYxOWYyZjVjIDEw
MDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL3F0L1Rlc3RS
dW5uZXJRdC5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9x
dC9UZXN0UnVubmVyUXQuY3BwCkBAIC0yOSwxMCArMjksMTIgQEAKIAogI2luY2x1ZGUgIkFjdGl2
YXRlRm9udHMuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgIlF0VGVz
dFN1cHBvcnQuaCIKICNpbmNsdWRlIDxRQ29yZUFwcGxpY2F0aW9uPgogI2luY2x1ZGUgPFFEaXI+
CiAjaW5jbHVkZSA8UUZvbnREYXRhYmFzZT4KICNpbmNsdWRlIDxRT2JqZWN0PgorI2luY2x1ZGUg
PFF0Q29yZS9xZ2xvYmFsLmg+CiAjaW5jbHVkZSA8cXdlYnNldHRpbmdzLmg+CiAKIG5hbWVzcGFj
ZSBXVFIgewpAQCAtNTksMTMgKzYxLDkgQEAgcHJpdmF0ZToKIAogdm9pZCBUZXN0UnVubmVyOjpw
bGF0Zm9ybUluaXRpYWxpemUoKQogewotICAgIC8vIE1ha2UgV2ViS2l0MiBtaW1pYyB0aGUgYmVo
YXZpb3VyIG9mIER1bXBSZW5kZXJUcmVlLCB3aGljaCBpcyBpbmNvcnJlY3QsCi0gICAgLy8gYnV0
IHRlc3RzIGFyZSBzdWNjZXNzZnVsbHkgcGFzc2VkLiBPbiB0aGUgbG9uZyBydW4sIFF0IHdpbGwg
bW92ZSB0byBRUmF3Rm9udCwKLSAgICAvLyB3aGljaCBtYWtlcyB0aGUgdXNlIG9mIFFGb250RGF0
YWJhc2UgdW5uZWNlc3NhcnkuCi0gICAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01MzQyNwotICAgIFFXZWJTZXR0aW5nczo6Y2xlYXJNZW1vcnlDYWNoZXMo
KTsKLSAgICBRRm9udERhdGFiYXNlOjpyZW1vdmVBbGxBcHBsaWNhdGlvbkZvbnRzKCk7CisgICAg
V2ViS2l0OjpRdFRlc3RTdXBwb3J0OjpjbGVhck1lbW9yeUNhY2hlcygpOwogICAgIGFjdGl2YXRl
Rm9udHMoKTsKKwogICAgIFFPYmplY3Q6OmNvbm5lY3QoJm1fd2FpdFRvRHVtcFdhdGNoZG9nVGlt
ZXIsIFNJR05BTCh0aW1lb3V0KCkpLCBXYXRjaGRvZ1RpbWVySGVscGVyOjppbnN0YW5jZSgpLCBT
TE9UKHRpbWVyRmlyZWQoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL1RhcmdldC5wcmkgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1RhcmdldC5wcmkKaW5kZXgg
MTIwYTAyN2NlM2MzYTY2NDBlNGExOGYxNzY1YTZlNzMwZTg1N2I1NS4uYWZhNmI2YzhhMDAxZTQz
YWUyYjQwN2VjMDVmMDJmMzk1YWM5MTBkMyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UYXJnZXQucHJpCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGFyZ2V0LnByaQpA
QCAtOCw3ICs4LDYgQEAgVEVNUExBVEUgPSBhcHAKIFRBUkdFVCA9IFdlYktpdFRlc3RSdW5uZXIK
IAogSEVBREVSUyArPSBcCi0gICAgJCR7Uk9PVF9XRUJLSVRfRElSfS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9xdC9RdEluaXRpYWxpemVUZXN0Rm9udHMuaCBcCiAgICAgRXZlbnRTZW5kZXJQcm94eS5o
IFwKICAgICBHZW9sb2NhdGlvblByb3ZpZGVyTW9jay5oIFwKICAgICBQbGF0Zm9ybVdlYlZpZXcu
aCBcCkBAIC0xOSw3ICsxOCw2IEBAIEhFQURFUlMgKz0gXAogICAgIFdvcmtRdWV1ZU1hbmFnZXIu
aAogCiBTT1VSQ0VTICs9IFwKLSAgICAkJHtST09UX1dFQktJVF9ESVJ9L1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL3F0L1F0SW5pdGlhbGl6ZVRlc3RGb250cy5jcHAgXAogICAgIHF0L21haW4uY3BwIFwK
ICAgICBxdC9FdmVudFNlbmRlclByb3h5UXQuY3BwIFwKICAgICBxdC9QbGF0Zm9ybVdlYlZpZXdR
dC5jcHAgXApAQCAtMzksOCArMzcsNiBAQCBXRUJLSVQgKz0gd3RmIGphdmFzY3JpcHRjb3JlIHdl
YmtpdDIKIAogREVGSU5FUyArPSBVU0VfU1lTVEVNX01BTExPQz0xCiAKLWhhdmU/KEZPTlRDT05G
SUcpOiBQS0dDT05GSUcgKz0gZm9udGNvbmZpZwotCiBJTkNMVURFUEFUSCArPSBcCiAgICAgJCRQ
V0QgXAogICAgICQke1JPT1RfV0VCS0lUX0RJUn0vVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL3F0L21haW4uY3BwCmluZGV4IDMxYjc1MDY4MTI1MDM1MzFhN2IwZmUzNDcx
Y2ZkOTJmMGNhYTg1YjkuLjNjOWQzMTFjOTg0MTUxYzEyZGZhYTQ2YjdkYjU4ZTE0NGZlNTM5ZTEg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvbWFpbi5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9tYWluLmNwcApAQCAtMjYsNyArMjYsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpbmNsdWRlICJRdEluaXRpYWxpemVUZXN0Rm9udHMuaCIKKyNp
bmNsdWRlICJRdFRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSAiVGVzdENvbnRyb2xsZXIuaCIKICNp
bmNsdWRlICJxcXVpY2t3ZWJ2aWV3X3AuaCIKIApAQCAtMTE5LDcgKzExOSw3IEBAIGludCBtYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKIAogICAgIHFwdXRlbnYoIlFUX1dFQktJVF9USEVNRV9O
QU1FIiwgInFzdHlsZSIpOwogCi0gICAgV2ViS2l0Ojppbml0aWFsaXplVGVzdEZvbnRzKCk7Cisg
ICAgV2ViS2l0OjpRdFRlc3RTdXBwb3J0Ojppbml0aWFsaXplVGVzdEZvbnRzKCk7CiAgICAgUUNv
cmVBcHBsaWNhdGlvbjo6c2V0QXR0cmlidXRlKFF0OjpBQV9Vc2U5NkRwaSwgdHJ1ZSk7CiAKICAg
ICBRUXVpY2tXZWJWaWV3RXhwZXJpbWVudGFsOjpzZXRGbGlja2FibGVWaWV3cG9ydEVuYWJsZWQo
ZmFsc2UpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>