<?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>121638</bug_id>
          
          <creation_ts>2013-09-19 14:24:20 -0700</creation_ts>
          <short_desc>Add covariant RenderElement* Element::renderer()</short_desc>
          <delta_ts>2013-09-20 03:59:20 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>121640</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ossy</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>931076</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-19 14:24:20 -0700</bug_when>
    <thetext>Tighter typing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931078</commentid>
    <comment_count>1</comment_count>
      <attachid>212096</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-19 14:28:57 -0700</bug_when>
    <thetext>Created attachment 212096
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931082</commentid>
    <comment_count>2</comment_count>
      <attachid>212096</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-09-19 14:37:04 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        Add covariant RenderElement* ContainerNode::renderer()

ContainerNode -&gt; RenderElement -&gt; Element
This is pretty weird-looking. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931087</commentid>
    <comment_count>3</comment_count>
      <attachid>212096</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-19 14:40:44 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass qt-ews (qt):
Output: http://webkit-queues.appspot.com/results/1955236</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931092</commentid>
    <comment_count>4</comment_count>
      <attachid>212096</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-09-19 14:44:57 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass qt-wk2-ews (qt-wk2):
Output: http://webkit-queues.appspot.com/results/1949289</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931099</commentid>
    <comment_count>5</comment_count>
      <attachid>212096</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-09-19 14:59:45 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/1999166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931102</commentid>
    <comment_count>6</comment_count>
      <attachid>212096</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-19 15:07:24 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/1949293</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931113</commentid>
    <comment_count>7</comment_count>
      <attachid>212096</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-19 15:28:00 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/1999168</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931115</commentid>
    <comment_count>8</comment_count>
      <attachid>212096</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-09-19 15:33:30 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/2010018</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931149</commentid>
    <comment_count>9</comment_count>
      <attachid>212096</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-09-19 18:10:45 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/1867300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931155</commentid>
    <comment_count>10</comment_count>
      <attachid>212096</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-09-19 18:37:07 -0700</bug_when>
    <thetext>Comment on attachment 212096
patch

Attachment 212096 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/1959039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931213</commentid>
    <comment_count>11</comment_count>
      <attachid>212130</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-20 01:22:13 -0700</bug_when>
    <thetext>Created attachment 212130
for bots</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931214</commentid>
    <comment_count>12</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-20 01:23:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 212096 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=212096&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:3
&gt; &gt; +        Add covariant RenderElement* ContainerNode::renderer()
&gt; 
&gt; ContainerNode -&gt; RenderElement -&gt; Element
&gt; This is pretty weird-looking. :)

Moved it to 

RenderElement* Element::renderer()

which makes more sense. While all ContainerNode renderers are RenderElements it makes more semantic sense to have it in Element. ContainerNode is not that popular of a type.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931218</commentid>
    <comment_count>13</comment_count>
      <attachid>212132</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-20 01:42:53 -0700</bug_when>
    <thetext>Created attachment 212132
another</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931222</commentid>
    <comment_count>14</comment_count>
      <attachid>212134</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-20 01:51:11 -0700</bug_when>
    <thetext>Created attachment 212134
yet another</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931225</commentid>
    <comment_count>15</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-09-20 01:58:39 -0700</bug_when>
    <thetext>https://trac.webkit.org/r156144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931260</commentid>
    <comment_count>16</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-20 03:59:20 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; https://trac.webkit.org/r156144

and the Windows buildfix landed in http://trac.webkit.org/changeset/156148</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212096</attachid>
            <date>2013-09-19 14:28:57 -0700</date>
            <delta_ts>2013-09-20 01:22:13 -0700</delta_ts>
            <desc>patch</desc>
            <filename>renderelement-covariant.patch</filename>
            <type>text/plain</type>
            <size>11163</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjExNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA5LTE5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY292YXJpYW50IFJlbmRl
