<?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>73867</bug_id>
          
          <creation_ts>2011-12-05 14:32:38 -0800</creation_ts>
          <short_desc>V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero</short_desc>
          <delta_ts>2011-12-05 16:33:46 -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>New Bugs</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>
          
          <blocked>73492</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Klein">adamk</reporter>
          <assigned_to name="Adam Klein">adamk</assigned_to>
          <cc>abarth</cc>
    
    <cc>antonm</cc>
    
    <cc>japhet</cc>
    
    <cc>rafaelw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>515398</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-05 14:32:38 -0800</bug_when>
    <thetext>V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515400</commentid>
    <comment_count>1</comment_count>
      <attachid>117939</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-05 14:37:02 -0800</bug_when>
    <thetext>Created attachment 117939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515405</commentid>
    <comment_count>2</comment_count>
      <attachid>117939</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-05 14:40:06 -0800</bug_when>
    <thetext>Comment on attachment 117939
Patch

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

&gt; Source/WebCore/bindings/v8/V8RecursionScope.h:34
&gt; +#if ENABLE(MUTATION_OBSERVERS)

Presumably this shouldn&apos;t be conditional on MUTATION_OBSERVERS, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515424</commentid>
    <comment_count>3</comment_count>
      <attachid>117939</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-05 14:54:47 -0800</bug_when>
    <thetext>Comment on attachment 117939
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/V8RecursionScope.h:34
&gt;&gt; +#if ENABLE(MUTATION_OBSERVERS)
&gt; 
&gt; Presumably this shouldn&apos;t be conditional on MUTATION_OBSERVERS, right?

Heh, good catch, I picked a bad file to use as a template...Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515425</commentid>
    <comment_count>4</comment_count>
      <attachid>117943</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-05 14:55:19 -0800</bug_when>
    <thetext>Created attachment 117943
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515493</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2011-12-05 16:33:36 -0800</bug_when>
    <thetext>Committed r102067: &lt;http://trac.webkit.org/changeset/102067&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117939</attachid>
            <date>2011-12-05 14:37:02 -0800</date>
            <delta_ts>2011-12-05 14:55:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73867-20111205143701.patch</filename>
            <type>text/plain</type>
            <size>14485</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU2MWUyMTBhZDZhZTgz
