<?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>124237</bug_id>
          
          <creation_ts>2013-11-12 15:22:07 -0800</creation_ts>
          <short_desc>Move ValueToString out to its own header file to remove duplication</short_desc>
          <delta_ts>2013-11-12 16:29:28 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Bem Jones-Bey">bjonesbe</reporter>
          <assigned_to name="Bem Jones-Bey">bjonesbe</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>949895</commentid>
    <comment_count>0</comment_count>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-11-12 15:22:07 -0800</bug_when>
    <thetext>Move ValueToString out to its own header file to remove duplication</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949903</commentid>
    <comment_count>1</comment_count>
      <attachid>216732</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-11-12 15:30:36 -0800</bug_when>
    <thetext>Created attachment 216732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949908</commentid>
    <comment_count>2</comment_count>
      <attachid>216732</attachid>
    <who name="Alexandru Chiculita">achicu</who>
    <bug_when>2013-11-12 15:42:27 -0800</bug_when>
    <thetext>Comment on attachment 216732
Patch

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

r=me

&gt; Source/WebCore/platform/LayoutUnit.h:34
&gt; +#ifndef NDEBUG

nit: You don&apos;t need the #ifndef here. The file itself already has it. Also, you don&apos;t do that in the other headers.

&gt; Source/WebCore/platform/LayoutUnit.h:970
&gt; +template &lt;&gt; struct ValueToString&lt;LayoutUnit&gt; {

nit: you have different styles for the template&lt;&gt; placement. I think the second one is better.

template &lt;&gt; struct ValueToString&lt;LayoutUnit&gt;

and 

template &lt;&gt;
struct ValueToString&lt;LayoutUnit&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949909</commentid>
    <comment_count>3</comment_count>
      <attachid>216735</attachid>
    <who name="Bem Jones-Bey">bjonesbe</who>
    <bug_when>2013-11-12 15:46:58 -0800</bug_when>
    <thetext>Created attachment 216735
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949928</commentid>
    <comment_count>4</comment_count>
      <attachid>216735</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-12 16:29:26 -0800</bug_when>
    <thetext>Comment on attachment 216735
Updated Patch

Clearing flags on attachment: 216735

Committed r159159: &lt;http://trac.webkit.org/changeset/159159&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>949929</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-12 16:29:28 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216732</attachid>
            <date>2013-11-12 15:30:36 -0800</date>
            <delta_ts>2013-11-12 15:46:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-124237-20131112153036.patch</filename>
            <type>text/plain</type>
            <size>17190</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDljZDVhYzNiMThiNjZm
NDQxMmZmMjZhYTQ3MmI5OTNlZDQ3OGE5NC4uYTFmNTlmZmZkYjgwMWE2NTA5MmRlNDQzZTkzZjFi
YjFjNTMwZjg1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTExLTEyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIE1vdmUgVmFsdWVUb1N0
cmluZyBvdXQgdG8gaXRzIG93biBoZWFkZXIgZmlsZSB0byByZW1vdmUgZHVwbGljYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDIzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBWYWx1ZVRv
U3RyaW5nIHN0cnVjdCBpcyB1c2VkIGluIG1hbnkgcGxhY2VzIGZvciBkZWJ1Z2dpbmcuIE1vdmUg
aXQKKyAgICAgICAgb3V0IHRvIGl0cyBvd24gaGVhZGVyIGZpbGUgdG8gcmVtb3ZlIGFsbCB0aGUg
ZHVwbGljYXRlZCBkZWZpbml0aW9ucworICAgICAgICBhbmQgbWFrZSBpdCBwb3NzaWJsZSBmb3Ig
dGhlIHNwZWNpYWxpemF0aW9ucyB0byBiZSBwbGFjZWQgaW4gdGhlCisgICAgICAgIGhlYWRlciBm
aWxlcyB3aXRoIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgY2xhc3NlcyB0aGV5IHByaW50Lgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgorCisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAgICog
cGxhdGZvcm0vTGF5b3V0VW5pdC5oOgorICAgICAgICAqIHBsYXRmb3JtL1BPREludGVydmFsLmg6
CisgICAgICAgICogcGxhdGZvcm0vUE9ESW50ZXJ2YWxUcmVlLmg6CisgICAgICAgICogcGxhdGZv
cm0vUE9EUmVkQmxhY2tUcmVlLmg6CisgICAgICAgICogcGxhdGZvcm0vVmFsdWVUb1N0cmluZy5o
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaDoKKyAg
ICAgICAgKiByZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcDoKKyAgICAgICAgKiByZW5kZXJp
bmcvRmxvYXRpbmdPYmplY3RzLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJGbG93VGhyZWFkLmg6CisKIDIwMTMtMTEtMTIgIEFsZXggQ2hyaXN0ZW5zZW4g
IDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbV2luQ2Fpcm9dIFByZXBhcmF0
aW9uIGZvciBFTkFCTEUoVklERU8pLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXgg
ZDMwOTNlMWVlNGU2NjI5YjIwYmY4OTExODdiOThjZTkwYWMxZGEwNy4uOGI1Y2I0MjhjNTNhYTI2
NTA4ZmI0OTViOWMzZDViZTkwMGVkNTE2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFt
CkBAIC02MDU2LDYgKzYwNTYsNyBAQCBwbGF0Zm9ybV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9UcmVlU2hhcmVkLmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VV
SUQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9VVUlELmggXAorCVNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1ZhbHVlVG9TdHJpbmcuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
VmlzaXRlZExpbmtTdHJhdGVneS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9XaWRnZXQuaCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmIxMzhkM2M5
YmViYzk0NWIwMzhmZDlkYjUyYjg0YjY0ZGE1YTUxNC4uODI5Zjg3ZjliMjhmYWY0NjU3NDFmZDg4
OWQ5ZmM0NmIzZmVkNjVmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzM5Miw2ICszMzkyLDcgQEAKIAkJOThDRTQzMjYxMjlF
MDBCRDAwNTgyMURDIC8qIExpbmtMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOThDRTQzMjUxMjlFMDBCRDAwNTgyMURDIC8qIExpbmtMb2Fk
ZXIuY3BwICovOyB9OwogCQk5OENFNDMyQTEyOUUwMEU1MDA1ODIxREMgLyogTGlua0xvYWRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOThDRTQzMjkx
MjlFMDBFNTAwNTgyMURDIC8qIExpbmtMb2FkZXIuaCAqLzsgfTsKIAkJOThFQjFGOTUxMzEzRkUw
NTAwRDBFMUVBIC8qIE5vdEltcGxlbWVudGVkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5OEVCMUY5NDEzMTNGRTA1MDBEMEUxRUEgLyogTm90SW1wbGVt
ZW50ZWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQk5QTExNDIwNDE4MzJEMTM1MDAwQkI4QUQgLyogVmFsdWVUb1N0cmluZy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUExMTQyMDMxODMyRDEzNDAwMEJC
OEFEIC8qIFZhbHVlVG9TdHJpbmcuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk5QTFCNkY5NzE1ODg2OUM4MDAxMUE4QzQgLyogSlNET01TdHJpbmdM
aXN0Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDlBMUI2Rjk2MTU4ODY5QzgwMDExQThDNCAvKiBKU0RPTVN0cmluZ0xpc3RDdXN0b20uY3Bw
ICovOyB9OwogCQk5QTUyOEU4MzE3RDdGNTJGMDBBQTk1MTggLyogRmxvYXRpbmdPYmplY3RzLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlBNTI4RTgx
MTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuY3BwICovOyB9OwogCQk5QTUyOEU4
NDE3RDdGNTJGMDBBQTk1MTggLyogRmxvYXRpbmdPYmplY3RzLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QTUyOEU4MjE3RDdGNTJGMDBBQTk1MTggLyog
RmxvYXRpbmdPYmplY3RzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTEwMTQyLDYgKzEwMTQzLDcgQEAKIAkJOThDRTQzMjUxMjlFMDBCRDAwNTgy
MURDIC8qIExpbmtMb2FkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTGlua0xvYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk4Q0U0MzI5
MTI5RTAwRTUwMDU4MjFEQyAvKiBMaW5rTG9hZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IExpbmtMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOThF
QjFGOTQxMzEzRkUwNTAwRDBFMUVBIC8qIE5vdEltcGxlbWVudGVkLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5vdEltcGxlbWVudGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTlBMTE0MjAzMTgzMkQxMzQwMDBCQjhBRCAvKiBWYWx1ZVRvU3RyaW5nLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZhbHVlVG9TdHJpbmcuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUExQjZGOTYxNTg4NjlDODAwMTFBOEM0IC8qIEpTRE9NU3Ry
aW5nTGlzdEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0RPTVN0cmluZ0xpc3RDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5
QTUyOEU4MTE3RDdGNTJGMDBBQTk1MTggLyogRmxvYXRpbmdPYmplY3RzLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZsb2F0aW5nT2JqZWN0cy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlBNTI4RTgyMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGlu
Z09iamVjdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmxvYXRpbmdPYmpl
Y3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDE0OSw2ICsyMDE1MSw3IEBA
CiAJCQkJQkNCRDIxQUEwRTQxN0FENDAwQTA3MEYyIC8qIFVSTEhhc2guaCAqLywKIAkJCQkyRTNC
QkYwNTExNjJEQTExMDBCOTQwOUEgLyogVVVJRC5jcHAgKi8sCiAJCQkJMkUzQkJGMDYxMTYyREEx
MTAwQjk0MDlBIC8qIFVVSUQuaCAqLywKKwkJCQk5QTExNDIwMzE4MzJEMTM0MDAwQkI4QUQgLyog
VmFsdWVUb1N0cmluZy5oICovLAogCQkJCTUxNTc4OEMwMTIwNzg1MkMwMEEzN0M0QSAvKiBWaXNp
dGVkTGlua1N0cmF0ZWd5LmggKi8sCiAJCQkJOTM4MEY0NzEwOUExMUFCNDAwMUZEQjM0IC8qIFdp
ZGdldC5jcHAgKi8sCiAJCQkJOTM4MEY0NzIwOUExMUFCNDAwMUZEQjM0IC8qIFdpZGdldC5oICov
LApAQCAtMjE4NjksNiArMjE4NzIsNyBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCisJCQkJOUEx
MTQyMDQxODMyRDEzNTAwMEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcuaCBpbiBIZWFkZXJzICovLAog
CQkJCTkzMkFENzA2MTdFRkEyQzQwMDM4RjhGRiAvKiBNYWluRnJhbWUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZFREJGRjE2MTgyQjdBOEQwMDE3RkE2NCAvKiBCcmVha3BvaW50SUQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUZFMTE1RkFCMTY3OTg4Q0QwMDI0OTEzNCAvKiBBYnN0cmFjdERhdGFiYXNl
U2VydmVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmgKaW5kZXggMjE5MzIxZTRiNDg0NjQ1Y2IxZjdkZWJmMWRiOTA3ZTU2NTk3OGRhZC4uNGM0YTA2
ZmEyY2JhYzFiZDQ4N2U5YThmMWQ4NDJmZjkwZGE2MGMxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKQEAgLTc5OSwxNSArNzk5LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVO
QUJMRShWSURFT19UUkFDSykKICNpZm5kZWYgTkRFQlVHCi0vLyBUZW1wbGF0ZSBzcGVjaWFsaXph
dGlvbnMgcmVxdWlyZWQgYnkgUG9kSW50ZXJ2YWxUcmVlIGluIGRlYnVnIG1vZGUuCi10ZW1wbGF0
ZSA8Pgotc3RydWN0IFZhbHVlVG9TdHJpbmc8ZG91YmxlPiB7Ci0gICAgc3RhdGljIFN0cmluZyBz
dHJpbmcoY29uc3QgZG91YmxlIHZhbHVlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIFN0cmluZzo6
bnVtYmVyKHZhbHVlKTsKLSAgICB9Ci19OwotCisvLyBUZW1wbGF0ZSBzcGVjaWFsaXphdGlvbiBy
ZXF1aXJlZCBieSBQb2RJbnRlcnZhbFRyZWUgaW4gZGVidWcgbW9kZS4KIHRlbXBsYXRlIDw+CiBz
dHJ1Y3QgVmFsdWVUb1N0cmluZzxUZXh0VHJhY2tDdWUqPiB7CiAgICAgc3RhdGljIFN0cmluZyBz
dHJpbmcoVGV4dFRyYWNrQ3VlKiBjb25zdCYgY3VlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0
VW5pdC5oCmluZGV4IGFhOTA5YjI4NDEyNGZmZmI1Yjk1MWQ3MTY4Yzc3OTRiZTM0YWMxM2YuLjgz
Zjk4ZTcxOWIzZDUxNzkyYzY0NzlhNTI3MGM1ZGJiNjI4MjlmOTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xheW91dFVuaXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9MYXlvdXRVbml0LmgKQEAgLTMxLDYgKzMxLDkgQEAKICNpZm5kZWYgTGF5b3V0VW5pdF9o
CiAjZGVmaW5lIExheW91dFVuaXRfaAogCisjaWZuZGVmIE5ERUJVRworI2luY2x1ZGUgIlZhbHVl
VG9TdHJpbmcuaCIKKyNlbmRpZgogI2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPGxpbWl0
cz4KICNpbmNsdWRlIDxtYXRoLmg+CkBAIC05NjIsNiArOTY1LDEzIEBAIGlubGluZSBib29sIGlz
SW50ZWdlclZhbHVlKGNvbnN0IExheW91dFVuaXQgdmFsdWUpCiAgICAgcmV0dXJuIHZhbHVlLnRv
SW50KCkgPT0gdmFsdWU7CiB9CiAKKyNpZm5kZWYgTkRFQlVHCisvLyBUaGlzIHN0cnVjdHVyZSBp
cyB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nLgordGVtcGxhdGUgPD4gc3Ry
dWN0IFZhbHVlVG9TdHJpbmc8TGF5b3V0VW5pdD4geworICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5n
KGNvbnN0IExheW91dFVuaXQgdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVlLnRv
RmxvYXQoKSk7IH0KK307CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gTGF5b3V0VW5pdF9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
T0RJbnRlcnZhbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ESW50ZXJ2YWwuaAppbmRl
eCA1YzFkY2MyMTNhNzFkNDA4ZWFlN2Y3MTk5NzMyYjgzYzA0MjM2ZWYyLi41YTI4ODI0ZjFlOWY2
ZTEyYmQ2NWM0ODVhNjk2MjZkM2M5ZjBiZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QT0RJbnRlcnZhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPRElu
dGVydmFsLmgKQEAgLTI3LDYgKzI3LDcgQEAKICNkZWZpbmUgUE9ESW50ZXJ2YWxfaAogCiAjaWZu
ZGVmIE5ERUJVRworI2luY2x1ZGUgIlZhbHVlVG9TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CiAjZW5kaWYKIApAQCAtNzAsMTEgKzcxLDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogLy8gTm90ZSB0aGF0IHRoaXMgY2xhc3MgcmVxdWlyZXMgYSBjb3B5IGNvbnN0
cnVjdG9yIGFuZCBhc3NpZ25tZW50CiAvLyBvcGVyYXRvciBpbiBvcmRlciB0byBiZSBzdG9yZWQg
aW4gdGhlIHJlZC1ibGFjayB0cmVlLgogCi0jaWZuZGVmIE5ERUJVRwotdGVtcGxhdGU8Y2xhc3Mg
VD4KLXN0cnVjdCBWYWx1ZVRvU3RyaW5nOwotI2VuZGlmCi0KIHRlbXBsYXRlPGNsYXNzIFQsIGNs
YXNzIFVzZXJEYXRhID0gdm9pZCo+CiBjbGFzcyBQT0RJbnRlcnZhbCB7CiBwdWJsaWM6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJlZS5oCmluZGV4IDI2NGU2ZGZkNTE4MzVl
NzRjMWE3Y2Y3ZTA5YTFjZmFiNWExYzY4NzUuLmM4YzMzODM3ZTUxMDUwMTdlMThlZjBlODZkZTk5
YzdjNTYwMjg1NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVy
dmFsVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJlZS5o
CkBAIC0yOSwxNyArMjksMTMgQEAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgIlBP
REludGVydmFsLmgiCiAjaW5jbHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCisjaW5jbHVkZSAiVmFs
dWVUb1N0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLSNpZm5kZWYgTkRFQlVHCi10ZW1wbGF0ZTxjbGFzcyBUPgotc3RydWN0IFZhbHVl
VG9TdHJpbmc7Ci0jZW5kaWYKLQogdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0g
dm9pZCo+CiBjbGFzcyBQT0RJbnRlcnZhbFNlYXJjaEFkYXB0ZXIgewogcHVibGljOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9EUmVkQmxhY2tUcmVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaAppbmRleCBiZDNkZTAyNDM2YWQ5ZGFi
NmY2ODBkODQ0NGJiYTlmNTAxOGZhMDQ5Li5kNWZiOTExYzFhMTc4MDMzNWExZTMwZDM3ZWU1OGQ2
ZjQ5OTM2MWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFj
a1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaApA
QCAtNzMsNiArNzMsNyBAQAogI2RlZmluZSBQT0RSZWRCbGFja1RyZWVfaAogCiAjaW5jbHVkZSAi
UE9ERnJlZUxpc3RBcmVuYS5oIgorI2luY2x1ZGUgIlZhbHVlVG9TdHJpbmcuaCIKICNpbmNsdWRl
IDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZQdHIuaD4KQEAgLTg0LDExICs4NSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotI2lmbmRlZiBOREVCVUcKLXRlbXBsYXRlPGNsYXNzIFQ+Ci1zdHJ1Y3QgVmFsdWVUb1N0
cmluZzsKLSNlbmRpZgotCiBlbnVtIFVuaW5pdGlhbGl6ZWRUcmVlRW51bSB7CiAgICAgVW5pbml0
aWFsaXplZFRyZWUKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WYWx1
ZVRvU3RyaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WYWx1ZVRvU3RyaW5nLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDY2NDNhMTQ1OTllZTQzMWY1ZGJiYzAzOGJiNGU3YjA0ZWI3ZDBiNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1ZhbHVlVG9TdHJpbmcuaApAQCAt
MCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5j
b3Jwb3JhdGVkLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
QkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwKKyAqIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRgorICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFZhbHVl
VG9TdHJpbmdfaAorI2RlZmluZSBWYWx1ZVRvU3RyaW5nX2gKKworI2lmbmRlZiBOREVCVUcKKwor
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K3RlbXBsYXRlPGNsYXNzIFQ+CitzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKKwordGVtcGxhdGUgPD4K
K3N0cnVjdCBWYWx1ZVRvU3RyaW5nPGludD4geworICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNv
bnN0IGludCB2YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9Cit9OworCit0
ZW1wbGF0ZSA8Pgorc3RydWN0IFZhbHVlVG9TdHJpbmc8ZmxvYXQ+IHsKKyAgICBzdGF0aWMgU3Ry
aW5nIHN0cmluZyhjb25zdCBmbG9hdCB2YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFs
dWUpOyB9Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0IFZhbHVlVG9TdHJpbmc8ZG91YmxlPiB7
CisgICAgc3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgZG91YmxlIHZhbHVlKSB7IHJldHVybiBT
dHJpbmc6Om51bWJlcih2YWx1ZSk7IH0KK307CisKK307CisKKyNlbmRpZgorCisjZW5kaWYKKwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2x5Z29u
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaAppbmRl
eCA2N2UwOTE2YTBlN2I5NDhlMzBkOGFkZmI3OTU4YTFlYzRlYTRjZWYzLi4yODhkYWJkNDNkMmM3
YjU4NjdmMTc0NmEyYjk1NDFjMjBlNDZlMWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUg
IkZsb2F0UG9pbnQuaCIKICNpbmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJQT0RJbnRl
cnZhbFRyZWUuaCIKKyNpbmNsdWRlICJWYWx1ZVRvU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2luZFJ1
bGUuaCIKICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIu
aD4KQEAgLTQyLDExICs0Myw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRQ
b2x5Z29uRWRnZTsKIAotLy8gVGhpcyBjbGFzcyBpcyB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBm
b3IgZGVidWdnaW5nLgotI2lmbmRlZiBOREVCVUcKLXRlbXBsYXRlIDxjbGFzcz4gc3RydWN0IFZh
bHVlVG9TdHJpbmc7Ci0jZW5kaWYKLQogY2xhc3MgRmxvYXRQb2x5Z29uIHsKIHB1YmxpYzoKICAg
ICBGbG9hdFBvbHlnb24oUGFzc093blB0cjxWZWN0b3I8RmxvYXRQb2ludD4+IHZlcnRpY2VzLCBX
aW5kUnVsZSBmaWxsUnVsZSk7CkBAIC0xMzcsMTIgKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgY29u
c3QgRmxvYXRQb2x5Z29uKiBtX3BvbHlnb247CiB9OwogCi0vLyBUaGVzZSBzdHJ1Y3R1cmVzIGFy
ZSB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nLgorLy8gVGhpcyBzdHJ1Y3R1
cmUgaXMgdXNlZCBieSBQT0RJbnRlcnZhbFRyZWUgZm9yIGRlYnVnZ2luZy4KICNpZm5kZWYgTkRF
QlVHCi10ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzxmbG9hdD4gewotICAgIHN0YXRp
YyBTdHJpbmcgc3RyaW5nKGNvbnN0IGZsb2F0IHZhbHVlKSB7IHJldHVybiBTdHJpbmc6Om51bWJl
cih2YWx1ZSk7IH0KLX07Ci0KIHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlVG9TdHJpbmc8RmxvYXRQ
b2x5Z29uRWRnZSo+IHsKICAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBGbG9hdFBvbHln
b25FZGdlKiBlZGdlKSB7IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiJXAgKCVmLCVmICVmLCVmKSIs
IGVkZ2UsIGVkZ2UtPnZlcnRleDEoKS54KCksIGVkZ2UtPnZlcnRleDEoKS55KCksIGVkZ2UtPnZl
cnRleDIoKS54KCksIGVkZ2UtPnZlcnRleDIoKS55KCkpOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcAppbmRleCBlMGY2YWJjMjFlNTA5NTE4Njhj
ZGY0YWE0MjMxMWM4OTI2MzU4ZTk0Li42MGUxOTEwMjEzNTMxMWU3NWEzOTgyNjU3MmJkNDhmZWY5
MTFjZDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmpl
Y3RzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNw
cApAQCAtNDczLDE4ICs0NzMsNCBAQCBMYXlvdXRVbml0IENvbXB1dGVGbG9hdE9mZnNldEFkYXB0
ZXI8RmxvYXRUeXBlVmFsdWU+OjpoZWlnaHRSZW1haW5pbmcoKSBjb25zdAogICAgIHJldHVybiBt
X291dGVybW9zdEZsb2F0ID8gbV9yZW5kZXJlci5sb2dpY2FsQm90dG9tRm9yRmxvYXQobV9vdXRl
cm1vc3RGbG9hdCkgLSBtX2xpbmVUb3AgOiBMYXlvdXRVbml0KDEpOwogfQogCi0jaWZuZGVmIE5E
RUJVRwotLy8gVGhlc2UgaGVscGVycyBhcmUgb25seSB1c2VkIGJ5IHRoZSBQT0RJbnRlcnZhbFRy
ZWUgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KLVN0cmluZyBWYWx1ZVRvU3RyaW5nPGludD46OnN0
cmluZyhjb25zdCBpbnQgdmFsdWUpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVl
KTsKLX0KLQotU3RyaW5nIFZhbHVlVG9TdHJpbmc8RmxvYXRpbmdPYmplY3QqPjo6c3RyaW5nKGNv
bnN0IEZsb2F0aW5nT2JqZWN0KiBmbG9hdGluZ09iamVjdCkKLXsKLSAgICByZXR1cm4gU3RyaW5n
Ojpmb3JtYXQoIiVwICglaXglaSAlaXglaSkiLCBmbG9hdGluZ09iamVjdCwgZmxvYXRpbmdPYmpl
Y3QtPmZyYW1lUmVjdCgpLngoKS50b0ludCgpLCBmbG9hdGluZ09iamVjdC0+ZnJhbWVSZWN0KCku
eSgpLnRvSW50KCksIGZsb2F0aW5nT2JqZWN0LT5mcmFtZVJlY3QoKS5tYXhYKCkudG9JbnQoKSwg
ZmxvYXRpbmdPYmplY3QtPmZyYW1lUmVjdCgpLm1heFkoKS50b0ludCgpKTsKLX0KLSNlbmRpZgot
Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9GbG9hdGluZ09iamVjdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9h
dGluZ09iamVjdHMuaAppbmRleCA2Mjg5NDBmYTdhZmZmNzdlNmI3MmJkOGUzZTlmMzllNDNiMjdm
MDhlLi5kNDUxZGJhYzFlMzM4NjE0NGMwNDljNDg5NjY0ZWVlODNjNmU5OWFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0Zsb2F0aW5nT2JqZWN0cy5oCkBAIC0xNjUsMTIgKzE2NSwxMiBA
QCBwcml2YXRlOgogfTsKIAogI2lmbmRlZiBOREVCVUcKLS8vIFRoZXNlIHN0cnVjdHVyZXMgYXJl
IHVzZWQgYnkgUE9ESW50ZXJ2YWxUcmVlIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCi10ZW1wbGF0
ZSA8PiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzxpbnQ+IHsKLSAgICBzdGF0aWMgU3RyaW5nIHN0cmlu
Zyhjb25zdCBpbnQgdmFsdWUpOwotfTsKKy8vIFRoaXMgaGVscGVyIGlzIHVzZWQgYnkgUE9ESW50
ZXJ2YWxUcmVlIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCiB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1
ZVRvU3RyaW5nPEZsb2F0aW5nT2JqZWN0Kj4gewotICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNv
bnN0IEZsb2F0aW5nT2JqZWN0Kik7CisgICAgc3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgRmxv
YXRpbmdPYmplY3QqIGZsb2F0aW5nT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cmlu
Zzo6Zm9ybWF0KCIlcCAoJWl4JWkgJWl4JWkpIiwgZmxvYXRpbmdPYmplY3QsIGZsb2F0aW5nT2Jq
ZWN0LT5mcmFtZVJlY3QoKS54KCkudG9JbnQoKSwgZmxvYXRpbmdPYmplY3QtPmZyYW1lUmVjdCgp
LnkoKS50b0ludCgpLCBmbG9hdGluZ09iamVjdC0+ZnJhbWVSZWN0KCkubWF4WCgpLnRvSW50KCks
IGZsb2F0aW5nT2JqZWN0LT5mcmFtZVJlY3QoKS5tYXhZKCkudG9JbnQoKSk7CisgICAgfQogfTsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDEyMmIw
ZTcxYzczZDI3YmQzMzE2NTYyODIxZmRlZTA4NDVjY2Q5MjMuLmNjMjYxYTNlMjE1M2NiYTQ3OTE5
NzNmOTI0MDUwMmNkMGEwZjk5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCkBAIC0yNCw3ICsyNCw2IEBACiAjZGVmaW5lIFJlbmRlckJsb2NrX2gKIAogI2luY2x1ZGUg
IkNvbHVtbkluZm8uaCIKLSNpbmNsdWRlICJGbG9hdGluZ09iamVjdHMuaCIKICNpbmNsdWRlICJH
YXBSZWN0cy5oIgogI2luY2x1ZGUgIlBPREludGVydmFsVHJlZS5oIgogI2luY2x1ZGUgIlJlbmRl
ckJveC5oIgpAQCAtOTAsMTAgKzg5LDYgQEAgdHlwZWRlZiB1bnNpZ25lZCBUZXh0UnVuRmxhZ3M7
CiBjbGFzcyBSZW5kZXJCbG9jayA6IHB1YmxpYyBSZW5kZXJCb3ggewogcHVibGljOgogICAgIGZy
aWVuZCBjbGFzcyBMaW5lTGF5b3V0U3RhdGU7Ci0jaWZuZGVmIE5ERUJVRwotICAgIC8vIFVzZWQg
YnkgdGhlIFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nIHRoZSBGbG9hdGluZ09iamVjdC4K
LSAgICB0ZW1wbGF0ZSA8Y2xhc3M+IGZyaWVuZCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKLSNlbmRp
ZgogCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyQmxvY2soRWxlbWVudCYsIFBhc3NSZWY8UmVuZGVy
U3R5bGU+LCB1bnNpZ25lZCBiYXNlVHlwZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCAzY2FhOTdlZTQ4NGJjMTgwNjA2ZWQ0NjgzMGE1MDhj
OTRhNWM0OGMyLi5iNGRmN2Y4NzBmZGFkMTZmNzIxNDU1MjQ0ODYzYjE0MjM1MzY1Mzg4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0yMyw2ICsyMyw3
IEBACiAjaWZuZGVmIFJlbmRlckJsb2NrRmxvd19oCiAjZGVmaW5lIFJlbmRlckJsb2NrRmxvd19o
CiAKKyNpbmNsdWRlICJGbG9hdGluZ09iamVjdHMuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5o
IgogI2luY2x1ZGUgIlJlbmRlckxpbmVCb3hMaXN0LmgiCiAjaW5jbHVkZSAiU2ltcGxlTGluZUxh
eW91dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dU
aHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5k
ZXggMjFiNGZhZTMzNjk1NjJlYmExOWM1OGM0ZDY1ZTlhN2YwM2ZiMDg2MS4uNTZjYjJlNmRmN2Q0
MDk5NGVjMzk4MDY0MjAyYTM4ZGJkNGE5Y2VlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5oCkBAIC0zNjksMTIgKzM2OSw4IEBAIHByaXZhdGU6CiAgICAg
UmVuZGVyRmxvd1RocmVhZCogbV9wcmV2aW91c1JlbmRlckZsb3dUaHJlYWQ7CiB9OwogCi0vLyBU
aGVzZSBzdHJ1Y3R1cmVzIGFyZSB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5n
LgorLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBieSBQT0RJbnRlcnZhbFRyZWUgZm9yIGRlYnVn
Z2luZy4KICNpZm5kZWYgTkRFQlVHCi10ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzxM
YXlvdXRVbml0PiB7Ci0gICAgc3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgTGF5b3V0VW5pdCB2
YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUudG9GbG9hdCgpKTsgfQotfTsKLQog
dGVtcGxhdGUgPD4gc3RydWN0IFZhbHVlVG9TdHJpbmc8UmVuZGVyUmVnaW9uKj4gewogICAgIHN0
YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0IFJlbmRlclJlZ2lvbiogdmFsdWUpIHsgcmV0dXJuIFN0
cmluZzo6Zm9ybWF0KCIlcCIsIHZhbHVlKTsgfQogfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216735</attachid>
            <date>2013-11-12 15:46:58 -0800</date>
            <delta_ts>2013-11-12 16:29:26 -0800</delta_ts>
            <desc>Updated Patch</desc>
            <filename>bug-124237-20131112154657.patch</filename>
            <type>text/plain</type>
            <size>17172</size>
            <attacher name="Bem Jones-Bey">bjonesbe</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MTIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDljZDVhYzNiMThiNjZm
NDQxMmZmMjZhYTQ3MmI5OTNlZDQ3OGE5NC4uOGVjYjE0ZWMzYzAzZDE2NGMyMmJjN2JhYzU0MWNk
MTUwNDQzZTU4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTExLTEyICBCZW0g
Sm9uZXMtQmV5ICA8YmpvbmVzYmVAYWRvYmUuY29tPgorCisgICAgICAgIE1vdmUgVmFsdWVUb1N0
cmluZyBvdXQgdG8gaXRzIG93biBoZWFkZXIgZmlsZSB0byByZW1vdmUgZHVwbGljYXRpb24KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDIzNworCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXhhbmRydSBDaGljdWxpdGEuCisKKyAgICAgICAgVGhlIFZh
bHVlVG9TdHJpbmcgc3RydWN0IGlzIHVzZWQgaW4gbWFueSBwbGFjZXMgZm9yIGRlYnVnZ2luZy4g
TW92ZSBpdAorICAgICAgICBvdXQgdG8gaXRzIG93biBoZWFkZXIgZmlsZSB0byByZW1vdmUgYWxs
IHRoZSBkdXBsaWNhdGVkIGRlZmluaXRpb25zCisgICAgICAgIGFuZCBtYWtlIGl0IHBvc3NpYmxl
IGZvciB0aGUgc3BlY2lhbGl6YXRpb25zIHRvIGJlIHBsYWNlZCBpbiB0aGUKKyAgICAgICAgaGVh
ZGVyIGZpbGVzIHdpdGggdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBjbGFzc2VzIHRoZXkgcHJp
bnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBubyBiZWhhdmlvciBjaGFuZ2UuCisKKyAgICAg
ICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9MYXlvdXRVbml0Lmg6CisgICAgICAgICogcGxhdGZvcm0vUE9ESW50ZXJ2
YWwuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9WYWx1ZVRvU3Ry
aW5nLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0Zsb2F0UG9seWdvbi5o
OgorICAgICAgICAqIHJlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuY3BwOgorICAgICAgICAqIHJl
bmRlcmluZy9GbG9hdGluZ09iamVjdHMuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaDoKKwogMjAxMy0xMS0xMiAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtXaW5DYWlyb10gUHJl
cGFyYXRpb24gZm9yIEVOQUJMRShWSURFTykuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9H
TlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpp
bmRleCBkMzA5M2UxZWU0ZTY2MjliMjBiZjg5MTE4N2I5OGNlOTBhYzFkYTA3Li44YjVjYjQyOGM1
M2FhMjY1MDhmYjQ5NWI5YzNkNWJlOTAwZWQ1MTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxp
c3QuYW0KQEAgLTYwNTYsNiArNjA1Niw3IEBAIHBsYXRmb3JtX3NvdXJjZXMgKz0gXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1RyZWVTaGFyZWQuaCBcCiAJU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vVVVJRC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1VVSUQuaCBcCisJU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vVmFsdWVUb1N0cmluZy5oIFwKIAlTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9WaXNpdGVkTGlua1N0cmF0ZWd5LmggXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dp
ZGdldC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1dpZGdldC5oIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2YjEz
OGQzYzliZWJjOTQ1YjAzOGZkOWRiNTJiODRiNjRkYTVhNTE0Li44MjlmODdmOWIyOGZhZjQ2NTc0
MWZkODg5ZDlmYzQ2YjNmZWQ2NWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zMzkyLDYgKzMzOTIsNyBAQAogCQk5OENFNDMy
NjEyOUUwMEJEMDA1ODIxREMgLyogTGlua0xvYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OENFNDMyNTEyOUUwMEJEMDA1ODIxREMgLyogTGlu
a0xvYWRlci5jcHAgKi87IH07CiAJCTk4Q0U0MzJBMTI5RTAwRTUwMDU4MjFEQyAvKiBMaW5rTG9h
ZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OENF
NDMyOTEyOUUwMEU1MDA1ODIxREMgLyogTGlua0xvYWRlci5oICovOyB9OwogCQk5OEVCMUY5NTEz
MTNGRTA1MDBEMEUxRUEgLyogTm90SW1wbGVtZW50ZWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk4RUIxRjk0MTMxM0ZFMDUwMEQwRTFFQSAvKiBOb3RJ
bXBsZW1lbnRlZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCTlBMTE0MjA0MTgzMkQxMzUwMDBCQjhBRCAvKiBWYWx1ZVRvU3RyaW5nLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QTExNDIwMzE4MzJEMTM0
MDAwQkI4QUQgLyogVmFsdWVUb1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTlBMUI2Rjk3MTU4ODY5QzgwMDExQThDNCAvKiBKU0RPTVN0
cmluZ0xpc3RDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOUExQjZGOTYxNTg4NjlDODAwMTFBOEM0IC8qIEpTRE9NU3RyaW5nTGlzdEN1c3Rv
bS5jcHAgKi87IH07CiAJCTlBNTI4RTgzMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVj
dHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUE1
MjhFODExN0Q3RjUyRjAwQUE5NTE4IC8qIEZsb2F0aW5nT2JqZWN0cy5jcHAgKi87IH07CiAJCTlB
NTI4RTg0MTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlBNTI4RTgyMTdEN0Y1MkYwMEFBOTUx
OCAvKiBGbG9hdGluZ09iamVjdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwpAQCAtMTAxNDIsNiArMTAxNDMsNyBAQAogCQk5OENFNDMyNTEyOUUwMEJE
MDA1ODIxREMgLyogTGlua0xvYWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMaW5rTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOThD
RTQzMjkxMjlFMDBFNTAwNTgyMURDIC8qIExpbmtMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTGlua0xvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5OEVCMUY5NDEzMTNGRTA1MDBEMEUxRUEgLyogTm90SW1wbGVtZW50ZWQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90SW1wbGVtZW50ZWQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOUExMTQyMDMxODMyRDEzNDAwMEJCOEFEIC8qIFZhbHVlVG9TdHJpbmcu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmFsdWVUb1N0cmluZy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QTFCNkY5NjE1ODg2OUM4MDAxMUE4QzQgLyogSlNE
T01TdHJpbmdMaXN0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTRE9NU3RyaW5nTGlzdEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTlBNTI4RTgxMTdEN0Y1MkYwMEFBOTUxOCAvKiBGbG9hdGluZ09iamVjdHMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRmxvYXRpbmdPYmplY3RzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUE1MjhFODIxN0Q3RjUyRjAwQUE5NTE4IC8qIEZs
b2F0aW5nT2JqZWN0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGbG9hdGlu
Z09iamVjdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIwMTQ5LDYgKzIwMTUx
LDcgQEAKIAkJCQlCQ0JEMjFBQTBFNDE3QUQ0MDBBMDcwRjIgLyogVVJMSGFzaC5oICovLAogCQkJ
CTJFM0JCRjA1MTE2MkRBMTEwMEI5NDA5QSAvKiBVVUlELmNwcCAqLywKIAkJCQkyRTNCQkYwNjEx
NjJEQTExMDBCOTQwOUEgLyogVVVJRC5oICovLAorCQkJCTlBMTE0MjAzMTgzMkQxMzQwMDBCQjhB
RCAvKiBWYWx1ZVRvU3RyaW5nLmggKi8sCiAJCQkJNTE1Nzg4QzAxMjA3ODUyQzAwQTM3QzRBIC8q
IFZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCAqLywKIAkJCQk5MzgwRjQ3MTA5QTExQUI0MDAxRkRCMzQg
LyogV2lkZ2V0LmNwcCAqLywKIAkJCQk5MzgwRjQ3MjA5QTExQUI0MDAxRkRCMzQgLyogV2lkZ2V0
LmggKi8sCkBAIC0yMTg2OSw2ICsyMTg3Miw3IEBACiAJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQ
aGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlmaWxlcyA9ICgKKwkJ
CQk5QTExNDIwNDE4MzJEMTM1MDAwQkI4QUQgLyogVmFsdWVUb1N0cmluZy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTMyQUQ3MDYxN0VGQTJDNDAwMzhGOEZGIC8qIE1haW5GcmFtZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkVEQkZGMTYxODJCN0E4RDAwMTdGQTY0IC8qIEJyZWFrcG9pbnRJRC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkUxMTVGQUIxNjc5ODhDRDAwMjQ5MTM0IC8qIEFic3RyYWN0RGF0
YWJhc2VTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAppbmRleCAyMTkzMjFlNGI0ODQ2NDVjYjFmN2RlYmYxZGI5MDdlNTY1OTc4ZGFkLi40
YzRhMDZmYTJjYmFjMWJkNDg3ZTlhOGYxZDg0MmZmOTBkYTYwYzEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzk5LDE1ICs3OTksNyBAQCBwcml2YXRlOgogCiAj
aWYgRU5BQkxFKFZJREVPX1RSQUNLKQogI2lmbmRlZiBOREVCVUcKLS8vIFRlbXBsYXRlIHNwZWNp
YWxpemF0aW9ucyByZXF1aXJlZCBieSBQb2RJbnRlcnZhbFRyZWUgaW4gZGVidWcgbW9kZS4KLXRl
bXBsYXRlIDw+Ci1zdHJ1Y3QgVmFsdWVUb1N0cmluZzxkb3VibGU+IHsKLSAgICBzdGF0aWMgU3Ry
aW5nIHN0cmluZyhjb25zdCBkb3VibGUgdmFsdWUpCi0gICAgewotICAgICAgICByZXR1cm4gU3Ry
aW5nOjpudW1iZXIodmFsdWUpOwotICAgIH0KLX07Ci0KKy8vIFRlbXBsYXRlIHNwZWNpYWxpemF0
aW9uIHJlcXVpcmVkIGJ5IFBvZEludGVydmFsVHJlZSBpbiBkZWJ1ZyBtb2RlLgogdGVtcGxhdGUg
PD4KIHN0cnVjdCBWYWx1ZVRvU3RyaW5nPFRleHRUcmFja0N1ZSo+IHsKICAgICBzdGF0aWMgU3Ry
aW5nIHN0cmluZyhUZXh0VHJhY2tDdWUqIGNvbnN0JiBjdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MYXlvdXRVbml0LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9M
YXlvdXRVbml0LmgKaW5kZXggYWE5MDliMjg0MTI0ZmZmYjViOTUxZDcxNjhjNzc5NGJlMzRhYzEz
Zi4uZTNlMWUxZDc5NzU3YzcyYjU3MjdlOWFmMzM0YjFjZWMzODEwZTM4NSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGF5b3V0VW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xheW91dFVuaXQuaApAQCAtMzEsNiArMzEsNyBAQAogI2lmbmRlZiBMYXlvdXRV
bml0X2gKICNkZWZpbmUgTGF5b3V0VW5pdF9oCiAKKyNpbmNsdWRlICJWYWx1ZVRvU3RyaW5nLmgi
CiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8bGltaXRzPgogI2luY2x1ZGUgPG1hdGgu
aD4KQEAgLTk2Miw2ICs5NjMsMTQgQEAgaW5saW5lIGJvb2wgaXNJbnRlZ2VyVmFsdWUoY29uc3Qg
TGF5b3V0VW5pdCB2YWx1ZSkKICAgICByZXR1cm4gdmFsdWUudG9JbnQoKSA9PSB2YWx1ZTsKIH0K
IAorI2lmbmRlZiBOREVCVUcKKy8vIFRoaXMgc3RydWN0dXJlIGlzIHVzZWQgYnkgUE9ESW50ZXJ2
YWxUcmVlIGZvciBkZWJ1Z2dpbmcuCit0ZW1wbGF0ZSA8Pgorc3RydWN0IFZhbHVlVG9TdHJpbmc8
TGF5b3V0VW5pdD4geworICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0IExheW91dFVuaXQg
dmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVlLnRvRmxvYXQoKSk7IH0KK307Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gTGF5b3V0VW5pdF9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbC5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vUE9ESW50ZXJ2YWwuaAppbmRleCA1YzFkY2MyMTNhNzFkNDA4
ZWFlN2Y3MTk5NzMyYjgzYzA0MjM2ZWYyLi41YTI4ODI0ZjFlOWY2ZTEyYmQ2NWM0ODVhNjk2MjZk
M2M5ZjBiZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZh
bC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsLmgKQEAgLTI3LDYg
KzI3LDcgQEAKICNkZWZpbmUgUE9ESW50ZXJ2YWxfaAogCiAjaWZuZGVmIE5ERUJVRworI2luY2x1
ZGUgIlZhbHVlVG9TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+
CiAjZW5kaWYKIApAQCAtNzAsMTEgKzcxLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogLy8gTm90
ZSB0aGF0IHRoaXMgY2xhc3MgcmVxdWlyZXMgYSBjb3B5IGNvbnN0cnVjdG9yIGFuZCBhc3NpZ25t
ZW50CiAvLyBvcGVyYXRvciBpbiBvcmRlciB0byBiZSBzdG9yZWQgaW4gdGhlIHJlZC1ibGFjayB0
cmVlLgogCi0jaWZuZGVmIE5ERUJVRwotdGVtcGxhdGU8Y2xhc3MgVD4KLXN0cnVjdCBWYWx1ZVRv
U3RyaW5nOwotI2VuZGlmCi0KIHRlbXBsYXRlPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9p
ZCo+CiBjbGFzcyBQT0RJbnRlcnZhbCB7CiBwdWJsaWM6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QT0RJbnRlcnZhbFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BPREludGVydmFsVHJlZS5oCmluZGV4IDI2NGU2ZGZkNTE4MzVlNzRjMWE3Y2Y3ZTA5YTFjZmFi
NWExYzY4NzUuLmM4YzMzODM3ZTUxMDUwMTdlMThlZjBlODZkZTk5YzdjNTYwMjg1NzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJlZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BPREludGVydmFsVHJlZS5oCkBAIC0yOSwxNyArMjksMTMg
QEAKICNpbmNsdWRlICJQT0RBcmVuYS5oIgogI2luY2x1ZGUgIlBPREludGVydmFsLmgiCiAjaW5j
bHVkZSAiUE9EUmVkQmxhY2tUcmVlLmgiCisjaW5jbHVkZSAiVmFsdWVUb1N0cmluZy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZm5kZWYg
TkRFQlVHCi10ZW1wbGF0ZTxjbGFzcyBUPgotc3RydWN0IFZhbHVlVG9TdHJpbmc7Ci0jZW5kaWYK
LQogdGVtcGxhdGUgPGNsYXNzIFQsIGNsYXNzIFVzZXJEYXRhID0gdm9pZCo+CiBjbGFzcyBQT0RJ
bnRlcnZhbFNlYXJjaEFkYXB0ZXIgewogcHVibGljOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vUE9EUmVkQmxhY2tUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
T0RSZWRCbGFja1RyZWUuaAppbmRleCBiZDNkZTAyNDM2YWQ5ZGFiNmY2ODBkODQ0NGJiYTlmNTAx
OGZhMDQ5Li5kNWZiOTExYzFhMTc4MDMzNWExZTMwZDM3ZWU1OGQ2ZjQ5OTM2MWRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QT0RSZWRCbGFja1RyZWUuaApAQCAtNzMsNiArNzMsNyBAQAog
I2RlZmluZSBQT0RSZWRCbGFja1RyZWVfaAogCiAjaW5jbHVkZSAiUE9ERnJlZUxpc3RBcmVuYS5o
IgorI2luY2x1ZGUgIlZhbHVlVG9TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5o
PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4K
QEAgLTg0LDExICs4NSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lmbmRlZiBOREVC
VUcKLXRlbXBsYXRlPGNsYXNzIFQ+Ci1zdHJ1Y3QgVmFsdWVUb1N0cmluZzsKLSNlbmRpZgotCiBl
bnVtIFVuaW5pdGlhbGl6ZWRUcmVlRW51bSB7CiAgICAgVW5pbml0aWFsaXplZFRyZWUKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9WYWx1ZVRvU3RyaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9WYWx1ZVRvU3RyaW5nLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDY2NDNhMTQ1
OTllZTQzMWY1ZGJiYzAzOGJiNGU3YjA0ZWI3ZDBiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1ZhbHVlVG9TdHJpbmcuaApAQCAtMCwwICsxLDYyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEFkb2JlIFN5c3RlbXMgSW5jb3Jwb3JhdGVkLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAq
ICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cworICogICAgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgQkUKKyAqIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwKKyAq
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IKKyAqIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRgorICogVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
CisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFZhbHVlVG9TdHJpbmdfaAorI2RlZmlu
ZSBWYWx1ZVRvU3RyaW5nX2gKKworI2lmbmRlZiBOREVCVUcKKworI2luY2x1ZGUgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBsYXRlPGNsYXNzIFQ+
CitzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKKwordGVtcGxhdGUgPD4KK3N0cnVjdCBWYWx1ZVRvU3Ry
aW5nPGludD4geworICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0IGludCB2YWx1ZSkgeyBy
ZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9Cit9OworCit0ZW1wbGF0ZSA8Pgorc3RydWN0
IFZhbHVlVG9TdHJpbmc8ZmxvYXQ+IHsKKyAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBm
bG9hdCB2YWx1ZSkgeyByZXR1cm4gU3RyaW5nOjpudW1iZXIodmFsdWUpOyB9Cit9OworCit0ZW1w
bGF0ZSA8Pgorc3RydWN0IFZhbHVlVG9TdHJpbmc8ZG91YmxlPiB7CisgICAgc3RhdGljIFN0cmlu
ZyBzdHJpbmcoY29uc3QgZG91YmxlIHZhbHVlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlcih2YWx1
ZSk7IH0KK307CisKK307CisKKyNlbmRpZgorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRmxvYXRQb2x5Z29uLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9hdFBvbHlnb24uaAppbmRleCA2N2UwOTE2YTBlN2I5NDhl
MzBkOGFkZmI3OTU4YTFlYzRlYTRjZWYzLi4yODhkYWJkNDNkMmM3YjU4NjdmMTc0NmEyYjk1NDFj
MjBlNDZlMWNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9G
bG9hdFBvbHlnb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9GbG9h
dFBvbHlnb24uaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkZsb2F0UG9pbnQuaCIKICNp
bmNsdWRlICJGbG9hdFJlY3QuaCIKICNpbmNsdWRlICJQT0RJbnRlcnZhbFRyZWUuaCIKKyNpbmNs
dWRlICJWYWx1ZVRvU3RyaW5nLmgiCiAjaW5jbHVkZSAiV2luZFJ1bGUuaCIKICNpbmNsdWRlIDx3
dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KQEAgLTQyLDExICs0Myw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmxvYXRQb2x5Z29uRWRnZTsKIAotLy8g
VGhpcyBjbGFzcyBpcyB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nLgotI2lm
bmRlZiBOREVCVUcKLXRlbXBsYXRlIDxjbGFzcz4gc3RydWN0IFZhbHVlVG9TdHJpbmc7Ci0jZW5k
aWYKLQogY2xhc3MgRmxvYXRQb2x5Z29uIHsKIHB1YmxpYzoKICAgICBGbG9hdFBvbHlnb24oUGFz
c093blB0cjxWZWN0b3I8RmxvYXRQb2ludD4+IHZlcnRpY2VzLCBXaW5kUnVsZSBmaWxsUnVsZSk7
CkBAIC0xMzcsMTIgKzEzMyw4IEBAIHByaXZhdGU6CiAgICAgY29uc3QgRmxvYXRQb2x5Z29uKiBt
X3BvbHlnb247CiB9OwogCi0vLyBUaGVzZSBzdHJ1Y3R1cmVzIGFyZSB1c2VkIGJ5IFBPREludGVy
dmFsVHJlZSBmb3IgZGVidWdnaW5nLgorLy8gVGhpcyBzdHJ1Y3R1cmUgaXMgdXNlZCBieSBQT0RJ
bnRlcnZhbFRyZWUgZm9yIGRlYnVnZ2luZy4KICNpZm5kZWYgTkRFQlVHCi10ZW1wbGF0ZSA8PiBz
dHJ1Y3QgVmFsdWVUb1N0cmluZzxmbG9hdD4gewotICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNv
bnN0IGZsb2F0IHZhbHVlKSB7IHJldHVybiBTdHJpbmc6Om51bWJlcih2YWx1ZSk7IH0KLX07Ci0K
IHRlbXBsYXRlPD4gc3RydWN0IFZhbHVlVG9TdHJpbmc8RmxvYXRQb2x5Z29uRWRnZSo+IHsKICAg
ICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBGbG9hdFBvbHlnb25FZGdlKiBlZGdlKSB7IHJl
dHVybiBTdHJpbmc6OmZvcm1hdCgiJXAgKCVmLCVmICVmLCVmKSIsIGVkZ2UsIGVkZ2UtPnZlcnRl
eDEoKS54KCksIGVkZ2UtPnZlcnRleDEoKS55KCksIGVkZ2UtPnZlcnRleDIoKS54KCksIGVkZ2Ut
PnZlcnRleDIoKS55KCkpOyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0Zsb2F0aW5nT2JqZWN0cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRp
bmdPYmplY3RzLmNwcAppbmRleCBlMGY2YWJjMjFlNTA5NTE4NjhjZGY0YWE0MjMxMWM4OTI2MzU4
ZTk0Li42MGUxOTEwMjEzNTMxMWU3NWEzOTgyNjU3MmJkNDhmZWY5MTFjZDYwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmNwcApAQCAtNDczLDE4ICs0NzMs
NCBAQCBMYXlvdXRVbml0IENvbXB1dGVGbG9hdE9mZnNldEFkYXB0ZXI8RmxvYXRUeXBlVmFsdWU+
OjpoZWlnaHRSZW1haW5pbmcoKSBjb25zdAogICAgIHJldHVybiBtX291dGVybW9zdEZsb2F0ID8g
bV9yZW5kZXJlci5sb2dpY2FsQm90dG9tRm9yRmxvYXQobV9vdXRlcm1vc3RGbG9hdCkgLSBtX2xp
bmVUb3AgOiBMYXlvdXRVbml0KDEpOwogfQogCi0jaWZuZGVmIE5ERUJVRwotLy8gVGhlc2UgaGVs
cGVycyBhcmUgb25seSB1c2VkIGJ5IHRoZSBQT0RJbnRlcnZhbFRyZWUgZm9yIGRlYnVnZ2luZyBw
dXJwb3Nlcy4KLVN0cmluZyBWYWx1ZVRvU3RyaW5nPGludD46OnN0cmluZyhjb25zdCBpbnQgdmFs
dWUpCi17Ci0gICAgcmV0dXJuIFN0cmluZzo6bnVtYmVyKHZhbHVlKTsKLX0KLQotU3RyaW5nIFZh
bHVlVG9TdHJpbmc8RmxvYXRpbmdPYmplY3QqPjo6c3RyaW5nKGNvbnN0IEZsb2F0aW5nT2JqZWN0
KiBmbG9hdGluZ09iamVjdCkKLXsKLSAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIiVwICglaXgl
aSAlaXglaSkiLCBmbG9hdGluZ09iamVjdCwgZmxvYXRpbmdPYmplY3QtPmZyYW1lUmVjdCgpLngo
KS50b0ludCgpLCBmbG9hdGluZ09iamVjdC0+ZnJhbWVSZWN0KCkueSgpLnRvSW50KCksIGZsb2F0
aW5nT2JqZWN0LT5mcmFtZVJlY3QoKS5tYXhYKCkudG9JbnQoKSwgZmxvYXRpbmdPYmplY3QtPmZy
YW1lUmVjdCgpLm1heFkoKS50b0ludCgpKTsKLX0KLSNlbmRpZgotCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09i
amVjdHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9GbG9hdGluZ09iamVjdHMuaAppbmRl
eCA2Mjg5NDBmYTdhZmZmNzdlNmI3MmJkOGUzZTlmMzllNDNiMjdmMDhlLi5kNDUxZGJhYzFlMzM4
NjE0NGMwNDljNDg5NjY0ZWVlODNjNmU5OWFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvRmxvYXRpbmdPYmplY3RzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0Zsb2F0aW5nT2JqZWN0cy5oCkBAIC0xNjUsMTIgKzE2NSwxMiBAQCBwcml2YXRlOgogfTsKIAog
I2lmbmRlZiBOREVCVUcKLS8vIFRoZXNlIHN0cnVjdHVyZXMgYXJlIHVzZWQgYnkgUE9ESW50ZXJ2
YWxUcmVlIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuCi10ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmFsdWVU
b1N0cmluZzxpbnQ+IHsKLSAgICBzdGF0aWMgU3RyaW5nIHN0cmluZyhjb25zdCBpbnQgdmFsdWUp
OwotfTsKKy8vIFRoaXMgaGVscGVyIGlzIHVzZWQgYnkgUE9ESW50ZXJ2YWxUcmVlIGZvciBkZWJ1
Z2dpbmcgcHVycG9zZXMuCiB0ZW1wbGF0ZTw+IHN0cnVjdCBWYWx1ZVRvU3RyaW5nPEZsb2F0aW5n
T2JqZWN0Kj4gewotICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5nKGNvbnN0IEZsb2F0aW5nT2JqZWN0
Kik7CisgICAgc3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgRmxvYXRpbmdPYmplY3QqIGZsb2F0
aW5nT2JqZWN0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlcCAoJWl4
JWkgJWl4JWkpIiwgZmxvYXRpbmdPYmplY3QsIGZsb2F0aW5nT2JqZWN0LT5mcmFtZVJlY3QoKS54
KCkudG9JbnQoKSwgZmxvYXRpbmdPYmplY3QtPmZyYW1lUmVjdCgpLnkoKS50b0ludCgpLCBmbG9h
dGluZ09iamVjdC0+ZnJhbWVSZWN0KCkubWF4WCgpLnRvSW50KCksIGZsb2F0aW5nT2JqZWN0LT5m
cmFtZVJlY3QoKS5tYXhZKCkudG9JbnQoKSk7CisgICAgfQogfTsKICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDEyMmIwZTcxYzczZDI3YmQzMzE2NTYy
ODIxZmRlZTA4NDVjY2Q5MjMuLmNjMjYxYTNlMjE1M2NiYTQ3OTE5NzNmOTI0MDUwMmNkMGEwZjk5
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCkBAIC0yNCw3ICsyNCw2
IEBACiAjZGVmaW5lIFJlbmRlckJsb2NrX2gKIAogI2luY2x1ZGUgIkNvbHVtbkluZm8uaCIKLSNp
bmNsdWRlICJGbG9hdGluZ09iamVjdHMuaCIKICNpbmNsdWRlICJHYXBSZWN0cy5oIgogI2luY2x1
ZGUgIlBPREludGVydmFsVHJlZS5oIgogI2luY2x1ZGUgIlJlbmRlckJveC5oIgpAQCAtOTAsMTAg
Kzg5LDYgQEAgdHlwZWRlZiB1bnNpZ25lZCBUZXh0UnVuRmxhZ3M7CiBjbGFzcyBSZW5kZXJCbG9j
ayA6IHB1YmxpYyBSZW5kZXJCb3ggewogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBMaW5lTGF5
b3V0U3RhdGU7Ci0jaWZuZGVmIE5ERUJVRwotICAgIC8vIFVzZWQgYnkgdGhlIFBPREludGVydmFs
VHJlZSBmb3IgZGVidWdnaW5nIHRoZSBGbG9hdGluZ09iamVjdC4KLSAgICB0ZW1wbGF0ZSA8Y2xh
c3M+IGZyaWVuZCBzdHJ1Y3QgVmFsdWVUb1N0cmluZzsKLSNlbmRpZgogCiBwcm90ZWN0ZWQ6CiAg
ICAgUmVuZGVyQmxvY2soRWxlbWVudCYsIFBhc3NSZWY8UmVuZGVyU3R5bGU+LCB1bnNpZ25lZCBi
YXNlVHlwZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aAppbmRleCAzY2FhOTdlZTQ4NGJjMTgwNjA2ZWQ0NjgzMGE1MDhjOTRhNWM0OGMyLi5iNGRmN2Y4
NzBmZGFkMTZmNzIxNDU1MjQ0ODYzYjE0MjM1MzY1Mzg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0yMyw2ICsyMyw3IEBACiAjaWZuZGVmIFJlbmRl
ckJsb2NrRmxvd19oCiAjZGVmaW5lIFJlbmRlckJsb2NrRmxvd19oCiAKKyNpbmNsdWRlICJGbG9h
dGluZ09iamVjdHMuaCIKICNpbmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRl
ckxpbmVCb3hMaXN0LmgiCiAjaW5jbHVkZSAiU2ltcGxlTGluZUxheW91dC5oIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmgKaW5kZXggMjFiNGZhZTMzNjk1NjJl
YmExOWM1OGM0ZDY1ZTlhN2YwM2ZiMDg2MS4uNTZjYjJlNmRmN2Q0MDk5NGVjMzk4MDY0MjAyYTM4
ZGJkNGE5Y2VlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZs
b3dUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVh
ZC5oCkBAIC0zNjksMTIgKzM2OSw4IEBAIHByaXZhdGU6CiAgICAgUmVuZGVyRmxvd1RocmVhZCog
bV9wcmV2aW91c1JlbmRlckZsb3dUaHJlYWQ7CiB9OwogCi0vLyBUaGVzZSBzdHJ1Y3R1cmVzIGFy
ZSB1c2VkIGJ5IFBPREludGVydmFsVHJlZSBmb3IgZGVidWdnaW5nLgorLy8gVGhpcyBzdHJ1Y3R1
cmUgaXMgdXNlZCBieSBQT0RJbnRlcnZhbFRyZWUgZm9yIGRlYnVnZ2luZy4KICNpZm5kZWYgTkRF
QlVHCi10ZW1wbGF0ZSA8PiBzdHJ1Y3QgVmFsdWVUb1N0cmluZzxMYXlvdXRVbml0PiB7Ci0gICAg
c3RhdGljIFN0cmluZyBzdHJpbmcoY29uc3QgTGF5b3V0VW5pdCB2YWx1ZSkgeyByZXR1cm4gU3Ry
aW5nOjpudW1iZXIodmFsdWUudG9GbG9hdCgpKTsgfQotfTsKLQogdGVtcGxhdGUgPD4gc3RydWN0
IFZhbHVlVG9TdHJpbmc8UmVuZGVyUmVnaW9uKj4gewogICAgIHN0YXRpYyBTdHJpbmcgc3RyaW5n
KGNvbnN0IFJlbmRlclJlZ2lvbiogdmFsdWUpIHsgcmV0dXJuIFN0cmluZzo6Zm9ybWF0KCIlcCIs
IHZhbHVlKTsgfQogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>