ckVsZW1lbnQqIENvbnRhaW5lck5vZGU6OnJlbmRlcmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTYzOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsc28gYWRkIGlzUmVuZGVyRWxlbWVudCgpIHRl
c3QgYW5kIGNhc3RpbmcgZnVuY3Rpb25zLgorCiAyMDEzLTA5LTE5ICBBbmRyZWFzIEtsaW5nICA8
YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgU1ZHUHJvcGVydHlJbmZvLmNwcApJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE1NjEwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JP
YmpDLnBtCShyZXZpc2lvbiAxNTYxMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xMjg5LDcgKzEyODks
NyBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgICAgICAgICB1bmxl
c3MgKCRpbnRlcmZhY2VOYW1lIGVxICJIVE1MSW1hZ2VFbGVtZW50IikgewogICAgICAgICAgICAg
ICAgICAgICAgICAgcHVzaChAY3VzdG9tR2V0dGVyQ29udGVudCwgIiAgICBpZiAoIUlNUEwtPnJl
bmRlcmVyKCkgfHwgIUlNUEwtPnJlbmRlcmVyKCktPmlzSW1hZ2UoKSlcbiIpOwogICAgICAgICAg
ICAgICAgICAgICAgICAgcHVzaChAY3VzdG9tR2V0dGVyQ29udGVudCwgIiAgICAgICAgcmV0dXJu
IG5pbDtcbiIpOwotICAgICAgICAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siUmVuZGVy
T2JqZWN0LmgifSA9IDE7CisgICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJS
ZW5kZXJFbGVtZW50LmgifSA9IDE7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siRE9NUHJpdmF0ZS5oIn0gPSAx
OwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHJldmlzaW9uIDE1
NjEwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00OCw3ICs0OCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgot
I2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNp
bmNsdWRlICJSZW5kZXJTY3JvbGxiYXIuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2lu
Y2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vQ29udGFp
bmVyTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmgJKHJldmlzaW9uIDE1NjEwNCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2Rl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogY2xhc3MgRmxvYXRQb2ludDsKLSAgICAKK2NsYXNzIFJlbmRlckVsZW1lbnQ7CisKIHR5cGVk
ZWYgdm9pZCAoKk5vZGVDYWxsYmFjaykoTm9kZSosIHVuc2lnbmVkKTsKIAogbmFtZXNwYWNlIFBy
aXZhdGUgeyAKQEAgLTEyMyw2ICsxMjQsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wg
Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlKikgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQogCisgICAgUmVuZGVyRWxlbWVudCogcmVuZGVyZXIoKSBjb25zdDsKKwogcHJvdGVjdGVk
OgogICAgIGV4cGxpY2l0IENvbnRhaW5lck5vZGUoRG9jdW1lbnQqLCBDb25zdHJ1Y3Rpb25UeXBl
ID0gQ3JlYXRlQ29udGFpbmVyKTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0Vs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50
LmNwcAkocmV2aXNpb24gMTU2MTA0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1BzZXVkb0VsZW1l
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAKICNpbmNsdWRlICJDb250
ZW50RGF0YS5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgotI2luY2x1
ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJSZW5kZXJRdW90ZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC03OCw3ICs3OCw3IEBA
IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFBzZXVkb0VsZW1lbnQ6OmMKIAogdm9pZCBQc2V1ZG9F
bGVtZW50OjpkaWRBdHRhY2hSZW5kZXJlcnMoKQogewotICAgIFJlbmRlck9iamVjdCogcmVuZGVy
ZXIgPSB0aGlzLT5yZW5kZXJlcigpOworICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gdGhp
cy0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXJlbmRlcmVyIHx8ICFyZW5kZXJlci0+c3R5bGUoKS0+
cmVnaW9uVGhyZWFkKCkuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29u
dGFpbmluZ0VsZW1lbnRDb21tYW5kLmNwcAkocmV2aXNpb24gMTU2MTA0KQorKysgU291cmNlL1dl
YkNvcmUvZWRpdGluZy9TcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnRDb21tYW5kLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjcsOCArMjcsOCBAQAogI2luY2x1ZGUgIlNwbGl0VGV4dE5vZGVD
b250YWluaW5nRWxlbWVudENvbW1hbmQuaCIKIAogI2luY2x1ZGUgIkVsZW1lbnQuaCIKKyNpbmNs
dWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dC5oIgotI2luY2x1ZGUgIlJlbmRl
ck9iamVjdC5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTUzLDcgKzUzLDcgQEAgdm9pZCBTcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1l
bnRDb21tYQogICAgIGlmICghcGFyZW50IHx8ICFwYXJlbnQtPnBhcmVudEVsZW1lbnQoKSB8fCAh
cGFyZW50LT5wYXJlbnRFbGVtZW50KCktPnJlbmRlcmVySXNFZGl0YWJsZSgpKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlcmVyID0gcGFyZW50LT5yZW5k
ZXJlcigpOworICAgIFJlbmRlckVsZW1lbnQqIHBhcmVudFJlbmRlcmVyID0gcGFyZW50LT5yZW5k
ZXJlcigpOwogICAgIGlmICghcGFyZW50UmVuZGVyZXIgfHwgIXBhcmVudFJlbmRlcmVyLT5pc0lu
bGluZSgpKSB7CiAgICAgICAgIHdyYXBDb250ZW50c0luRHVtbXlTcGFuKHBhcmVudCk7CiAgICAg
ICAgIE5vZGUqIGZpcnN0Q2hpbGQgPSBwYXJlbnQtPmZpcnN0Q2hpbGQoKTsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAkocmV2aXNpb24gMTU2MTA0KQorKysg
U291cmNlL1dlYkNvcmUvZWRpdGluZy9UeXBpbmdDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQAogI2luY2x1ZGUgIkluc2VydExpbmVCcmVha0NvbW1hbmQuaCIKICNp
bmNsdWRlICJJbnNlcnRQYXJhZ3JhcGhTZXBhcmF0b3JDb21tYW5kLmgiCiAjaW5jbHVkZSAiSW5z
ZXJ0VGV4dENvbW1hbmQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJS
ZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVmlz
aWJsZVBvc2l0aW9uLmgiCiAjaW5jbHVkZSAiVmlzaWJsZVVuaXRzLmgiCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAJKHJldmlzaW9uIDE1NjEwNCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQyLDYgKzQy
LDcgQEAKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNp
bmNsdWRlICJSYXdEYXRhRG9jdW1lbnRQYXJzZXIuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50
LmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VTZXJpYWxpemVyLmNwcAkocmV2aXNpb24gMTU2
MTA0KQorKysgU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAj
aW5jbHVkZSAiTWFya3VwQWNjdW11bGF0b3IuaCIKICNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlN0eWxlQ2FjaGVkSW1hZ2UuaCIKICNpbmNs
dWRlICJTdHlsZUltYWdlLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCShyZXZpc2lvbiAxNTYxMDQp
CisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC00Nyw2ICs0NywzOSBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2VuZXJhdGluZ05vZGUo
KSBjb25zdCBXVEZfREVMRVRFRF9GVU5DVElPTjsKIH07CiAKK2lubGluZSBSZW5kZXJFbGVtZW50
JiB0b1JlbmRlckVsZW1lbnQoUmVuZGVyT2JqZWN0JiBvYmplY3QpCit7CisgICAgQVNTRVJUX1dJ
VEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0LmlzUmVuZGVyRWxlbWVudCgpKTsKKyAgICBy
ZXR1cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRWxlbWVudCY+KG9iamVjdCk7Cit9CisKK2lubGluZSBj
b25zdCBSZW5kZXJFbGVtZW50JiB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0JiBv
YmplY3QpCit7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04ob2JqZWN0Lmlz
UmVuZGVyRWxlbWVudCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgUmVuZGVyRWxl
bWVudCY+KG9iamVjdCk7Cit9CisKK2lubGluZSBSZW5kZXJFbGVtZW50KiB0b1JlbmRlckVsZW1l
bnQoUmVuZGVyT2JqZWN0KiBvYmplY3QpCit7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1Q
TElDQVRJT04oIW9iamVjdCB8fCBvYmplY3QtPmlzUmVuZGVyRWxlbWVudCgpKTsKKyAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8UmVuZGVyRWxlbWVudCo+KG9iamVjdCk7Cit9CisKK2lubGluZSBjb25z
dCBSZW5kZXJFbGVtZW50KiB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCit7CisgICAgQVNTRVJUX1dJVEhfU0VDVVJJVFlfSU1QTElDQVRJT04oIW9iamVjdCB8fCBv
YmplY3QtPmlzUmVuZGVyRWxlbWVudCgpKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3Qg
UmVuZGVyRWxlbWVudCo+KG9iamVjdCk7Cit9CisKKy8vIFRoaXMgd2lsbCBjYXRjaCBhbnlvbmUg
ZG9pbmcgYW4gdW5uZWNlc3NhcnkgY2FzdC4KK3ZvaWQgdG9SZW5kZXJFbGVtZW50KGNvbnN0IFJl
bmRlckVsZW1lbnQqKTsKK3ZvaWQgdG9SZW5kZXJFbGVtZW50KGNvbnN0IFJlbmRlckVsZW1lbnQm
KTsKKworaW5saW5lIFJlbmRlckVsZW1lbnQqIENvbnRhaW5lck5vZGU6OnJlbmRlcmVyKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gdG9SZW5kZXJFbGVtZW50KE5vZGU6OnJlbmRlcmVyKCkpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBSZW5kZXJFbGVtZW50X2gKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHJldmlzaW9uIDE1NjEw
NCkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAkod29ya2luZyBj
b3B5KQpAQCAtMzQyLDYgKzM0Miw3IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNQc2V1ZG9FbGVt
ZW50KCkgY29uc3QgeyByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+aXNQc2V1ZG9FbGVtZW50KCk7
IH0KIAorICAgIGJvb2wgaXNSZW5kZXJFbGVtZW50KCkgY29uc3QgeyByZXR1cm4gIWlzVGV4dCgp
OyB9CiAgICAgdmlydHVhbCBib29sIGlzQm94TW9kZWxPYmplY3QoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0NvdW50ZXIoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc1F1b3RlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZENvbG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAJKHJldmlzaW9uIDE1
NjEwNCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRlZENvbG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgIlNWR0FuaW1hdGVkQ29sb3IuaCIK
IAogI2luY2x1ZGUgIkNvbG9yRGlzdGFuY2UuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIK
KyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZUVsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdDb2xvci5oIgogCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBpbmxp
bmUgdm9pZCBhZGp1c3RGb3JDdXJyZW50Q29sb3IKIHsKICAgICBBU1NFUlQodGFyZ2V0RWxlbWVu
dCk7CiAKLSAgICBpZiAoUmVuZGVyT2JqZWN0KiB0YXJnZXRSZW5kZXJlciA9IHRhcmdldEVsZW1l
bnQtPnJlbmRlcmVyKCkpCisgICAgaWYgKFJlbmRlckVsZW1lbnQqIHRhcmdldFJlbmRlcmVyID0g
dGFyZ2V0RWxlbWVudC0+cmVuZGVyZXIoKSkKICAgICAgICAgY29sb3IgPSB0YXJnZXRSZW5kZXJl
ci0+c3R5bGUoKS0+dmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpOwogICAg
IGVsc2UKICAgICAgICAgY29sb3IgPSBDb2xvcigpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0xvY2F0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xv
Y2F0YWJsZS5jcHAJKHJldmlzaW9uIDE1NjEwNCkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdM
b2NhdGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNSw3ICsyNSw3IEBACiAjaWYgRU5BQkxF
KFNWRykKICNpbmNsdWRlICJTVkdMb2NhdGFibGUuaCIKIAotI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdFeGNlcHRpb24u
aCIKICNpbmNsdWRlICJTVkdHcmFwaGljc0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdJbWFnZUVs
ZW1lbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0
ZXJzL1NWR0ZFSW1hZ2UuY3BwCShyZXZpc2lvbiAxNTYxMDQpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NyArMjgsNyBAQAogI2luY2x1ZGUgIkFmZmluZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIkZpbHRl
ci5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVj
dC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQXNU
ZXh0LmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlci5oIgpA
QCAtNzQsNyArNzQsNyBAQCB2b2lkIEZFSW1hZ2U6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0
CiAgICAgaWYgKG1faW1hZ2UpIHsKICAgICAgICAgc3JjUmVjdC5zZXRTaXplKG1faW1hZ2UtPnNp
emUoKSk7CiAgICAgICAgIG1fcHJlc2VydmVBc3BlY3RSYXRpby50cmFuc2Zvcm1SZWN0KHBhaW50
UmVjdCwgc3JjUmVjdCk7Ci0gICAgfSBlbHNlIGlmIChSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0g
cmVmZXJlbmNlZFJlbmRlcmVyKCkpCisgICAgfSBlbHNlIGlmIChSZW5kZXJFbGVtZW50KiByZW5k
ZXJlciA9IHJlZmVyZW5jZWRSZW5kZXJlcigpKQogICAgICAgICBzcmNSZWN0ID0gc3ZnRmlsdGVy
LT5hYnNvbHV0ZVRyYW5zZm9ybSgpLm1hcFJlY3QocmVuZGVyZXItPnJlcGFpbnRSZWN0SW5Mb2Nh
bENvb3JkaW5hdGVzKCkpOwogCiAgICAgaWYgKGNsaXBzVG9Cb3VuZHMoKSkKQEAgLTg0LDcgKzg0
LDcgQEAgdm9pZCBGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdAogICAgIHNldEFi
c29sdXRlUGFpbnRSZWN0KGVuY2xvc2luZ0ludFJlY3QocGFpbnRSZWN0KSk7CiB9CiAKLVJlbmRl
ck9iamVjdCogRkVJbWFnZTo6cmVmZXJlbmNlZFJlbmRlcmVyKCkgY29uc3QKK1JlbmRlckVsZW1l
bnQqIEZFSW1hZ2U6OnJlZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2Rv
Y3VtZW50KQogICAgICAgICByZXR1cm4gMDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFw
aGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmgJKHJldmlzaW9uIDE1NjEwNCkKKysrIFNv
dXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZFSW1hZ2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMzEsNyArMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3Vt
ZW50OwogY2xhc3MgSW1hZ2U7Ci1jbGFzcyBSZW5kZXJPYmplY3Q7CitjbGFzcyBSZW5kZXJFbGVt
ZW50OwogCiBjbGFzcyBGRUltYWdlIDogcHVibGljIEZpbHRlckVmZmVjdCB7CiBwdWJsaWM6CkBA
IC01NCw3ICs1NCw3IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB+RkVJbWFnZSgpIHsgfQogICAg
IEZFSW1hZ2UoRmlsdGVyKiwgUGFzc1JlZlB0cjxJbWFnZT4sIGNvbnN0IFNWR1ByZXNlcnZlQXNw
ZWN0UmF0aW8mKTsKICAgICBGRUltYWdlKEZpbHRlciosIERvY3VtZW50KiwgY29uc3QgU3RyaW5n
JiwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyYpOwotICAgIFJlbmRlck9iamVjdCogcmVm
ZXJlbmNlZFJlbmRlcmVyKCkgY29uc3Q7CisgICAgUmVuZGVyRWxlbWVudCogcmVmZXJlbmNlZFJl
bmRlcmVyKCkgY29uc3Q7CiAKICAgICBSZWZQdHI8SW1hZ2U+IG1faW1hZ2U7CiAK
</data>
<flag name="review"
          id="234256"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="234260"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212130</attachid>
            <date>2013-09-20 01:22:13 -0700</date>
            <delta_ts>2013-09-20 01:42:53 -0700</delta_ts>
            <desc>for bots</desc>
            <filename>renderelement-covariant-3.patch</filename>
            <type>text/plain</type>
            <size>13111</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA5LTIwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY292YXJpYW50IFJlbmRl