MTBiNWMxYWI1NTVkZTZjZGJhZWZhOGIyZi4uNTg3YTMwZTkxOGQ3ZWJjNWZiNzc5YmFkNzNiMTU1
MjgzZjI2ZjQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDExLTEyLTA1ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFY4UmVjdXJzaW9uU2NvcGUg
c2hvdWxkIGNhbGwgZGlkTGVhdmVTY3JpcHRDb250ZXh0IHdoZW4gcmVjdXJzaW9uTGV2ZWwgcmVh
Y2hlcyB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03Mzg2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE1vdmVkIFY4UmVjdXJzaW9uU2NvcGUgaW50byBpdHMgb3duIGZpbGUsIGFuZCBtb3ZlZAorICAg
ICAgICBWOFByb3h5OjpkaWRMZWF2ZVNjcmlwdENvbnRleHQgaW50byB0aGF0IGZpbGUsIGFsb25n
IHdpdGggYSBzdGF0aWMKKyAgICAgICAgcmVjdXJzaW9uTGV2ZWwgYWNjZXNzb3IsIGhpZGluZyB0
aGUgVjhCaW5kaW5nUGVySXNvbGF0ZURhdGEgbWV0aG9kcworICAgICAgICBmcm9tIFY4UHJveHku
CisKKyAgICAgICAgVGhpcyB3aWxsIG1ha2UgaXQgZWFzeSBhbmQgbGVzcyBlcnJvci1wcm9uZSB0
byB1c2UgVjhSZWN1cnNpb25TY29wZQorICAgICAgICBwcm9wZXJseS4gSSBwbGFuIHRvIG1ha2Ug
dXNlIG9mIGl0IGluIFY4TGF6eUV2ZW50TGlzdGVuZXIgdG8gZml4CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5Mi4KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAg
ICAqIFVzZVY4LmNtYWtlOgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOEJpbmRpbmcuaDoKKyAgICAgICAgKFdlYkNvcmU6OlY4QmluZGluZ1Blcklzb2xh
dGVEYXRhOjppbmNyZW1lbnRSZWN1cnNpb25MZXZlbCk6IHJldHVybiB0aGUgbmV3IHJlY3Vyc2lv
biBsZXZlbC4KKyAgICAgICAgKFdlYkNvcmU6OlY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpkZWNy
ZW1lbnRSZWN1cnNpb25MZXZlbCk6IHJldHVybiB0aGUgbmV3IHJlY3Vyc2lvbiBsZXZlbC4KKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDogcmVtb3ZlIGRpZExlYXZlU2NyaXB0Q29u
dGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJ1blNjcmlwdCk6IHJlbW92ZSBleHBs
aWNpdCBjYWxsIHRvIGRpZExlYXZlU2NyaXB0Q29udGV4dC4KKyAgICAgICAgKFdlYkNvcmU6OlY4
UHJveHk6Omluc3RydW1lbnRlZENhbGxGdW5jdGlvbik6IHJlbW92ZSBleHBsaWNpdCBjYWxsIHRv
IGRpZExlYXZlU2NyaXB0Q29udGV4dC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5Lmg6
IHJlbW92ZSBkaWRMZWF2ZVNjcmlwdENvbnRleHQuCisgICAgICAgICogYmluZGluZ3MvdjgvVjhS
ZWN1cnNpb25TY29wZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6VjhSZWN1cnNpb25T
Y29wZTo6ZGlkTGVhdmVTY3JpcHRDb250ZXh0KTogY29waWVkIGZyb20gVjhQcm94eS5jcHAuCisg
ICAgICAgICogYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlY4UmVjdXJzaW9uU2NvcGU6OlY4UmVjdXJzaW9uU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6VjhSZWN1cnNpb25TY29wZTo6flY4UmVjdXJzaW9uU2NvcGUpOgorICAgICAgICAo
V2ViQ29yZTo6VjhSZWN1cnNpb25TY29wZTo6cmVjdXJzaW9uTGV2ZWwpOgorCiAyMDExLTEyLTA1
ICBEYW5hIEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1
bV0gU2V0IG9wYXF1ZSBmbGFnIGZvciBJbWFnZUxheWVyQ2hyb21pdW0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4
IDJlMWRkMTU2NmMxODEwYWI5MWIyMmY5YWNjMDA3ZGQ5MzZkOGFhZTguLmEyYjk0ZTIzZjc3MTEx
ZGE2ZTIyZmIxYmE4NzE1ODgxMTY5YTJjMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rh
cmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMTM0LDYgKzEzNCw3
IEBAIHY4IHsKICAgICAgICAgYmluZGluZ3MvdjgvVjhOUFV0aWxzLmNwcCBcCiAgICAgICAgIGJp
bmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9WOFByb3h5LmNwcCBcCisgICAgICAgIGJpbmRpbmdzL3Y4L1Y4UmVjdXJzaW9uU2NvcGUuY3Bw
IFwKICAgICAgICAgYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3BwIFwKICAgICAgICAgYmluZGlu
Z3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwIFwKICAgICAgICAgYmluZGluZ3MvdjgvVjhX
b3JrZXJDb250ZXh0RXZlbnRMaXN0ZW5lci5jcHAgXApAQCAtMTM4OSw2ICsxMzkwLDcgQEAgdjgg
ewogICAgICAgICBiaW5kaW5ncy92OC9WOE5QT2JqZWN0LmggXAogICAgICAgICBiaW5kaW5ncy92
OC9WOE5QVXRpbHMuaCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaCBcCisgICAgICAg
IGJpbmRpbmdzL3Y4L1Y4UmVjdXJzaW9uU2NvcGUuaCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1Y4
VXRpbGl0aWVzLmggXAogICAgICAgICBiaW5kaW5ncy92OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5o
IFwKICAgICAgICAgYmluZGluZ3MvdjgvVjhXb3JrZXJDb250ZXh0RXZlbnRMaXN0ZW5lci5oIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
VXNlVjguY21ha2UKaW5kZXggZGJmMDZhMzM0NTk1ODM5ZmVkZjNlODE4NDk5ZmEyYjQ3YzM0Y2M3
Yi4uZGFjZjJhYzJhNWQ1NjFiMzMxZmE1YTM4NjU3ZDg1YmEzNDVlNzNkMSAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21h
a2UKQEAgLTUzLDYgKzUzLDcgQEAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmlu
ZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAKICAgICBiaW5kaW5ncy92OC9WOE5vZGVG
aWx0ZXJDb25kaXRpb24uY3BwCiAgICAgYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKyAgICBiaW5k
aW5ncy92OC9WOFJlY3Vyc2lvblNjb3BlLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVz
LmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcAogICAgIGJpbmRp
bmdzL3Y4L1Y4V29ya2VyQ29udGV4dEVycm9ySGFuZGxlci5jcHAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRl
eCBmYzdkNjFiZjliZjBkZmJjZjRkNzJkZGQzYWQyYzdmNjg5Zjk2YjE3Li4yN2VlNDI3MDU0NzBi
ZGRjMzRlNjNiOTMxMDljYTc2YmQ3YThiMmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0yMTM5LDYg
KzIxMzksOCBAQAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlv
bi5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFByb3h5LmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvVjhQcm94eS5oJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFJl
Y3Vyc2lvblNjb3BlLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhSZWN1cnNpb25T
Y29wZS5oJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAnLAogICAg
ICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmgnLAogICAgICAgICAgICAgJ2JpbmRp
bmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5oCmluZGV4IDVjODA0YzJhMGU4ZjRkMmY5NWYyNDgxOTRjODU3MmZlNTZkMTQ0
ZjEuLjcyNTI5ZTA2YzYwODczODlhNDRkMDk1MTM5NmRlOTMyMzQ5OGQxOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oCkBAIC0xNDUsOCArMTQ1LDggQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldERPTURhdGFTdG9yZShET01EYXRhU3RvcmUqIHN0
b3JlKSB7IG1fZG9tRGF0YVN0b3JlID0gc3RvcmU7IH0KIAogICAgICAgICBpbnQgcmVjdXJzaW9u
TGV2ZWwoKSBjb25zdCB7IHJldHVybiBtX3JlY3Vyc2lvbkxldmVsOyB9Ci0gICAgICAgIHZvaWQg
aW5jcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSB7ICsrbV9yZWN1cnNpb25MZXZlbDsgfQotICAgICAg
ICB2b2lkIGRlY3JlbWVudFJlY3Vyc2lvbkxldmVsKCkgeyAtLW1fcmVjdXJzaW9uTGV2ZWw7IH0K
KyAgICAgICAgaW50IGluY3JlbWVudFJlY3Vyc2lvbkxldmVsKCkgeyByZXR1cm4gKyttX3JlY3Vy
c2lvbkxldmVsOyB9CisgICAgICAgIGludCBkZWNyZW1lbnRSZWN1cnNpb25MZXZlbCgpIHsgcmV0
dXJuIC0tbV9yZWN1cnNpb25MZXZlbDsgfQogCiAjaWZuZGVmIE5ERUJVRwogICAgICAgICBHbG9i
YWxIYW5kbGVNYXAmIGdsb2JhbEhhbmRsZU1hcCgpIHsgcmV0dXJuIG1fZ2xvYmFsSGFuZGxlTWFw
OyB9CkBAIC0xNzgsMTMgKzE3OCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbmRpZgogICAg
IH07CiAKLSAgICBjbGFzcyBWOFJlY3Vyc2lvblNjb3BlIHsKLSAgICAgICAgV1RGX01BS0VfTk9O
Q09QWUFCTEUoVjhSZWN1cnNpb25TY29wZSk7Ci0gICAgcHVibGljOgotICAgICAgICBWOFJlY3Vy
c2lvblNjb3BlKCkgeyBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5pbmNyZW1l
bnRSZWN1cnNpb25MZXZlbCgpOyB9Ci0gICAgICAgIH5WOFJlY3Vyc2lvblNjb3BlKCkgeyBWOEJp
bmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5kZWNyZW1lbnRSZWN1cnNpb25MZXZlbCgp
OyB9Ci0gICAgfTsKLQogICAgIGNsYXNzIENvbnN0cnVjdG9yTW9kZSB7CiAgICAgcHVibGljOgog
ICAgICAgICBlbnVtIE1vZGUgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApp
bmRleCA0Y2FkYmZkMTY1MTEwMDFkOGJmOWFkMDRjZDExYTFhMmY0NDM2NmRhLi4yNzBkYzc3MTg1
NGY0MDk2MTVmNWQ0YzM2NDMyZTg4YTU1NGM5N2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFByb3h5LmNwcApAQCAtNDIsNyArNDIsNiBAQAogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJJREJGYWN0b3J5QmFja2VuZElu
dGVyZmFjZS5oIgotI2luY2x1ZGUgIklEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCkBAIC01Nyw3ICs1Niw3IEBACiAjaW5jbHVkZSAi
VjhET01XaW5kb3cuaCIKICNpbmNsdWRlICJWOEhpZGRlblByb3BlcnR5TmFtZS5oIgogI2luY2x1
ZGUgIlY4SXNvbGF0ZWRDb250ZXh0LmgiCi0jaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25PYnNlcnZl
ci5oIgorI2luY2x1ZGUgIlY4UmVjdXJzaW9uU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJDb250
ZXh0LmgiCiAjaW5jbHVkZSAiV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmgiCiAKQEAgLTE3
NSwxMSArMTc0LDYgQEAgc3RhdGljIHZvaWQgaGFuZGxlRmF0YWxFcnJvckluVjgoKQogICAgIENS
QVNIKCk7CiB9CiAKLXN0YXRpYyBpbnQgcmVjdXJzaW9uTGV2ZWwoKQotewotICAgIHJldHVybiBW
OEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgpLT5yZWN1cnNpb25MZXZlbCgpOwotfQot
CiBzdGF0aWMgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gaGFuZGxlTWF4UmVjdXJzaW9uRGVwdGhFeGNl
ZWRlZCgpCiB7CiAgICAgdGhyb3dFcnJvcigiTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVk
ZWQuIiwgVjhQcm94eTo6UmFuZ2VFcnJvcik7CkBAIC0zOTAsNyArMzg0LDcgQEAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2Ny
aXB0KQogICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKIAogICAgIFY4
R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCk7Ci0gICAgaWYgKHJlY3Vyc2lvbkxldmVs
KCkgPj0ga01heFJlY3Vyc2lvbkRlcHRoKQorICAgIGlmIChWOFJlY3Vyc2lvblNjb3BlOjpyZWN1
cnNpb25MZXZlbCgpID49IGtNYXhSZWN1cnNpb25EZXB0aCkKICAgICAgICAgcmV0dXJuIGhhbmRs
ZU1heFJlY3Vyc2lvbkRlcHRoRXhjZWVkZWQoKTsKIAogICAgIGlmIChoYW5kbGVPdXRPZk1lbW9y
eSgpKQpAQCAtNDA4LDggKzQwMiw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1
blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCkKICAgICAgICAgcmVzdWx0ID0g
c2NyaXB0LT5SdW4oKTsKICAgICB9CiAKLSAgICBkaWRMZWF2ZVNjcmlwdENvbnRleHQoKTsKLQog
ICAgIGlmIChoYW5kbGVPdXRPZk1lbW9yeSgpKQogICAgICAgICBBU1NFUlQocmVzdWx0LklzRW1w
dHkoKSk7CiAKQEAgLTQzOSw3ICs0MzEsNyBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOFByb3h5
OjppbnN0cnVtZW50ZWRDYWxsRnVuY3Rpb24oUGFnZSogcGFnZSwgdjg6OkhhbmRsZTx2OAogewog
ICAgIFY4R0NDb250cm9sbGVyOjpjaGVja01lbW9yeVVzYWdlKCk7CiAKLSAgICBpZiAocmVjdXJz
aW9uTGV2ZWwoKSA+PSBrTWF4UmVjdXJzaW9uRGVwdGgpCisgICAgaWYgKFY4UmVjdXJzaW9uU2Nv
cGU6OnJlY3Vyc2lvbkxldmVsKCkgPj0ga01heFJlY3Vyc2lvbkRlcHRoKQogICAgICAgICByZXR1
cm4gaGFuZGxlTWF4UmVjdXJzaW9uRGVwdGhFeGNlZWRlZCgpOwogCiAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZTsKQEAgLTQ2MCw4ICs0NTIsNiBAQCB2ODo6TG9jYWw8
djg6OlZhbHVlPiBWOFByb3h5OjppbnN0cnVtZW50ZWRDYWxsRnVuY3Rpb24oUGFnZSogcGFnZSwg
djg6OkhhbmRsZTx2OAogICAgICAgICByZXN1bHQgPSBmdW5jdGlvbi0+Q2FsbChyZWNlaXZlciwg
YXJnYywgYXJncyk7CiAgICAgfQogCi0gICAgLy8gRklYTUU6IEluc3RydW1lbnQgYW55IHdvcmsg
dGhhdCB0YWtlcyBwbGFjZSB3aGVuIHNjcmlwdCBleGl0cyB0byBjKysgKGUuZy4gTXV0YXRpb24g
T2JzZXJ2ZXJzKS4KLSAgICBkaWRMZWF2ZVNjcmlwdENvbnRleHQoKTsKIAogICAgIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkQ2FsbEZ1bmN0aW9uKGNvb2tpZSk7CiAKQEAgLTU1MiwyMyAr
NTQyLDYgQEAgVjhQcm94eSogVjhQcm94eTo6cmV0cmlldmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCkKICAgICByZXR1cm4gcmV0cmlldmUoc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihj
b250ZXh0KS0+ZnJhbWUoKSk7CiB9CiAKLXZvaWQgVjhQcm94eTo6ZGlkTGVhdmVTY3JpcHRDb250
ZXh0KCkKLXsKLSAgICBpZiAocmVjdXJzaW9uTGV2ZWwoKSkKLSAgICAgICAgcmV0dXJuOwotCi0j
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCi0gICAgLy8gSWYgd2UndmUganVzdCBsZWZ0IGEg
c2NyaXB0IGNvbnRleHQgYW5kIGluZGV4ZWQgZGF0YWJhc2UgaGFzIGJlZW4KLSAgICAvLyBpbnN0
YW50aWF0ZWQsIHdlIG11c3QgbGV0IGl0cyB0cmFuc2FjdGlvbiBjb29yZGluYXRvciBrbm93IHNv
IGl0IGNhbiB0ZXJtaW5hdGUKLSAgICAvLyBhbnkgbm90LXlldC1zdGFydGVkIHRyYW5zYWN0aW9u
cy4KLSAgICBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yOjphYm9ydFBlbmRpbmdUcmFuc2Fj
dGlvbnMoKTsKLSNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLQotI2lmIEVOQUJM
RShNVVRBVElPTl9PQlNFUlZFUlMpCi0gICAgV2ViQ29yZTo6V2ViS2l0TXV0YXRpb25PYnNlcnZl
cjo6ZGVsaXZlckFsbE11dGF0aW9ucygpOwotI2VuZGlmCi19Ci0KIHZvaWQgVjhQcm94eTo6cmVz
ZXRJc29sYXRlZFdvcmxkcygpCiB7CiAgICAgZm9yIChJc29sYXRlZFdvcmxkTWFwOjppdGVyYXRv
ciBpdGVyID0gbV9pc29sYXRlZFdvcmxkcy5iZWdpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5oCmluZGV4IDNhZDgyY2RmODZiOTFlMDRmMzRhNzIyMzJiZGVmMWYzMzllYzJhYjEu
LjE5M2ExNjg3MzNmNTk0ZWFlZmUzMzdlNzliYWIxYTZhZTBhMDI3ZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTI2NCw4ICsyNjQsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIHN0YXRpYyB2b2lkIHJlcG9ydFVuc2FmZUFjY2Vzc1RvKEZyYW1lKiB0YXJn
ZXQpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgc3RhdGljIHZvaWQgZGlkTGVhdmVTY3JpcHRD
b250ZXh0KCk7Ci0KICAgICAgICAgdm9pZCByZXNldElzb2xhdGVkV29ybGRzKCk7CiAKICAgICAg
ICAgUGFzc093blB0cjx2ODo6U2NyaXB0RGF0YT4gcHJlY29tcGlsZVNjcmlwdCh2ODo6SGFuZGxl
PHY4OjpTdHJpbmc+LCBDYWNoZWRTY3JpcHQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UmVjdXJzaW9uU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDI5MzUxYTVhMzgzNWY3MjU2
OTJhMzBmYzM2ZTMyNzE5OWZiZTcwMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UmVjdXJzaW9uU2NvcGUuY3BwCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjaW5jbHVk
ZSAiVjhSZWN1cnNpb25TY29wZS5oIgorCisjaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0aW9u
TW9uaXRvci5oIgorI2luY2x1ZGUgIldlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCit2b2lkIFY4UmVjdXJzaW9uU2NvcGU6OmRpZExlYXZlU2NyaXB0Q29u
dGV4dCgpCit7CisgICAgLy8gRklYTUU6IEluc3RydW1lbnQgYW55IHdvcmsgdGhhdCB0YWtlcyBw
bGFjZSB3aGVuIHNjcmlwdCBleGl0cyB0byBjKysgKGUuZy4gTXV0YXRpb24gT2JzZXJ2ZXJzKS4K
KworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorICAgIC8vIElmIHdlJ3ZlIGp1c3QgbGVm
dCBhIHNjcmlwdCBjb250ZXh0IGFuZCBpbmRleGVkIGRhdGFiYXNlIGhhcyBiZWVuCisgICAgLy8g
aW5zdGFudGlhdGVkLCB3ZSBtdXN0IGxldCBpdHMgdHJhbnNhY3Rpb24gY29vcmRpbmF0b3Iga25v
dyBzbyBpdCBjYW4gdGVybWluYXRlCisgICAgLy8gYW55IG5vdC15ZXQtc3RhcnRlZCB0cmFuc2Fj
dGlvbnMuCisgICAgSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcjo6YWJvcnRQZW5kaW5nVHJh
bnNhY3Rpb25zKCk7CisjZW5kaWYKKworI2lmIEVOQUJMRShNVVRBVElPTl9PQlNFUlZFUlMpCisg
ICAgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGVsaXZlckFsbE11dGF0aW9ucygpOworI2VuZGlm
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShNVVRBVElP
Tl9PQlNFUlZFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFJl
Y3Vyc2lvblNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNj
b3BlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjgwNjcyNzE2MDI3MDBkNzc5Njg0ZDE1MjBhODExMTU4ZGM3NGFi
ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UmVjdXJz
aW9uU2NvcGUuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAq
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5l
aXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNv
bnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVy
aXZlZCBmcm9tCisgKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRl
biBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBWOFJlY3Vyc2lvblNjb3BlX2gKKyNk
ZWZpbmUgVjhSZWN1cnNpb25TY29wZV9oCisKKyNpZiBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJT
KQorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgVjhSZWN1cnNpb25TY29wZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVjhSZWN1cnNp
b25TY29wZSk7CitwdWJsaWM6CisgICAgVjhSZWN1cnNpb25TY29wZSgpIHsgVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+aW5jcmVtZW50UmVjdXJzaW9uTGV2ZWwoKTsgfQorICAg
IH5WOFJlY3Vyc2lvblNjb3BlKCkKKyAgICB7CisgICAgICAgIGlmICghVjhCaW5kaW5nUGVySXNv
bGF0ZURhdGE6OmN1cnJlbnQoKS0+ZGVjcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSkKKyAgICAgICAg
ICAgIGRpZExlYXZlU2NyaXB0Q29udGV4dCgpOworICAgIH0KKworICAgIHN0YXRpYyBpbnQgcmVj
dXJzaW9uTGV2ZWwoKSB7IHJldHVybiBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgp
LT5yZWN1cnNpb25MZXZlbCgpOyB9CisKK3ByaXZhdGU6CisgICAgc3RhdGljIHZvaWQgZGlkTGVh
dmVTY3JpcHRDb250ZXh0KCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoTVVUQVRJT05fT0JTRVJWRVJTKQorCisjZW5kaWYgLy8gVjhSZWN1cnNpb25T
Y29wZV9oCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117943</attachid>
            <date>2011-12-05 14:55:19 -0800</date>
            <delta_ts>2011-12-05 16:33:46 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-73867-20111205145518.patch</filename>
            <type>text/plain</type>
            <size>14331</size>
            <attacher name="Adam Klein">adamk</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmU2MWUyMTBhZDZhZTgz
