<?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>102899</bug_id>
          
          <creation_ts>2012-11-21 01:29:35 -0800</creation_ts>
          <short_desc>[V8] Move V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer</short_desc>
          <delta_ts>2012-11-21 03:26:03 -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>WebCore JavaScript</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>772607</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-21 01:29:35 -0800</bug_when>
    <thetext>This is an incremental step to kill WorkerContextExecutionProxy.

As commented by abarth in bug 97066, we move V8DOMWindowShell::initializeV8IfNeeded() to V8Initializer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772612</commentid>
    <comment_count>1</comment_count>
      <attachid>175373</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-21 01:32:57 -0800</bug_when>
    <thetext>Created attachment 175373
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772618</commentid>
    <comment_count>2</comment_count>
      <attachid>175373</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-21 01:38:05 -0800</bug_when>
    <thetext>Comment on attachment 175373
Patch

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

&gt; Source/WebCore/bindings/v8/V8Initializer.h:31
&gt; +#include &lt;v8.h&gt;
&gt; +#include &lt;wtf/RefPtr.h&gt;
&gt; +#include &lt;wtf/text/WTFString.h&gt;

Why do you need these headers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772698</commentid>
    <comment_count>3</comment_count>
      <attachid>175388</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-21 02:40:26 -0800</bug_when>
    <thetext>Created attachment 175388
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772699</commentid>
    <comment_count>4</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-21 02:41:01 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; +#include &lt;v8.h&gt;
&gt; &gt; +#include &lt;wtf/RefPtr.h&gt;
&gt; &gt; +#include &lt;wtf/text/WTFString.h&gt;
&gt; 
&gt; Why do you need these headers?

Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772755</commentid>
    <comment_count>5</comment_count>
      <attachid>175388</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-21 03:25:59 -0800</bug_when>
    <thetext>Comment on attachment 175388
patch for landing

Clearing flags on attachment: 175388

Committed r135377: &lt;http://trac.webkit.org/changeset/135377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>772756</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-21 03:26:03 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175373</attachid>
            <date>2012-11-21 01:32:57 -0800</date>
            <delta_ts>2012-11-21 02:40:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102899-20121121183044.patch</filename>
            <type>text/plain</type>
            <size>15650</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MzU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTBkMjdkNWU3N2M1OTQ3