ckVsZW1lbnQqIEVsZW1lbnQ6OnJlbmRlcmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCisKKyAgICAgICAgQWxzbyBhZGQgaXNSZW5kZXJFbGVtZW50KCkgdGVzdCBhbmQg
Y2FzdGluZyBmdW5jdGlvbnMuCisKIDIwMTMtMDktMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBIYW5kbGUgbnVsbCBmb250IGZhbWlsaWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAi
SFRNTFNlbGVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVRleHQuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5o
IgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JP
YmpDLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvck9iakMucG0JKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEy
ODksNyArMTI4OSw3IEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAg
ICAgICAgIHVubGVzcyAoJGludGVyZmFjZU5hbWUgZXEgIkhUTUxJbWFnZUVsZW1lbnQiKSB7CiAg
ICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAgIGlm
ICghSU1QTC0+cmVuZGVyZXIoKSB8fCAhSU1QTC0+cmVuZGVyZXIoKS0+aXNJbWFnZSgpKVxuIik7
CiAgICAgICAgICAgICAgICAgICAgICAgICBwdXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAg
ICAgICByZXR1cm4gbmlsO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1
ZGVzeyJSZW5kZXJPYmplY3QuaCJ9ID0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICRpbXBs
SW5jbHVkZXN7IlJlbmRlckVsZW1lbnQuaCJ9ID0gMTsKICAgICAgICAgICAgICAgICAgICAgfQog
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01Qcml2
YXRlLmgifSA9IDE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVu
dGltZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1h
cHJ1bnRpbWUuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
cXQvcXRfcGl4bWFwcnVudGltZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAK
ICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgogI2luY2x1ZGUgIkpTUmV0YWluUHRyLmgiCiAjaW5j
bHVkZSAiSmF2YVNjcmlwdC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJTdGlsbEltYWdlUXQuaCIKICNpbmNsdWRlIDxRQnVmZmVyPgogI2luY2x1ZGUgPFFCeXRlQXJy
YXk+CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24g
MTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcgQEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYWdlLmgi
Ci0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgog
I2luY2x1ZGUgIlJlbmRlclNjcm9sbGJhci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250
YWluZXJOb2RlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuaAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5v
ZGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBGbG9hdFBvaW50OwotICAgIAorCiB0eXBlZGVmIHZvaWQgKCpOb2RlQ2FsbGJh
Y2spKE5vZGUqLCB1bnNpZ25lZCk7CiAKIG5hbWVzcGFjZSBQcml2YXRlIHsgCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmgJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSFRNTERvY3VtZW50
OwogY2xhc3MgSW50U2l6ZTsKIGNsYXNzIExvY2FsZTsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7Citj
bGFzcyBSZW5kZXJFbGVtZW50OwogY2xhc3MgUmVuZGVyUmVnaW9uOwogY2xhc3MgU2hhZG93Um9v
dDsKIApAQCAtMTI3LDYgKzEyOCw4IEBAIHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VW
RU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxzY3JlZW5lcnJvcik7CiAjZW5kaWYKIAorICAgIFJlbmRl
ckVsZW1lbnQqIHJlbmRlcmVyKCkgY29uc3Q7CisKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRy
aWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vUHNldWRvRWxlbWVudC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjks
NyArMjksNyBAQAogCiAjaW5jbHVkZSAiQ29udGVudERhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRl
ICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyUXVvdGUuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNzgsNyArNzgsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBQc2V1
ZG9FbGVtZW50OjpjCiAKIHZvaWQgUHNldWRvRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkK
IHsKLSAgICBSZW5kZXJPYmplY3QqIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKKyAgICBS
ZW5kZXJFbGVtZW50KiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5k
ZXJlciB8fCAhcmVuZGVyZXItPnN0eWxlKCktPnJlZ2lvblRocmVhZCgpLmlzRW1wdHkoKSkKICAg
ICAgICAgcmV0dXJuOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwbGl0VGV4dE5v
ZGVDb250YWluaW5nRWxlbWVudENvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHJl
dmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNv
bnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDggKzI3LDgg
QEAKICNpbmNsdWRlICJTcGxpdFRleHROb2RlQ29udGFpbmluZ0VsZW1lbnRDb21tYW5kLmgiCiAK
ICNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1
ZGUgIlRleHQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC01Myw3ICs1Myw3IEBAIHZvaWQg
U3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWEKICAgICBpZiAoIXBhcmVudCB8fCAh
cGFyZW50LT5wYXJlbnRFbGVtZW50KCkgfHwgIXBhcmVudC0+cGFyZW50RWxlbWVudCgpLT5yZW5k
ZXJlcklzRWRpdGFibGUoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgUmVuZGVyT2JqZWN0KiBw
YXJlbnRSZW5kZXJlciA9IHBhcmVudC0+cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJFbGVtZW50KiBw
YXJlbnRSZW5kZXJlciA9IHBhcmVudC0+cmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRl
cmVyIHx8ICFwYXJlbnRSZW5kZXJlci0+aXNJbmxpbmUoKSkgewogICAgICAgICB3cmFwQ29udGVu
dHNJbkR1bW15U3BhbihwYXJlbnQpOwogICAgICAgICBOb2RlKiBmaXJzdENoaWxkID0gcGFyZW50
LT5maXJzdENoaWxkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1h
bmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFu
ZC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5n
Q29tbWFuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJJ
bnNlcnRMaW5lQnJlYWtDb21tYW5kLmgiCiAjaW5jbHVkZSAiSW5zZXJ0UGFyYWdyYXBoU2VwYXJh
dG9yQ29tbWFuZC5oIgogI2luY2x1ZGUgIkluc2VydFRleHRDb21tYW5kLmgiCi0jaW5jbHVkZSAi
UmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRl
eHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlZp
c2libGVVbml0cy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCShy
ZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50
ZWQuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2Vy
LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlQnVmZmVy
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVy
L2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxNTYx
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5Q2Fj
aGUuaCIKICNpbmNsdWRlICJQaW5nTG9hZGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVn
aWVzLmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9h
ZFNjaGVkdWxlci5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJT
ZWN1cml0eU9yaWdpbi5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXpl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5j
cHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTUlNRVR5
cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk1hcmt1cEFjY3VtdWxhdG9yLmgiCiAjaW5jbHVkZSAi
UGFnZS5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hl
ZEltYWdlLmgiCiAjaW5jbHVkZSAiU3R5bGVJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVy
dHlTZXQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAko
cmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNiArNDcsMzkgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGdlbmVyYXRpbmdOb2RlKCkgY29uc3QgV1RGX0RFTEVURURfRlVOQ1RJT047CiB9OwogCitpbmxp
bmUgUmVuZGVyRWxlbWVudCYgdG9SZW5kZXJFbGVtZW50KFJlbmRlck9iamVjdCYgb2JqZWN0KQor
eworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1JlbmRlckVs
ZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckVsZW1lbnQmPihvYmplY3Qp
OworfQorCitpbmxpbmUgY29uc3QgUmVuZGVyRWxlbWVudCYgdG9SZW5kZXJFbGVtZW50KGNvbnN0
IFJlbmRlck9iamVjdCYgb2JqZWN0KQoreworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJ
Q0FUSU9OKG9iamVjdC5pc1JlbmRlckVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PGNvbnN0IFJlbmRlckVsZW1lbnQmPihvYmplY3QpOworfQorCitpbmxpbmUgUmVuZGVyRWxlbWVu
dCogdG9SZW5kZXJFbGVtZW50KFJlbmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVF9X
SVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlckVsZW1l
bnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PFJlbmRlckVsZW1lbnQqPihvYmplY3QpOwor
fQorCitpbmxpbmUgY29uc3QgUmVuZGVyRWxlbWVudCogdG9SZW5kZXJFbGVtZW50KGNvbnN0IFJl
bmRlck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FU
SU9OKCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlckVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFJlbmRlckVsZW1lbnQqPihvYmplY3QpOworfQorCisvLyBUaGlzIHdp
bGwgY2F0Y2ggYW55b25lIGRvaW5nIGFuIHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVuZGVy
RWxlbWVudChjb25zdCBSZW5kZXJFbGVtZW50Kik7Cit2b2lkIHRvUmVuZGVyRWxlbWVudChjb25z
dCBSZW5kZXJFbGVtZW50Jik7CisKK2lubGluZSBSZW5kZXJFbGVtZW50KiBFbGVtZW50OjpyZW5k
ZXJlcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRvUmVuZGVyRWxlbWVudChOb2RlOjpyZW5kZXJl
cigpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVuZGVyRWxl
bWVudF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZp
c2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTM0Miw2ICszNDIsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlz
UHNldWRvRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG5vZGUoKSAmJiBub2RlKCktPmlzUHNldWRv
RWxlbWVudCgpOyB9CiAKKyAgICBib29sIGlzUmVuZGVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJu
ICFpc1RleHQoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0JveE1vZGVsT2JqZWN0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNDb3VudGVyKCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGVkQ29sb3IuY3BwCShy
ZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRl
ZENvbG9yLmgiCiAKICNpbmNsdWRlICJDb2xvckRpc3RhbmNlLmgiCi0jaW5jbHVkZSAiUmVuZGVy
T2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0FuaW1h
dGVFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHQ29sb3IuaCIKIApAQCAtNTIsNyArNTIsNyBAQCBz
dGF0aWMgaW5saW5lIHZvaWQgYWRqdXN0Rm9yQ3VycmVudENvbG9yCiB7CiAgICAgQVNTRVJUKHRh
cmdldEVsZW1lbnQpOwogCi0gICAgaWYgKFJlbmRlck9iamVjdCogdGFyZ2V0UmVuZGVyZXIgPSB0
YXJnZXRFbGVtZW50LT5yZW5kZXJlcigpKQorICAgIGlmIChSZW5kZXJFbGVtZW50KiB0YXJnZXRS
ZW5kZXJlciA9IHRhcmdldEVsZW1lbnQtPnJlbmRlcmVyKCkpCiAgICAgICAgIGNvbG9yID0gdGFy
Z2V0UmVuZGVyZXItPnN0eWxlKCktPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNv
bG9yKTsKICAgICBlbHNlCiAgICAgICAgIGNvbG9yID0gQ29sb3IoKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N2Zy9TVkdMb2NhdGFibGUuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAog
I2lmIEVOQUJMRShTVkcpCiAjaW5jbHVkZSAiU1ZHTG9jYXRhYmxlLmgiCiAKLSNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZH
RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiU1ZHR3JhcGhpY3NFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHSW1hZ2VFbGVtZW50LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGRUltYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNs
dWRlICJGaWx0ZXIuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdG
aWx0ZXIuaCIKQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0
ZVBhaW50UmVjdAogICAgIGlmIChtX2ltYWdlKSB7CiAgICAgICAgIHNyY1JlY3Quc2V0U2l6ZSht
X2ltYWdlLT5zaXplKCkpOwogICAgICAgICBtX3ByZXNlcnZlQXNwZWN0UmF0aW8udHJhbnNmb3Jt
UmVjdChwYWludFJlY3QsIHNyY1JlY3QpOwotICAgIH0gZWxzZSBpZiAoUmVuZGVyT2JqZWN0KiBy
ZW5kZXJlciA9IHJlZmVyZW5jZWRSZW5kZXJlcigpKQorICAgIH0gZWxzZSBpZiAoUmVuZGVyRWxl
bWVudCogcmVuZGVyZXIgPSByZWZlcmVuY2VkUmVuZGVyZXIoKSkKICAgICAgICAgc3JjUmVjdCA9
IHN2Z0ZpbHRlci0+YWJzb2x1dGVUcmFuc2Zvcm0oKS5tYXBSZWN0KHJlbmRlcmVyLT5yZXBhaW50
UmVjdEluTG9jYWxDb29yZGluYXRlcygpKTsKIAogICAgIGlmIChjbGlwc1RvQm91bmRzKCkpCkBA
IC04NCw3ICs4NCw3IEBAIHZvaWQgRkVJbWFnZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QK
ICAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3NpbmdJbnRSZWN0KHBhaW50UmVjdCkpOwog
fQogCi1SZW5kZXJPYmplY3QqIEZFSW1hZ2U6OnJlZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0CitS
ZW5kZXJFbGVtZW50KiBGRUltYWdlOjpyZWZlcmVuY2VkUmVuZGVyZXIoKSBjb25zdAogewogICAg
IGlmICghbV9kb2N1bWVudCkKICAgICAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCShyZXZpc2lvbiAxNTYx
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBj
bGFzcyBEb2N1bWVudDsKIGNsYXNzIEltYWdlOwotY2xhc3MgUmVuZGVyT2JqZWN0OworY2xhc3Mg
UmVuZGVyRWxlbWVudDsKIAogY2xhc3MgRkVJbWFnZSA6IHB1YmxpYyBGaWx0ZXJFZmZlY3Qgewog
cHVibGljOgpAQCAtNTQsNyArNTQsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgfkZFSW1hZ2Uo
KSB7IH0KICAgICBGRUltYWdlKEZpbHRlciosIFBhc3NSZWZQdHI8SW1hZ2U+LCBjb25zdCBTVkdQ
cmVzZXJ2ZUFzcGVjdFJhdGlvJik7CiAgICAgRkVJbWFnZShGaWx0ZXIqLCBEb2N1bWVudCosIGNv
bnN0IFN0cmluZyYsIGNvbnN0IFNWR1ByZXNlcnZlQXNwZWN0UmF0aW8mKTsKLSAgICBSZW5kZXJP
YmplY3QqIHJlZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0OworICAgIFJlbmRlckVsZW1lbnQqIHJl
ZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0OwogCiAgICAgUmVmUHRyPEltYWdlPiBtX2ltYWdlOwog
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212132</attachid>
            <date>2013-09-20 01:42:53 -0700</date>
            <delta_ts>2013-09-20 01:51:11 -0700</delta_ts>
            <desc>another</desc>
            <filename>renderelement-covariant-4.patch</filename>
            <type>text/plain</type>
            <size>13600</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA5LTIwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY292YXJpYW50IFJlbmRl