MTBiNWMxYWI1NTVkZTZjZGJhZWZhOGIyZi4uNDhhNDNiOWFlNGFkY2I3Y2JiMmYwZmYyMmQ3M2Mw
NzY3YzQzMjkyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDExLTEyLTA1ICBBZGFt
IEtsZWluICA8YWRhbWtAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFY4UmVjdXJzaW9uU2NvcGUg
c2hvdWxkIGNhbGwgZGlkTGVhdmVTY3JpcHRDb250ZXh0IHdoZW4gcmVjdXJzaW9uTGV2ZWwgcmVh
Y2hlcyB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03Mzg2NworCisgICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGguCisKKyAgICAgICAgTW92
ZWQgVjhSZWN1cnNpb25TY29wZSBpbnRvIGl0cyBvd24gZmlsZSwgYW5kIG1vdmVkCisgICAgICAg
IFY4UHJveHk6OmRpZExlYXZlU2NyaXB0Q29udGV4dCBpbnRvIHRoYXQgZmlsZSwgYWxvbmcgd2l0
aCBhIHN0YXRpYworICAgICAgICByZWN1cnNpb25MZXZlbCBhY2Nlc3NvciwgaGlkaW5nIHRoZSBW
OEJpbmRpbmdQZXJJc29sYXRlRGF0YSBtZXRob2RzCisgICAgICAgIGZyb20gVjhQcm94eS4KKwor
ICAgICAgICBUaGlzIHdpbGwgbWFrZSBpdCBlYXN5IGFuZCBsZXNzIGVycm9yLXByb25lIHRvIHVz
ZSBWOFJlY3Vyc2lvblNjb3BlCisgICAgICAgIHByb3Blcmx5LiBJIHBsYW4gdG8gbWFrZSB1c2Ug
b2YgaXQgaW4gVjhMYXp5RXZlbnRMaXN0ZW5lciB0byBmaXgKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczNDkyLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cywgcmVmYWN0b3Jpbmcgb25seS4KKworICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICog
VXNlVjguY21ha2U6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4QmluZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6VjhCaW5kaW5nUGVySXNvbGF0ZURh
dGE6OmluY3JlbWVudFJlY3Vyc2lvbkxldmVsKTogcmV0dXJuIHRoZSBuZXcgcmVjdXJzaW9uIGxl
dmVsLgorICAgICAgICAoV2ViQ29yZTo6VjhCaW5kaW5nUGVySXNvbGF0ZURhdGE6OmRlY3JlbWVu
dFJlY3Vyc2lvbkxldmVsKTogcmV0dXJuIHRoZSBuZXcgcmVjdXJzaW9uIGxldmVsLgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOiByZW1vdmUgZGlkTGVhdmVTY3JpcHRDb250ZXh0
LgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94eTo6cnVuU2NyaXB0KTogcmVtb3ZlIGV4cGxpY2l0
IGNhbGwgdG8gZGlkTGVhdmVTY3JpcHRDb250ZXh0LgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94
eTo6aW5zdHJ1bWVudGVkQ2FsbEZ1bmN0aW9uKTogcmVtb3ZlIGV4cGxpY2l0IGNhbGwgdG8gZGlk
TGVhdmVTY3JpcHRDb250ZXh0LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDogcmVt
b3ZlIGRpZExlYXZlU2NyaXB0Q29udGV4dC4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFJlY3Vy
c2lvblNjb3BlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpWOFJlY3Vyc2lvblNjb3Bl
OjpkaWRMZWF2ZVNjcmlwdENvbnRleHQpOiBjb3BpZWQgZnJvbSBWOFByb3h5LmNwcC4KKyAgICAg
ICAgKiBiaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNjb3BlLmg6IEFkZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6VjhSZWN1cnNpb25TY29wZTo6VjhSZWN1cnNpb25TY29wZSk6CisgICAgICAgIChXZWJD
b3JlOjpWOFJlY3Vyc2lvblNjb3BlOjp+VjhSZWN1cnNpb25TY29wZSk6CisgICAgICAgIChXZWJD
b3JlOjpWOFJlY3Vyc2lvblNjb3BlOjpyZWN1cnNpb25MZXZlbCk6CisKIDIwMTEtMTItMDUgIERh
bmEgSmFuc2VucyAgPGRhbmFrakBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBT
ZXQgb3BhcXVlIGZsYWcgZm9yIEltYWdlTGF5ZXJDaHJvbWl1bQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvVGFyZ2V0LnByaSBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMmUx
ZGQxNTY2YzE4MTBhYjkxYjIyZjlhY2MwMDdkZDkzNmQ4YWFlOC4uYTJiOTRlMjNmNzcxMTFkYTZl
MjJmYjFiYTg3MTU4ODExNjlhMmMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0
LnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCkBAIC0xMzQsNiArMTM0LDcgQEAg
djggewogICAgICAgICBiaW5kaW5ncy92OC9WOE5QVXRpbHMuY3BwIFwKICAgICAgICAgYmluZGlu
Z3MvdjgvVjhOb2RlRmlsdGVyQ29uZGl0aW9uLmNwcCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwIFwKKyAgICAgICAgYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAgXAog
ICAgICAgICBiaW5kaW5ncy92OC9WOFV0aWxpdGllcy5jcHAgXAogICAgICAgICBiaW5kaW5ncy92
OC9WOFdpbmRvd0Vycm9ySGFuZGxlci5jcHAgXAogICAgICAgICBiaW5kaW5ncy92OC9WOFdvcmtl
ckNvbnRleHRFdmVudExpc3RlbmVyLmNwcCBcCkBAIC0xMzg5LDYgKzEzOTAsNyBAQCB2OCB7CiAg
ICAgICAgIGJpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuaCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1Y4
TlBVdGlscy5oIFwKICAgICAgICAgYmluZGluZ3MvdjgvVjhQcm94eS5oIFwKKyAgICAgICAgYmlu
ZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5oIFwKICAgICAgICAgYmluZGluZ3MvdjgvVjhVdGls
aXRpZXMuaCBcCiAgICAgICAgIGJpbmRpbmdzL3Y4L1Y4V2luZG93RXJyb3JIYW5kbGVyLmggXAog
ICAgICAgICBiaW5kaW5ncy92OC9WOFdvcmtlckNvbnRleHRFdmVudExpc3RlbmVyLmggXApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VW
OC5jbWFrZQppbmRleCBkYmYwNmEzMzQ1OTU4MzlmZWRmM2U4MTg0OTlmYTJiNDdjMzRjYzdiLi5k
YWNmMmFjMmE1ZDU2MWIzMzFmYTVhMzg2NTdkODViYTM0NWU3M2QxIDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZQpA
QCAtNTMsNiArNTMsNyBAQCBMSVNUKEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5n
cy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRl
ckNvbmRpdGlvbi5jcHAKICAgICBiaW5kaW5ncy92OC9WOFByb3h5LmNwcAorICAgIGJpbmRpbmdz
L3Y4L1Y4UmVjdXJzaW9uU2NvcGUuY3BwCiAgICAgYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuY3Bw
CiAgICAgYmluZGluZ3MvdjgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwCiAgICAgYmluZGluZ3Mv
djgvVjhXb3JrZXJDb250ZXh0RXJyb3JIYW5kbGVyLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGZj
N2Q2MWJmOWJmMGRmYmNmNGQ3MmRkZDNhZDJjN2Y2ODlmOTZiMTcuLjI3ZWU0MjcwNTQ3MGJkZGMz
NGU2M2I5MzEwOWNhNzZiZDdhOGIyZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTIxMzksNiArMjEz
OSw4IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvVjhOb2RlRmlsdGVyQ29uZGl0aW9uLmgn
LAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwJywKICAgICAgICAgICAgICdi
aW5kaW5ncy92OC9WOFByb3h5LmgnLAorICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4UmVjdXJz
aW9uU2NvcGUuY3BwJywKKyAgICAgICAgICAgICdiaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNjb3Bl
LmgnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L1Y4VXRpbGl0aWVzLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvVjhVdGlsaXRpZXMuaCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mv
djgvVjhXaW5kb3dFcnJvckhhbmRsZXIuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhC
aW5kaW5nLmgKaW5kZXggNWM4MDRjMmEwZThmNGQyZjk1ZjI0ODE5NGM4NTcyZmU1NmQxNDRmMS4u
NzI1MjllMDZjNjA4NzM4OWE0NGQwOTUxMzk2ZGU5MzIzNDk4ZDE5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhCaW5kaW5nLmgKQEAgLTE0NSw4ICsxNDUsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIHZvaWQgc2V0RE9NRGF0YVN0b3JlKERPTURhdGFTdG9yZSogc3RvcmUp
IHsgbV9kb21EYXRhU3RvcmUgPSBzdG9yZTsgfQogCiAgICAgICAgIGludCByZWN1cnNpb25MZXZl
bCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdXJzaW9uTGV2ZWw7IH0KLSAgICAgICAgdm9pZCBpbmNy
ZW1lbnRSZWN1cnNpb25MZXZlbCgpIHsgKyttX3JlY3Vyc2lvbkxldmVsOyB9Ci0gICAgICAgIHZv
aWQgZGVjcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSB7IC0tbV9yZWN1cnNpb25MZXZlbDsgfQorICAg
ICAgICBpbnQgaW5jcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSB7IHJldHVybiArK21fcmVjdXJzaW9u
TGV2ZWw7IH0KKyAgICAgICAgaW50IGRlY3JlbWVudFJlY3Vyc2lvbkxldmVsKCkgeyByZXR1cm4g
LS1tX3JlY3Vyc2lvbkxldmVsOyB9CiAKICNpZm5kZWYgTkRFQlVHCiAgICAgICAgIEdsb2JhbEhh
bmRsZU1hcCYgZ2xvYmFsSGFuZGxlTWFwKCkgeyByZXR1cm4gbV9nbG9iYWxIYW5kbGVNYXA7IH0K
QEAgLTE3OCwxMyArMTc4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2VuZGlmCiAgICAgfTsK
IAotICAgIGNsYXNzIFY4UmVjdXJzaW9uU2NvcGUgewotICAgICAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShWOFJlY3Vyc2lvblNjb3BlKTsKLSAgICBwdWJsaWM6Ci0gICAgICAgIFY4UmVjdXJzaW9u
U2NvcGUoKSB7IFY4QmluZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPmluY3JlbWVudFJl
Y3Vyc2lvbkxldmVsKCk7IH0KLSAgICAgICAgflY4UmVjdXJzaW9uU2NvcGUoKSB7IFY4QmluZGlu
Z1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPmRlY3JlbWVudFJlY3Vyc2lvbkxldmVsKCk7IH0K
LSAgICB9OwotCiAgICAgY2xhc3MgQ29uc3RydWN0b3JNb2RlIHsKICAgICBwdWJsaWM6CiAgICAg
ICAgIGVudW0gTW9kZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4
IDRjYWRiZmQxNjUxMTAwMWQ4YmY5YWQwNGNkMTFhMWEyZjQ0MzY2ZGEuLjI3MGRjNzcxODU0ZjQw
OTYxNWY1ZDRjMzY0MzJlODhhNTU0Yzk3ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
UHJveHkuY3BwCkBAIC00Miw3ICs0Miw2IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIklEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlLmgiCi0jaW5jbHVkZSAiSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNs
dWRlICJQbGF0Zm9ybVN1cHBvcnQuaCIKQEAgLTU3LDcgKzU2LDcgQEAKICNpbmNsdWRlICJWOERP
TVdpbmRvdy5oIgogI2luY2x1ZGUgIlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCiAjaW5jbHVkZSAi
VjhJc29sYXRlZENvbnRleHQuaCIKLSNpbmNsdWRlICJXZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgi
CisjaW5jbHVkZSAiVjhSZWN1cnNpb25TY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckNvbnRleHQu
aCIKICNpbmNsdWRlICJXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuaCIKIApAQCAtMTc1LDEx
ICsxNzQsNiBAQCBzdGF0aWMgdm9pZCBoYW5kbGVGYXRhbEVycm9ySW5WOCgpCiAgICAgQ1JBU0go
KTsKIH0KIAotc3RhdGljIGludCByZWN1cnNpb25MZXZlbCgpCi17Ci0gICAgcmV0dXJuIFY4Qmlu
ZGluZ1Blcklzb2xhdGVEYXRhOjpjdXJyZW50KCktPnJlY3Vyc2lvbkxldmVsKCk7Ci19Ci0KIHN0
YXRpYyB2ODo6TG9jYWw8djg6OlZhbHVlPiBoYW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2VlZGVk
KCkKIHsKICAgICB0aHJvd0Vycm9yKCJNYXhpbXVtIGNhbGwgc3RhY2sgc2l6ZSBleGNlZWRlZC4i
LCBWOFByb3h5OjpSYW5nZUVycm9yKTsKQEAgLTM5MCw3ICszODQsNyBAQCB2ODo6TG9jYWw8djg6
OlZhbHVlPiBWOFByb3h5OjpydW5TY3JpcHQodjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQp
CiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCiAgICAgVjhHQ0Nv
bnRyb2xsZXI6OmNoZWNrTWVtb3J5VXNhZ2UoKTsKLSAgICBpZiAocmVjdXJzaW9uTGV2ZWwoKSA+
PSBrTWF4UmVjdXJzaW9uRGVwdGgpCisgICAgaWYgKFY4UmVjdXJzaW9uU2NvcGU6OnJlY3Vyc2lv
bkxldmVsKCkgPj0ga01heFJlY3Vyc2lvbkRlcHRoKQogICAgICAgICByZXR1cm4gaGFuZGxlTWF4
UmVjdXJzaW9uRGVwdGhFeGNlZWRlZCgpOwogCiAgICAgaWYgKGhhbmRsZU91dE9mTWVtb3J5KCkp
CkBAIC00MDgsOCArNDAyLDYgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2Ny
aXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0KQogICAgICAgICByZXN1bHQgPSBzY3Jp
cHQtPlJ1bigpOwogICAgIH0KIAotICAgIGRpZExlYXZlU2NyaXB0Q29udGV4dCgpOwotCiAgICAg
aWYgKGhhbmRsZU91dE9mTWVtb3J5KCkpCiAgICAgICAgIEFTU0VSVChyZXN1bHQuSXNFbXB0eSgp
KTsKIApAQCAtNDM5LDcgKzQzMSw3IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6Omlu
c3RydW1lbnRlZENhbGxGdW5jdGlvbihQYWdlKiBwYWdlLCB2ODo6SGFuZGxlPHY4CiB7CiAgICAg
VjhHQ0NvbnRyb2xsZXI6OmNoZWNrTWVtb3J5VXNhZ2UoKTsKIAotICAgIGlmIChyZWN1cnNpb25M
ZXZlbCgpID49IGtNYXhSZWN1cnNpb25EZXB0aCkKKyAgICBpZiAoVjhSZWN1cnNpb25TY29wZTo6
cmVjdXJzaW9uTGV2ZWwoKSA+PSBrTWF4UmVjdXJzaW9uRGVwdGgpCiAgICAgICAgIHJldHVybiBo
YW5kbGVNYXhSZWN1cnNpb25EZXB0aEV4Y2VlZGVkKCk7CiAKICAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUgY29va2llOwpAQCAtNDYwLDggKzQ1Miw2IEBAIHY4OjpMb2NhbDx2ODo6
VmFsdWU+IFY4UHJveHk6Omluc3RydW1lbnRlZENhbGxGdW5jdGlvbihQYWdlKiBwYWdlLCB2ODo6
SGFuZGxlPHY4CiAgICAgICAgIHJlc3VsdCA9IGZ1bmN0aW9uLT5DYWxsKHJlY2VpdmVyLCBhcmdj
LCBhcmdzKTsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogSW5zdHJ1bWVudCBhbnkgd29yayB0aGF0
IHRha2VzIHBsYWNlIHdoZW4gc2NyaXB0IGV4aXRzIHRvIGMrKyAoZS5nLiBNdXRhdGlvbiBPYnNl
cnZlcnMpLgotICAgIGRpZExlYXZlU2NyaXB0Q29udGV4dCgpOwogCiAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRDYWxsRnVuY3Rpb24oY29va2llKTsKIApAQCAtNTUyLDIzICs1NDIs
NiBAQCBWOFByb3h5KiBWOFByb3h5OjpyZXRyaWV2ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0KQogICAgIHJldHVybiByZXRyaWV2ZShzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRl
eHQpLT5mcmFtZSgpKTsKIH0KIAotdm9pZCBWOFByb3h5OjpkaWRMZWF2ZVNjcmlwdENvbnRleHQo
KQotewotICAgIGlmIChyZWN1cnNpb25MZXZlbCgpKQotICAgICAgICByZXR1cm47Ci0KLSNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKLSAgICAvLyBJZiB3ZSd2ZSBqdXN0IGxlZnQgYSBzY3Jp
cHQgY29udGV4dCBhbmQgaW5kZXhlZCBkYXRhYmFzZSBoYXMgYmVlbgotICAgIC8vIGluc3RhbnRp
YXRlZCwgd2UgbXVzdCBsZXQgaXRzIHRyYW5zYWN0aW9uIGNvb3JkaW5hdG9yIGtub3cgc28gaXQg
Y2FuIHRlcm1pbmF0ZQotICAgIC8vIGFueSBub3QteWV0LXN0YXJ0ZWQgdHJhbnNhY3Rpb25zLgot
ICAgIElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3I6OmFib3J0UGVuZGluZ1RyYW5zYWN0aW9u
cygpOwotI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCi0jaWYgRU5BQkxFKE1V
VEFUSU9OX09CU0VSVkVSUykKLSAgICBXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpk
ZWxpdmVyQWxsTXV0YXRpb25zKCk7Ci0jZW5kaWYKLX0KLQogdm9pZCBWOFByb3h5OjpyZXNldElz
b2xhdGVkV29ybGRzKCkKIHsKICAgICBmb3IgKElzb2xhdGVkV29ybGRNYXA6Oml0ZXJhdG9yIGl0
ZXIgPSBtX2lzb2xhdGVkV29ybGRzLmJlZ2luKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBy
b3h5LmgKaW5kZXggM2FkODJjZGY4NmI5MWUwNGYzNGE3MjIzMmJkZWYxZjMzOWVjMmFiMS4uMTkz
YTE2ODczM2Y1OTRlYWVmZTMzN2U3OWJhYjFhNmFlMGEwMjdlNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UHJveHkuaApAQCAtMjY0LDggKzI2NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgc3RhdGljIHZvaWQgcmVwb3J0VW5zYWZlQWNjZXNzVG8oRnJhbWUqIHRhcmdldCk7
CiAKICAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgdm9pZCBkaWRMZWF2ZVNjcmlwdENvbnRl
eHQoKTsKLQogICAgICAgICB2b2lkIHJlc2V0SXNvbGF0ZWRXb3JsZHMoKTsKIAogICAgICAgICBQ
YXNzT3duUHRyPHY4OjpTY3JpcHREYXRhPiBwcmVjb21waWxlU2NyaXB0KHY4OjpIYW5kbGU8djg6
OlN0cmluZz4sIENhY2hlZFNjcmlwdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFJlY3Vyc2lvblNjb3BlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNTY0ZmNjZmZiZTc0ZWE1MzRmNWQ5
MGZjYmVhM2Q0ZjA4ODEyOTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUg
bmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJWOFJlY3Vyc2lvblNjb3BlLmgiCisKKyNpbmNsdWRlICJJREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmgiCisjaW5jbHVkZSAiV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgVjhSZWN1cnNpb25TY29wZTo6
ZGlkTGVhdmVTY3JpcHRDb250ZXh0KCkKK3sKKyAgICAvLyBGSVhNRTogSW5zdHJ1bWVudCBhbnkg
d29yayB0aGF0IHRha2VzIHBsYWNlIHdoZW4gc2NyaXB0IGV4aXRzIHRvIGMrKyAoZS5nLiBNdXRh
dGlvbiBPYnNlcnZlcnMpLgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisgICAgLy8g
SWYgd2UndmUganVzdCBsZWZ0IGEgc2NyaXB0IGNvbnRleHQgYW5kIGluZGV4ZWQgZGF0YWJhc2Ug
aGFzIGJlZW4KKyAgICAvLyBpbnN0YW50aWF0ZWQsIHdlIG11c3QgbGV0IGl0cyB0cmFuc2FjdGlv
biBjb29yZGluYXRvciBrbm93IHNvIGl0IGNhbiB0ZXJtaW5hdGUKKyAgICAvLyBhbnkgbm90LXll
dC1zdGFydGVkIHRyYW5zYWN0aW9ucy4KKyAgICBJREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9y
OjphYm9ydFBlbmRpbmdUcmFuc2FjdGlvbnMoKTsKKyNlbmRpZgorCisjaWYgRU5BQkxFKE1VVEFU
SU9OX09CU0VSVkVSUykKKyAgICBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkZWxpdmVyQWxsTXV0
YXRpb25zKCk7CisjZW5kaWYKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhSZWN1cnNpb25TY29wZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4YWFl
ODUwZWI0ZmE5MWRjMTAzYTNiMzkzY2M1YmJiZWJiNGEyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFJlY3Vyc2lvblNjb3BlLmgKQEAgLTAsMCArMSw1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoK
KyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2ds
ZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg
dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0
d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgVjhSZWN1cnNpb25TY29wZV9oCisjZGVmaW5lIFY4UmVjdXJzaW9uU2NvcGVf
aAorCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgVjhSZWN1cnNpb25TY29wZSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVjhSZWN1cnNp
b25TY29wZSk7CitwdWJsaWM6CisgICAgVjhSZWN1cnNpb25TY29wZSgpIHsgVjhCaW5kaW5nUGVy
SXNvbGF0ZURhdGE6OmN1cnJlbnQoKS0+aW5jcmVtZW50UmVjdXJzaW9uTGV2ZWwoKTsgfQorICAg
IH5WOFJlY3Vyc2lvblNjb3BlKCkKKyAgICB7CisgICAgICAgIGlmICghVjhCaW5kaW5nUGVySXNv
bGF0ZURhdGE6OmN1cnJlbnQoKS0+ZGVjcmVtZW50UmVjdXJzaW9uTGV2ZWwoKSkKKyAgICAgICAg
ICAgIGRpZExlYXZlU2NyaXB0Q29udGV4dCgpOworICAgIH0KKworICAgIHN0YXRpYyBpbnQgcmVj
dXJzaW9uTGV2ZWwoKSB7IHJldHVybiBWOEJpbmRpbmdQZXJJc29sYXRlRGF0YTo6Y3VycmVudCgp
LT5yZWN1cnNpb25MZXZlbCgpOyB9CisKK3ByaXZhdGU6CisgICAgc3RhdGljIHZvaWQgZGlkTGVh
dmVTY3JpcHRDb250ZXh0KCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBWOFJlY3Vyc2lvblNjb3BlX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>