Y2UxMmVmMjViMjI0ZWM2ZjI4OWVkNzJjYy4uMjcwYmU0OTdhYWJkMTFhOGIxZjI5OGYwNDVhZTlm
MDUyYTVlYmY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTExLTIxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIE1vdmUgVjhE
T01XaW5kb3dTaGVsbDo6aW5pdGlhbGl6ZVY4SWZOZWVkZWQoKSB0byBWOEluaXRpYWxpemVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI4OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIGFu
IGluY3JlbWVudGFsIHN0ZXAgdG8ga2lsbCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuCisg
ICAgICAgIEFzIGNvbW1lbnRlZCBieSBhYmFydGggaW4gYnVnIDk3MDY2LCB3ZSBtb3ZlCisgICAg
ICAgIFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVWOElmTmVlZGVkKCkgdG8gVjhJbml0aWFs
aXplci4KKyAgICAgICAgVGhpcyBwYXRjaCByZW5hbWVzIGluaXRpYWxpemVWOElmTmVlZGVkKCkg
dG8gaW5pdGlhbGl6ZU1haW5UaHJlYWRJZk5lZWRlZCgpCisgICAgICAgIGJlY2F1c2Ugd2Ugd2ls
bCBhZGQgaW5pdGlhbGl6ZVdvcmtlcklmTmVlZGVkKCkgaW4gYSBmb2xsb3ctdXAgcGF0Y2guCisK
KyAgICAgICAgTm8gdGVzdHMuIE5vIGNoYW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFVz
ZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RE9NV2luZG93U2hl
bGw6OmluaXRpYWxpemVJZk5lZWRlZCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhJbml0aWFs
aXplci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpm
aW5kRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6cmVwb3J0RmF0YWxFcnJvcik6CisgICAgICAg
IChXZWJDb3JlOjpyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpy
ZXBvcnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKToKKyAgICAgICAgKFdlYkNvcmU6OlY4SW5pdGlh
bGl6ZXI6OmluaXRpYWxpemVNYWluVGhyZWFkSWZOZWVkZWQpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4SW5pdGlhbGl6ZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFY4SW5pdGlhbGl6ZXIpOgorCiAyMDEyLTExLTIxICBLdW5paGlrbyBTYWthbW90byAgPGtzYWth
bW90b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRW5hYmxlIGRhdGFsaXN0IFVJIGZvciBpbnB1
dCB0eXBlcyBkYXRldGltZSBhbmQgZGF0ZXRpbWUtbG9jYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggZDJh
NWY3ZDQ5NzliNGRkMzY4OWUwNjU5Njg1Y2E1ZDI5YTQ5ZjgwMS4uNzAzMzBkYjg2NDEyYjBiYWY2
MGZhZWU4NTQxMmU0ZWFkMjkwMTRkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjgu
Y21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKQEAgLTU1LDYgKzU1LDcgQEAg
TElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvVjhHQ0NvbnRyb2xs
ZXIuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhHQ0ZvckNvbnRleHREaXNwb3NlLmNwcAogICAgIGJp
bmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcAorICAgIGJpbmRpbmdzL3Y4L1Y4SW5p
dGlhbGl6ZXIuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAKICAg
ICBiaW5kaW5ncy92OC9WOE5vZGVGaWx0ZXJDb25kaXRpb24uY3BwCiAgICAgYmluZGluZ3Mvdjgv
VjhPYmplY3RDb25zdHJ1Y3Rvci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhMjc3YjE3NTc1YTk0
MzlkYTY3MmFiNzZhNmU1OGUwNzM5YTE1NzI1Li4wNjliNDZhNjg0MDQ3NTNmOGUxMjBhMDM2NTBl
NGQyZTQwNDY5ZmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMzAxLDYgKzIzMDEsOCBAQAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4R0NGb3JDb250ZXh0RGlzcG9zZS5oJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5jcHAnLAogICAgICAgICAgICAg
J2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmgnLAorICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L1Y4SW5pdGlhbGl6ZXIuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOElu
aXRpYWxpemVyLmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVu
ZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmgn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwJywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggYWRhYzllODRh
NGYzNWFmMjE1YWIzOWQ5NjkzNmFkZmY4N2YxM2E1OC4uY2E2ZTVlMWY2YzRkM2JhZGM0ODI3OTM3
ZDU5NDFkMDgwM2NmMzQzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAKQEAgLTMxLDQ3ICszMSwzMiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlY4RE9NV2luZG93U2hlbGwuaCIKIAotI2luY2x1ZGUgIkJpbmRpbmdTdGF0
ZS5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRhdGVF
eHRlbnNpb24uaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1l
LmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJNZW1vcnlVc2FnZVN1cHBvcnQuaCIKICNpbmNs
dWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiUGFnZUdyb3VwLmgiCiAjaW5jbHVkZSAiUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIgotI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5oIgotI2luY2x1ZGUg
IlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgi
Ci0jaW5jbHVkZSAiU2NyaXB0UHJvZmlsZXIuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5o
IgotI2luY2x1ZGUgIlN0b3JhZ2VOYW1lc3BhY2UuaCIKLSNpbmNsdWRlICJTdHlsZVByb3BlcnR5
U2V0LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCi0jaW5jbHVkZSAiVjhDb2xsZWN0aW9uLmgi
CiAjaW5jbHVkZSAiVjhET01XaW5kb3cuaCIKICNpbmNsdWRlICJWOERvY3VtZW50LmgiCi0jaW5j
bHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJWOEdDRm9yQ29udGV4dERpc3Bvc2Uu
aCIKICNpbmNsdWRlICJWOEhUTUxEb2N1bWVudC5oIgogI2luY2x1ZGUgIlY4SGlkZGVuUHJvcGVy
dHlOYW1lLmgiCi0jaW5jbHVkZSAiVjhIaXN0b3J5LmgiCi0jaW5jbHVkZSAiVjhMb2NhdGlvbi5o
IgorI2luY2x1ZGUgIlY4SW5pdGlhbGl6ZXIuaCIKICNpbmNsdWRlICJWOE9iamVjdENvbnN0cnVj
dG9yLmgiCiAjaW5jbHVkZSAiVjhQZXJDb250ZXh0RGF0YS5oIgotI2luY2x1ZGUgIldvcmtlckNv
bnRleHRFeGVjdXRpb25Qcm94eS5oIgogI2luY2x1ZGUgPGFsZ29yaXRobT4KLSNpbmNsdWRlIDxz
dGRpby5oPgogI2luY2x1ZGUgPHV0aWxpdHk+CiAjaW5jbHVkZSA8djgtZGVidWcuaD4KICNpbmNs
dWRlIDx2OC5oPgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL093
bkFycmF5UHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgogI2luY2x1ZGUgPHd0
Zi9TdHJpbmdFeHRyYXMuaD4KLSNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KICNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9JMThOX0FQSSkK
QEAgLTgwLDg5ICs2NSw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIHZvaWQg
cmVwb3J0RmF0YWxFcnJvcihjb25zdCBjaGFyKiBsb2NhdGlvbiwgY29uc3QgY2hhciogbWVzc2Fn
ZSkKLXsKLSAgICBpbnQgbWVtb3J5VXNhZ2VNQiA9IE1lbW9yeVVzYWdlU3VwcG9ydDo6YWN0dWFs
TWVtb3J5VXNhZ2VNQigpOwotICAgIHByaW50ZigiVjggZXJyb3I6ICVzICglcykuICBDdXJyZW50
IG1lbW9yeSB1c2FnZTogJWQgTUJcbiIsIG1lc3NhZ2UsIGxvY2F0aW9uLCBtZW1vcnlVc2FnZU1C
KTsKLSAgICBDUkFTSCgpOwotfQotCi1zdGF0aWMgdm9pZCByZXBvcnRVbmNhdWdodEV4Y2VwdGlv
bih2ODo6SGFuZGxlPHY4OjpNZXNzYWdlPiBtZXNzYWdlLCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
ZGF0YSkKLXsKLSAgICBET01XaW5kb3cqIGZpcnN0V2luZG93ID0gZmlyc3RET01XaW5kb3coQmlu
ZGluZ1N0YXRlOjppbnN0YW5jZSgpKTsKLSAgICBpZiAoIWZpcnN0V2luZG93LT5pc0N1cnJlbnRs
eURpc3BsYXllZEluRnJhbWUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU3RyaW5nIGVycm9y
TWVzc2FnZSA9IHRvV2ViQ29yZVN0cmluZyhtZXNzYWdlLT5HZXQoKSk7Ci0KLSAgICB2ODo6SGFu
ZGxlPHY4OjpTdGFja1RyYWNlPiBzdGFja1RyYWNlID0gbWVzc2FnZS0+R2V0U3RhY2tUcmFjZSgp
OwotICAgIFJlZlB0cjxTY3JpcHRDYWxsU3RhY2s+IGNhbGxTdGFjazsKLSAgICAvLyBDdXJyZW50
bHkgc3RhY2sgdHJhY2UgaXMgb25seSBjb2xsZWN0ZWQgd2hlbiBpbnNwZWN0b3IgaXMgb3Blbi4K
LSAgICBpZiAoIXN0YWNrVHJhY2UuSXNFbXB0eSgpICYmIHN0YWNrVHJhY2UtPkdldEZyYW1lQ291
bnQoKSA+IDApCi0gICAgICAgIGNhbGxTdGFjayA9IGNyZWF0ZVNjcmlwdENhbGxTdGFjayhzdGFj
a1RyYWNlLCBTY3JpcHRDYWxsU3RhY2s6Om1heENhbGxTdGFja1NpemVUb0NhcHR1cmUpOwotCi0g
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHJlc291cmNlTmFtZSA9IG1lc3NhZ2UtPkdldFNjcmlw
dFJlc291cmNlTmFtZSgpOwotICAgIGJvb2wgc2hvdWxkVXNlRG9jdW1lbnRVUkwgPSByZXNvdXJj
ZU5hbWUuSXNFbXB0eSgpIHx8ICFyZXNvdXJjZU5hbWUtPklzU3RyaW5nKCk7Ci0gICAgU3RyaW5n
IHJlc291cmNlID0gc2hvdWxkVXNlRG9jdW1lbnRVUkwgPyBmaXJzdFdpbmRvdy0+ZG9jdW1lbnQo
KS0+dXJsKCkgOiB0b1dlYkNvcmVTdHJpbmcocmVzb3VyY2VOYW1lKTsKLSAgICBmaXJzdFdpbmRv
dy0+ZG9jdW1lbnQoKS0+cmVwb3J0RXhjZXB0aW9uKGVycm9yTWVzc2FnZSwgbWVzc2FnZS0+R2V0
TGluZU51bWJlcigpLCByZXNvdXJjZSwgY2FsbFN0YWNrKTsKLX0KLQotc3RhdGljIEZyYW1lKiBm
aW5kRnJhbWUodjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IGRhdGEpCi17Ci0gICAgV3JhcHBlclR5cGVJbmZvKiB0eXBlID0gV3JhcHBlclR5cGVJbmZvOjp1
bndyYXAoZGF0YSk7Ci0KLSAgICBpZiAoVjhET01XaW5kb3c6OmluZm8uZXF1YWxzKHR5cGUpKSB7
Ci0gICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd2luZG93V3JhcHBlciA9IFY4RE9NV3Jh
cHBlcjo6bG9va3VwRE9NV3JhcHBlcihWOERPTVdpbmRvdzo6R2V0VGVtcGxhdGUoKSwgaG9zdCk7
Ci0gICAgICAgIGlmICh3aW5kb3dXcmFwcGVyLklzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVy
biAwOwotICAgICAgICByZXR1cm4gVjhET01XaW5kb3c6OnRvTmF0aXZlKHdpbmRvd1dyYXBwZXIp
LT5mcmFtZSgpOwotICAgIH0KLQotICAgIGlmIChWOEhpc3Rvcnk6OmluZm8uZXF1YWxzKHR5cGUp
KQotICAgICAgICByZXR1cm4gVjhIaXN0b3J5Ojp0b05hdGl2ZShob3N0KS0+ZnJhbWUoKTsKLQot
ICAgIGlmIChWOExvY2F0aW9uOjppbmZvLmVxdWFscyh0eXBlKSkKLSAgICAgICAgcmV0dXJuIFY4
TG9jYXRpb246OnRvTmF0aXZlKGhvc3QpLT5mcmFtZSgpOwotCi0gICAgLy8gVGhpcyBmdW5jdGlv
biBjYW4gaGFuZGxlIG9ubHkgdGhvc2UgdHlwZXMgbGlzdGVkIGFib3ZlLgotICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOwotfQotCi1zdGF0aWMgdm9pZCByZXBvcnRVbnNh
ZmVKYXZhU2NyaXB0QWNjZXNzKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBob3N0LCB2ODo6QWNjZXNz
VHlwZSB0eXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRhKQotewotICAgIEZyYW1lKiB0YXJn
ZXQgPSBmaW5kRnJhbWUoaG9zdCwgZGF0YSk7Ci0gICAgaWYgKCF0YXJnZXQpCi0gICAgICAgIHJl
dHVybjsKLSAgICBET01XaW5kb3cqIHRhcmdldFdpbmRvdyA9IHRhcmdldC0+ZG9jdW1lbnQoKS0+
ZG9tV2luZG93KCk7Ci0gICAgdGFyZ2V0V2luZG93LT5wcmludEVycm9yTWVzc2FnZSh0YXJnZXRX
aW5kb3ctPmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGFjdGl2ZURPTVdpbmRvdyhCaW5k
aW5nU3RhdGU6Omluc3RhbmNlKCkpKSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGluaXRpYWxpemVWOElm
TmVlZGVkKCkKLXsKLSAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwotCi0gICAgc3RhdGljIGJv
b2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKLSAgICBpZiAoaW5pdGlhbGl6ZWQpCi0gICAgICAgIHJl
dHVybjsKLSAgICBpbml0aWFsaXplZCA9IHRydWU7Ci0KLSAgICB2ODo6Vjg6Oklnbm9yZU91dE9m
TWVtb3J5RXhjZXB0aW9uKCk7Ci0gICAgdjg6OlY4OjpTZXRGYXRhbEVycm9ySGFuZGxlcihyZXBv
cnRGYXRhbEVycm9yKTsKLSAgICB2ODo6Vjg6OkFkZEdDUHJvbG9ndWVDYWxsYmFjaygmVjhHQ0Nv
bnRyb2xsZXI6OmdjUHJvbG9ndWUpOwotICAgIHY4OjpWODo6QWRkR0NFcGlsb2d1ZUNhbGxiYWNr
KCZWOEdDQ29udHJvbGxlcjo6Z2NFcGlsb2d1ZSk7Ci0gICAgdjg6OlY4OjpBZGRNZXNzYWdlTGlz
dGVuZXIoJnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uKTsKLSAgICB2ODo6Vjg6OlNldEZhaWxlZEFj
Y2Vzc0NoZWNrQ2FsbGJhY2tGdW5jdGlvbihyZXBvcnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKTsK
LSNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKLSAgICBTY3JpcHRQcm9maWxlcjo6aW5p
dGlhbGl6ZSgpOwotI2VuZGlmCi0gICAgVjhQZXJJc29sYXRlRGF0YTo6ZW5zdXJlSW5pdGlhbGl6
ZWQodjg6Oklzb2xhdGU6OkdldEN1cnJlbnQoKSk7Ci0KLSAgICAvLyBGSVhNRTogUmVtb3ZlIHRo
ZSBmb2xsb3dpbmcgMiBsaW5lcyB3aGVuIFY4IGRlZmF1bHQgaGFzIGNoYW5nZWQuCi0gICAgY29u
c3QgY2hhciBlczVSZWFkb25seUZsYWdbXSA9ICItLWVzNV9yZWFkb25seSI7Ci0gICAgdjg6OlY4
OjpTZXRGbGFnc0Zyb21TdHJpbmcoZXM1UmVhZG9ubHlGbGFnLCBzaXplb2YoZXM1UmVhZG9ubHlG
bGFnKSk7Ci19Ci0KIHN0YXRpYyB2b2lkIGNoZWNrRG9jdW1lbnRXcmFwcGVyKHY4OjpIYW5kbGU8
djg6Ok9iamVjdD4gd3JhcHBlciwgRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIEFTU0VSVChW
OERvY3VtZW50Ojp0b05hdGl2ZSh3cmFwcGVyKSA9PSBkb2N1bWVudCk7CkBAIC0zMDksNyArMjEx
LDcgQEAgYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbml0aWFsaXplSWZOZWVkZWQoKQogCiAgICAg
djg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogCi0gICAgaW5pdGlhbGl6ZVY4SWZOZWVkZWQo
KTsKKyAgICBWOEluaXRpYWxpemVyOjppbml0aWFsaXplTWFpblRocmVhZElmTmVlZGVkKCk7CiAK
ICAgICBjcmVhdGVDb250ZXh0KCk7CiAgICAgaWYgKG1fY29udGV4dC5pc0VtcHR5KCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluaXRpYWxpemVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5pdGlhbGl6ZXIuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVl
ZmZhZDQwMmIyOGQwZGY4YTdkODQ1YzlmNjY3NDkzNjA3ZTcwMjAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluaXRpYWxpemVyLmNwcApAQCAtMCwwICsx
LDEyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiVjhJ
bml0aWFsaXplci5oIgorCisjaW5jbHVkZSAiQmluZGluZ1N0YXRlLmgiCisjaW5jbHVkZSAiRE9N
V2luZG93LmgiCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2lu
Y2x1ZGUgIk1lbW9yeVVzYWdlU3VwcG9ydC5oIgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFjay5o
IgorI2luY2x1ZGUgIlNjcmlwdENhbGxTdGFja0ZhY3RvcnkuaCIKKyNpbmNsdWRlICJTY3JpcHRQ
cm9maWxlci5oIgorI2luY2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4RE9NV2luZG93
LmgiCisjaW5jbHVkZSAiVjhHQ0NvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJWOEhpc3RvcnkuaCIK
KyNpbmNsdWRlICJWOExvY2F0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGlj
IEZyYW1lKiBmaW5kRnJhbWUodjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpMb2NhbDx2
ODo6VmFsdWU+IGRhdGEpCit7CisgICAgV3JhcHBlclR5cGVJbmZvKiB0eXBlID0gV3JhcHBlclR5
cGVJbmZvOjp1bndyYXAoZGF0YSk7CisKKyAgICBpZiAoVjhET01XaW5kb3c6OmluZm8uZXF1YWxz
KHR5cGUpKSB7CisgICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gd2luZG93V3JhcHBlciA9
IFY4RE9NV3JhcHBlcjo6bG9va3VwRE9NV3JhcHBlcihWOERPTVdpbmRvdzo6R2V0VGVtcGxhdGUo
KSwgaG9zdCk7CisgICAgICAgIGlmICh3aW5kb3dXcmFwcGVyLklzRW1wdHkoKSkKKyAgICAgICAg
ICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gVjhET01XaW5kb3c6OnRvTmF0aXZlKHdpbmRv
d1dyYXBwZXIpLT5mcmFtZSgpOworICAgIH0KKworICAgIGlmIChWOEhpc3Rvcnk6OmluZm8uZXF1
YWxzKHR5cGUpKQorICAgICAgICByZXR1cm4gVjhIaXN0b3J5Ojp0b05hdGl2ZShob3N0KS0+ZnJh
bWUoKTsKKworICAgIGlmIChWOExvY2F0aW9uOjppbmZvLmVxdWFscyh0eXBlKSkKKyAgICAgICAg
cmV0dXJuIFY4TG9jYXRpb246OnRvTmF0aXZlKGhvc3QpLT5mcmFtZSgpOworCisgICAgLy8gVGhp
cyBmdW5jdGlvbiBjYW4gaGFuZGxlIG9ubHkgdGhvc2UgdHlwZXMgbGlzdGVkIGFib3ZlLgorICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBy
ZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNoYXIqIGxvY2F0aW9uLCBjb25zdCBjaGFyKiBtZXNzYWdl
KQoreworICAgIGludCBtZW1vcnlVc2FnZU1CID0gTWVtb3J5VXNhZ2VTdXBwb3J0OjphY3R1YWxN
ZW1vcnlVc2FnZU1CKCk7CisgICAgcHJpbnRmKCJWOCBlcnJvcjogJXMgKCVzKS4gIEN1cnJlbnQg
bWVtb3J5IHVzYWdlOiAlZCBNQlxuIiwgbWVzc2FnZSwgbG9jYXRpb24sIG1lbW9yeVVzYWdlTUIp
OworICAgIENSQVNIKCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9u
KHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBk
YXRhKQoreworICAgIERPTVdpbmRvdyogZmlyc3RXaW5kb3cgPSBmaXJzdERPTVdpbmRvdyhCaW5k
aW5nU3RhdGU6Omluc3RhbmNlKCkpOworICAgIGlmICghZmlyc3RXaW5kb3ctPmlzQ3VycmVudGx5
RGlzcGxheWVkSW5GcmFtZSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBTdHJpbmcgZXJyb3JN
ZXNzYWdlID0gdG9XZWJDb3JlU3RyaW5nKG1lc3NhZ2UtPkdldCgpKTsKKworICAgIHY4OjpIYW5k
bGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UgPSBtZXNzYWdlLT5HZXRTdGFja1RyYWNlKCk7
CisgICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrOworICAgIC8vIEN1cnJlbnRs
eSBzdGFjayB0cmFjZSBpcyBvbmx5IGNvbGxlY3RlZCB3aGVuIGluc3BlY3RvciBpcyBvcGVuLgor
ICAgIGlmICghc3RhY2tUcmFjZS5Jc0VtcHR5KCkgJiYgc3RhY2tUcmFjZS0+R2V0RnJhbWVDb3Vu
dCgpID4gMCkKKyAgICAgICAgY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHN0YWNr
VHJhY2UsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7CisKKyAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0
UmVzb3VyY2VOYW1lKCk7CisgICAgYm9vbCBzaG91bGRVc2VEb2N1bWVudFVSTCA9IHJlc291cmNl
TmFtZS5Jc0VtcHR5KCkgfHwgIXJlc291cmNlTmFtZS0+SXNTdHJpbmcoKTsKKyAgICBTdHJpbmcg
cmVzb3VyY2UgPSBzaG91bGRVc2VEb2N1bWVudFVSTCA/IGZpcnN0V2luZG93LT5kb2N1bWVudCgp
LT51cmwoKSA6IHRvV2ViQ29yZVN0cmluZyhyZXNvdXJjZU5hbWUpOworICAgIGZpcnN0V2luZG93
LT5kb2N1bWVudCgpLT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdlLCBtZXNzYWdlLT5HZXRM
aW5lTnVtYmVyKCksIHJlc291cmNlLCBjYWxsU3RhY2spOworfQorCitzdGF0aWMgdm9pZCByZXBv
cnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBob3N0LCB2ODo6
QWNjZXNzVHlwZSB0eXBlLCB2ODo6TG9jYWw8djg6OlZhbHVlPiBkYXRhKQoreworICAgIEZyYW1l
KiB0YXJnZXQgPSBmaW5kRnJhbWUoaG9zdCwgZGF0YSk7CisgICAgaWYgKCF0YXJnZXQpCisgICAg
ICAgIHJldHVybjsKKyAgICBET01XaW5kb3cqIHRhcmdldFdpbmRvdyA9IHRhcmdldC0+ZG9jdW1l
bnQoKS0+ZG9tV2luZG93KCk7CisgICAgdGFyZ2V0V2luZG93LT5wcmludEVycm9yTWVzc2FnZSh0
YXJnZXRXaW5kb3ctPmNyb3NzRG9tYWluQWNjZXNzRXJyb3JNZXNzYWdlKGFjdGl2ZURPTVdpbmRv
dyhCaW5kaW5nU3RhdGU6Omluc3RhbmNlKCkpKSk7Cit9CisKK3ZvaWQgVjhJbml0aWFsaXplcjo6
aW5pdGlhbGl6ZU1haW5UaHJlYWRJZk5lZWRlZCgpCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVh
ZCgpKTsKKworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CisgICAgaWYgKGlu
aXRpYWxpemVkKQorICAgICAgICByZXR1cm47CisgICAgaW5pdGlhbGl6ZWQgPSB0cnVlOworCisg
ICAgdjg6OlY4OjpJZ25vcmVPdXRPZk1lbW9yeUV4Y2VwdGlvbigpOworICAgIHY4OjpWODo6U2V0
RmF0YWxFcnJvckhhbmRsZXIocmVwb3J0RmF0YWxFcnJvcik7CisgICAgdjg6OlY4OjpBZGRHQ1By
b2xvZ3VlQ2FsbGJhY2soJlY4R0NDb250cm9sbGVyOjpnY1Byb2xvZ3VlKTsKKyAgICB2ODo6Vjg6
OkFkZEdDRXBpbG9ndWVDYWxsYmFjaygmVjhHQ0NvbnRyb2xsZXI6OmdjRXBpbG9ndWUpOworICAg
IHY4OjpWODo6QWRkTWVzc2FnZUxpc3RlbmVyKCZyZXBvcnRVbmNhdWdodEV4Y2VwdGlvbik7Cisg
ICAgdjg6OlY4OjpTZXRGYWlsZWRBY2Nlc3NDaGVja0NhbGxiYWNrRnVuY3Rpb24ocmVwb3J0VW5z
YWZlSmF2YVNjcmlwdEFjY2Vzcyk7CisjaWYgRU5BQkxFKEpBVkFTQ1JJUFRfREVCVUdHRVIpCisg
ICAgU2NyaXB0UHJvZmlsZXI6OmluaXRpYWxpemUoKTsKKyNlbmRpZgorICAgIFY4UGVySXNvbGF0
ZURhdGE6OmVuc3VyZUluaXRpYWxpemVkKHY4OjpJc29sYXRlOjpHZXRDdXJyZW50KCkpOworCisg
ICAgLy8gRklYTUU6IFJlbW92ZSB0aGUgZm9sbG93aW5nIDIgbGluZXMgd2hlbiBWOCBkZWZhdWx0
IGhhcyBjaGFuZ2VkLgorICAgIGNvbnN0IGNoYXIgZXM1UmVhZG9ubHlGbGFnW10gPSAiLS1lczVf
cmVhZG9ubHkiOworICAgIHY4OjpWODo6U2V0RmxhZ3NGcm9tU3RyaW5nKGVzNVJlYWRvbmx5Rmxh
Zywgc2l6ZW9mKGVzNVJlYWRvbmx5RmxhZykpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluaXRpYWxpemVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEluaXRpYWxpemVyLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjA1NzFmMWI0YTBjNjBiMTZlN2Y2MmUwNTQ4ZGNiMDgyOGI0NGFjNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5pdGlhbGl6ZXIuaApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVjhJbml0aWFsaXplcl9oCisjZGVmaW5lIFY4
SW5pdGlhbGl6ZXJfaAorCisjaW5jbHVkZSA8djguaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgVjhJbml0aWFsaXplciB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZU1haW5UaHJlYWRJZk5lZWRlZCgpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIFY4SW5pdGlhbGl6ZXJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175388</attachid>
            <date>2012-11-21 02:40:26 -0800</date>
            <delta_ts>2012-11-21 03:25:59 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-102899-20121121193813.patch</filename>
            <type>text/plain</type>
            <size>15647</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MzY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWFkZGFhYzk5OTkwMjU2