ckVsZW1lbnQqIEVsZW1lbnQ6OnJlbmRlcmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCisKKyAgICAgICAgQWxzbyBhZGQgaXNSZW5kZXJFbGVtZW50KCkgdGVzdCBhbmQg
Y2FzdGluZyBmdW5jdGlvbnMuCisKIDIwMTMtMDktMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBIYW5kbGUgbnVsbCBmb250IGZhbWlsaWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAi
SFRNTFNlbGVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVRleHQuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5o
IgogCkBAIC0yMTUsNyArMjE1LDcgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJs
ZVRhYmxlRwogICAgICAgICBpZiAobm9kZSAmJiBpc0hUTUxUYWJsZUVsZW1lbnQobm9kZSkpIHsK
ICAgICAgICAgICAgIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50KiBjYXB0aW9uID0gdG9IVE1MVGFi
bGVFbGVtZW50KG5vZGUpLT5jYXB0aW9uKCk7CiAgICAgICAgICAgICBpZiAoY2FwdGlvbikKLSAg
ICAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBY2Nlc3NpYmxl
T2JqZWN0RnJvbU5vZGUoY2FwdGlvbi0+cmVuZGVyZXIoKS0+bm9kZSgpKS0+d3JhcHBlcigpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2li
bGVPYmplY3RGcm9tTm9kZShjYXB0aW9uLT5yZW5kZXJlcigpLT5lbGVtZW50KCkpLT53cmFwcGVy
KCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHJldmlz
aW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEyODksNyArMTI4OSw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGludGVyZmFj
ZU5hbWUgZXEgIkhUTUxJbWFnZUVsZW1lbnQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAgIGlmICghSU1QTC0+cmVuZGVyZXIoKSB8fCAh
SU1QTC0+cmVuZGVyZXIoKS0+aXNJbWFnZSgpKVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAgICAgICByZXR1cm4gbmlsO1xuIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJSZW5kZXJPYmplY3QuaCJ9ID0g
MTsKKyAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlJlbmRlckVsZW1lbnQu
aCJ9ID0gMTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01Qcml2YXRlLmgifSA9IDE7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCShyZXZpc2lvbiAx
NTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5o
IgogI2luY2x1ZGUgIkpTUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdGlsbEltYWdlUXQuaCIKICNpbmNs
dWRlIDxRQnVmZmVyPgogI2luY2x1ZGUgPFFCeXRlQXJyYXk+CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcg
QEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJOb2Rl
UmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0
LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclNjcm9sbGJh
ci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEu
aCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkocmV2aXNpb24gMTU2MTQzKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50Owot
ICAgIAorCiB0eXBlZGVmIHZvaWQgKCpOb2RlQ2FsbGJhY2spKE5vZGUqLCB1bnNpZ25lZCk7CiAK
IG5hbWVzcGFjZSBQcml2YXRlIHsgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDE1
NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSFRNTERvY3VtZW50OwogY2xhc3MgSW50U2l6ZTsKIGNsYXNz
IExvY2FsZTsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7CitjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xh
c3MgUmVuZGVyUmVnaW9uOwogY2xhc3MgU2hhZG93Um9vdDsKIApAQCAtMTI3LDYgKzEyOCw4IEBA
IHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxz
Y3JlZW5lcnJvcik7CiAjZW5kaWYKIAorICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKCkgY29u
c3Q7CisKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7
CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1
ZG9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAi
Q29udGVudERhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNp
bmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyUXVvdGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzgsNyArNzgs
NyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBQc2V1ZG9FbGVtZW50OjpjCiAKIHZvaWQgUHNl
dWRvRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKIHsKLSAgICBSZW5kZXJPYmplY3QqIHJl
bmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9
IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPnN0eWxl
KCktPnJlZ2lvblRocmVhZCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1h
bmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9k
ZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJTcGxpdFRleHRO
b2RlQ29udGFpbmluZ0VsZW1lbnRDb21tYW5kLmgiCiAKICNpbmNsdWRlICJFbGVtZW50LmgiCisj
aW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRleHQuaCIKLSNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdF
bGVtZW50Q29tbWEKICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5wYXJlbnRFbGVtZW50KCkg
fHwgIXBhcmVudC0+cGFyZW50RWxlbWVudCgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+
cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJFbGVtZW50KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+
cmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRlcmVyIHx8ICFwYXJlbnRSZW5kZXJlci0+
aXNJbmxpbmUoKSkgewogICAgICAgICB3cmFwQ29udGVudHNJbkR1bW15U3BhbihwYXJlbnQpOwog
ICAgICAgICBOb2RlKiBmaXJzdENoaWxkID0gcGFyZW50LT5maXJzdENoaWxkKCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHJldmlzaW9uIDE1NjE0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJJbnNlcnRMaW5lQnJlYWtDb21tYW5kLmgi
CiAjaW5jbHVkZSAiSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5oIgogI2luY2x1ZGUg
Ikluc2VydFRleHRDb21tYW5kLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUg
IlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlZpc2libGVVbml0cy5oIgpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJQaW5nTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisjaW5jbHVkZSAiUmVuZGVy
RWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1ZGUg
IlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUg
Ik1hcmt1cEFjY3VtdWxhdG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiU3R5
bGVJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkocmV2aXNpb24gMTU2MTQzKQorKysgU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NDcsNiArNDcsMzkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdlbmVyYXRpbmdOb2RlKCkgY29uc3Qg
V1RGX0RFTEVURURfRlVOQ1RJT047CiB9OwogCitpbmxpbmUgUmVuZGVyRWxlbWVudCYgdG9SZW5k
ZXJFbGVtZW50KFJlbmRlck9iamVjdCYgb2JqZWN0KQoreworICAgIEFTU0VSVF9XSVRIX1NFQ1VS
SVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1JlbmRlckVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFJlbmRlckVsZW1lbnQmPihvYmplY3QpOworfQorCitpbmxpbmUgY29uc3QgUmVu
ZGVyRWxlbWVudCYgdG9SZW5kZXJFbGVtZW50KGNvbnN0IFJlbmRlck9iamVjdCYgb2JqZWN0KQor
eworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKG9iamVjdC5pc1JlbmRlckVs
ZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckVsZW1lbnQmPihv
YmplY3QpOworfQorCitpbmxpbmUgUmVuZGVyRWxlbWVudCogdG9SZW5kZXJFbGVtZW50KFJlbmRl
ck9iamVjdCogb2JqZWN0KQoreworICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9O
KCFvYmplY3QgfHwgb2JqZWN0LT5pc1JlbmRlckVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PFJlbmRlckVsZW1lbnQqPihvYmplY3QpOworfQorCitpbmxpbmUgY29uc3QgUmVuZGVy
RWxlbWVudCogdG9SZW5kZXJFbGVtZW50KGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQorewor
ICAgIEFTU0VSVF9XSVRIX1NFQ1VSSVRZX0lNUExJQ0FUSU9OKCFvYmplY3QgfHwgb2JqZWN0LT5p
c1JlbmRlckVsZW1lbnQoKSk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFJlbmRlckVs
ZW1lbnQqPihvYmplY3QpOworfQorCisvLyBUaGlzIHdpbGwgY2F0Y2ggYW55b25lIGRvaW5nIGFu
IHVubmVjZXNzYXJ5IGNhc3QuCit2b2lkIHRvUmVuZGVyRWxlbWVudChjb25zdCBSZW5kZXJFbGVt
ZW50Kik7Cit2b2lkIHRvUmVuZGVyRWxlbWVudChjb25zdCBSZW5kZXJFbGVtZW50Jik7CisKK2lu
bGluZSBSZW5kZXJFbGVtZW50KiBFbGVtZW50OjpyZW5kZXJlcigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIHRvUmVuZGVyRWxlbWVudChOb2RlOjpyZW5kZXJlcigpKTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gUmVuZGVyRWxlbWVudF9oCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTM0Miw2
ICszNDIsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzUHNldWRvRWxlbWVudCgpIGNvbnN0IHsg
cmV0dXJuIG5vZGUoKSAmJiBub2RlKCktPmlzUHNldWRvRWxlbWVudCgpOyB9CiAKKyAgICBib29s
IGlzUmVuZGVyRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuICFpc1RleHQoKTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc0JveE1vZGVsT2JqZWN0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2
aXJ0dWFsIGJvb2wgaXNDb3VudGVyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3ZnL1NWR0FuaW1hdGVkQ29sb3IuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0ZWRDb2xvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIz
LDcgKzIzLDcgQEAKICNpbmNsdWRlICJTVkdBbmltYXRlZENvbG9yLmgiCiAKICNpbmNsdWRlICJD
b2xvckRpc3RhbmNlLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVu
ZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0FuaW1hdGVFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHQ29sb3IuaCIKIApAQCAtNTIsNyArNTIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgYWRqdXN0
Rm9yQ3VycmVudENvbG9yCiB7CiAgICAgQVNTRVJUKHRhcmdldEVsZW1lbnQpOwogCi0gICAgaWYg
KFJlbmRlck9iamVjdCogdGFyZ2V0UmVuZGVyZXIgPSB0YXJnZXRFbGVtZW50LT5yZW5kZXJlcigp
KQorICAgIGlmIChSZW5kZXJFbGVtZW50KiB0YXJnZXRSZW5kZXJlciA9IHRhcmdldEVsZW1lbnQt
PnJlbmRlcmVyKCkpCiAgICAgICAgIGNvbG9yID0gdGFyZ2V0UmVuZGVyZXItPnN0eWxlKCktPnZp
c2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUNvbG9yKTsKICAgICBlbHNlCiAgICAgICAg
IGNvbG9yID0gQ29sb3IoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdMb2NhdGFibGUuY3BwCShy
ZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjUsNyArMjUsNyBAQAogI2lmIEVOQUJMRShTVkcpCiAjaW5jbHVk
ZSAiU1ZHTG9jYXRhYmxlLmgiCiAKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRl
ICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAi
U1ZHR3JhcGhpY3NFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2VFbGVtZW50LmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdl
LmNwcAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRkVJbWFnZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNp
bmNsdWRlICJBZmZpbmVUcmFuc2Zvcm0uaCIKICNpbmNsdWRlICJGaWx0ZXIuaCIKICNpbmNsdWRl
ICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRl
ICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1
ZGUgIlNWR0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKQEAgLTc0LDcgKzc0LDcg
QEAgdm9pZCBGRUltYWdlOjpkZXRlcm1pbmVBYnNvbHV0ZVBhaW50UmVjdAogICAgIGlmIChtX2lt
YWdlKSB7CiAgICAgICAgIHNyY1JlY3Quc2V0U2l6ZShtX2ltYWdlLT5zaXplKCkpOwogICAgICAg
ICBtX3ByZXNlcnZlQXNwZWN0UmF0aW8udHJhbnNmb3JtUmVjdChwYWludFJlY3QsIHNyY1JlY3Qp
OwotICAgIH0gZWxzZSBpZiAoUmVuZGVyT2JqZWN0KiByZW5kZXJlciA9IHJlZmVyZW5jZWRSZW5k
ZXJlcigpKQorICAgIH0gZWxzZSBpZiAoUmVuZGVyRWxlbWVudCogcmVuZGVyZXIgPSByZWZlcmVu
Y2VkUmVuZGVyZXIoKSkKICAgICAgICAgc3JjUmVjdCA9IHN2Z0ZpbHRlci0+YWJzb2x1dGVUcmFu
c2Zvcm0oKS5tYXBSZWN0KHJlbmRlcmVyLT5yZXBhaW50UmVjdEluTG9jYWxDb29yZGluYXRlcygp
KTsKIAogICAgIGlmIChjbGlwc1RvQm91bmRzKCkpCkBAIC04NCw3ICs4NCw3IEBAIHZvaWQgRkVJ
bWFnZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QKICAgICBzZXRBYnNvbHV0ZVBhaW50UmVj
dChlbmNsb3NpbmdJbnRSZWN0KHBhaW50UmVjdCkpOwogfQogCi1SZW5kZXJPYmplY3QqIEZFSW1h
Z2U6OnJlZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0CitSZW5kZXJFbGVtZW50KiBGRUltYWdlOjpy
ZWZlcmVuY2VkUmVuZGVyZXIoKSBjb25zdAogewogICAgIGlmICghbV9kb2N1bWVudCkKICAgICAg
ICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9T
VkdGRUltYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2Zp
bHRlcnMvU1ZHRkVJbWFnZS5oCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGRUltYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIElt
YWdlOwotY2xhc3MgUmVuZGVyT2JqZWN0OworY2xhc3MgUmVuZGVyRWxlbWVudDsKIAogY2xhc3Mg
RkVJbWFnZSA6IHB1YmxpYyBGaWx0ZXJFZmZlY3QgewogcHVibGljOgpAQCAtNTQsNyArNTQsNyBA
QCBwcml2YXRlOgogICAgIHZpcnR1YWwgfkZFSW1hZ2UoKSB7IH0KICAgICBGRUltYWdlKEZpbHRl
ciosIFBhc3NSZWZQdHI8SW1hZ2U+LCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVjdFJhdGlvJik7CiAg
ICAgRkVJbWFnZShGaWx0ZXIqLCBEb2N1bWVudCosIGNvbnN0IFN0cmluZyYsIGNvbnN0IFNWR1By
ZXNlcnZlQXNwZWN0UmF0aW8mKTsKLSAgICBSZW5kZXJPYmplY3QqIHJlZmVyZW5jZWRSZW5kZXJl
cigpIGNvbnN0OworICAgIFJlbmRlckVsZW1lbnQqIHJlZmVyZW5jZWRSZW5kZXJlcigpIGNvbnN0
OwogCiAgICAgUmVmUHRyPEltYWdlPiBtX2ltYWdlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212134</attachid>
            <date>2013-09-20 01:51:11 -0700</date>
            <delta_ts>2013-09-20 01:51:11 -0700</delta_ts>
            <desc>yet another</desc>
            <filename>renderelement-covariant-5.patch</filename>
            <type>text/plain</type>
            <size>14102</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEzLTA5LTIwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgY292YXJpYW50IFJlbmRl
