<?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>126296</bug_id>
          
          <creation_ts>2013-12-30 10:23:37 -0800</creation_ts>
          <short_desc>Remove hardcoded composition background color; use RenderStyle::compositionFillColor()</short_desc>
          <delta_ts>2014-09-10 17:35:10 -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>WONTFIX</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="Daniel Bates">dbates</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>enrica</cc>
    
    <cc>sam</cc>
    
    <cc>svillar</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>963342</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2013-12-30 10:23:37 -0800</bug_when>
    <thetext>We should remove the hardcoded composition background color in InlineTextBox::paintCompositionBackground(), &lt;http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineTextBox.cpp?rev=160951#L792&gt; used by non-iOS ports. Instead we should always query RenderStyle::compositionFillColor() for this color. We may also need to support a platform-specific default composition background color.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972129</commentid>
    <comment_count>1</comment_count>
      <attachid>222250</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-25 21:16:54 -0800</bug_when>
    <thetext>Created attachment 222250
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972130</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-01-25 21:18:06 -0800</bug_when>
    <thetext>I&apos;m not convinced -webkit-composition-fill-color is needed at all, but if it is, we should support it everywhere.  If not, we should keep the RenderTheme part of this patch and remove the rest.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>972442</commentid>
    <comment_count>3</comment_count>
      <attachid>222250</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-01-27 10:01:55 -0800</bug_when>
    <thetext>Comment on attachment 222250
Patch

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

&gt; Source/WebCore/css/CSSComputedStyleDeclaration.cpp:2640
&gt; +        case CSSPropertyWebkitCompositionFillColor: {
&gt; +            if (!style-&gt;compositionFillColor().isValid())
&gt; +                return cssValuePool().createColorValue(m_node-&gt;document().renderView()-&gt;theme().compositionFillColor().rgb());
&gt; +            return cssValuePool().createColorValue(style-&gt;compositionFillColor().rgb());
&gt; +        }

No need for these braces.

I can’t find any other code in this function that dereferences renderView(); do we have a solid guarantee that it’s non-null?

Is there a good reason to use m_node-&gt;document() rather than styledNode-&gt;document()?

&gt; Source/WebCore/platform/graphics/Color.h:-156
&gt; -    static const RGBA32 tap = 0x4D1A1A1A;

Obviously didn’t belong here, but where is the tap color now?

&gt; Source/WebCore/platform/graphics/Color.h:156
&gt;  
&gt;  private:

Looks like we are leaving an extra blank line behind here.

&gt; Source/WebCore/rendering/style/RenderStyle.h:1446
&gt; +    void setCompositionFillColor(const Color &amp;c) { SET_VAR(rareInheritedData, compositionFillColor, c); }

Move the &quot;&amp;&quot; next to Color, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1034486</commentid>
    <comment_count>4</comment_count>
    <who name="Enrica Casucci">enrica</who>
    <bug_when>2014-09-10 17:35:10 -0700</bug_when>
    <thetext>The property has been removed in revision 173499.
This patch is no longer applicable.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222250</attachid>
            <date>2014-01-25 21:16:54 -0800</date>
            <delta_ts>2014-01-27 10:01:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126296-20140125211654.patch</filename>
            <type>text/plain</type>
            <size>16908</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mjc5MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDE0LTAxLTI1ICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIGhhcmRjb2RlZCBjb21wb3Np