ZDI2YzdkYjM1MzQ3NzEwNWE1Njc2ZjNlNC4uNzc0Zjk1YjRiOTZkYzc4MWUzYmRlNTNkZTVhNDZi
ZWFlN2VmOTQ4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDEyLTExLTIxICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIE1vdmUgVjhE
T01XaW5kb3dTaGVsbDo6aW5pdGlhbGl6ZVY4SWZOZWVkZWQoKSB0byBWOEluaXRpYWxpemVyCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI4OTkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIFRoaXMgaXMgYW4gaW5j
cmVtZW50YWwgc3RlcCB0byBraWxsIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS4KKyAgICAg
ICAgQXMgY29tbWVudGVkIGJ5IGFiYXJ0aCBpbiBidWcgOTcwNjYsIHdlIG1vdmUKKyAgICAgICAg
VjhET01XaW5kb3dTaGVsbDo6aW5pdGlhbGl6ZVY4SWZOZWVkZWQoKSB0byBWOEluaXRpYWxpemVy
LgorICAgICAgICBUaGlzIHBhdGNoIHJlbmFtZXMgaW5pdGlhbGl6ZVY4SWZOZWVkZWQoKSB0byBp
bml0aWFsaXplTWFpblRocmVhZElmTmVlZGVkKCkKKyAgICAgICAgYmVjYXVzZSB3ZSB3aWxsIGFk
ZCBpbml0aWFsaXplV29ya2VySWZOZWVkZWQoKSBpbiBhIGZvbGxvdy11cCBwYXRjaC4KKworICAg
ICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogVXNlVjgu
Y21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4
RE9NV2luZG93U2hlbGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dTaGVsbDo6
aW5pdGlhbGl6ZUlmTmVlZGVkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEluaXRpYWxpemVy
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OmZpbmRG
cmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpyZXBvcnRGYXRhbEVycm9yKToKKyAgICAgICAgKFdl
YkNvcmU6OnJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OnJlcG9y
dFVuc2FmZUphdmFTY3JpcHRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6VjhJbml0aWFsaXpl
cjo6aW5pdGlhbGl6ZU1haW5UaHJlYWRJZk5lZWRlZCk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhJbml0aWFsaXplci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoVjhJ
bml0aWFsaXplcik6CisKKzIwMTItMTEtMjEgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21p
dW0ub3JnPgorCiAgICAgICAgIFVucmV2aWV3ZWQuIEJ1aWxkIGZpeC4KIAogICAgICAgICAqIGJp
bmRpbmdzL3Y4L2N1c3RvbS9WOEJsb2JDdXN0b20uY3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQppbmRleCAwYzUz
ZDc0Mzc3MGY5MDA1N2UxNTFhMWY1Zjc1ZTk0OGQ5ZGYyY2IzLi4wYjg3ZGY1ZTczZWE0ZDRlOGYy
ZmFmMGI1NGZkYTYyYTlhMGNmZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpAQCAtNTUsNiArNTUsNyBAQCBM
SVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy92OC9WOEdDQ29udHJvbGxl
ci5jcHAKICAgICBiaW5kaW5ncy92OC9WOEdDRm9yQ29udGV4dERpc3Bvc2UuY3BwCiAgICAgYmlu
ZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuY3BwCisgICAgYmluZGluZ3MvdjgvVjhJbml0
aWFsaXplci5jcHAKICAgICBiaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcAogICAg
IGJpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5jcHAKICAgICBiaW5kaW5ncy92OC9W
OE9iamVjdENvbnN0cnVjdG9yLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDQ5YWZmOWQ1MjJmYTIy
YWEwNjZkMzc2Y2E1YmY4ZGQ3Zjk1MTE5YWMuLmM2NjI3YmY1MTg2OTZiNjhhYjlhZGY2ODkwYzU3
MDRiZmM4M2U2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIzMDEsNiArMjMwMSw4IEBACiAgICAg
ICAgICAgICAnYmluZGluZ3MvdjgvVjhHQ0ZvckNvbnRleHREaXNwb3NlLmgnLAogICAgICAgICAg
ICAgJ2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmNwcCcsCiAgICAgICAgICAgICAn
YmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaCcsCisgICAgICAgICAgICAnYmluZGlu
Z3MvdjgvVjhJbml0aWFsaXplci5jcHAnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4SW5p
dGlhbGl6ZXIuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5l
ci5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuaCcs
CiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhOUE9iamVjdC5jcHAnLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRleCBhZGFjOWU4NGE0
ZjM1YWYyMTVhYjM5ZDk2OTM2YWRmZjg3ZjEzYTU4Li5jYTZlNWUxZjZjNGQzYmFkYzQ4Mjc5Mzdk
NTk0MWQwODAzY2YzNDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERP
TVdpbmRvd1NoZWxsLmNwcApAQCAtMzEsNDcgKzMxLDMyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiVjhET01XaW5kb3dTaGVsbC5oIgogCi0jaW5jbHVkZSAiQmluZGluZ1N0YXRl
LmgiCiAjaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5LmgiCiAjaW5jbHVkZSAiRGF0ZUV4
dGVuc2lvbi5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWUu
aCIKICNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgotI2luY2x1ZGUgIk1lbW9yeVVzYWdlU3VwcG9ydC5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKLSNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJSdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgiCi0jaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgiCi0jaW5jbHVkZSAi
U2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIK
LSNpbmNsdWRlICJTY3JpcHRQcm9maWxlci5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgi
Ci0jaW5jbHVkZSAiU3RvcmFnZU5hbWVzcGFjZS5oIgotI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlT
ZXQuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKLSNpbmNsdWRlICJWOENvbGxlY3Rpb24uaCIK
ICNpbmNsdWRlICJWOERPTVdpbmRvdy5oIgogI2luY2x1ZGUgIlY4RG9jdW1lbnQuaCIKLSNpbmNs
dWRlICJWOEdDQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIlY4R0NGb3JDb250ZXh0RGlzcG9zZS5o
IgogI2luY2x1ZGUgIlY4SFRNTERvY3VtZW50LmgiCiAjaW5jbHVkZSAiVjhIaWRkZW5Qcm9wZXJ0
eU5hbWUuaCIKLSNpbmNsdWRlICJWOEhpc3RvcnkuaCIKLSNpbmNsdWRlICJWOExvY2F0aW9uLmgi
CisjaW5jbHVkZSAiVjhJbml0aWFsaXplci5oIgogI2luY2x1ZGUgIlY4T2JqZWN0Q29uc3RydWN0
b3IuaCIKICNpbmNsdWRlICJWOFBlckNvbnRleHREYXRhLmgiCi0jaW5jbHVkZSAiV29ya2VyQ29u
dGV4dEV4ZWN1dGlvblByb3h5LmgiCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgotI2luY2x1ZGUgPHN0
ZGlvLmg+CiAjaW5jbHVkZSA8dXRpbGl0eT4KICNpbmNsdWRlIDx2OC1kZWJ1Zy5oPgogI2luY2x1
ZGUgPHY4Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvT3du
QXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L1N0cmluZ0V4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogI2lmIEVOQUJMRShKQVZBU0NSSVBUX0kxOE5fQVBJKQpA
QCAtODAsODkgKzY1LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgdm9pZCBy
ZXBvcnRGYXRhbEVycm9yKGNvbnN0IGNoYXIqIGxvY2F0aW9uLCBjb25zdCBjaGFyKiBtZXNzYWdl
KQotewotICAgIGludCBtZW1vcnlVc2FnZU1CID0gTWVtb3J5VXNhZ2VTdXBwb3J0OjphY3R1YWxN
ZW1vcnlVc2FnZU1CKCk7Ci0gICAgcHJpbnRmKCJWOCBlcnJvcjogJXMgKCVzKS4gIEN1cnJlbnQg
bWVtb3J5IHVzYWdlOiAlZCBNQlxuIiwgbWVzc2FnZSwgbG9jYXRpb24sIG1lbW9yeVVzYWdlTUIp
OwotICAgIENSQVNIKCk7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlcG9ydFVuY2F1Z2h0RXhjZXB0aW9u
KHY4OjpIYW5kbGU8djg6Ok1lc3NhZ2U+IG1lc3NhZ2UsIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBk
YXRhKQotewotICAgIERPTVdpbmRvdyogZmlyc3RXaW5kb3cgPSBmaXJzdERPTVdpbmRvdyhCaW5k
aW5nU3RhdGU6Omluc3RhbmNlKCkpOwotICAgIGlmICghZmlyc3RXaW5kb3ctPmlzQ3VycmVudGx5
RGlzcGxheWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBTdHJpbmcgZXJyb3JN
ZXNzYWdlID0gdG9XZWJDb3JlU3RyaW5nKG1lc3NhZ2UtPkdldCgpKTsKLQotICAgIHY4OjpIYW5k
bGU8djg6OlN0YWNrVHJhY2U+IHN0YWNrVHJhY2UgPSBtZXNzYWdlLT5HZXRTdGFja1RyYWNlKCk7
Ci0gICAgUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrOwotICAgIC8vIEN1cnJlbnRs
eSBzdGFjayB0cmFjZSBpcyBvbmx5IGNvbGxlY3RlZCB3aGVuIGluc3BlY3RvciBpcyBvcGVuLgot
ICAgIGlmICghc3RhY2tUcmFjZS5Jc0VtcHR5KCkgJiYgc3RhY2tUcmFjZS0+R2V0RnJhbWVDb3Vu
dCgpID4gMCkKLSAgICAgICAgY2FsbFN0YWNrID0gY3JlYXRlU2NyaXB0Q2FsbFN0YWNrKHN0YWNr
VHJhY2UsIFNjcmlwdENhbGxTdGFjazo6bWF4Q2FsbFN0YWNrU2l6ZVRvQ2FwdHVyZSk7Ci0KLSAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcmVzb3VyY2VOYW1lID0gbWVzc2FnZS0+R2V0U2NyaXB0
UmVzb3VyY2VOYW1lKCk7Ci0gICAgYm9vbCBzaG91bGRVc2VEb2N1bWVudFVSTCA9IHJlc291cmNl
TmFtZS5Jc0VtcHR5KCkgfHwgIXJlc291cmNlTmFtZS0+SXNTdHJpbmcoKTsKLSAgICBTdHJpbmcg
cmVzb3VyY2UgPSBzaG91bGRVc2VEb2N1bWVudFVSTCA/IGZpcnN0V2luZG93LT5kb2N1bWVudCgp
LT51cmwoKSA6IHRvV2ViQ29yZVN0cmluZyhyZXNvdXJjZU5hbWUpOwotICAgIGZpcnN0V2luZG93
LT5kb2N1bWVudCgpLT5yZXBvcnRFeGNlcHRpb24oZXJyb3JNZXNzYWdlLCBtZXNzYWdlLT5HZXRM
aW5lTnVtYmVyKCksIHJlc291cmNlLCBjYWxsU3RhY2spOwotfQotCi1zdGF0aWMgRnJhbWUqIGZp
bmRGcmFtZSh2ODo6TG9jYWw8djg6Ok9iamVjdD4gaG9zdCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4g
ZGF0YSkKLXsKLSAgICBXcmFwcGVyVHlwZUluZm8qIHR5cGUgPSBXcmFwcGVyVHlwZUluZm86OnVu
d3JhcChkYXRhKTsKLQotICAgIGlmIChWOERPTVdpbmRvdzo6aW5mby5lcXVhbHModHlwZSkpIHsK
LSAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3aW5kb3dXcmFwcGVyID0gVjhET01XcmFw
cGVyOjpsb29rdXBET01XcmFwcGVyKFY4RE9NV2luZG93OjpHZXRUZW1wbGF0ZSgpLCBob3N0KTsK
LSAgICAgICAgaWYgKHdpbmRvd1dyYXBwZXIuSXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJu
IDA7Ci0gICAgICAgIHJldHVybiBWOERPTVdpbmRvdzo6dG9OYXRpdmUod2luZG93V3JhcHBlcikt
PmZyYW1lKCk7Ci0gICAgfQotCi0gICAgaWYgKFY4SGlzdG9yeTo6aW5mby5lcXVhbHModHlwZSkp
Ci0gICAgICAgIHJldHVybiBWOEhpc3Rvcnk6OnRvTmF0aXZlKGhvc3QpLT5mcmFtZSgpOwotCi0g
ICAgaWYgKFY4TG9jYXRpb246OmluZm8uZXF1YWxzKHR5cGUpKQotICAgICAgICByZXR1cm4gVjhM
b2NhdGlvbjo6dG9OYXRpdmUoaG9zdCktPmZyYW1lKCk7Ci0KLSAgICAvLyBUaGlzIGZ1bmN0aW9u
IGNhbiBoYW5kbGUgb25seSB0aG9zZSB0eXBlcyBsaXN0ZWQgYWJvdmUuCi0gICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2b2lkIHJlcG9ydFVuc2Fm
ZUphdmFTY3JpcHRBY2Nlc3Modjg6OkxvY2FsPHY4OjpPYmplY3Q+IGhvc3QsIHY4OjpBY2Nlc3NU
eXBlIHR5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRhdGEpCi17Ci0gICAgRnJhbWUqIHRhcmdl
dCA9IGZpbmRGcmFtZShob3N0LCBkYXRhKTsKLSAgICBpZiAoIXRhcmdldCkKLSAgICAgICAgcmV0
dXJuOwotICAgIERPTVdpbmRvdyogdGFyZ2V0V2luZG93ID0gdGFyZ2V0LT5kb2N1bWVudCgpLT5k
b21XaW5kb3coKTsKLSAgICB0YXJnZXRXaW5kb3ctPnByaW50RXJyb3JNZXNzYWdlKHRhcmdldFdp
bmRvdy0+Y3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3NhZ2UoYWN0aXZlRE9NV2luZG93KEJpbmRp
bmdTdGF0ZTo6aW5zdGFuY2UoKSkpKTsKLX0KLQotc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVY4SWZO
ZWVkZWQoKQotewotICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7Ci0KLSAgICBzdGF0aWMgYm9v
bCBpbml0aWFsaXplZCA9IGZhbHNlOwotICAgIGlmIChpbml0aWFsaXplZCkKLSAgICAgICAgcmV0
dXJuOwotICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKLQotICAgIHY4OjpWODo6SWdub3JlT3V0T2ZN
ZW1vcnlFeGNlcHRpb24oKTsKLSAgICB2ODo6Vjg6OlNldEZhdGFsRXJyb3JIYW5kbGVyKHJlcG9y
dEZhdGFsRXJyb3IpOwotICAgIHY4OjpWODo6QWRkR0NQcm9sb2d1ZUNhbGxiYWNrKCZWOEdDQ29u
dHJvbGxlcjo6Z2NQcm9sb2d1ZSk7Ci0gICAgdjg6OlY4OjpBZGRHQ0VwaWxvZ3VlQ2FsbGJhY2so
JlY4R0NDb250cm9sbGVyOjpnY0VwaWxvZ3VlKTsKLSAgICB2ODo6Vjg6OkFkZE1lc3NhZ2VMaXN0
ZW5lcigmcmVwb3J0VW5jYXVnaHRFeGNlcHRpb24pOwotICAgIHY4OjpWODo6U2V0RmFpbGVkQWNj
ZXNzQ2hlY2tDYWxsYmFja0Z1bmN0aW9uKHJlcG9ydFVuc2FmZUphdmFTY3JpcHRBY2Nlc3MpOwot
I2lmIEVOQUJMRShKQVZBU0NSSVBUX0RFQlVHR0VSKQotICAgIFNjcmlwdFByb2ZpbGVyOjppbml0
aWFsaXplKCk7Ci0jZW5kaWYKLSAgICBWOFBlcklzb2xhdGVEYXRhOjplbnN1cmVJbml0aWFsaXpl
ZCh2ODo6SXNvbGF0ZTo6R2V0Q3VycmVudCgpKTsKLQotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhl
IGZvbGxvd2luZyAyIGxpbmVzIHdoZW4gVjggZGVmYXVsdCBoYXMgY2hhbmdlZC4KLSAgICBjb25z
dCBjaGFyIGVzNVJlYWRvbmx5RmxhZ1tdID0gIi0tZXM1X3JlYWRvbmx5IjsKLSAgICB2ODo6Vjg6
OlNldEZsYWdzRnJvbVN0cmluZyhlczVSZWFkb25seUZsYWcsIHNpemVvZihlczVSZWFkb25seUZs
YWcpKTsKLX0KLQogc3RhdGljIHZvaWQgY2hlY2tEb2N1bWVudFdyYXBwZXIodjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwcGVyLCBEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgQVNTRVJUKFY4
RG9jdW1lbnQ6OnRvTmF0aXZlKHdyYXBwZXIpID09IGRvY3VtZW50KTsKQEAgLTMwOSw3ICsyMTEs
NyBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRpYWxpemVJZk5lZWRlZCgpCiAKICAgICB2
ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CiAKLSAgICBpbml0aWFsaXplVjhJZk5lZWRlZCgp
OworICAgIFY4SW5pdGlhbGl6ZXI6OmluaXRpYWxpemVNYWluVGhyZWFkSWZOZWVkZWQoKTsKIAog
ICAgIGNyZWF0ZUNvbnRleHQoKTsKICAgICBpZiAobV9jb250ZXh0LmlzRW1wdHkoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5pdGlhbGl6ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbml0aWFsaXplci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ0
ZTNiNWZkOTBmNzEyYTIyZjk2ODZlNmVhMjE3YmY3YzNlYTE5MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5pdGlhbGl6ZXIuY3BwCkBAIC0wLDAgKzEs
MTMxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJWOElu
aXRpYWxpemVyLmgiCisKKyNpbmNsdWRlICJCaW5kaW5nU3RhdGUuaCIKKyNpbmNsdWRlICJET01X
aW5kb3cuaCIKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5j
bHVkZSAiTWVtb3J5VXNhZ2VTdXBwb3J0LmgiCisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrLmgi
CisjaW5jbHVkZSAiU2NyaXB0Q2FsbFN0YWNrRmFjdG9yeS5oIgorI2luY2x1ZGUgIlNjcmlwdFBy
b2ZpbGVyLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisjaW5jbHVkZSAiVjhET01XaW5kb3cu
aCIKKyNpbmNsdWRlICJWOEdDQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIlY4SGlzdG9yeS5oIgor
I2luY2x1ZGUgIlY4TG9jYXRpb24uaCIKKyNpbmNsdWRlIDx2OC5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitzdGF0aWMgRnJhbWUqIGZpbmRGcmFtZSh2ODo6TG9jYWw8djg6Ok9iamVjdD4g
aG9zdCwgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gZGF0YSkKK3sKKyAgICBXcmFwcGVyVHlwZUluZm8q
IHR5cGUgPSBXcmFwcGVyVHlwZUluZm86OnVud3JhcChkYXRhKTsKKworICAgIGlmIChWOERPTVdp
bmRvdzo6aW5mby5lcXVhbHModHlwZSkpIHsKKyAgICAgICAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0
PiB3aW5kb3dXcmFwcGVyID0gVjhET01XcmFwcGVyOjpsb29rdXBET01XcmFwcGVyKFY4RE9NV2lu
ZG93OjpHZXRUZW1wbGF0ZSgpLCBob3N0KTsKKyAgICAgICAgaWYgKHdpbmRvd1dyYXBwZXIuSXNF
bXB0eSgpKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJldHVybiBWOERPTVdpbmRv
dzo6dG9OYXRpdmUod2luZG93V3JhcHBlciktPmZyYW1lKCk7CisgICAgfQorCisgICAgaWYgKFY4
SGlzdG9yeTo6aW5mby5lcXVhbHModHlwZSkpCisgICAgICAgIHJldHVybiBWOEhpc3Rvcnk6OnRv
TmF0aXZlKGhvc3QpLT5mcmFtZSgpOworCisgICAgaWYgKFY4TG9jYXRpb246OmluZm8uZXF1YWxz
KHR5cGUpKQorICAgICAgICByZXR1cm4gVjhMb2NhdGlvbjo6dG9OYXRpdmUoaG9zdCktPmZyYW1l
KCk7CisKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGNhbiBoYW5kbGUgb25seSB0aG9zZSB0eXBlcyBs
aXN0ZWQgYWJvdmUuCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIDA7Cit9
CisKK3N0YXRpYyB2b2lkIHJlcG9ydEZhdGFsRXJyb3IoY29uc3QgY2hhciogbG9jYXRpb24sIGNv
bnN0IGNoYXIqIG1lc3NhZ2UpCit7CisgICAgaW50IG1lbW9yeVVzYWdlTUIgPSBNZW1vcnlVc2Fn
ZVN1cHBvcnQ6OmFjdHVhbE1lbW9yeVVzYWdlTUIoKTsKKyAgICBwcmludGYoIlY4IGVycm9yOiAl
cyAoJXMpLiAgQ3VycmVudCBtZW1vcnkgdXNhZ2U6ICVkIE1CXG4iLCBtZXNzYWdlLCBsb2NhdGlv
biwgbWVtb3J5VXNhZ2VNQik7CisgICAgQ1JBU0goKTsKK30KKworc3RhdGljIHZvaWQgcmVwb3J0
VW5jYXVnaHRFeGNlcHRpb24odjg6OkhhbmRsZTx2ODo6TWVzc2FnZT4gbWVzc2FnZSwgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IGRhdGEpCit7CisgICAgRE9NV2luZG93KiBmaXJzdFdpbmRvdyA9IGZp
cnN0RE9NV2luZG93KEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSk7CisgICAgaWYgKCFmaXJzdFdp
bmRvdy0+aXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIFN0cmluZyBlcnJvck1lc3NhZ2UgPSB0b1dlYkNvcmVTdHJpbmcobWVzc2FnZS0+R2V0KCkp
OworCisgICAgdjg6OkhhbmRsZTx2ODo6U3RhY2tUcmFjZT4gc3RhY2tUcmFjZSA9IG1lc3NhZ2Ut
PkdldFN0YWNrVHJhY2UoKTsKKyAgICBSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiBjYWxsU3RhY2s7
CisgICAgLy8gQ3VycmVudGx5IHN0YWNrIHRyYWNlIGlzIG9ubHkgY29sbGVjdGVkIHdoZW4gaW5z
cGVjdG9yIGlzIG9wZW4uCisgICAgaWYgKCFzdGFja1RyYWNlLklzRW1wdHkoKSAmJiBzdGFja1Ry
YWNlLT5HZXRGcmFtZUNvdW50KCkgPiAwKQorICAgICAgICBjYWxsU3RhY2sgPSBjcmVhdGVTY3Jp
cHRDYWxsU3RhY2soc3RhY2tUcmFjZSwgU2NyaXB0Q2FsbFN0YWNrOjptYXhDYWxsU3RhY2tTaXpl
VG9DYXB0dXJlKTsKKworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiByZXNvdXJjZU5hbWUgPSBt
ZXNzYWdlLT5HZXRTY3JpcHRSZXNvdXJjZU5hbWUoKTsKKyAgICBib29sIHNob3VsZFVzZURvY3Vt
ZW50VVJMID0gcmVzb3VyY2VOYW1lLklzRW1wdHkoKSB8fCAhcmVzb3VyY2VOYW1lLT5Jc1N0cmlu
ZygpOworICAgIFN0cmluZyByZXNvdXJjZSA9IHNob3VsZFVzZURvY3VtZW50VVJMID8gZmlyc3RX
aW5kb3ctPmRvY3VtZW50KCktPnVybCgpIDogdG9XZWJDb3JlU3RyaW5nKHJlc291cmNlTmFtZSk7
CisgICAgZmlyc3RXaW5kb3ctPmRvY3VtZW50KCktPnJlcG9ydEV4Y2VwdGlvbihlcnJvck1lc3Nh
Z2UsIG1lc3NhZ2UtPkdldExpbmVOdW1iZXIoKSwgcmVzb3VyY2UsIGNhbGxTdGFjayk7Cit9CisK
K3N0YXRpYyB2b2lkIHJlcG9ydFVuc2FmZUphdmFTY3JpcHRBY2Nlc3Modjg6OkxvY2FsPHY4OjpP
YmplY3Q+IGhvc3QsIHY4OjpBY2Nlc3NUeXBlIHR5cGUsIHY4OjpMb2NhbDx2ODo6VmFsdWU+IGRh
dGEpCit7CisgICAgRnJhbWUqIHRhcmdldCA9IGZpbmRGcmFtZShob3N0LCBkYXRhKTsKKyAgICBp
ZiAoIXRhcmdldCkKKyAgICAgICAgcmV0dXJuOworICAgIERPTVdpbmRvdyogdGFyZ2V0V2luZG93
ID0gdGFyZ2V0LT5kb2N1bWVudCgpLT5kb21XaW5kb3coKTsKKyAgICB0YXJnZXRXaW5kb3ctPnBy
aW50RXJyb3JNZXNzYWdlKHRhcmdldFdpbmRvdy0+Y3Jvc3NEb21haW5BY2Nlc3NFcnJvck1lc3Nh
Z2UoYWN0aXZlRE9NV2luZG93KEJpbmRpbmdTdGF0ZTo6aW5zdGFuY2UoKSkpKTsKK30KKwordm9p
ZCBWOEluaXRpYWxpemVyOjppbml0aWFsaXplTWFpblRocmVhZElmTmVlZGVkKCkKK3sKKyAgICBB
U1NFUlQoaXNNYWluVGhyZWFkKCkpOworCisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBm
YWxzZTsKKyAgICBpZiAoaW5pdGlhbGl6ZWQpCisgICAgICAgIHJldHVybjsKKyAgICBpbml0aWFs
aXplZCA9IHRydWU7CisKKyAgICB2ODo6Vjg6Oklnbm9yZU91dE9mTWVtb3J5RXhjZXB0aW9uKCk7
CisgICAgdjg6OlY4OjpTZXRGYXRhbEVycm9ySGFuZGxlcihyZXBvcnRGYXRhbEVycm9yKTsKKyAg
ICB2ODo6Vjg6OkFkZEdDUHJvbG9ndWVDYWxsYmFjaygmVjhHQ0NvbnRyb2xsZXI6OmdjUHJvbG9n
dWUpOworICAgIHY4OjpWODo6QWRkR0NFcGlsb2d1ZUNhbGxiYWNrKCZWOEdDQ29udHJvbGxlcjo6
Z2NFcGlsb2d1ZSk7CisgICAgdjg6OlY4OjpBZGRNZXNzYWdlTGlzdGVuZXIoJnJlcG9ydFVuY2F1
Z2h0RXhjZXB0aW9uKTsKKyAgICB2ODo6Vjg6OlNldEZhaWxlZEFjY2Vzc0NoZWNrQ2FsbGJhY2tG
dW5jdGlvbihyZXBvcnRVbnNhZmVKYXZhU2NyaXB0QWNjZXNzKTsKKyNpZiBFTkFCTEUoSkFWQVND
UklQVF9ERUJVR0dFUikKKyAgICBTY3JpcHRQcm9maWxlcjo6aW5pdGlhbGl6ZSgpOworI2VuZGlm
CisgICAgVjhQZXJJc29sYXRlRGF0YTo6ZW5zdXJlSW5pdGlhbGl6ZWQodjg6Oklzb2xhdGU6Okdl
dEN1cnJlbnQoKSk7CisKKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRoZSBmb2xsb3dpbmcgMiBsaW5l
cyB3aGVuIFY4IGRlZmF1bHQgaGFzIGNoYW5nZWQuCisgICAgY29uc3QgY2hhciBlczVSZWFkb25s
eUZsYWdbXSA9ICItLWVzNV9yZWFkb25seSI7CisgICAgdjg6OlY4OjpTZXRGbGFnc0Zyb21TdHJp
bmcoZXM1UmVhZG9ubHlGbGFnLCBzaXplb2YoZXM1UmVhZG9ubHlGbGFnKSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4SW5pdGlhbGl6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SW5pdGlhbGl6
ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kNzg1NGNlM2M4YmU4OTIzNzg0YzVjNzhmNmRiZDFkOWViYWE3Nzgy
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhJbml0aWFs
aXplci5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOEluaXRpYWxp
emVyX2gKKyNkZWZpbmUgVjhJbml0aWFsaXplcl9oCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgVjhJbml0aWFsaXplciB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZU1haW5UaHJlYWRJZk5lZWRlZCgpOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIFY4SW5pdGlhbGl6ZXJfaAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>