<?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>39147</bug_id>
          
          <creation_ts>2010-05-14 19:17:33 -0700</creation_ts>
          <short_desc>Frame has many trivial member functions that should be inlined</short_desc>
          <delta_ts>2010-05-17 17:59:04 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>abarth</cc>
    
    <cc>atwilson</cc>
    
    <cc>eric</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>226104</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-14 19:17:33 -0700</bug_when>
    <thetext>Frame has many trivial member functions that should be inlined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226105</commentid>
    <comment_count>1</comment_count>
      <attachid>56132</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-14 19:20:34 -0700</bug_when>
    <thetext>Created attachment 56132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226212</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-05-15 03:15:01 -0700</bug_when>
    <thetext>Hah, member variables named m_kjsStatusBarText and m_kjsDefaultStatusBarText.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226974</commentid>
    <comment_count>3</comment_count>
      <attachid>56132</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-05-17 16:17:06 -0700</bug_when>
    <thetext>Comment on attachment 56132
Patch


&gt; -void Frame::removeEditingStyleFromElement(Element*) const
&gt; -{
&gt; -}
&gt; -

May as well remove this one from the header, too?

r+, after the EWS bots get a chance to churn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226986</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-17 16:49:04 -0700</bug_when>
    <thetext>Committed r59630: &lt;http://trac.webkit.org/changeset/59630&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226990</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-17 16:58:33 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/59630 might have broken Qt Linux Release minimal and Chromium Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226994</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 17:08:08 -0700</bug_when>
    <thetext>Looks like the compile failures are real.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226997</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-17 17:12:16 -0700</bug_when>
    <thetext>But not seen by the EWS. Ugh.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226999</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 17:13:28 -0700</bug_when>
    <thetext>:(  Working on making the EWS faster this week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227002</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-17 17:15:57 -0700</bug_when>
    <thetext>EWS built on Qt and was green. It was not too slow, it was wrong!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227004</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-17 17:16:15 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/59632 is an attempt to fix the Qt build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227007</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 17:18:16 -0700</bug_when>
    <thetext>Hmmm.  I wonder if there are further dependency issues which need work on Qt.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227025</commentid>
    <comment_count>12</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2010-05-17 17:53:00 -0700</bug_when>
    <thetext>Breaks Chromium also.

I&apos;m about to land a patch which #includes CSSMutableStyleDeclaration.h in Frame.h - non-ideal, but the alternative is to un-inline more functions which I&apos;m assuming is contrary to what Darin intended. Nobody is responding on IRC on this, so I&apos;m going to make the minimum fix (add #include) to get things to compile for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227026</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-17 17:59:04 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Breaks Chromium also.
&gt; 
&gt; I&apos;m about to land a patch which #includes CSSMutableStyleDeclaration.h in Frame.h - non-ideal, but the alternative is to un-inline more functions which I&apos;m assuming is contrary to what Darin intended. Nobody is responding on IRC on this, so I&apos;m going to make the minimum fix (add #include) to get things to compile for now.

I think it&apos;s OK to un-inline some more functions.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56132</attachid>
            <date>2010-05-14 19:20:34 -0700</date>
            <delta_ts>2010-05-17 16:17:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39147-20100514192032.patch</filename>
            <type>text/plain</type>
            <size>19382</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1OTUxMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDkgQEAKKzIwMTAtMDUtMTQgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZyYW1l
IGhhcyBtYW55IHRyaXZpYWwgbWVtYmVyIGZ1bmN0aW9ucyB0aGF0IHNob3VsZCBiZSBpbmxpbmVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTE0Nwor
CisgICAgICAgICogV2ViQ29yZS5iYXNlLmV4cDogRXhwb3J0IHRoZSBmdW5jdGlvbnMgdGhhdCBh
cmUgbm93IGlubGluZWQuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lOjpyZW1vdmVFZGl0aW5nU3R5bGVGcm9tQm9keUVsZW1lbnQpOgorICAgICAg
ICBSZW1vdmVkIHRoZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24uCisKKyAgICAgICAgKiBwYWdlL0Zy
YW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6aW5pdCk6IE1vdmVkIGhlcmUgZnJvbSAu
Y3BwLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmxvYWRlcik6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWU6OnJlZGlyZWN0U2NoZWR1bGVyKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZTo6dmlldyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnNjcmlw
dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OmRvY3VtZW50KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2VsZWN0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpGcmFtZTo6ZWRpdG9yKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6YW5p
bWF0aW9uKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6bWFyayk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnNldE1hcmspOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lOjp6b29tRmFjdG9yKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6
anNTdGF0dXNCYXJUZXh0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6anNEZWZh
dWx0U3RhdHVzQmFyVGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6Om5lZWRz
UmVhcHBseVN0eWxlcyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnR5cGluZ1N0
eWxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0VHlwaW5nU3R5bGUpOiBE
aXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpjbGVhclR5cGluZ1N0eWxlKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6b3duZXJFbGVtZW50KTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpGcmFtZTo6aXNEaXNjb25uZWN0ZWQpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OkZyYW1lOjpzZXRJc0Rpc2Nvbm5lY3RlZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWU6OmV4Y2x1ZGVGcm9tVGV4dFNlYXJjaCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWU6OnNldEV4Y2x1ZGVGcm9tVGV4dFNlYXJjaCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWU6OmluVmlld1NvdXJjZU1vZGUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZy
YW1lOjpzZXRJblZpZXdTb3VyY2VNb2RlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZTo6bWFya2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWU6OnRyZWUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpwYWdl
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6ZGV0YWNoRnJvbVBhZ2UpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpldmVudEhhbmRsZXIpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OkZyYW1lOjpzaG91bGRDbG9zZSk6IERpdHRvLgorCiAyMDEwLTA1LTE0ICBM
ZW9uIENsYXJrZSAgPGxlb25jbGFya2VAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBTdGV2ZSBCbG9jay4KSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHJldmlzaW9uIDU5NTAzKQorKysgV2ViQ29y
ZS9XZWJDb3JlLmJhc2UuZXhwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTEsNiArMTUxLDcgQEAgX19a
TjdXZWJDb3JlMTFGaWxlQ2hvb3NlcjExY2hvb3NlRmlsZXNFUgogX19aTjdXZWJDb3JlMTFGaWxl
Q2hvb3NlckQxRXYKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxMWNvbXBsZXRlVVJMRVJLTlNf
NlN0cmluZ0UKIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxMWxvYWRBcmNoaXZlRU4zV1RGMTBQ
YXNzUmVmUHRySU5TXzdBcmNoaXZlRUVFCitfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTFzaG91
bGRDbG9zZUV2CiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyMTJzaG91bGRSZWxvYWRFUktOU180
S1VSTEVTM18KIF9fWk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNGRldGFjaENoaWxkcmVuRXYKIF9f
Wk43V2ViQ29yZTExRnJhbWVMb2FkZXIxNHN0b3BBbGxMb2FkZXJzRU5TXzE0RGF0YWJhc2VQb2xp
Y3lFCkBAIC0xNjIsNiArMTYzLDcgQEAgX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIyZmluZEZy
YW1lRm9yTgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIzaXNQcm9jZXNzaW5nVXNlckdlc3R1
cmVFdgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjIzdGltZU9mTGFzdENvbXBsZXRlZExvYWRF
dgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjI2cmVsb2FkV2l0aE92ZXJyaWRlRW5jb2RpbmdF
UktOU182U3RyaW5nRQorX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRpbml0RXYKIF9fWk43V2Vi
Q29yZTExRnJhbWVMb2FkZXI0bG9hZEVSS05TXzE1UmVzb3VyY2VSZXF1ZXN0RVJLTlNfMTRTdWJz
dGl0dXRlRGF0YUViCiBfX1pON1dlYkNvcmUxMUZyYW1lTG9hZGVyNGxvYWRFUktOU18xNVJlc291
cmNlUmVxdWVzdEVSS05TXzZTdHJpbmdFYgogX19aTjdXZWJDb3JlMTFGcmFtZUxvYWRlcjRsb2Fk
RVJLTlNfMTVSZXNvdXJjZVJlcXVlc3RFYgpAQCAtMzY5LDggKzM3MSw4IEBAIF9fWk43V2ViQ29y
ZTE1U3RyaW5nVHJ1bmNhdG9yMTRjZW50ZXJUcnUKIF9fWk43V2ViQ29yZTE1U3RyaW5nVHJ1bmNh
dG9yNXdpZHRoRVJLTlNfNlN0cmluZ0VSS05TXzRGb250RWIKIF9fWk43V2ViQ29yZTE1VmlzaWJs
ZVBvc2l0aW9uQzFFUE5TXzROb2RlRWlOU185RUFmZmluaXR5RQogX19aTjdXZWJDb3JlMTVWaXNp
YmxlUG9zaXRpb25DMUVSS05TXzhQb3NpdGlvbkVOU185RUFmZmluaXR5RQotX19aTjdXZWJDb3Jl
MTZGb250RmFsbGJhY2tMaXN0MTVyZWxlYXNlRm9udERhdGFFdgogX19aTjdXZWJDb3JlMTVyZXBv
cnRFeGNlcHRpb25FUE4zSlNDOUV4ZWNTdGF0ZUVOUzBfN0pTVmFsdWVFCitfX1pON1dlYkNvcmUx
NkZvbnRGYWxsYmFja0xpc3QxNXJlbGVhc2VGb250RGF0YUV2CiBfX1pON1dlYkNvcmUxNkZvbnRQ
bGF0Zm9ybURhdGFDMUVQNk5TRm9udGJiCiBfX1pON1dlYkNvcmUxNkZvbnRQbGF0Zm9ybURhdGFE
MUV2CiBfX1pON1dlYkNvcmUxNkxlZ2FjeVdlYkFyY2hpdmUxOWNyZWF0ZUZyb21TZWxlY3Rpb25F
UE5TXzVGcmFtZUUKQEAgLTUzMSwyMyArNTMzLDE3IEBAIF9fWk43V2ViQ29yZTVDYWNoZTEzZ2V0
U3RhdGlzdGljc0V2CiBfX1pON1dlYkNvcmU1Q2FjaGUxM3NldENhcGFjaXRpZXNFampqCiBfX1pO
N1dlYkNvcmU1RnJhbWUxMGNyZWF0ZVZpZXdFUktOU183SW50U2l6ZUVSS05TXzVDb2xvckViUzNf
Yk5TXzEzU2Nyb2xsYmFyTW9kZUViUzdfYgogX19aTjdXZWJDb3JlNUZyYW1lMTBmaW5kU3RyaW5n
RVJLTlNfNlN0cmluZ0ViYmJiCi1fX1pON1dlYkNvcmU1RnJhbWUxMXNob3VsZENsb3NlRXYKIF9f
Wk43V2ViQ29yZTVGcmFtZTEzcmVhcHBseVN0eWxlc0V2CiBfX1pON1dlYkNvcmU1RnJhbWUxM3Nl
dFpvb21GYWN0b3JFZk5TXzhab29tTW9kZUUKIF9fWk43V2ViQ29yZTVGcmFtZTE0ZnJhbWVGb3JX
aWRnZXRFUEtOU182V2lkZ2V0RQogX19aTjdXZWJDb3JlNUZyYW1lMTVyZXZlYWxTZWxlY3Rpb25F
UktOU18xNVNjcm9sbEFsaWdubWVudEViCi1fX1pON1dlYkNvcmU1RnJhbWUxN3NldElzRGlzY29u
bmVjdGVkRWIKLV9fWk43V2ViQ29yZTVGcmFtZTE5c2V0SW5WaWV3U291cmNlTW9kZUViCiBfX1pO
N1dlYkNvcmU1RnJhbWUyMHNldFNlbGVjdGlvbkZyb21Ob25lRXYKIF9fWk43V2ViQ29yZTVGcmFt
ZTIxbWFya0FsbE1hdGNoZXNGb3JUZXh0RVJLTlNfNlN0cmluZ0ViagogX19aTjdXZWJDb3JlNUZy
YW1lMjN2aXNpYmxlUG9zaXRpb25Gb3JQb2ludEVSS05TXzhJbnRQb2ludEUKIF9fWk43V2ViQ29y
ZTVGcmFtZTI0Y29tcHV0ZUFuZFNldFR5cGluZ1N0eWxlRVBOU18xOUNTU1N0eWxlRGVjbGFyYXRp
b25FTlNfMTBFZGl0QWN0aW9uRQotX19aTjdXZWJDb3JlNUZyYW1lMjRzZXRFeGNsdWRlRnJvbVRl
eHRTZWFyY2hFYgogX19aTjdXZWJDb3JlNUZyYW1lMjVtYXRjaExhYmVsc0FnYWluc3RFbGVtZW50
RVA3TlNBcnJheVBOU183RWxlbWVudEUKIF9fWk43V2ViQ29yZTVGcmFtZTI4c2VhcmNoRm9yTGFi
ZWxzQmVmb3JlRWxlbWVudEVQN05TQXJyYXlQTlNfN0VsZW1lbnRFUG1QYgogX19aTjdXZWJDb3Jl
NUZyYW1lMzRzZXRNYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdodGVkRWIKLV9fWk43V2ViQ29y
ZTVGcmFtZTRpbml0RXYKLV9fWk43V2ViQ29yZTVGcmFtZTZzY3JpcHRFdgogX19aTjdXZWJDb3Jl
NUZyYW1lN3NldFZpZXdFTjNXVEYxMFBhc3NSZWZQdHJJTlNfOUZyYW1lVmlld0VFRQogX19aTjdX
ZWJDb3JlNUZyYW1lQzFFUE5TXzRQYWdlRVBOU18yMUhUTUxGcmFtZU93bmVyRWxlbWVudEVQTlNf
MTdGcmFtZUxvYWRlckNsaWVudEUKIF9fWk43V2ViQ29yZTVGcmFtZUQxRXYKQEAgLTcxNiw2ICs3
MTIsNyBAQCBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MTVzZXRNYXJnaW5IZWlnaHRFCiBfX1pON1dl
YkNvcmU5RnJhbWVWaWV3MTZhZGp1c3RQYWdlSGVpZ2h0RVBmZmZmCiBfX1pON1dlYkNvcmU5RnJh
bWVWaWV3MTZzZXRQYWludEJlaGF2aW9yRWoKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcxOHVwZGF0
ZUNvbnRyb2xUaW50c0V2CitfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjBlbnRlckNvbXBvc2l0aW5n
TW9kZUV2CiBfX1pON1dlYkNvcmU5RnJhbWVWaWV3MjFmbHVzaERlZmVycmVkUmVwYWludHNFdgog
X19aTjdXZWJDb3JlOUZyYW1lVmlldzIxc2Nyb2xsUG9zaXRpb25DaGFuZ2VkRXYKIF9fWk43V2Vi
Q29yZTlGcmFtZVZpZXcyMnNldEJhc2VCYWNrZ3JvdW5kQ29sb3JFTlNfNUNvbG9yRQpAQCAtNzI0
LDcgKzcyMSw2IEBAIF9fWk43V2ViQ29yZTlGcmFtZVZpZXcyM3VwZGF0ZUNhbkhhdmVTY3IKIF9f
Wk43V2ViQ29yZTlGcmFtZVZpZXcyOWZvcmNlTGF5b3V0V2l0aFBhZ2VXaWR0aFJhbmdlRWZmYgog
X19aTjdXZWJDb3JlOUZyYW1lVmlldzI5c2V0U2hvdWxkVXBkYXRlV2hpbGVPZmZzY3JlZW5FYgog
X19aTjdXZWJDb3JlOUZyYW1lVmlldzI5c3luY0NvbXBvc2l0aW5nU3RhdGVSZWN1cnNpdmVFdgot
X19aTjdXZWJDb3JlOUZyYW1lVmlldzIwZW50ZXJDb21wb3NpdGluZ01vZGVFdgogX19aTjdXZWJD
b3JlOUZyYW1lVmlldzZjcmVhdGVFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTlGcmFtZVZpZXc2
Y3JlYXRlRVBOU181RnJhbWVFUktOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTlIVE1MTmFtZXMx
MGxpc3RpbmdUYWdFCkBAIC05MTIsMzcgKzkwOCwyMyBAQCBfX1pOSzdXZWJDb3JlNFBhZ2UxMHBs
dWdpbkRhdGFFdgogX19aTks3V2ViQ29yZTRQYWdlMzRpbkxvd1F1YWxpdHlJbWFnZUludGVycG9s
YXRpb25Nb2RlRXYKIF9fWk5LN1dlYkNvcmU0UGFnZTlncm91cE5hbWVFdgogX19aTks3V2ViQ29y
ZTVGcmFtZTExY3VycmVudEZvcm1FdgotX19aTks3V2ViQ29yZTVGcmFtZTExdHlwaW5nU3R5bGVF
dgotX19aTks3V2ViQ29yZTVGcmFtZTEyZXZlbnRIYW5kbGVyRXYKLV9fWk5LN1dlYkNvcmU1RnJh
bWUxMm93bmVyRWxlbWVudEV2CiBfX1pOSzdXZWJDb3JlNUZyYW1lMTJzZWxlY3RlZFRleHRFdgog
X19aTks3V2ViQ29yZTVGcmFtZTEzb3duZXJSZW5kZXJlckV2CiBfX1pOSzdXZWJDb3JlNUZyYW1l
MTRzZWxlY3Rpb25JbWFnZUViCiBfX1pOSzdXZWJDb3JlNUZyYW1lMTVjb250ZW50UmVuZGVyZXJF
dgogX19aTks3V2ViQ29yZTVGcmFtZTE1bGF5ZXJUcmVlQXNUZXh0RXYKIF9fWk5LN1dlYkNvcmU1
RnJhbWUxNXNlbGVjdGlvbkJvdW5kc0ViCi1fX1pOSzdXZWJDb3JlNUZyYW1lMTZpblZpZXdTb3Vy
Y2VNb2RlRXYKIF9fWk5LN1dlYkNvcmU1RnJhbWUxN2ZpcnN0UmVjdEZvclJhbmdlRVBOU181UmFu
Z2VFCiBfX1pOSzdXZWJDb3JlNUZyYW1lMThkb2N1bWVudFR5cGVTdHJpbmdFdgogX19aTks3V2Vi
Q29yZTVGcmFtZTE4c2VsZWN0aW9uVGV4dFJlY3RzRVJOM1dURjZWZWN0b3JJTlNfOUZsb2F0UmVj
dEVMbTBFRUVOUzBfMzBTZWxlY3Rpb25SZWN0UmVzcGVjdFRyYW5zZm9ybXNFYgogX19aTks3V2Vi
Q29yZTVGcmFtZTIwc2VsZWN0aW9uR3JhbnVsYXJpdHlFdgogX19aTks3V2ViQ29yZTVGcmFtZTMw
YXBwbHlFZGl0aW5nU3R5bGVUb0JvZHlFbGVtZW50RXYKIF9fWk5LN1dlYkNvcmU1RnJhbWUzMWZv
bnRBdHRyaWJ1dGVzRm9yU2VsZWN0aW9uU3RhcnRFdgotX19aTks3V2ViQ29yZTVGcmFtZTMxbWFy
a2VkVGV4dE1hdGNoZXNBcmVIaWdobGlnaHRlZEV2CiBfX1pOSzdXZWJDb3JlNUZyYW1lMzNyZW1v
dmVFZGl0aW5nU3R5bGVGcm9tQm9keUVsZW1lbnRFdgogX19aTks3V2ViQ29yZTVGcmFtZTM3YmFz
ZVdyaXRpbmdEaXJlY3Rpb25Gb3JTZWxlY3Rpb25TdGFydEV2Ci1fX1pOSzdXZWJDb3JlNUZyYW1l
NG1hcmtFdgotX19aTks3V2ViQ29yZTVGcmFtZTRwYWdlRXYKLV9fWk5LN1dlYkNvcmU1RnJhbWU0
dHJlZUV2Ci1fX1pOSzdXZWJDb3JlNUZyYW1lNHZpZXdFdgotX19aTks3V2ViQ29yZTVGcmFtZTZl
ZGl0b3JFdgotX19aTks3V2ViQ29yZTVGcmFtZTZsb2FkZXJFdgotX19aTks3V2ViQ29yZTVGcmFt
ZThkb2N1bWVudEV2CiBfX1pOSzdXZWJDb3JlNUZyYW1lOHNldHRpbmdzRXYKLV9fWk5LN1dlYkNv
cmU1RnJhbWU5YW5pbWF0aW9uRXYKIF9fWk5LN1dlYkNvcmU1RnJhbWU5ZG9tV2luZG93RXYKIF9f
Wk5LN1dlYkNvcmU1RnJhbWU5bm9kZUltYWdlRVBOU180Tm9kZUUKLV9fWk5LN1dlYkNvcmU1RnJh
bWU5c2VsZWN0aW9uRXYKIF9fWk5LN1dlYkNvcmU1UmFuZ2UxMXN0YXJ0T2Zmc2V0RVJpCiBfX1pO
SzdXZWJDb3JlNVJhbmdlMTJlbmRDb250YWluZXJFUmkKIF9fWk5LN1dlYkNvcmU1UmFuZ2UxMnBh
c3RMYXN0Tm9kZUV2CkluZGV4OiBXZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGFnZS9GcmFtZS5jcHAJKHJldmlzaW9uIDU5NTAzKQorKysgV2ViQ29yZS9wYWdl
L0ZyYW1lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjIzLDI2ICsyMjMsNiBAQCBGcmFtZTo6fkZy
YW1lKCkKICAgICBBU1NFUlQoIW1fbGlmZVN1cHBvcnRUaW1lci5pc0FjdGl2ZSgpKTsKIH0KIAot
dm9pZCBGcmFtZTo6aW5pdCgpCi17Ci0gICAgbV9sb2FkZXIuaW5pdCgpOwotfQotCi1GcmFtZUxv
YWRlciogRnJhbWU6OmxvYWRlcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICZtX2xvYWRlcjsKLX0K
LQotUmVkaXJlY3RTY2hlZHVsZXIqIEZyYW1lOjpyZWRpcmVjdFNjaGVkdWxlcigpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuICZtX3JlZGlyZWN0U2NoZWR1bGVyOwotfQotCi1GcmFtZVZpZXcqIEZyYW1l
Ojp2aWV3KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV92aWV3LmdldCgpOwotfQotCiB2b2lkIEZy
YW1lOjpzZXRWaWV3KFBhc3NSZWZQdHI8RnJhbWVWaWV3PiB2aWV3KQogewogICAgIC8vIFdlIHRo
ZSBjdXN0b20gc2Nyb2xsIGJhcnMgYXMgZWFybHkgYXMgcG9zc2libGUgdG8gcHJldmVudCBtX2Rv
Yy0+ZGV0YWNoKCkKQEAgLTI3NSwxNiArMjU1LDYgQEAgdm9pZCBGcmFtZTo6c2V0VmlldyhQYXNz
UmVmUHRyPEZyYW1lVmlldwogI2VuZGlmCiB9CiAKLVNjcmlwdENvbnRyb2xsZXIqIEZyYW1lOjpz
Y3JpcHQoKQotewotICAgIHJldHVybiAmbV9zY3JpcHQ7Ci19Ci0KLURvY3VtZW50KiBGcmFtZTo6
ZG9jdW1lbnQoKSBjb25zdAotewotICAgIHJldHVybiBtX2RvYy5nZXQoKTsKLX0KLQogdm9pZCBG
cmFtZTo6c2V0RG9jdW1lbnQoUGFzc1JlZlB0cjxEb2N1bWVudD4gbmV3RG9jKQogewogICAgIGlm
IChtX2RvYyAmJiBtX2RvYy0+YXR0YWNoZWQoKSAmJiAhbV9kb2MtPmluUGFnZUNhY2hlKCkpIHsK
QEAgLTM2MSwxNiArMzMxLDYgQEAgSW50UmVjdCBGcmFtZTo6Zmlyc3RSZWN0Rm9yUmFuZ2UoUmFu
Z2UqIAogICAgICAgICAgICAgICAgICAgIHN0YXJ0Q2FyZXRSZWN0LmhlaWdodCgpKTsKIH0KIAot
U2VsZWN0aW9uQ29udHJvbGxlciogRnJhbWU6OnNlbGVjdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuICZtX3NlbGVjdGlvbkNvbnRyb2xsZXI7Ci19Ci0KLUVkaXRvciogRnJhbWU6OmVkaXRvcigp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuICZtX2VkaXRvcjsKLX0KLQogVGV4dEdyYW51bGFyaXR5IEZy
YW1lOjpzZWxlY3Rpb25HcmFudWxhcml0eSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fc2VsZWN0
aW9uQ29udHJvbGxlci5ncmFudWxhcml0eSgpOwpAQCAtMzgxLDEyICszNDEsNiBAQCBTZWxlY3Rp
b25Db250cm9sbGVyKiBGcmFtZTo6ZHJhZ0NhcmV0Q29uCiAgICAgcmV0dXJuIG1fcGFnZS0+ZHJh
Z0NhcmV0Q29udHJvbGxlcigpOwogfQogCi0KLUFuaW1hdGlvbkNvbnRyb2xsZXIqIEZyYW1lOjph
bmltYXRpb24oKSBjb25zdAotewotICAgIHJldHVybiAmbV9hbmltYXRpb25Db250cm9sbGVyOwot
fQotCiBzdGF0aWMgUmVndWxhckV4cHJlc3Npb24qIGNyZWF0ZVJlZ0V4cEZvckxhYmVscyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgbGFiZWxzKQogewogICAgIC8vIFJFVklFVy0gdmVyc2lvbiBvZiB0
aGlzIGNhbGwgaW4gRnJhbWVNYWMubW0gY2FjaGVzIGJhc2VkIG9uIHRoZSBOU0FycmF5IHB0cnMg
YmVpbmcKQEAgLTU3NCwyMSArNTI4LDYgQEAgU3RyaW5nIEZyYW1lOjptYXRjaExhYmVsc0FnYWlu
c3RFbGVtZW50KAogICAgIHJldHVybiBtYXRjaExhYmVsc0FnYWluc3RTdHJpbmcobGFiZWxzLCBl
bGVtZW50LT5nZXRBdHRyaWJ1dGUoaWRBdHRyKSk7CiB9CiAKLWNvbnN0IFZpc2libGVTZWxlY3Rp
b24mIEZyYW1lOjptYXJrKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9tYXJrOwotfQotCi12b2lk
IEZyYW1lOjpzZXRNYXJrKGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHMpCi17Ci0gICAgQVNTRVJU
KCFzLmJhc2UoKS5ub2RlKCkgfHwgcy5iYXNlKCkubm9kZSgpLT5kb2N1bWVudCgpID09IGRvY3Vt
ZW50KCkpOwotICAgIEFTU0VSVCghcy5leHRlbnQoKS5ub2RlKCkgfHwgcy5leHRlbnQoKS5ub2Rl
KCktPmRvY3VtZW50KCkgPT0gZG9jdW1lbnQoKSk7Ci0gICAgQVNTRVJUKCFzLnN0YXJ0KCkubm9k
ZSgpIHx8IHMuc3RhcnQoKS5ub2RlKCktPmRvY3VtZW50KCkgPT0gZG9jdW1lbnQoKSk7Ci0gICAg
QVNTRVJUKCFzLmVuZCgpLm5vZGUoKSB8fCBzLmVuZCgpLm5vZGUoKS0+ZG9jdW1lbnQoKSA9PSBk
b2N1bWVudCgpKTsKLQotICAgIG1fbWFyayA9IHM7Ci19Ci0KIHZvaWQgRnJhbWU6Om5vdGlmeVJl
bmRlcmVyT2ZTZWxlY3Rpb25DaGFuZ2UoYm9vbCB1c2VyVHJpZ2dlcmVkKQogewogICAgIFJlbmRl
ck9iamVjdCogcmVuZGVyZXIgPSAwOwpAQCAtNjY3LDExICs2MDYsNiBAQCB2b2lkIEZyYW1lOjpw
YWludERyYWdDYXJldChHcmFwaGljc0NvbnRlCiAjZW5kaWYKIH0KIAotZmxvYXQgRnJhbWU6Onpv
b21GYWN0b3IoKSBjb25zdAotewotICAgIHJldHVybiBtX3pvb21GYWN0b3I7Ci19Ci0KIFpvb21N
b2RlIEZyYW1lOjp6b29tTW9kZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcGFnZS0+c2V0dGlu
Z3MoKS0+em9vbU1vZGUoKTsKQEAgLTc1MCwxNiArNjg0LDYgQEAgdm9pZCBGcmFtZTo6c2V0SlNE
ZWZhdWx0U3RhdHVzQmFyVGV4dChjbwogICAgICAgICBtX3BhZ2UtPmNocm9tZSgpLT5zZXRTdGF0
dXNiYXJUZXh0KHRoaXMsIG1fa2pzRGVmYXVsdFN0YXR1c0JhclRleHQpOwogfQogCi1TdHJpbmcg
RnJhbWU6OmpzU3RhdHVzQmFyVGV4dCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fa2pzU3RhdHVz
QmFyVGV4dDsKLX0KLQotU3RyaW5nIEZyYW1lOjpqc0RlZmF1bHRTdGF0dXNCYXJUZXh0KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gbV9ranNEZWZhdWx0U3RhdHVzQmFyVGV4dDsKLX0KLQogdm9pZCBG
cmFtZTo6c2V0TmVlZHNSZWFwcGx5U3R5bGVzKCkKIHsKICAgICAvLyBXaGVuIHRoZSBmcmFtZSBp
cyBub3Qgc2hvd2luZyB3ZWIgY29udGVudCwgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIGFwcGx5
IHN0eWxlcy4KQEAgLTc3OSwxMSArNzAzLDYgQEAgdm9pZCBGcmFtZTo6c2V0TmVlZHNSZWFwcGx5
U3R5bGVzKCkKICAgICAgICAgdmlldygpLT5zY2hlZHVsZVJlbGF5b3V0KCk7CiB9CiAKLWJvb2wg
RnJhbWU6Om5lZWRzUmVhcHBseVN0eWxlcygpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fbmVlZHNS
ZWFwcGx5U3R5bGVzOwotfQotCiB2b2lkIEZyYW1lOjpyZWFwcGx5U3R5bGVzKCkKIHsKICAgICBt
X25lZWRzUmVhcHBseVN0eWxlcyA9IGZhbHNlOwpAQCAtODU0LDIxICs3NzMsNiBAQCBib29sIEZy
YW1lOjppc0NvbnRlbnRFZGl0YWJsZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZG9jLT5pbkRlc2ln
bk1vZGUoKTsKIH0KIAotQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24gKkZyYW1lOjp0eXBpbmdT
dHlsZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fdHlwaW5nU3R5bGUuZ2V0KCk7Ci19Ci0KLXZv
aWQgRnJhbWU6OnNldFR5cGluZ1N0eWxlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uICpzdHls
ZSkKLXsKLSAgICBtX3R5cGluZ1N0eWxlID0gc3R5bGU7Ci19Ci0KLXZvaWQgRnJhbWU6OmNsZWFy
VHlwaW5nU3R5bGUoKQotewotICAgIG1fdHlwaW5nU3R5bGUgPSAwOwotfQotCiB2b2lkIEZyYW1l
Ojpjb21wdXRlQW5kU2V0VHlwaW5nU3R5bGUoQ1NTU3R5bGVEZWNsYXJhdGlvbiAqc3R5bGUsIEVk
aXRBY3Rpb24gZWRpdGluZ0FjdGlvbikKIHsKICAgICBpZiAoIXN0eWxlIHx8ICFzdHlsZS0+bGVu
Z3RoKCkpIHsKQEAgLTEwMjMsMTAgKzkyNyw4IEBAIHZvaWQgRnJhbWU6OmFwcGx5RWRpdGluZ1N0
eWxlVG9Cb2R5RWxlbWUKIAogdm9pZCBGcmFtZTo6cmVtb3ZlRWRpdGluZ1N0eWxlRnJvbUJvZHlF
bGVtZW50KCkgY29uc3QKIHsKLSAgICBSZWZQdHI8Tm9kZUxpc3Q+IGxpc3QgPSBtX2RvYy0+Z2V0
RWxlbWVudHNCeVRhZ05hbWUoImJvZHkiKTsKLSAgICB1bnNpZ25lZCBsZW4gPSBsaXN0LT5sZW5n
dGgoKTsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuOyBpKyspCi0gICAgICAgIHJl
bW92ZUVkaXRpbmdTdHlsZUZyb21FbGVtZW50KHN0YXRpY19jYXN0PEVsZW1lbnQqPihsaXN0LT5p
dGVtKGkpKSk7CisgICAgLy8gRklYTUU6IFRoaXMgZnVuY3Rpb24gZG9lcyBub3RoaW5nLiBXZSBz
aG91bGQgZWl0aGVyIGltcGxlbWVudCBpdAorICAgIC8vIG9yIHJlbW92ZSBpdCBhbG9uZyB3aXRo
IGFsbCBjYWxsIHNpdGVzLgogfQogCiB2b2lkIEZyYW1lOjphcHBseUVkaXRpbmdTdHlsZVRvRWxl
bWVudChFbGVtZW50KiBlbGVtZW50KSBjb25zdApAQCAtMTA0NiwxMCArOTQ4LDYgQEAgdm9pZCBG
cmFtZTo6YXBwbHlFZGl0aW5nU3R5bGVUb0VsZW1lbnQoRQogICAgIEFTU0VSVCghZWMpOwogfQog
Ci12b2lkIEZyYW1lOjpyZW1vdmVFZGl0aW5nU3R5bGVGcm9tRWxlbWVudChFbGVtZW50KikgY29u
c3QKLXsKLX0KLQogI2lmbmRlZiBOREVCVUcKIHN0YXRpYyBIYXNoU2V0PEZyYW1lKj4mIGtlZXBB
bGl2ZVNldCgpCiB7CkBAIC0xMTExLDExICsxMDA5LDYgQEAgUmVuZGVyVmlldyogRnJhbWU6OmNv
bnRlbnRSZW5kZXJlcigpIGNvbgogICAgIHJldHVybiB0b1JlbmRlclZpZXcob2JqZWN0KTsKIH0K
IAotSFRNTEZyYW1lT3duZXJFbGVtZW50KiBGcmFtZTo6b3duZXJFbGVtZW50KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9vd25lckVsZW1lbnQ7Ci19Ci0KIFJlbmRlclBhcnQqIEZyYW1lOjpvd25l
clJlbmRlcmVyKCkgY29uc3QKIHsKICAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyRWxl
bWVudCA9IG1fb3duZXJFbGVtZW50OwpAQCAtMTEzMywyNiArMTAyNiw2IEBAIFJlbmRlclBhcnQq
IEZyYW1lOjpvd25lclJlbmRlcmVyKCkgY29uc3QKICAgICByZXR1cm4gdG9SZW5kZXJQYXJ0KG9i
amVjdCk7CiB9CiAKLWJvb2wgRnJhbWU6OmlzRGlzY29ubmVjdGVkKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9pc0Rpc2Nvbm5lY3RlZDsKLX0KLQotdm9pZCBGcmFtZTo6c2V0SXNEaXNjb25uZWN0
ZWQoYm9vbCBpc0Rpc2Nvbm5lY3RlZCkKLXsKLSAgICBtX2lzRGlzY29ubmVjdGVkID0gaXNEaXNj
b25uZWN0ZWQ7Ci19Ci0KLWJvb2wgRnJhbWU6OmV4Y2x1ZGVGcm9tVGV4dFNlYXJjaCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZXhjbHVkZUZyb21UZXh0U2VhcmNoOwotfQotCi12b2lkIEZyYW1l
OjpzZXRFeGNsdWRlRnJvbVRleHRTZWFyY2goYm9vbCBleGNsdWRlKQotewotICAgIG1fZXhjbHVk
ZUZyb21UZXh0U2VhcmNoID0gZXhjbHVkZTsKLX0KLQogLy8gcmV0dXJucyBGbG9hdFJlY3QgYmVj
YXVzZSBnb2luZyB0aHJvdWdoIEludFJlY3Qgd291bGQgdHJ1bmNhdGUgYW55IGZsb2F0cwogRmxv
YXRSZWN0IEZyYW1lOjpzZWxlY3Rpb25Cb3VuZHMoYm9vbCBjbGlwVG9WaXNpYmxlQ29udGVudCkg
Y29uc3QKIHsKQEAgLTEzNDgsMTYgKzEyMjEsNiBAQCB2b2lkIEZyYW1lOjpzZXRTZWxlY3Rpb25G
cm9tTm9uZSgpCiAgICAgICAgIHNlbGVjdGlvbigpLT5zZXRTZWxlY3Rpb24oVmlzaWJsZVNlbGVj
dGlvbihQb3NpdGlvbihub2RlLCAwKSwgRE9XTlNUUkVBTSkpOwogfQogCi1ib29sIEZyYW1lOjpp
blZpZXdTb3VyY2VNb2RlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9pblZpZXdTb3VyY2VNb2Rl
OwotfQotCi12b2lkIEZyYW1lOjpzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgbW9kZSkKLXsKLSAg
ICBtX2luVmlld1NvdXJjZU1vZGUgPSBtb2RlOwotfQotCiAvLyBTZWFyY2hlcyBmcm9tIHRoZSBi
ZWdpbm5pbmcgb2YgdGhlIGRvY3VtZW50IGlmIG5vdGhpbmcgaXMgc2VsZWN0ZWQuCiBib29sIEZy
YW1lOjpmaW5kU3RyaW5nKGNvbnN0IFN0cmluZyYgdGFyZ2V0LCBib29sIGZvcndhcmQsIGJvb2wg
Y2FzZUZsYWcsIGJvb2wgd3JhcEZsYWcsIGJvb2wgc3RhcnRJblNlbGVjdGlvbikKIHsKQEAgLTE1
MDIsMTEgKzEzNjUsNiBAQCB1bnNpZ25lZCBGcmFtZTo6bWFya0FsbE1hdGNoZXNGb3JUZXh0KGNv
CiAgICAgcmV0dXJuIG1hdGNoQ291bnQ7CiB9CiAKLWJvb2wgRnJhbWU6Om1hcmtlZFRleHRNYXRj
aGVzQXJlSGlnaGxpZ2h0ZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2hpZ2hsaWdodFRleHRN
YXRjaGVzOwotfQotCiB2b2lkIEZyYW1lOjpzZXRNYXJrZWRUZXh0TWF0Y2hlc0FyZUhpZ2hsaWdo
dGVkKGJvb2wgZmxhZykKIHsKICAgICBpZiAoZmxhZyA9PSBtX2hpZ2hsaWdodFRleHRNYXRjaGVz
KQpAQCAtMTUxNiwxMSArMTM3NCw2IEBAIHZvaWQgRnJhbWU6OnNldE1hcmtlZFRleHRNYXRjaGVz
QXJlSGlnaGwKICAgICBkb2N1bWVudCgpLT5yZXBhaW50TWFya2VycyhEb2N1bWVudE1hcmtlcjo6
VGV4dE1hdGNoKTsKIH0KIAotRnJhbWVUcmVlKiBGcmFtZTo6dHJlZSgpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuICZtX3RyZWVOb2RlOwotfQotCiB2b2lkIEZyYW1lOjpzZXRET01XaW5kb3coRE9NV2lu
ZG93KiBkb21XaW5kb3cpCiB7CiAgICAgaWYgKG1fZG9tV2luZG93KSB7CkBAIC0xNTQzLDIxICsx
Mzk2LDYgQEAgdm9pZCBGcmFtZTo6Y2xlYXJGb3JtZXJET01XaW5kb3coRE9NV2luZAogICAgIG1f
bGl2ZUZvcm1lcldpbmRvd3MucmVtb3ZlKHdpbmRvdyk7CiB9CiAKLVBhZ2UqIEZyYW1lOjpwYWdl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9wYWdlOwotfQotCi12b2lkIEZyYW1lOjpkZXRhY2hG
cm9tUGFnZSgpCi17Ci0gICAgbV9wYWdlID0gMDsKLX0KLQotRXZlbnRIYW5kbGVyKiBGcmFtZTo6
ZXZlbnRIYW5kbGVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gJm1fZXZlbnRIYW5kbGVyOwotfQot
CiB2b2lkIEZyYW1lOjpwYWdlRGVzdHJveWVkKCkKIHsKICAgICBpZiAoRnJhbWUqIHBhcmVudCA9
IHRyZWUoKS0+cGFyZW50KCkpCkBAIC0xNjY1LDEzICsxNTAzLDYgQEAgdm9pZCBGcmFtZTo6dW5m
b2N1c1dpbmRvdygpCiAgICAgICAgIHBhZ2UoKS0+Y2hyb21lKCktPnVuZm9jdXMoKTsKIH0KIAot
Ym9vbCBGcmFtZTo6c2hvdWxkQ2xvc2UoKQotewotICAgIC8vIEZJWE1FOiBTb21lIFdlYktpdCBj
bGllbnRzIGNhbGwgRnJhbWU6OnNob3VsZENsb3NlKCkgZGlyZWN0bHkuCi0gICAgLy8gV2Ugc2hv
dWxkIHRyYW5zaXRpb24gdGhlbSB0byBjYWxsaW5nIEZyYW1lTG9hZGVyOjpzaG91bGRDbG9zZSgp
IHRoZW4gZ2V0IHJpZCBvZiB0aGlzIG1ldGhvZC4KLSAgICByZXR1cm4gbV9sb2FkZXIuc2hvdWxk
Q2xvc2UoKTsKLX0KLQogdm9pZCBGcmFtZTo6c2NoZWR1bGVDbG9zZSgpCiB7CiAgICAgaWYgKCFz
aG91bGRDbG9zZSgpKQpJbmRleDogV2ViQ29yZS9wYWdlL0ZyYW1lLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9wYWdlL0ZyYW1lLmgJKHJldmlzaW9uIDU5NTAzKQorKysgV2ViQ29yZS9wYWdlL0Zy
YW1lLmgJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBACiAgKiAgICAgICAgICAgICAgICAg
ICAgIDIwMDAtMjAwMSBTaW1vbiBIYXVzbWFubiA8aGF1c21hbm5Aa2RlLm9yZz4KICAqICAgICAg
ICAgICAgICAgICAgICAgMjAwMC0yMDAxIERpcmsgTXVlbGxlciA8bXVlbGxlckBrZGUub3JnPgog
ICogICAgICAgICAgICAgICAgICAgICAyMDAwIFN0ZWZhbiBTY2hpbWFuc2tpIDwxU3RlaW5AZ214
LmRlPgotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggRXJpYyBTZWlkZWwg
PGVyaWNAd2Via2l0Lm9yZz4KICAqCkBAIC0zNzcsNiArMzc3LDE2OCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjZW5kaWYKICAgICB9OwogCisgICAgaW5saW5lIHZvaWQgRnJhbWU6OmluaXQoKQor
ICAgIHsKKyAgICAgICAgbV9sb2FkZXIuaW5pdCgpOworICAgIH0KKworICAgIGlubGluZSBGcmFt
ZUxvYWRlciogRnJhbWU6OmxvYWRlcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gJm1f
bG9hZGVyOworICAgIH0KKworICAgIGlubGluZSBSZWRpcmVjdFNjaGVkdWxlciogRnJhbWU6OnJl
ZGlyZWN0U2NoZWR1bGVyKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAmbV9yZWRpcmVj
dFNjaGVkdWxlcjsKKyAgICB9CisKKyAgICBpbmxpbmUgRnJhbWVWaWV3KiBGcmFtZTo6dmlldygp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV92aWV3LmdldCgpOworICAgIH0KKworICAg
IGlubGluZSBTY3JpcHRDb250cm9sbGVyKiBGcmFtZTo6c2NyaXB0KCkKKyAgICB7CisgICAgICAg
IHJldHVybiAmbV9zY3JpcHQ7CisgICAgfQorCisgICAgaW5saW5lIERvY3VtZW50KiBGcmFtZTo6
ZG9jdW1lbnQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fZG9jLmdldCgpOworICAg
IH0KKworICAgIGlubGluZSBTZWxlY3Rpb25Db250cm9sbGVyKiBGcmFtZTo6c2VsZWN0aW9uKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAmbV9zZWxlY3Rpb25Db250cm9sbGVyOworICAg
IH0KKworICAgIGlubGluZSBFZGl0b3IqIEZyYW1lOjplZGl0b3IoKSBjb25zdAorICAgIHsKKyAg
ICAgICAgcmV0dXJuICZtX2VkaXRvcjsKKyAgICB9CisKKyAgICBpbmxpbmUgQW5pbWF0aW9uQ29u
dHJvbGxlciogRnJhbWU6OmFuaW1hdGlvbigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4g
Jm1fYW5pbWF0aW9uQ29udHJvbGxlcjsKKyAgICB9CisKKyAgICBpbmxpbmUgY29uc3QgVmlzaWJs
ZVNlbGVjdGlvbiYgRnJhbWU6Om1hcmsoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
bWFyazsKKyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBGcmFtZTo6c2V0TWFyayhjb25zdCBWaXNp
YmxlU2VsZWN0aW9uJiBzKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFzLmJhc2UoKS5ub2RlKCkg
fHwgcy5iYXNlKCkubm9kZSgpLT5kb2N1bWVudCgpID09IGRvY3VtZW50KCkpOworICAgICAgICBB
U1NFUlQoIXMuZXh0ZW50KCkubm9kZSgpIHx8IHMuZXh0ZW50KCkubm9kZSgpLT5kb2N1bWVudCgp
ID09IGRvY3VtZW50KCkpOworICAgICAgICBBU1NFUlQoIXMuc3RhcnQoKS5ub2RlKCkgfHwgcy5z
dGFydCgpLm5vZGUoKS0+ZG9jdW1lbnQoKSA9PSBkb2N1bWVudCgpKTsKKyAgICAgICAgQVNTRVJU
KCFzLmVuZCgpLm5vZGUoKSB8fCBzLmVuZCgpLm5vZGUoKS0+ZG9jdW1lbnQoKSA9PSBkb2N1bWVu
dCgpKTsKKworICAgICAgICBtX21hcmsgPSBzOworICAgIH0KKworICAgIGlubGluZSBmbG9hdCBG
cmFtZTo6em9vbUZhY3RvcigpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV96b29tRmFj
dG9yOworICAgIH0KKworICAgIGlubGluZSBTdHJpbmcgRnJhbWU6OmpzU3RhdHVzQmFyVGV4dCgp
IGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9ranNTdGF0dXNCYXJUZXh0OworICAgIH0K
KworICAgIGlubGluZSBTdHJpbmcgRnJhbWU6OmpzRGVmYXVsdFN0YXR1c0JhclRleHQoKSBjb25z
dAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fa2pzRGVmYXVsdFN0YXR1c0JhclRleHQ7CisgICAg
fQorCisgICAgaW5saW5lIGJvb2wgRnJhbWU6Om5lZWRzUmVhcHBseVN0eWxlcygpIGNvbnN0Cisg
ICAgeworICAgICAgICByZXR1cm4gbV9uZWVkc1JlYXBwbHlTdHlsZXM7CisgICAgfQorCisgICAg
aW5saW5lIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBGcmFtZTo6dHlwaW5nU3R5bGUoKSBj
b25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fdHlwaW5nU3R5bGUuZ2V0KCk7CisgICAgfQor
CisgICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldFR5cGluZ1N0eWxlKENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uICpzdHlsZSkKKyAgICB7CisgICAgICAgIG1fdHlwaW5nU3R5bGUgPSBzdHlsZTsK
KyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBGcmFtZTo6Y2xlYXJUeXBpbmdTdHlsZSgpCisgICAg
eworICAgICAgICBtX3R5cGluZ1N0eWxlID0gMDsKKyAgICB9CisKKyAgICBpbmxpbmUgSFRNTEZy
YW1lT3duZXJFbGVtZW50KiBGcmFtZTo6b3duZXJFbGVtZW50KCkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBtX293bmVyRWxlbWVudDsKKyAgICB9CisKKyAgICBpbmxpbmUgYm9vbCBGcmFt
ZTo6aXNEaXNjb25uZWN0ZWQoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faXNEaXNj
b25uZWN0ZWQ7CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldElzRGlzY29ubmVj
dGVkKGJvb2wgaXNEaXNjb25uZWN0ZWQpCisgICAgeworICAgICAgICBtX2lzRGlzY29ubmVjdGVk
ID0gaXNEaXNjb25uZWN0ZWQ7CisgICAgfQorCisgICAgaW5saW5lIGJvb2wgRnJhbWU6OmV4Y2x1
ZGVGcm9tVGV4dFNlYXJjaCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gbV9leGNsdWRl
RnJvbVRleHRTZWFyY2g7CisgICAgfQorCisgICAgaW5saW5lIHZvaWQgRnJhbWU6OnNldEV4Y2x1
ZGVGcm9tVGV4dFNlYXJjaChib29sIGV4Y2x1ZGUpCisgICAgeworICAgICAgICBtX2V4Y2x1ZGVG
cm9tVGV4dFNlYXJjaCA9IGV4Y2x1ZGU7CisgICAgfQorCisgICAgaW5saW5lIGJvb2wgRnJhbWU6
OmluVmlld1NvdXJjZU1vZGUoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1faW5WaWV3
U291cmNlTW9kZTsKKyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBGcmFtZTo6c2V0SW5WaWV3U291
cmNlTW9kZShib29sIG1vZGUpCisgICAgeworICAgICAgICBtX2luVmlld1NvdXJjZU1vZGUgPSBt
b2RlOworICAgIH0KKworICAgIGlubGluZSBib29sIEZyYW1lOjptYXJrZWRUZXh0TWF0Y2hlc0Fy
ZUhpZ2hsaWdodGVkKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBtX2hpZ2hsaWdodFRl
eHRNYXRjaGVzOworICAgIH0KKworICAgIGlubGluZSBGcmFtZVRyZWUqIEZyYW1lOjp0cmVlKCkg
Y29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAmbV90cmVlTm9kZTsKKyAgICB9CisKKyAgICBp
bmxpbmUgUGFnZSogRnJhbWU6OnBhZ2UoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIG1f
cGFnZTsKKyAgICB9CisKKyAgICBpbmxpbmUgdm9pZCBGcmFtZTo6ZGV0YWNoRnJvbVBhZ2UoKQor
ICAgIHsKKyAgICAgICAgbV9wYWdlID0gMDsKKyAgICB9CisKKyAgICBpbmxpbmUgRXZlbnRIYW5k
bGVyKiBGcmFtZTo6ZXZlbnRIYW5kbGVyKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiAm
bV9ldmVudEhhbmRsZXI7CisgICAgfQorCisgICAgaW5saW5lIGJvb2wgRnJhbWU6OnNob3VsZENs
b3NlKCkKKyAgICB7CisgICAgICAgIC8vIEZJWE1FOiBTb21lIFdlYktpdCBjbGllbnRzIGNhbGwg
RnJhbWU6OnNob3VsZENsb3NlKCkgZGlyZWN0bHkuCisgICAgICAgIC8vIFdlIHNob3VsZCB0cmFu
c2l0aW9uIHRoZW0gdG8gY2FsbGluZyBGcmFtZUxvYWRlcjo6c2hvdWxkQ2xvc2UoKSB0aGVuIGdl
dCByaWQgb2YgdGhpcyBtZXRob2QuCisgICAgICAgIHJldHVybiBtX2xvYWRlci5zaG91bGRDbG9z
ZSgpOworICAgIH0KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRnJhbWVf
aAo=
</data>
<flag name="review"
          id="40685"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="40690"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>