dGlvbiBiYWNrZ3JvdW5kIGNvbG9yOyB1c2UgUmVuZGVyU3R5bGU6OmNvbXBvc2l0aW9uRmlsbENv
bG9yKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NjI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Y3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b21wdXRlZFN0eWxlRXh0cmFjdG9yOjpwcm9wZXJ0eVZhbHVlKToKKyAgICAgICAgKiBjc3MvQ1NT
UGFyc2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6cGFyc2VWYWx1ZSk6Cisg
ICAgICAgICogY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgICogY3NzL1N0eWxlUmVz
b2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0
eSk6CisgICAgICAgICogZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwOgorICAgICAgICAqIHJlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXRlZERhdGEpOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSYXJlSW5oZXJpdGVkRGF0YTo6b3BlcmF0b3I9PSk6CisgICAgICAg
ICogcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEuaDoKKyAgICAgICAgUmVt
b3ZlICNpZmRlZnMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9Db2xvci5oOgorICAg
ICAgICBSZW1vdmUgbm93IHVudXNlZCBjb25zdGFudHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVUZXh0Qm94OjpwYWlu
dENvbXBvc2l0aW9uQmFja2dyb3VuZCk6CisgICAgICAgIFJlbW92ZSAjaWZkZWZzIGFuZCBzd2l0
Y2ggdG8gUmVuZGVyVGhlbWUgYmFzZWQgYXBwcm9hY2ggZm9yIHRoZSBkZWZhdWx0IGNvbG9yLgor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclRoZW1lOjpjb21wb3NpdGlvbkZpbGxDb2xvcik6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclRoZW1lLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLm1tOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyVGhlbWVJT1M6OmNvbXBvc2l0aW9uRmlsbENvbG9yKToKKyAgICAgICAgTWFrZSBjb21w
b3NpdGlvbkZpbGxDb2xvciB0aGVtZS1hYmxlLgorIAorICAgICAgICAqIHJlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oOgorICAgICAgICBSZW1vdmUgI2lmZGVmcyBhbmQgc3dpdGNoIHRoZSBp
bml0aWFsIGNvbXBvc2l0aW9uRmlsbENvbG9yIHRvIGJlIHRoZSBpbnZhbGlkIGNvbG9yCisgICAg
ICAgIHRvIGFsbG93IGRlZmF1bHRpbmcgdG8gdGhlIHRoZW1lLgorCiAyMDE0LTAxLTI1ICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgU3VicGl4ZWwgbGF5b3V0OiBS
ZW5kZXJJbmxpbmUgaXMgbm90IGNlbnRlcmVkIHdoZW4gY2hpbGQgUmVuZGVyVGV4dENvbnRyb2wn
cyBpbm5lclRleHRSZW5kZXJlciBuZWVkcyBiaWFzIGNlbnRlcmluZy4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCShyZXZp
c2lvbiAxNjI3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIlJl
Y3QuaCIKICNpbmNsdWRlICJSZW5kZXJCb3guaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgor
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1
ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKQEAgLTMz
MywxMSArMzM0LDggQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29tcHV0ZWRQcm9wZQog
ICAgIENTU1Byb3BlcnR5V2Via2l0UnRsT3JkZXJpbmcsCiAjaWYgUExBVEZPUk0oSU9TKQogICAg
IENTU1Byb3BlcnR5V2Via2l0VG91Y2hDYWxsb3V0LAotCi0gICAgLy8gRklYTUU6IFRoaXMgcHJv
cGVydHkgc2hvdWxkbid0IGJlIGlPUy1zcGVjaWZpYy4gT25jZSB3ZSBmaXggdXAgaXRzIHVzYWdl
IGluIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKCkKLSAgICAvLyB3
ZSBzaG91bGQgbW92ZSBpdCBvdXRzaWRlIHRoZSBQTEFURk9STShJT1MpLWd1YXJkLiBTZWUgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYyOTY+LgotICAgIENTU1By
b3BlcnR5V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3IsCiAjZW5kaWYKKyAgICBDU1NQcm9wZXJ0
eVdlYmtpdENvbXBvc2l0aW9uRmlsbENvbG9yLAogI2lmIEVOQUJMRShDU1NfU0hBUEVTKQogICAg
IENTU1Byb3BlcnR5V2Via2l0U2hhcGVJbnNpZGUsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRTaGFw
ZU91dHNpZGUsCkBAIC0yNjM1LDEyICsyNjMzLDExIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENv
bXB1dGVkU3R5bGVFeHRyYWMKICAgICAgICAgfQogICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0UnRsT3JkZXJpbmc6CiAgICAgICAgICAgICByZXR1cm4gY3NzVmFsdWVQb29sKCkuY3JlYXRl
SWRlbnRpZmllclZhbHVlKHN0eWxlLT5ydGxPcmRlcmluZygpID8gQ1NTVmFsdWVWaXN1YWwgOiBD
U1NWYWx1ZUxvZ2ljYWwpOwotI2lmIFBMQVRGT1JNKElPUykKLSAgICAgICAgLy8gRklYTUU6IFRo
aXMgcHJvcGVydHkgc2hvdWxkbid0IGJlIGlPUy1zcGVjaWZpYy4gT25jZSB3ZSBmaXggdXAgaXRz
IHVzYWdlIGluIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKCkKLSAg
ICAgICAgLy8gd2Ugc2hvdWxkIHJlbW92ZSB0aGUgUExBVEZPUk0oSU9TKS1ndWFyZC4gU2VlIDxo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2Mjk2Pi4KLSAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbXBvc2l0aW9uRmlsbENvbG9yOgotICAgICAgICAgICAg
cmV0dXJuIGN1cnJlbnRDb2xvck9yVmFsaWRDb2xvcihzdHlsZS5nZXQoKSwgc3R5bGUtPmNvbXBv
c2l0aW9uRmlsbENvbG9yKCkpOwotI2VuZGlmCisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRDb21wb3NpdGlvbkZpbGxDb2xvcjogeworICAgICAgICAgICAgaWYgKCFzdHlsZS0+Y29tcG9z
aXRpb25GaWxsQ29sb3IoKS5pc1ZhbGlkKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGNzc1Zh
bHVlUG9vbCgpLmNyZWF0ZUNvbG9yVmFsdWUobV9ub2RlLT5kb2N1bWVudCgpLnJlbmRlclZpZXco
KS0+dGhlbWUoKS5jb21wb3NpdGlvbkZpbGxDb2xvcigpLnJnYigpKTsKKyAgICAgICAgICAgIHJl
dHVybiBjc3NWYWx1ZVBvb2woKS5jcmVhdGVDb2xvclZhbHVlKHN0eWxlLT5jb21wb3NpdGlvbkZp
bGxDb2xvcigpLnJnYigpKTsKKyAgICAgICAgfQogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAg
ICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUYXBIaWdobGlnaHRDb2xvcjoKICAgICAgICAg
ICAgIHJldHVybiBjdXJyZW50Q29sb3JPclZhbGlkQ29sb3Ioc3R5bGUuZ2V0KCksIHN0eWxlLT50
YXBIaWdobGlnaHRDb2xvcigpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZp
c2lvbiAxNjI3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjcyOCwxMSArMjcyOCw2IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVl
KENTU1Byb3BlcnR5SUQKICAgICAgICAgICAgIHJldHVybiBwYXJzZURhc2hib2FyZFJlZ2lvbnMo
cHJvcElkLCBpbXBvcnRhbnQpOwogICAgICAgICBicmVhazsKICNlbmRpZgotCi0jaWYgUExBVEZP
Uk0oSU9TKQotICAgIC8vIEZJWE1FOiBDU1NQcm9wZXJ0eVdlYmtpdENvbXBvc2l0aW9uRmlsbENv
bG9yIHNob3VsZG4ndCBiZSBpT1Mtc3BlY2lmaWMuIE9uY2Ugd2UgZml4IHVwIGl0cyB1c2FnZSBp
bgotICAgIC8vIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRpb25CYWNrZ3JvdW5kKCkgd2Ug
c2hvdWxkIG1vdmUgaXQgb3V0c2lkZSB0aGUgUExBVEZPUk0oSU9TKS1ndWFyZC4KLSAgICAvLyBT
ZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjYyOTY+LgogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb21wb3NpdGlvbkZpbGxDb2xvcjoKICAgICAgICAgaWYg
KChpZCA+PSBDU1NWYWx1ZUFxdWEgJiYgaWQgPD0gQ1NTVmFsdWVXaW5kb3d0ZXh0KSB8fCBpZCA9
PSBDU1NWYWx1ZU1lbnUKICAgICAgICAgICAgIHx8IChpZCA+PSBDU1NWYWx1ZVdlYmtpdEZvY3Vz
UmluZ0NvbG9yICYmIGlkIDwgQ1NTVmFsdWVXZWJraXRUZXh0ICYmIGluUXVpcmtzTW9kZSgpKSkg
ewpAQCAtMjc0Myw2ICsyNzM4LDcgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoQ1NTUHJv
cGVydHlJRAogICAgICAgICAgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CiAgICAgICAgIH0K
ICAgICAgICAgYnJlYWs7CisjaWYgUExBVEZPUk0oSU9TKQogICAgIGNhc2UgQ1NTUHJvcGVydHlX
ZWJraXRUb3VjaENhbGxvdXQ6CiAgICAgICAgIGlmIChpZCA9PSBDU1NWYWx1ZURlZmF1bHQgfHwg
aWQgPT0gQ1NTVmFsdWVOb25lKQogICAgICAgICAgICAgdmFsaWRQcmltaXRpdmUgPSB0cnVlOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TmFtZXMuaW4JKHJldmlzaW9uIDE2Mjc4
NykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTAsNiArMjkwLDcgQEAgei1pbmRleAogLXdlYmtpdC1hbGlnbi1jb250ZW50CiAt
d2Via2l0LWFsaWduLWl0ZW1zCiAtd2Via2l0LWFsaWduLXNlbGYKKy13ZWJraXQtY29tcG9zaXRp
b24tZmlsbC1jb2xvciBbSW5oZXJpdGVkXQogLXdlYmtpdC1mbGV4CiAtd2Via2l0LWZsZXgtYmFz
aXMKIC13ZWJraXQtZmxleC1kaXJlY3Rpb24KQEAgLTQ2MCw4ICs0NjEsNCBAQCB1c2VyLXpvb20K
ICNlbmRpZgogI2lmIGRlZmluZWQoV1RGX1BMQVRGT1JNX0lPUykgJiYgV1RGX1BMQVRGT1JNX0lP
UwogLXdlYmtpdC10b3VjaC1jYWxsb3V0IFtJbmhlcml0ZWRdCi0KLS8vIEZJWE1FOiBUaGlzIHBy
b3BlcnR5IHNob3VsZG4ndCBiZSBpT1Mtc3BlY2lmaWMuIE9uY2Ugd2UgZml4IHVwIGl0cyB1c2Fn
ZSBpbiBJbmxpbmVUZXh0Qm94OjpwYWludENvbXBvc2l0aW9uQmFja2dyb3VuZCgpCi0vLyB3ZSBz
aG91bGQgbW92ZSBpdCBvdXRzaWRlIHRoZSBXVEZfUExBVEZPUk1fSU9TLWd1YXJkLgotLXdlYmtp
dC1jb21wb3NpdGlvbi1maWxsLWNvbG9yIFtJbmhlcml0ZWRdCiAjZW5kaWYKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAJKHJldmlzaW9uIDE2Mjc4NykKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjU3MSw2ICsy
NTcxLDEzIEBAIHZvaWQgU3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm8KICAgICAg
ICAgICAgIHN0YXRlLnN0eWxlKCktPnNldFBlcnNwZWN0aXZlKHBlcnNwZWN0aXZlVmFsdWUpOwog
ICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb21wb3Np
dGlvbkZpbGxDb2xvcjogeworICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChjb21w
b3NpdGlvbkZpbGxDb2xvciwgQ29tcG9zaXRpb25GaWxsQ29sb3IpOworICAgICAgICBpZiAoIXBy
aW1pdGl2ZVZhbHVlKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIHN0YXRlLnN0eWxlKCkt
PnNldENvbXBvc2l0aW9uRmlsbENvbG9yKGNvbG9yRnJvbVByaW1pdGl2ZVZhbHVlKHByaW1pdGl2
ZVZhbHVlKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAjaWYgUExBVEZPUk0oSU9TKQogICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUb3VjaENhbGxvdXQ6IHsKICAgICAgICAgSEFORExFX0lO
SEVSSVRfQU5EX0lOSVRJQUwodG91Y2hDYWxsb3V0RW5hYmxlZCwgVG91Y2hDYWxsb3V0RW5hYmxl
ZCk7CkBAIC0yNTgxLDE2ICsyNTg4LDYgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVByb3Bl
cnR5KENTU1BybwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IENTU1By
b3BlcnR5V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3Igc2hvdWxkbid0IGJlIGlPUy1zcGVjaWZp
Yy4gT25jZSB3ZSBmaXggdXAgaXRzIHVzYWdlIGluCi0gICAgLy8gSW5saW5lVGV4dEJveDo6cGFp
bnRDb21wb3NpdGlvbkJhY2tncm91bmQoKSB3ZSBzaG91bGQgbW92ZSBpdCBvdXRzaWRlIHRoZSBQ
TEFURk9STShJT1MpLWd1YXJkLgotICAgIC8vIFNlZSA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNjI5Nj4uCi0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbXBv
c2l0aW9uRmlsbENvbG9yOiB7Ci0gICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMKGNv
bXBvc2l0aW9uRmlsbENvbG9yLCBDb21wb3NpdGlvbkZpbGxDb2xvcik7Ci0gICAgICAgIGlmICgh
cHJpbWl0aXZlVmFsdWUpCi0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgc3RhdGUuc3R5bGUo
KS0+c2V0Q29tcG9zaXRpb25GaWxsQ29sb3IoY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUocHJpbWl0
aXZlVmFsdWUpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICNlbmRpZgogI2lmIEVOQUJMRShU
T1VDSF9FVkVOVFMpCiAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRhcEhpZ2hsaWdodENvbG9y
OiB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0aW5nU3R5bGUuY3BwCShyZXZpc2lv
biAxNjI3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRpbmdTdHlsZS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTczLDggKzczLDggQEAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
ZWRpdGluZ1Byb3BlcgogICAgIENTU1Byb3BlcnR5V29yZFNwYWNpbmcsCiAjaWYgUExBVEZPUk0o
SU9TKQogICAgIENTU1Byb3BlcnR5V2Via2l0VGFwSGlnaGxpZ2h0Q29sb3IsCi0gICAgQ1NTUHJv
cGVydHlXZWJraXRDb21wb3NpdGlvbkZpbGxDb2xvciwKICNlbmRpZgorICAgIENTU1Byb3BlcnR5
V2Via2l0Q29tcG9zaXRpb25GaWxsQ29sb3IsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RGVj
b3JhdGlvbnNJbkVmZmVjdCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRGaWxsQ29sb3IsCiAj
aWYgRU5BQkxFKElPU19URVhUX0FVVE9TSVpJTkcpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9Db2xvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbG9yLmgJKHJldmlzaW9uIDE2Mjc4NykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MiwxMyArMTUy
LDYgQEAgcHVibGljOgogICAgIHN0YXRpYyBjb25zdCBSR0JBMzIgdHJhbnNwYXJlbnQgPSAweDAw
MDAwMDAwOwogICAgIHN0YXRpYyBjb25zdCBSR0JBMzIgY3lhbiA9IDB4RkYwMEZGRkY7CiAKLSNp
ZiBQTEFURk9STShJT1MpCi0gICAgc3RhdGljIGNvbnN0IFJHQkEzMiB0YXAgPSAweDREMUExQTFB
OwotCi0gICAgLy8gRklYTUU6IFRoaXMgY29sb3Igc2hvdWxkbid0IGJlIGlPUy1zcGVjaWZpYy4g
T25jZSB3ZSBmaXggdXAgaXRzIHVzYWdlIGluIElubGluZVRleHRCb3g6OnBhaW50Q29tcG9zaXRp
b25CYWNrZ3JvdW5kKCkKLSAgICAvLyB3ZSBzaG91bGQgbW92ZSBpdCBvdXRzaWRlIHRoZSBQTEFU
Rk9STShJT1MpLWd1YXJkLiBTZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMjYyOTY+LgotICAgIHN0YXRpYyBjb25zdCBSR0JBMzIgY29tcG9zaXRpb25GaWxsID0g
MHgzQ0FGQzBFMzsKLSNlbmRpZgogCiBwcml2YXRlOgogICAgIFJHQkEzMiBtX2NvbG9yOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcAkocmV2aXNpb24g
MTYyNzg3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03OTgsMTMgKzc5OCw5IEBAIHZvaWQgSW5saW5lVGV4dEJveDo6cGFp
bnRDb21wb3NpdGlvbkJhY2sKIAogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRlU2F2ZXIgc3RhdGVT
YXZlcigqY29udGV4dCk7CiAKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIC8vIEZJWE1FOiBJcyB0
aGlzIGNvbG9yIHN0aWxsIGFwcGxpY2FibGUgYXMgb2YgTWF2ZXJpY2tzPyBmb3Igbm9uLU1hYyBw
b3J0cz8gV2Ugc2hvdWxkCi0gICAgLy8gYmUgYWJsZSB0byBtb3ZlIHRoaXMgY29sb3IgaW5mb3Jt
YXRpb24gdG8gUmVuZGVyU3R5bGUuCi0gICAgQ29sb3IgYyA9IENvbG9yKDIyNSwgMjIxLCA4NSk7
Ci0jZWxzZQogICAgIENvbG9yIGMgPSBzdHlsZS5jb21wb3NpdGlvbkZpbGxDb2xvcigpOwotI2Vu
ZGlmCisgICAgaWYgKCFjLmlzVmFsaWQoKSkKKyAgICAgICAgYyA9IHJlbmRlcmVyKCkudGhlbWUo
KS5jb21wb3NpdGlvbkZpbGxDb2xvcigpOwogICAgIAogICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4
dCgqY29udGV4dCwgVGV4dFBhaW50U3R5bGUoYywgc3R5bGUuY29sb3JTcGFjZSgpKSk7IC8vIERv
bid0IGRyYXcgdGV4dCBhdCBhbGwhCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUaGVtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRoZW1lLmNwcAkocmV2aXNpb24gMTYyNzg3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRoZW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIxOCw2ICsxMjE4LDExIEBA
IENvbG9yIFJlbmRlclRoZW1lOjpwbGF0Zm9ybUluYWN0aXZlVGV4dFMKICAgICByZXR1cm4gQ29s
b3IoMjU1LCAyNTUsIDApOyAvLyBZZWxsb3cuCiB9CiAKK0NvbG9yIFJlbmRlclRoZW1lOjpjb21w
b3NpdGlvbkZpbGxDb2xvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIENvbG9yKDIyNSwgMjIxLCA4
NSk7Cit9CisKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogQ29sb3IgUmVuZGVyVGhlbWU6OnRh
cEhpZ2hsaWdodENvbG9yKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUaGVtZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
aGVtZS5oCShyZXZpc2lvbiAxNjI3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWUuaAkod29ya2luZyBjb3B5KQpAQCAtMTU2LDYgKzE1Niw4IEBAIHB1YmxpYzoKIAog
ICAgIHZpcnR1YWwgQ29sb3IgZGlzYWJsZWRUZXh0Q29sb3IoY29uc3QgQ29sb3ImIHRleHRDb2xv
ciwgY29uc3QgQ29sb3ImIGJhY2tncm91bmRDb2xvcikgY29uc3Q7CiAKKyAgICB2aXJ0dWFsIENv
bG9yIGNvbXBvc2l0aW9uRmlsbENvbG9yKCkgY29uc3Q7CisKICAgICBzdGF0aWMgQ29sb3IgZm9j
dXNSaW5nQ29sb3IoKTsKICAgICB2aXJ0dWFsIENvbG9yIHBsYXRmb3JtRm9jdXNSaW5nQ29sb3Io
KSBjb25zdCB7IHJldHVybiBDb2xvcigwLCAwLCAwKTsgfQogICAgIHN0YXRpYyB2b2lkIHNldEN1
c3RvbUZvY3VzUmluZ0NvbG9yKGNvbnN0IENvbG9yJik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGhlbWVJT1MuaAkocmV2aXNpb24gMTYyNzg3KQorKysgU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lSU9TLmgJKHdvcmtpbmcgY29weSkKQEAgLTk4LDYg
Kzk4LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgQ29sb3IgcGxhdGZvcm1BY3RpdmVTZWxl
Y3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIENvbG9y
IHBsYXRmb3JtSW5hY3RpdmVTZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdCBvdmVycmlk
ZTsKIAorICAgIHZpcnR1YWwgQ29sb3IgY29tcG9zaXRpb25GaWxsQ29sb3IoKSBjb25zdCBvdmVy
cmlkZTsKKwogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgdmlydHVhbCBDb2xvciBwbGF0
Zm9ybVRhcEhpZ2hsaWdodENvbG9yKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gMHg0RDFBMUEx
QTsgfQogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhlbWVJ
T1MubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1l
SU9TLm1tCShyZXZpc2lvbiAxNjI3ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGhlbWVJT1MubW0JKHdvcmtpbmcgY29weSkKQEAgLTEwMjMsNiArMTAyMywxMSBAQCBDb2xv
ciBSZW5kZXJUaGVtZUlPUzo6cGxhdGZvcm1JbmFjdGl2ZVNlCiAgICAgcmV0dXJuIENvbG9yOjp0
cmFuc3BhcmVudDsKIH0KIAorQ29sb3IgUmVuZGVyVGhlbWVJT1M6OmNvbXBvc2l0aW9uRmlsbENv
bG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMHgzQ0FGQzBFMzsKK30KKwogYm9vbCBSZW5kZXJU
aGVtZUlPUzo6c2hvdWxkU2hvd1BsYWNlaG9sZGVyV2hlbkZvY3VzZWQoKSBjb25zdAogewogICAg
IHJldHVybiB0cnVlOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmgJKHJldmlzaW9uIDE2Mjc4NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC05MjksMTIgKzkyOSwxMiBA
QCBwdWJsaWM6CiAKICAgICBMaW5lQm94Q29udGFpbiBsaW5lQm94Q29udGFpbigpIGNvbnN0IHsg
cmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5tX2xpbmVCb3hDb250YWluOyB9CiAgICAgY29uc3Qg
TGluZUNsYW1wVmFsdWUmIGxpbmVDbGFtcCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0
ZWREYXRhLT5saW5lQ2xhbXA7IH0KKyAgICBDb2xvciBjb21wb3NpdGlvbkZpbGxDb2xvcigpIGNv
bnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT5jb21wb3NpdGlvbkZpbGxDb2xvcjsgfQog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAgICAgQ29sb3IgdGFwSGlnaGxpZ2h0Q29sb3IoKSBj
b25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGFwSGlnaGxpZ2h0Q29sb3I7IH0KICNl
bmRpZgogI2lmIFBMQVRGT1JNKElPUykKICAgICBib29sIHRvdWNoQ2FsbG91dEVuYWJsZWQoKSBj
b25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dG91Y2hDYWxsb3V0RW5hYmxlZDsgfQot
ICAgIENvbG9yIGNvbXBvc2l0aW9uRmlsbENvbG9yKCkgY29uc3QgeyByZXR1cm4gcmFyZUluaGVy
aXRlZERhdGEtPmNvbXBvc2l0aW9uRmlsbENvbG9yOyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKQogICAgIGJvb2wgdXNlVG91Y2hPdmVyZmxvd1Nj
cm9sbGluZygpIGNvbnN0IHsgcmV0dXJuIHJhcmVJbmhlcml0ZWREYXRhLT51c2VUb3VjaE92ZXJm
bG93U2Nyb2xsaW5nOyB9CkBAIC0xNDQzLDEyICsxNDQzLDEyIEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgc2V0TGluZUJveENvbnRhaW4oTGluZUJveENvbnRhaW4gYykgeyBTRVRfVkFSKHJhcmVJbmhl
cml0ZWREYXRhLCBtX2xpbmVCb3hDb250YWluLCBjKTsgfQogICAgIHZvaWQgc2V0TGluZUNsYW1w
KExpbmVDbGFtcFZhbHVlIGMpIHsgU0VUX1ZBUihyYXJlTm9uSW5oZXJpdGVkRGF0YSwgbGluZUNs
YW1wLCBjKTsgfQorICAgIHZvaWQgc2V0Q29tcG9zaXRpb25GaWxsQ29sb3IoY29uc3QgQ29sb3Ig
JmMpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwgY29tcG9zaXRpb25GaWxsQ29sb3IsIGMp
OyB9CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICB2b2lkIHNldFRhcEhpZ2hsaWdodENv
bG9yKGNvbnN0IENvbG9yJiBjKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHRhcEhpZ2hs
aWdodENvbG9yLCBjKTsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHZvaWQgc2V0
VG91Y2hDYWxsb3V0RW5hYmxlZChib29sIHYpIHsgU0VUX1ZBUihyYXJlSW5oZXJpdGVkRGF0YSwg
dG91Y2hDYWxsb3V0RW5hYmxlZCwgdik7IH0KLSAgICB2b2lkIHNldENvbXBvc2l0aW9uRmlsbENv
bG9yKGNvbnN0IENvbG9yICZjKSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIGNvbXBvc2l0
aW9uRmlsbENvbG9yLCBjKTsgfQogI2VuZGlmCiAjaWYgRU5BQkxFKEFDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykKICAgICB2b2lkIHNldFVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxpbmcoYm9v
bCB2KSB7IFNFVF9WQVIocmFyZUluaGVyaXRlZERhdGEsIHVzZVRvdWNoT3ZlcmZsb3dTY3JvbGxp
bmcsIHYpOyB9CkBAIC0xODA5LDEyICsxODA5LDEyIEBAIHB1YmxpYzoKICAgICAvLyBLZWVwIHRo
ZXNlIGF0IHRoZSBlbmQuCiAgICAgc3RhdGljIExpbmVDbGFtcFZhbHVlIGluaXRpYWxMaW5lQ2xh
bXAoKSB7IHJldHVybiBMaW5lQ2xhbXBWYWx1ZSgpOyB9CiAgICAgc3RhdGljIEVUZXh0U2VjdXJp
dHkgaW5pdGlhbFRleHRTZWN1cml0eSgpIHsgcmV0dXJuIFRTTk9ORTsgfQorICAgIHN0YXRpYyBD
b2xvciBpbml0aWFsQ29tcG9zaXRpb25GaWxsQ29sb3IoKSB7IHJldHVybiBDb2xvcigpOyB9CiAj
aWYgRU5BQkxFKElPU19URVhUX0FVVE9TSVpJTkcpCiAgICAgc3RhdGljIFRleHRTaXplQWRqdXN0
bWVudCBpbml0aWFsVGV4dFNpemVBZGp1c3QoKSB7IHJldHVybiBUZXh0U2l6ZUFkanVzdG1lbnQo
KTsgfQogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHN0YXRpYyBib29sIGluaXRpYWxU
b3VjaENhbGxvdXRFbmFibGVkKCkgeyByZXR1cm4gdHJ1ZTsgfQotICAgIHN0YXRpYyBDb2xvciBp
bml0aWFsQ29tcG9zaXRpb25GaWxsQ29sb3IoKSB7IHJldHVybiBDb2xvcjo6Y29tcG9zaXRpb25G
aWxsOyB9CiAjZW5kaWYKICNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogICAgIHN0YXRpYyBDb2xv
ciBpbml0aWFsVGFwSGlnaGxpZ2h0Q29sb3IoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvU3R5bGVSYXJlSW5oZXJpdGVkRGF0YS5jcHAJKHJl
dmlzaW9uIDE2Mjc4NykKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJh
cmVJbmhlcml0ZWREYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDUsMTAgKzQ1LDggQEAgc3Ry
dWN0IEdyZWF0ZXJUaGFuT3JTYW1lU2l6ZUFzU3R5bGVSYXJlSQogICAgIHNob3J0IHBhZ2VkTWVk
aWFTaG9ydHNbMl07CiAgICAgdW5zaWduZWQgdW5zaWduZWRzWzFdOwogICAgIHNob3J0IGh5cGhl
bmF0aW9uU2hvcnRzWzNdOwotCi0jaWYgUExBVEZPUk0oSU9TKQogICAgIENvbG9yIGNvbXBvc2l0
aW9uQ29sb3I7Ci0jZW5kaWYKKwogI2lmIEVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAg
IFRleHRTaXplQWRqdXN0bWVudCB0ZXh0U2l6ZUFkanVzdDsKICNlbmRpZgpAQCAtMTIxLDkgKzEx
OSw2IEBAIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZUluaGVyaXQKICAgICAsIGh5
cGhlbmF0aW9uTGltaXRMaW5lcygtMSkKICAgICAsIG1fbGluZUdyaWQoUmVuZGVyU3R5bGU6Omlu
aXRpYWxMaW5lR3JpZCgpKQogICAgICwgbV90YWJTaXplKFJlbmRlclN0eWxlOjppbml0aWFsVGFi
U2l6ZSgpKQotI2lmIFBMQVRGT1JNKElPUykKLSAgICAsIGNvbXBvc2l0aW9uRmlsbENvbG9yKFJl
bmRlclN0eWxlOjppbml0aWFsQ29tcG9zaXRpb25GaWxsQ29sb3IoKSkKLSNlbmRpZgogI2lmIEVO
QUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAgICwgdGV4dFNpemVBZGp1c3QoUmVuZGVyU3R5
bGU6OmluaXRpYWxUZXh0U2l6ZUFkanVzdCgpKQogI2VuZGlmCkBAIC0yMDYsOSArMjAxLDcgQEAg
aW5saW5lIFN0eWxlUmFyZUluaGVyaXRlZERhdGE6OlN0eWxlUmFyZQogICAgICwgdGV4dEVtcGhh
c2lzQ3VzdG9tTWFyayhvLnRleHRFbXBoYXNpc0N1c3RvbU1hcmspCiAgICAgLCBtX2xpbmVHcmlk
KG8ubV9saW5lR3JpZCkKICAgICAsIG1fdGFiU2l6ZShvLm1fdGFiU2l6ZSkKLSNpZiBQTEFURk9S
TShJT1MpCiAgICAgLCBjb21wb3NpdGlvbkZpbGxDb2xvcihvLmNvbXBvc2l0aW9uRmlsbENvbG9y
KQotI2VuZGlmCiAjaWYgRU5BQkxFKElPU19URVhUX0FVVE9TSVpJTkcpCiAgICAgLCB0ZXh0U2l6
ZUFkanVzdChvLnRleHRTaXplQWRqdXN0KQogI2VuZGlmCkBAIC0zMDAsOCArMjkzLDggQEAgYm9v
bCBTdHlsZVJhcmVJbmhlcml0ZWREYXRhOjpvcGVyYXRvcj09KAogICAgICAgICAmJiBtX2xpbmVC
b3hDb250YWluID09IG8ubV9saW5lQm94Q29udGFpbgogI2lmIFBMQVRGT1JNKElPUykKICAgICAg
ICAgJiYgdG91Y2hDYWxsb3V0RW5hYmxlZCA9PSBvLnRvdWNoQ2FsbG91dEVuYWJsZWQKLSAgICAg
ICAgJiYgY29tcG9zaXRpb25GaWxsQ29sb3IgPT0gby5jb21wb3NpdGlvbkZpbGxDb2xvcgogI2Vu
ZGlmCisgICAgICAgICYmIGNvbXBvc2l0aW9uRmlsbENvbG9yID09IG8uY29tcG9zaXRpb25GaWxs
Q29sb3IKICAgICAgICAgJiYgaHlwaGVuYXRpb25TdHJpbmcgPT0gby5oeXBoZW5hdGlvblN0cmlu
ZwogICAgICAgICAmJiBsb2NhbGUgPT0gby5sb2NhbGUKICAgICAgICAgJiYgdGV4dEVtcGhhc2lz
Q3VzdG9tTWFyayA9PSBvLnRleHRFbXBoYXNpc0N1c3RvbU1hcmsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9TdHlsZVJhcmVJbmhlcml0ZWREYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0eWxlUmFyZUluaGVyaXRlZERhdGEu
aAkocmV2aXNpb24gMTYyNzg3KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1N0
eWxlUmFyZUluaGVyaXRlZERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTQzLDkgKzE0Myw3IEBA
IHB1YmxpYzoKICAgICBBdG9taWNTdHJpbmcgbV9saW5lR3JpZDsKICAgICB1bnNpZ25lZCBtX3Rh
YlNpemU7CiAKLSNpZiBQTEFURk9STShJT1MpCiAgICAgQ29sb3IgY29tcG9zaXRpb25GaWxsQ29s
b3I7Ci0jZW5kaWYKICNpZiBFTkFCTEUoSU9TX1RFWFRfQVVUT1NJWklORykKICAgICBUZXh0U2l6
ZUFkanVzdG1lbnQgdGV4dFNpemVBZGp1c3Q7CiAjZW5kaWYK
</data>
<flag name="review"
          id="246234"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>