ckVsZW1lbnQqIEVsZW1lbnQ6OnJlbmRlcmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTYzOAorCisgICAgICAgIFJldmlld2VkIGJ5IEFuZHJl
YXMgS2xpbmcuCisKKyAgICAgICAgQWxzbyBhZGQgaXNSZW5kZXJFbGVtZW50KCkgdGVzdCBhbmQg
Y2FzdGluZyBmdW5jdGlvbnMuCisKIDIwMTMtMDktMTkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBIYW5kbGUgbnVsbCBmb250IGZhbWlsaWVzLgpJbmRl
eDogU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5U3BpbkJ1dHRvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmls
aXR5U3BpbkJ1dHRvbi5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVNwaW5CdXR0b24uaCIKIAog
I2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNp
bmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDog
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBACiAjaW5jbHVkZSAi
SFRNTFNlbGVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MVGFibGVDYXB0aW9uRWxlbWVudC5o
IgogI2luY2x1ZGUgIkhUTUxUYWJsZUVsZW1lbnQuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3Qu
aCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZVRleHQuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlV3JhcHBlckF0ay5o
IgogCkBAIC0yMTUsNyArMjE1LDcgQEAgc3RhdGljIEF0a09iamVjdCogd2Via2l0QWNjZXNzaWJs
ZVRhYmxlRwogICAgICAgICBpZiAobm9kZSAmJiBpc0hUTUxUYWJsZUVsZW1lbnQobm9kZSkpIHsK
ICAgICAgICAgICAgIEhUTUxUYWJsZUNhcHRpb25FbGVtZW50KiBjYXB0aW9uID0gdG9IVE1MVGFi
bGVFbGVtZW50KG5vZGUpLT5jYXB0aW9uKCk7CiAgICAgICAgICAgICBpZiAoY2FwdGlvbikKLSAg
ICAgICAgICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eU9iamVjdDo6Zmlyc3RBY2Nlc3NpYmxl
T2JqZWN0RnJvbU5vZGUoY2FwdGlvbi0+cmVuZGVyZXIoKS0+bm9kZSgpKS0+d3JhcHBlcigpOwor
ICAgICAgICAgICAgICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpmaXJzdEFjY2Vzc2li
bGVPYmplY3RGcm9tTm9kZShjYXB0aW9uLT5yZW5kZXJlcigpLT5lbGVtZW50KCkpLT53cmFwcGVy
KCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHJldmlz
aW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvck9iakMucG0JKHdvcmtpbmcgY29weSkKQEAgLTEyODksNyArMTI4OSw3IEBAIHN1YiBHZW5l
cmF0ZUltcGxlbWVudGF0aW9uCiAgICAgICAgICAgICAgICAgICAgIHVubGVzcyAoJGludGVyZmFj
ZU5hbWUgZXEgIkhUTUxJbWFnZUVsZW1lbnQiKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBw
dXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAgIGlmICghSU1QTC0+cmVuZGVyZXIoKSB8fCAh
SU1QTC0+cmVuZGVyZXIoKS0+aXNJbWFnZSgpKVxuIik7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBjdXN0b21HZXR0ZXJDb250ZW50LCAiICAgICAgICByZXR1cm4gbmlsO1xuIik7Ci0g
ICAgICAgICAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJSZW5kZXJPYmplY3QuaCJ9ID0g
MTsKKyAgICAgICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlJlbmRlckVsZW1lbnQu
aCJ9ID0gMTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgICAgICAkaW1wbEluY2x1ZGVzeyJET01Qcml2YXRlLmgifSA9IDE7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYnJpZGdlL3F0L3F0X3BpeG1hcHJ1bnRpbWUuY3BwCShyZXZpc2lvbiAx
NTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9icmlkZ2UvcXQvcXRfcGl4bWFwcnVudGltZS5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5o
IgogI2luY2x1ZGUgIkpTUmV0YWluUHRyLmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdC5oIgorI2lu
Y2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdGlsbEltYWdlUXQuaCIKICNpbmNs
dWRlIDxRQnVmZmVyPgogI2luY2x1ZGUgPFFCeXRlQXJyYXk+CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9j
c3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNv
cmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDcgKzQ4LDcg
QEAKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJOb2Rl
UmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0
LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclNjcm9sbGJh
ci5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYWJsZUFyZWEu
aCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Db250YWluZXJOb2RlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkocmV2aXNpb24gMTU2MTQzKQor
KysgU291cmNlL1dlYkNvcmUvZG9tL0NvbnRhaW5lck5vZGUuaAkod29ya2luZyBjb3B5KQpAQCAt
MzMsNyArMzMsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBGbG9hdFBvaW50Owot
ICAgIAorCiB0eXBlZGVmIHZvaWQgKCpOb2RlQ2FsbGJhY2spKE5vZGUqLCB1bnNpZ25lZCk7CiAK
IG5hbWVzcGFjZSBQcml2YXRlIHsgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlzaW9uIDE1
NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDYgKzQ0LDcgQEAgY2xhc3MgSFRNTERvY3VtZW50OwogY2xhc3MgSW50U2l6ZTsKIGNsYXNz
IExvY2FsZTsKIGNsYXNzIFBzZXVkb0VsZW1lbnQ7CitjbGFzcyBSZW5kZXJFbGVtZW50OwogY2xh
c3MgUmVuZGVyUmVnaW9uOwogY2xhc3MgU2hhZG93Um9vdDsKIApAQCAtMTI3LDYgKzEyOCw4IEBA
IHB1YmxpYzoKICAgICBERUZJTkVfQVRUUklCVVRFX0VWRU5UX0xJU1RFTkVSKHdlYmtpdGZ1bGxz
Y3JlZW5lcnJvcik7CiAjZW5kaWYKIAorICAgIFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyKCkgY29u
c3Q7CisKICAgICBib29sIGhhc0F0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7
CiAgICAgY29uc3QgQXRvbWljU3RyaW5nJiBnZXRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGNvbnN0OwogICAgIHZvaWQgc2V0QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1
ZG9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vUHNldWRvRWxl
bWVudC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Qc2V1ZG9F
bGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogCiAjaW5jbHVkZSAi
Q29udGVudERhdGEuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKLSNp
bmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCiAjaW5j
bHVkZSAiUmVuZGVyUXVvdGUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNzgsNyArNzgs
NyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBQc2V1ZG9FbGVtZW50OjpjCiAKIHZvaWQgUHNl
dWRvRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkKIHsKLSAgICBSZW5kZXJPYmplY3QqIHJl
bmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJFbGVtZW50KiByZW5kZXJlciA9
IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgaWYgKCFyZW5kZXJlciB8fCAhcmVuZGVyZXItPnN0eWxl
KCktPnJlZ2lvblRocmVhZCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1NwbGl0VGV4dE5vZGVDb250YWluaW5nRWxlbWVudENvbW1h
bmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9k
ZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdFbGVtZW50Q29tbWFuZC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDggKzI3LDggQEAKICNpbmNsdWRlICJTcGxpdFRleHRO
b2RlQ29udGFpbmluZ0VsZW1lbnRDb21tYW5kLmgiCiAKICNpbmNsdWRlICJFbGVtZW50LmgiCisj
aW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRleHQuaCIKLSNpbmNsdWRlICJS
ZW5kZXJPYmplY3QuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgU3BsaXRUZXh0Tm9kZUNvbnRhaW5pbmdF
bGVtZW50Q29tbWEKICAgICBpZiAoIXBhcmVudCB8fCAhcGFyZW50LT5wYXJlbnRFbGVtZW50KCkg
fHwgIXBhcmVudC0+cGFyZW50RWxlbWVudCgpLT5yZW5kZXJlcklzRWRpdGFibGUoKSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+
cmVuZGVyZXIoKTsKKyAgICBSZW5kZXJFbGVtZW50KiBwYXJlbnRSZW5kZXJlciA9IHBhcmVudC0+
cmVuZGVyZXIoKTsKICAgICBpZiAoIXBhcmVudFJlbmRlcmVyIHx8ICFwYXJlbnRSZW5kZXJlci0+
aXNJbmxpbmUoKSkgewogICAgICAgICB3cmFwQ29udGVudHNJbkR1bW15U3BhbihwYXJlbnQpOwog
ICAgICAgICBOb2RlKiBmaXJzdENoaWxkID0gcGFyZW50LT5maXJzdENoaWxkKCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1R5cGluZ0NvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHJldmlzaW9uIDE1NjE0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVHlwaW5nQ29tbWFuZC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRlICJJbnNlcnRMaW5lQnJlYWtDb21tYW5kLmgi
CiAjaW5jbHVkZSAiSW5zZXJ0UGFyYWdyYXBoU2VwYXJhdG9yQ29tbWFuZC5oIgogI2luY2x1ZGUg
Ikluc2VydFRleHRDb21tYW5kLmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVk
ZSAiUmVuZGVyRWxlbWVudC5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUg
IlZpc2libGVQb3NpdGlvbi5oIgogI2luY2x1ZGUgIlZpc2libGVVbml0cy5oIgpJbmRleDogU291
cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2
ICs0Miw3IEBACiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlICJQYWdlLmgi
CiAjaW5jbHVkZSAiUmF3RGF0YURvY3VtZW50UGFyc2VyLmgiCisjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3Mu
aCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9h
ZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVk
UmVzb3VyY2VMb2FkZXIuY3BwCShyZXZpc2lvbiAxNTYxNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01
MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTWVtb3J5Q2FjaGUuaCIKICNpbmNsdWRlICJQaW5nTG9h
ZGVyLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCisjaW5jbHVkZSAiUmVuZGVy
RWxlbWVudC5oIgogI2luY2x1ZGUgIlJlc291cmNlTG9hZFNjaGVkdWxlci5oIgogI2luY2x1ZGUg
IlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlU2VyaWFsaXplci5jcHAJKHJldmlzaW9uIDE1NjE0MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZVNlcmlhbGl6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUg
Ik1hcmt1cEFjY3VtdWxhdG9yLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJlbmRl
ckVsZW1lbnQuaCIKICNpbmNsdWRlICJTdHlsZUNhY2hlZEltYWdlLmgiCiAjaW5jbHVkZSAiU3R5
bGVJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsdWdpbnMvZ3RrL1BsdWdpblZpZXdHdGsuY3BwCShyZXZpc2lvbiAxNTYxNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9wbHVnaW5zL2d0ay9QbHVnaW5WaWV3R3RrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNyArNTgsNyBAQAogI2luY2x1ZGUgIlBsdWdpbkRlYnVnLmgiCiAjaW5j
bHVkZSAiUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlci5oIgogI2luY2x1ZGUgIlBsdWdpblBhY2th
Z2UuaCIKLSNpbmNsdWRlICJSZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJSZW5kZXJFbGVtZW50
LmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTcGF0aWFsTmF2aWdhdGlvbi5o
IgogI2luY2x1ZGUgIm5wcnVudGltZV9pbXBsLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJFbGVtZW50LmgJKHJldmlzaW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJFbGVtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDM5
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBnZW5lcmF0aW5nTm9kZSgpIGNvbnN0IFdURl9ERUxFVEVE
X0ZVTkNUSU9OOwogfTsKIAoraW5saW5lIFJlbmRlckVsZW1lbnQmIHRvUmVuZGVyRWxlbWVudChS
ZW5kZXJPYmplY3QmIG9iamVjdCkKK3sKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNB
VElPTihvYmplY3QuaXNSZW5kZXJFbGVtZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxS
ZW5kZXJFbGVtZW50Jj4ob2JqZWN0KTsKK30KKworaW5saW5lIGNvbnN0IFJlbmRlckVsZW1lbnQm
IHRvUmVuZGVyRWxlbWVudChjb25zdCBSZW5kZXJPYmplY3QmIG9iamVjdCkKK3sKKyAgICBBU1NF
UlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihvYmplY3QuaXNSZW5kZXJFbGVtZW50KCkpOwor
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJFbGVtZW50Jj4ob2JqZWN0KTsKK30K
KworaW5saW5lIFJlbmRlckVsZW1lbnQqIHRvUmVuZGVyRWxlbWVudChSZW5kZXJPYmplY3QqIG9i
amVjdCkKK3sKKyAgICBBU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8
IG9iamVjdC0+aXNSZW5kZXJFbGVtZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxSZW5k
ZXJFbGVtZW50Kj4ob2JqZWN0KTsKK30KKworaW5saW5lIGNvbnN0IFJlbmRlckVsZW1lbnQqIHRv
UmVuZGVyRWxlbWVudChjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKK3sKKyAgICBBU1NFUlRf
V0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTighb2JqZWN0IHx8IG9iamVjdC0+aXNSZW5kZXJFbGVt
ZW50KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBSZW5kZXJFbGVtZW50Kj4ob2Jq
ZWN0KTsKK30KKworLy8gVGhpcyB3aWxsIGNhdGNoIGFueW9uZSBkb2luZyBhbiB1bm5lY2Vzc2Fy
eSBjYXN0Lgordm9pZCB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyRWxlbWVudCopOwordm9p
ZCB0b1JlbmRlckVsZW1lbnQoY29uc3QgUmVuZGVyRWxlbWVudCYpOworCitpbmxpbmUgUmVuZGVy
RWxlbWVudCogRWxlbWVudDo6cmVuZGVyZXIoKSBjb25zdAoreworICAgIHJldHVybiB0b1JlbmRl
ckVsZW1lbnQoTm9kZTo6cmVuZGVyZXIoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIFJlbmRlckVsZW1lbnRfaApJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuaAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDIsNiArMzQyLDcgQEAg
cHVibGljOgogCiAgICAgYm9vbCBpc1BzZXVkb0VsZW1lbnQoKSBjb25zdCB7IHJldHVybiBub2Rl
KCkgJiYgbm9kZSgpLT5pc1BzZXVkb0VsZW1lbnQoKTsgfQogCisgICAgYm9vbCBpc1JlbmRlckVs
ZW1lbnQoKSBjb25zdCB7IHJldHVybiAhaXNUZXh0KCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNC
b3hNb2RlbE9iamVjdCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQ291bnRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlz
UXVvdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Zn
L1NWR0FuaW1hdGVkQ29sb3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9T
VkdBbmltYXRlZENvbG9yLmNwcAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUv
c3ZnL1NWR0FuaW1hdGVkQ29sb3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMyw3ICsyMyw3IEBA
CiAjaW5jbHVkZSAiU1ZHQW5pbWF0ZWRDb2xvci5oIgogCiAjaW5jbHVkZSAiQ29sb3JEaXN0YW5j
ZS5oIgotI2luY2x1ZGUgIlJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQu
aCIKICNpbmNsdWRlICJTVkdBbmltYXRlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0NvbG9yLmgi
CiAKQEAgLTUyLDcgKzUyLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIGFkanVzdEZvckN1cnJlbnRD
b2xvcgogewogICAgIEFTU0VSVCh0YXJnZXRFbGVtZW50KTsKIAotICAgIGlmIChSZW5kZXJPYmpl
Y3QqIHRhcmdldFJlbmRlcmVyID0gdGFyZ2V0RWxlbWVudC0+cmVuZGVyZXIoKSkKKyAgICBpZiAo
UmVuZGVyRWxlbWVudCogdGFyZ2V0UmVuZGVyZXIgPSB0YXJnZXRFbGVtZW50LT5yZW5kZXJlcigp
KQogICAgICAgICBjb2xvciA9IHRhcmdldFJlbmRlcmVyLT5zdHlsZSgpLT52aXNpdGVkRGVwZW5k
ZW50Q29sb3IoQ1NTUHJvcGVydHlDb2xvcik7CiAgICAgZWxzZQogICAgICAgICBjb2xvciA9IENv
bG9yKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHTG9jYXRhYmxlLmNwcAkocmV2aXNpb24gMTU2
MTQzKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL1NWR0xvY2F0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI1LDcgKzI1LDcgQEAKICNpZiBFTkFCTEUoU1ZHKQogI2luY2x1ZGUgIlNWR0xvY2F0
YWJsZS5oIgogCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlNWR0V4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlNWR0dyYXBoaWNz
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ltYWdlRWxlbWVudC5oIgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5jcHAJKHJldmlz
aW9uIDE1NjE0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiQWZm
aW5lVHJhbnNmb3JtLmgiCiAjaW5jbHVkZSAiRmlsdGVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3ND
b250ZXh0LmgiCi0jaW5jbHVkZSAiUmVuZGVyT2JqZWN0LmgiCisjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKICNpbmNsdWRlICJTVkdFbGVt
ZW50LmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyLmgiCkBAIC03NCw3ICs3NCw3IEBAIHZvaWQgRkVJ
bWFnZTo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWludFJlY3QKICAgICBpZiAobV9pbWFnZSkgewogICAg
ICAgICBzcmNSZWN0LnNldFNpemUobV9pbWFnZS0+c2l6ZSgpKTsKICAgICAgICAgbV9wcmVzZXJ2
ZUFzcGVjdFJhdGlvLnRyYW5zZm9ybVJlY3QocGFpbnRSZWN0LCBzcmNSZWN0KTsKLSAgICB9IGVs
c2UgaWYgKFJlbmRlck9iamVjdCogcmVuZGVyZXIgPSByZWZlcmVuY2VkUmVuZGVyZXIoKSkKKyAg
ICB9IGVsc2UgaWYgKFJlbmRlckVsZW1lbnQqIHJlbmRlcmVyID0gcmVmZXJlbmNlZFJlbmRlcmVy
KCkpCiAgICAgICAgIHNyY1JlY3QgPSBzdmdGaWx0ZXItPmFic29sdXRlVHJhbnNmb3JtKCkubWFw
UmVjdChyZW5kZXJlci0+cmVwYWludFJlY3RJbkxvY2FsQ29vcmRpbmF0ZXMoKSk7CiAKICAgICBp
ZiAoY2xpcHNUb0JvdW5kcygpKQpAQCAtODQsNyArODQsNyBAQCB2b2lkIEZFSW1hZ2U6OmRldGVy
bWluZUFic29sdXRlUGFpbnRSZWN0CiAgICAgc2V0QWJzb2x1dGVQYWludFJlY3QoZW5jbG9zaW5n
SW50UmVjdChwYWludFJlY3QpKTsKIH0KIAotUmVuZGVyT2JqZWN0KiBGRUltYWdlOjpyZWZlcmVu
Y2VkUmVuZGVyZXIoKSBjb25zdAorUmVuZGVyRWxlbWVudCogRkVJbWFnZTo6cmVmZXJlbmNlZFJl
bmRlcmVyKCkgY29uc3QKIHsKICAgICBpZiAoIW1fZG9jdW1lbnQpCiAgICAgICAgIHJldHVybiAw
OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRkVJbWFnZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZF
SW1hZ2UuaAkocmV2aXNpb24gMTU2MTQzKQorKysgU291cmNlL1dlYkNvcmUvc3ZnL2dyYXBoaWNz
L2ZpbHRlcnMvU1ZHRkVJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBJbWFnZTsKLWNsYXNz
IFJlbmRlck9iamVjdDsKK2NsYXNzIFJlbmRlckVsZW1lbnQ7CiAKIGNsYXNzIEZFSW1hZ2UgOiBw
dWJsaWMgRmlsdGVyRWZmZWN0IHsKIHB1YmxpYzoKQEAgLTU0LDcgKzU0LDcgQEAgcHJpdmF0ZToK
ICAgICB2aXJ0dWFsIH5GRUltYWdlKCkgeyB9CiAgICAgRkVJbWFnZShGaWx0ZXIqLCBQYXNzUmVm
UHRyPEltYWdlPiwgY29uc3QgU1ZHUHJlc2VydmVBc3BlY3RSYXRpbyYpOwogICAgIEZFSW1hZ2Uo
RmlsdGVyKiwgRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTVkdQcmVzZXJ2ZUFzcGVj
dFJhdGlvJik7Ci0gICAgUmVuZGVyT2JqZWN0KiByZWZlcmVuY2VkUmVuZGVyZXIoKSBjb25zdDsK
KyAgICBSZW5kZXJFbGVtZW50KiByZWZlcmVuY2VkUmVuZGVyZXIoKSBjb25zdDsKIAogICAgIFJl
ZlB0cjxJbWFnZT4gbV9pbWFnZTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>