<?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>104516</bug_id>
          
          <creation_ts>2012-12-10 00:05:02 -0800</creation_ts>
          <short_desc>[Shadow DOM][Refactoring] HTMLContentElement,HTMLShadowElement::m_registeredWithShadowRoot should be moved to InsertionPoint</short_desc>
          <delta_ts>2012-12-10 19:14:00 -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>DOM</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>103339</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hajime Morrita">morrita</reporter>
          <assigned_to name="Hajime Morrita">morrita</assigned_to>
          <cc>jberlin</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webcomponents-bugzilla</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>787046</commentid>
    <comment_count>0</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-10 00:05:02 -0800</bug_when>
    <thetext>There are apparent code duplication. We can pull them up to the super class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787092</commentid>
    <comment_count>1</comment_count>
      <attachid>178490</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-10 01:39:37 -0800</bug_when>
    <thetext>Created attachment 178490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787093</commentid>
    <comment_count>2</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-10 01:40:36 -0800</bug_when>
    <thetext>This is a step forward to hide &lt;content&gt; and &lt;shadow&gt; behind the flag.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787098</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 01:42:39 -0800</bug_when>
    <thetext>Attachment 178490 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/html/shadow/ContentDistributor.cpp:115:  This { should be at the end of the previous line  [whitespace/braces] [4]
Source/WebCore/html/shadow/ContentDistributor.cpp:131:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787491</commentid>
    <comment_count>4</comment_count>
      <attachid>178490</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-10 10:25:00 -0800</bug_when>
    <thetext>Comment on attachment 178490
Patch

Style elf is angry with you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787852</commentid>
    <comment_count>5</comment_count>
      <attachid>178668</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-12-10 16:58:41 -0800</bug_when>
    <thetext>Created attachment 178668
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787891</commentid>
    <comment_count>6</comment_count>
      <attachid>178668</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 17:43:16 -0800</bug_when>
    <thetext>Comment on attachment 178668
Patch for landing

Clearing flags on attachment: 178668

Committed r137233: &lt;http://trac.webkit.org/changeset/137233&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787892</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-10 17:43:19 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>787949</commentid>
    <comment_count>8</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2012-12-10 19:14:00 -0800</bug_when>
    <thetext>Note: build fix is in http://trac.webkit.org/changeset/137240</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178490</attachid>
            <date>2012-12-10 01:39:37 -0800</date>
            <delta_ts>2012-12-10 16:58:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104516-20121210183659.patch</filename>
            <type>text/plain</type>
            <size>16191</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI4YTIzNjhlZjk5YWVj
OWE5MjRjOWEwMDBiYjA0NzQwYTNhODMwNy4uNjA0YzFiMGJkMDA2NDcxZjFmODhhZWFkZDc0NGY5
YjVjNGIwOTI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTEyLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV1b
UmVmYWN0b3JpbmddIEhUTUxDb250ZW50RWxlbWVudCxIVE1MU2hhZG93RWxlbWVudDo6bV9yZWdp
c3RlcmVkV2l0aFNoYWRvd1Jvb3Qgc2hvdWxkIGJlIG1vdmVkIHRvIEluc2VydGlvblBvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1MTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGNoYW5n
ZSBwdWxscyBkdXBsaWNhdGVkIGNvZGUgaW4gcmVtb3ZlZEZyb20oKSBhbmQKKyAgICAgICAgaW5z
ZXJ0ZWRJbnRvKCkgb2YgYm90aCBib3RoIEhUTUxTaGFkb3dFbGVtZW50IGFuZAorICAgICAgICBI
VE1MQ29udGVudEVsZW1lbnQgdG8gdGhlaXIgc3VwZXIgY2xhc3MgSW5zZXJ0aW9uUG9pbnQuCisK
KyAgICAgICAgVGhpcyBpcyBhIHBhcnQgb2YgZWZmb3IgdGhhdCBlbmNhcHN1bGF0ZSBub2RlIGRp
c3RyaWJ1dGlvbiBhbGdvcml0aG0gdG8KKyAgICAgICAgQ29udGVudERpc3RyaWJ1dG9yIGFuZCBp
dHMgZmFtaWx5LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlLgor
CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Um9vdDo6cmVnaXN0ZXJJbnNlcnRpb25Qb2ludCk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdDo6dW5yZWdpc3Rlckluc2VydGlvblBvaW50KTogQWRkZWQuCisgICAgICAgICog
ZG9tL1NoYWRvd1Jvb3QuaDoKKyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAqIGh0bWwv
c2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dS
b290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OnJlZ2l0ZXJJbnNlcnRpb25Qb2ludCk6IEdlbmVy
YWxpemVkIHR3byBtZXRob2RzIGZvciA8Y29udGVudD4gYW5kIDxzaGFkb3c+LgorICAgICAgICAo
V2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlv
bkRhdGE6OnVucmVnaXN0ZXJJbnNlcnRpb25Qb2ludCk6IERpdHRvLgorICAgICAgICAqIGh0bWwv
c2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oOgorICAgICAgICAoU2hhZG93Um9vdENvbnRlbnRE
aXN0cmlidXRpb25EYXRhKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnRlbnRFbGVtZW50OjpIVE1MQ29udGVu
dEVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxTaGFkb3dFbGVtZW50OjpIVE1MU2hhZG93RWxlbWVudCk6CisgICAgICAgICog
aHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL3NoYWRvdy9J
bnNlcnRpb25Qb2ludC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNlcnRpb25Qb2ludDo6SW5z
ZXJ0aW9uUG9pbnQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6Omluc2VydGVk
SW50byk6IFB1bGxlZCB1cCBmcm9tIHN1YmNsYXNzZXMKKyAgICAgICAgKFdlYkNvcmU6Okluc2Vy
dGlvblBvaW50OjpyZW1vdmVkRnJvbSk6IFB1bGxlZCB1cCBmcm9tIHN1YmNsYXNzZXMKKyAgICAg
ICAgKiBodG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oOgorICAgICAgICAoSW5zZXJ0aW9uUG9p
bnQpOgorCiAyMDEyLTEyLTA5ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBbU2hhZG93IERPTV06IHJlc2V0LXN0eWxlLWluaGVyaXRhbmNlIGRvZXNuJ3Qg
d29yayBmb3IgaW5zZXJ0aW9uIHBvaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXgg
YzZiMjYxYmU1Y2EzMTA2ZjIxZGU3YzBlMzA4NmM2YTI5ZmU1MDdhYi4uODk3MDg5ZTMxZDk4MDc0
ZjBmYWIxOWIyMmE2M2Y1YTdjZjAzODYzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApA
QCAtMzU4LDE0ICszNTgsMTQgQEAgaW5saW5lIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9u
RGF0YSogU2hhZG93Um9vdDo6ZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgpCiAgICAgcmV0dXJuIG1f
ZGlzdHJpYnV0aW9uRGF0YS5nZXQoKTsKIH0gICAKIAotdm9pZCBTaGFkb3dSb290OjpyZWdpc3Rl
clNoYWRvd0VsZW1lbnQoKQordm9pZCBTaGFkb3dSb290OjpyZWdpc3Rlckluc2VydGlvblBvaW50
KEluc2VydGlvblBvaW50KiBwb2ludCkKIHsKLSAgICBlbnN1cmVEaXN0cmlidXRpb25EYXRhKCkt
PmluY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuKCk7CisgICAgZW5zdXJlRGlz
dHJpYnV0aW9uRGF0YSgpLT5yZWdpdGVySW5zZXJ0aW9uUG9pbnQodGhpcywgcG9pbnQpOwogfQog
Ci12b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkKK3ZvaWQgU2hhZG93
Um9vdDo6dW5yZWdpc3Rlckluc2VydGlvblBvaW50KEluc2VydGlvblBvaW50KiBwb2ludCkKIHsK
LSAgICBkaXN0cmlidXRpb25EYXRhKCktPmRlY3JlbWVudE51bWJlck9mU2hhZG93RWxlbWVudENo
aWxkcmVuKCk7CisgICAgZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgpLT51bnJlZ2lzdGVySW5zZXJ0
aW9uUG9pbnQodGhpcywgcG9pbnQpOwogfQogCiBib29sIFNoYWRvd1Jvb3Q6Omhhc1NoYWRvd0lu
c2VydGlvblBvaW50KCkgY29uc3QKQEAgLTM3NiwxNiArMzc2LDYgQEAgYm9vbCBTaGFkb3dSb290
OjpoYXNTaGFkb3dJbnNlcnRpb25Qb2ludCgpIGNvbnN0CiAgICAgcmV0dXJuIGRpc3RyaWJ1dGlv
bkRhdGEoKS0+aGFzU2hhZG93RWxlbWVudENoaWxkcmVuKCk7CiB9CiAKLXZvaWQgU2hhZG93Um9v
dDo6cmVnaXN0ZXJDb250ZW50RWxlbWVudCgpCi17Ci0gICAgZW5zdXJlRGlzdHJpYnV0aW9uRGF0
YSgpLT5pbmNyZW1lbnROdW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oKTsKLX0KLQotdm9p
ZCBTaGFkb3dSb290Ojp1bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKQotewotICAgIGRpc3RyaWJ1
dGlvbkRhdGEoKS0+ZGVjcmVtZW50TnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKCk7Ci19
Ci0KIGJvb2wgU2hhZG93Um9vdDo6aGFzQ29udGVudEVsZW1lbnQoKSBjb25zdAogewogICAgIGlm
ICghZGlzdHJpYnV0aW9uRGF0YSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKaW5kZXggY2NhYjAy
NWEzYWZiYWMwZTZkMjQ1YWYyOTBjZDUyN2I1MTVjZTQzNi4uNDJiMDM0NjFmYTNiYmEyYzM0MDZj
MGY2ODFjODAwYjE2NzNhNzA4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCkBAIC05MSwxNCAr
OTEsMTIgQEAgcHVibGljOgogICAgIEluc2VydGlvblBvaW50KiBhc3NpZ25lZFRvKCkgY29uc3Q7
CiAgICAgdm9pZCBzZXRBc3NpZ25lZFRvKEluc2VydGlvblBvaW50Kik7CiAKLSAgICB2b2lkIHJl
Z2lzdGVyU2hhZG93RWxlbWVudCgpOwotICAgIHZvaWQgdW5yZWdpc3RlclNoYWRvd0VsZW1lbnQo
KTsKICAgICBib29sIGhhc1NoYWRvd0luc2VydGlvblBvaW50KCkgY29uc3Q7Ci0KLSAgICB2b2lk
IHJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKLSAgICB2b2lkIHVucmVnaXN0ZXJDb250ZW50RWxl
bWVudCgpOwogICAgIGJvb2wgaGFzQ29udGVudEVsZW1lbnQoKSBjb25zdDsKIAorICAgIHZvaWQg
cmVnaXN0ZXJJbnNlcnRpb25Qb2ludChJbnNlcnRpb25Qb2ludCopOworICAgIHZvaWQgdW5yZWdp
c3Rlckluc2VydGlvblBvaW50KEluc2VydGlvblBvaW50Kik7CisgICAgCiAgICAgdm9pZCByZWdp
c3RlckVsZW1lbnRTaGFkb3coKTsKICAgICB2b2lkIHVucmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7
CiAgICAgYm9vbCBoYXNFbGVtZW50U2hhZG93KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAppbmRleCA5MDQ2ZTAzNWQyMjhj
OTQxOGJkYTNkNjYyNDYzMWEwZjdjMjA5YjE3Li5hNTNlMzEyNjZjODRjNTIxNTMzOWYyYTc3MThm
NzQzOTZlMWIyZGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250
ZW50RGlzdHJpYnV0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRl
bnREaXN0cmlidXRvci5jcHAKQEAgLTkyLDYgKzkyLDQyIEBAIGNvbnN0IFZlY3RvcjxJbnNlcnRp
b25Qb2ludCo+JiBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6OmVuc3VyZUluc2Vy
dGlvCiAgICAgcmV0dXJuIG1faW5zZXJ0aW9uUG9pbnRMaXN0OwogfQogCit2b2lkIFNoYWRvd1Jv
b3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6cmVnaXRlckluc2VydGlvblBvaW50KFNoYWRvd1Jv
b3QqIHNjb3BlLCBJbnNlcnRpb25Qb2ludCogcG9pbnQpCit7CisgICAgc3dpdGNoIChwb2ludC0+
aW5zZXJ0aW9uUG9pbnRUeXBlKCkpCisgICAgeworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlNo
YWRvd0luc2VydGlvblBvaW50OgorICAgICAgICArK21fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hp
bGRyZW47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OkNvbnRlbnRJ
bnNlcnRpb25Qb2ludDoKKyAgICAgICAgKyttX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJl
bjsKKyAgICAgICAgc2NvcGUtPm93bmVyKCktPnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJl
U2V0KCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGludmFsaWRhdGVJbnNlcnRpb25Q
b2ludExpc3QoKTsKK30KKwordm9pZCBTaGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGE6
OnVucmVnaXN0ZXJJbnNlcnRpb25Qb2ludChTaGFkb3dSb290KiBzY29wZSwgSW5zZXJ0aW9uUG9p
bnQqIHBvaW50KQoreworICAgIHN3aXRjaCAocG9pbnQtPmluc2VydGlvblBvaW50VHlwZSgpKQor
ICAgIHsKKyAgICBjYXNlIEluc2VydGlvblBvaW50OjpTaGFkb3dJbnNlcnRpb25Qb2ludDoKKyAg
ICAgICAgQVNTRVJUKG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4gPiAwKTsKKyAgICAg
ICAgLS1tX251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIEluc2VydGlvblBvaW50OjpDb250ZW50SW5zZXJ0aW9uUG9pbnQ6CisgICAgICAgIEFT
U0VSVChtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDApOworICAgICAgICAtLW1f
bnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuOworICAgICAgICBpZiAoc2NvcGUtPm93bmVy
KCkpCisgICAgICAgICAgICBzY29wZS0+b3duZXIoKS0+c2V0U2hvdWxkQ29sbGVjdFNlbGVjdEZl
YXR1cmVTZXQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgaW52YWxpZGF0ZUluc2Vy
dGlvblBvaW50TGlzdCgpOworfQorCisKIENvbnRlbnREaXN0cmlidXRvcjo6Q29udGVudERpc3Ry
aWJ1dG9yKCkKICAgICA6IG1fdmFsaWRpdHkoVW5kZXRlcm1pbmVkKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuaAppbmRleCBjYzJmYzIzMmVl
MjEyZGM5OGFkZGY5M2FmMmExOTU0Y2Y0ZGExNTBmLi40ZTUzYjdmYzI0NmRlMWJmMGNjNmYyODAw
MmUyOWNkZjMwMjNjMzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9D
b250ZW50RGlzdHJpYnV0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250
ZW50RGlzdHJpYnV0b3IuaApAQCAtNzUsMTIgKzc1LDkgQEAgcHVibGljOgogICAgIEluc2VydGlv
blBvaW50KiBpbnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oKSBjb25zdCB7IHJldHVybiBtX2luc2Vy
dGlvblBvaW50QXNzaWduZWRUbzsgfQogICAgIHZvaWQgc2V0SW5zZXJ0aW9uUG9pbnRBc3NpZ25l
ZFRvKEluc2VydGlvblBvaW50KiBpbnNlcnRpb25Qb2ludCkgeyBtX2luc2VydGlvblBvaW50QXNz
aWduZWRUbyA9IGluc2VydGlvblBvaW50OyB9CiAKLSAgICB2b2lkIGluY3JlbWVudE51bWJlck9m
U2hhZG93RWxlbWVudENoaWxkcmVuKCkgeyArK21fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRy
ZW47IGludmFsaWRhdGVJbnNlcnRpb25Qb2ludExpc3QoKTsgfQotICAgIHZvaWQgZGVjcmVtZW50
TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKSB7IEFTU0VSVChtX251bWJlck9mU2hhZG93
RWxlbWVudENoaWxkcmVuID4gMCk7IC0tbV9udW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsg
aW52YWxpZGF0ZUluc2VydGlvblBvaW50TGlzdCgpOyB9CisgICAgdm9pZCByZWdpdGVySW5zZXJ0
aW9uUG9pbnQoU2hhZG93Um9vdCosIEluc2VydGlvblBvaW50Kik7CisgICAgdm9pZCB1bnJlZ2lz
dGVySW5zZXJ0aW9uUG9pbnQoU2hhZG93Um9vdCosIEluc2VydGlvblBvaW50Kik7CiAgICAgYm9v
bCBoYXNTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX251bWJlck9mU2hh
ZG93RWxlbWVudENoaWxkcmVuID4gMDsgfQotCi0gICAgdm9pZCBpbmNyZW1lbnROdW1iZXJPZkNv
bnRlbnRFbGVtZW50Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRy
ZW47IGludmFsaWRhdGVJbnNlcnRpb25Qb2ludExpc3QoKTsgfQotICAgIHZvaWQgZGVjcmVtZW50
TnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVuKCkgeyBBU1NFUlQobV9udW1iZXJPZkNvbnRl
bnRFbGVtZW50Q2hpbGRyZW4gPiAwKTsgLS1tX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJl
bjsgaW52YWxpZGF0ZUluc2VydGlvblBvaW50TGlzdCgpOyB9CiAgICAgYm9vbCBoYXNDb250ZW50
RWxlbWVudENoaWxkcmVuKCkgY29uc3QgeyByZXR1cm4gbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50
Q2hpbGRyZW4gPiAwOyB9CiAKICAgICB2b2lkIGluY3JlbWVudE51bWJlck9mRWxlbWVudFNoYWRv
d0NoaWxkcmVuKCkgeyArK21fbnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW47IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCmluZGV4
IDZmYWU3MmU5ZjZhZTIyZTFmNmJiOGNjYTk1MWQxYmU3NWEwODQ2YmQuLjJjOTdlZmYzNWE2NDE3
MDU4OTc1NGM3M2EwZGU4ZTdjN2VkMTIzNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcApAQCAtNjQsNyArNjQsNiBAQCBQYXNzUmVm
UHRyPEhUTUxDb250ZW50RWxlbWVudD4gSFRNTENvbnRlbnRFbGVtZW50OjpjcmVhdGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdAogCiBIVE1MQ29udGVudEVsZW1lbnQ6OkhUTUxDb250ZW50RWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBJ
bnNlcnRpb25Qb2ludChuYW1lLCBkb2N1bWVudCkKLSAgICAsIG1fcmVnaXN0ZXJlZFdpdGhTaGFk
b3dSb290KGZhbHNlKQogICAgICwgbV9zaG91bGRQYXJzZVNlbGVjdG9yTGlzdChmYWxzZSkKICAg
ICAsIG1faXNWYWxpZFNlbGVjdG9yKHRydWUpCiB7CkBAIC0xMTAsMzYgKzEwOSw2IEBAIHZvaWQg
SFRNTENvbnRlbnRFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTCiAgICAgICAgIEluc2VydGlvblBvaW50OjpwYXJzZUF0dHJpYnV0
ZShuYW1lLCB2YWx1ZSk7CiB9CiAKLU5vZGU6Okluc2VydGlvbk5vdGlmaWNhdGlvblJlcXVlc3Qg
SFRNTENvbnRlbnRFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9u
UG9pbnQpCi17Ci0gICAgSW5zZXJ0aW9uUG9pbnQ6Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2lu
dCk7Ci0KLSAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBpc0FjdGl2ZSgp
KSB7Ci0gICAgICAgIFNoYWRvd1Jvb3QqIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpOwot
ICAgICAgICByb290LT5yZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7Ci0gICAgICAgIHJvb3QtPm93
bmVyKCktPnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJlU2V0KCk7Ci0gICAgICAgIG1fcmVn
aXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gdHJ1ZTsKLSAgICB9Ci0KLSAgICByZXR1cm4gSW5zZXJ0
aW9uRG9uZTsKLX0KLQotdm9pZCBIVE1MQ29udGVudEVsZW1lbnQ6OnJlbW92ZWRGcm9tKENvbnRh
aW5lck5vZGUqIGluc2VydGlvblBvaW50KQotewotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aW5E
b2N1bWVudCgpICYmIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290KSB7Ci0gICAgICAgIFNoYWRv
d1Jvb3QqIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpOwotICAgICAgICBpZiAoIXJvb3Qp
Ci0gICAgICAgICAgICByb290ID0gaW5zZXJ0aW9uUG9pbnQtPmNvbnRhaW5pbmdTaGFkb3dSb290
KCk7Ci0gICAgICAgIGlmIChyb290KQotICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3RlckNvbnRl
bnRFbGVtZW50KCk7Ci0gICAgICAgIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7
Ci0KLSAgICAgICAgaWYgKEVsZW1lbnRTaGFkb3cqIGVsZW1lbnRTaGFkb3cgPSByb290ID8gcm9v
dC0+b3duZXIoKSA6IDApCi0gICAgICAgICAgICBlbGVtZW50U2hhZG93LT5zZXRTaG91bGRDb2xs
ZWN0U2VsZWN0RmVhdHVyZVNldCgpOwotICAgIH0KLSAgICBJbnNlcnRpb25Qb2ludDo6cmVtb3Zl
ZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwotfQotCiBzdGF0aWMgYm9vbCB2YWxpZGF0ZVN1YlNlbGVj
dG9yKENTU1NlbGVjdG9yKiBzZWxlY3RvcikKIHsKICAgICBzd2l0Y2ggKHNlbGVjdG9yLT5tX21h
dGNoKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVu
dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVu
dC5oCmluZGV4IDU1N2FhYjk0Y2UyY2MxMzY5Yjc1NjQ2Nzc0YzE2MTczZmFlMThhYjAuLmE2ZGM1
ZjRjYmI0MTUwN2YxYjU0YjBmNjA5OGRjM2I5MWFiMDkxYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oCkBAIC00OSwyMCArNDksMTYgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsK
ICAgICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpOwogICAgIHZpcnR1YWwgY29uc3QgQ1NT
U2VsZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKTsKKyAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9u
UG9pbnRUeXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQ29udGVudEluc2VydGlvblBvaW50
OyB9CiAKIHByb3RlY3RlZDoKICAgICBIVE1MQ29udGVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYsIERvY3VtZW50Kik7CiAKLSAgICB2aXJ0dWFsIEluc2VydGlvbk5vdGlmaWNhdGlvblJl
cXVlc3QgaW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IHZvaWQgcmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwotCiBwcml2YXRlOgog
ICAgIHZpcnR1YWwgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgT1ZFUlJJREU7CiAgICAgdm9pZCBlbnN1cmVTZWxlY3RQYXJzZWQo
KTsKICAgICBib29sIHZhbGlkYXRlU2VsZWN0KCkgY29uc3Q7CiAKLSAgICBib29sIG1fcmVnaXN0
ZXJlZFdpdGhTaGFkb3dSb290OwotCiAgICAgYm9vbCBtX3Nob3VsZFBhcnNlU2VsZWN0b3JMaXN0
OwogICAgIGJvb2wgbV9pc1ZhbGlkU2VsZWN0b3I7CiAgICAgQ1NTU2VsZWN0b3JMaXN0IG1fc2Vs
ZWN0b3JMaXN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNo
YWRvd0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuY3BwCmluZGV4IDFkYTU0NTcxNmZiNGU3YTE5MDMxMmE4NjMxNDQ5OWYxZGQzMWFhY2Yu
LmQyMDZjYmNlMDkwOTMxMDE5NjNlZDQzY2ViMGM4ZTgxMTI4MDcyYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKQEAgLTQxLDcgKzQx
LDYgQEAgY2xhc3MgRG9jdW1lbnQ7CiAKIGlubGluZSBIVE1MU2hhZG93RWxlbWVudDo6SFRNTFNo
YWRvd0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvY3Vt
ZW50KQogICAgIDogSW5zZXJ0aW9uUG9pbnQodGFnTmFtZSwgZG9jdW1lbnQpCi0gICAgLCBtX3Jl
Z2lzdGVyZWRXaXRoU2hhZG93Um9vdChmYWxzZSkKIHsKICAgICBBU1NFUlQoaGFzVGFnTmFtZShI
VE1MTmFtZXM6OnNoYWRvd1RhZykpOwogfQpAQCAtNjAsMzMgKzU5LDYgQEAgY29uc3QgQXRvbWlj
U3RyaW5nJiBIVE1MU2hhZG93RWxlbWVudDo6c2VsZWN0KCkgY29uc3QKICAgICAgcmV0dXJuIG51
bGxBdG9tOwogfQogCi1Ob2RlOjpJbnNlcnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IEhUTUxTaGFk
b3dFbGVtZW50OjppbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCi17
Ci0gICAgSW5zZXJ0aW9uUG9pbnQ6Omluc2VydGVkSW50byhpbnNlcnRpb25Qb2ludCk7Ci0KLSAg
ICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBpc0FjdGl2ZSgpKSB7Ci0gICAg
ICAgIGlmIChTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKSkgewotICAg
ICAgICAgICAgcm9vdC0+cmVnaXN0ZXJTaGFkb3dFbGVtZW50KCk7Ci0gICAgICAgICAgICBtX3Jl
Z2lzdGVyZWRXaXRoU2hhZG93Um9vdCA9IHRydWU7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBy
ZXR1cm4gSW5zZXJ0aW9uRG9uZTsKLX0KLQotdm9pZCBIVE1MU2hhZG93RWxlbWVudDo6cmVtb3Zl
ZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCi17Ci0gICAgaWYgKGluc2VydGlv
blBvaW50LT5pbkRvY3VtZW50KCkgJiYgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QpIHsKLSAg
ICAgICAgU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCk7Ci0gICAgICAg
IGlmICghcm9vdCkKLSAgICAgICAgICAgIHJvb3QgPSBpbnNlcnRpb25Qb2ludC0+Y29udGFpbmlu
Z1NoYWRvd1Jvb3QoKTsKLSAgICAgICAgaWYgKHJvb3QpCi0gICAgICAgICAgICByb290LT51bnJl
Z2lzdGVyU2hhZG93RWxlbWVudCgpOwotICAgICAgICBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9v
dCA9IGZhbHNlOwotICAgIH0KLSAgICBJbnNlcnRpb25Qb2ludDo6cmVtb3ZlZEZyb20oaW5zZXJ0
aW9uUG9pbnQpOwotfQotCiBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIEhUTUxTaGFkb3dFbGVtZW50
OjplbXB0eVNlbGVjdG9yTGlzdCgpCiB7CiAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChDU1NTZWxl
Y3Rvckxpc3QsIHNlbGVjdG9yTGlzdCwgKENTU1NlbGVjdG9yTGlzdCgpKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaAppbmRleCA4NzA1OTg5NmY3
N2QyMDIzYzBmMmFmMWM2ODg0MzczM2RmMTcxM2ZkLi4zY2FhNDM0NmUyYmRjZTAyMWUzNjE5Y2U2
MTM0MGZmMWI4ZDQ2MzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9I
VE1MU2hhZG93RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxT
aGFkb3dFbGVtZW50LmgKQEAgLTQ1LDEwICs0NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGNv
bnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzU2Vs
ZWN0VmFsaWQoKSBPVkVSUklERSB7IHJldHVybiB0cnVlOyB9CiAgICAgdmlydHVhbCBjb25zdCBD
U1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpIHsgcmV0dXJuIGVtcHR5U2VsZWN0b3JMaXN0
KCk7IH0KLQotcHJvdGVjdGVkOgotICAgIHZpcnR1YWwgSW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVx
dWVzdCBpbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwg
dm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCBU
eXBlIGluc2VydGlvblBvaW50VHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFNoYWRvd0lu
c2VydGlvblBvaW50OyB9CiAKIHByaXZhdGU6CiAgICAgSFRNTFNoYWRvd0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Kik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRv
dy9JbnNlcnRpb25Qb2ludC5jcHAKaW5kZXggMTRkN2E0MjRiOTk1NmNiZGMwNDc1MjQ4Njk2ZTlh
OTAxNzc4YWZmZS4uNzk4OWMwMzQ5NTY2OTdlMWY1MDk2NDc4OTdhNGUzNzI4NDdkMzQxYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcApAQCAtNDMs
NiArNDMsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBJbnNlcnRpb25Qb2ludDo6
SW5zZXJ0aW9uUG9pbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRv
Y3VtZW50KQogICAgIDogSFRNTEVsZW1lbnQodGFnTmFtZSwgZG9jdW1lbnQsIENyZWF0ZUluc2Vy
dGlvblBvaW50KQorICAgICwgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QoZmFsc2UpCiB7CiB9
CiAKQEAgLTE0Miw2ICsxNDMsMTAgQEAgTm9kZTo6SW5zZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVz
dCBJbnNlcnRpb25Qb2ludDo6aW5zZXJ0ZWRJbnRvKENvbnRhaW5lck5vZGUqIGkKICAgICAgICAg
aWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9vdCgpKSB7CiAgICAgICAg
ICAgICByb290LT5vd25lcigpLT5zZXRWYWxpZGl0eVVuZGV0ZXJtaW5lZCgpOwogICAgICAgICAg
ICAgcm9vdC0+b3duZXIoKS0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOworICAgICAgICAgICAg
aWYgKGlzQWN0aXZlKCkgJiYgIW1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290KSB7CisgICAgICAg
ICAgICAgICAgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QgPSB0cnVlOworICAgICAgICAgICAg
ICAgIHJvb3QtPnJlZ2lzdGVySW5zZXJ0aW9uUG9pbnQodGhpcyk7CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9CiAKQEAgLTE1NiwxMSArMTYxLDE4IEBAIHZvaWQgSW5zZXJ0aW9uUG9p
bnQ6OnJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqIGluc2VydGlvblBvaW50KQogICAgICAgICAg
ICAgcm9vdCA9IGluc2VydGlvblBvaW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpOwogCiAgICAg
ICAgIC8vIGhvc3QgY2FuIGJlIG51bGwgd2hlbiByZW1vdmVkRnJvbSgpIGlzIGNhbGxlZCBmcm9t
IEVsZW1lbnRTaGFkb3cgZGVzdHJ1Y3Rvci4KLSAgICAgICAgaWYgKHJvb3QgJiYgcm9vdC0+aG9z
dCgpKQotICAgICAgICAgICAgcm9vdC0+b3duZXIoKS0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigp
OworICAgICAgICBFbGVtZW50U2hhZG93KiByb290T3duZXIgPSByb290ID8gcm9vdC0+b3duZXIo
KSA6IDA7CisgICAgICAgIGlmIChyb290T3duZXIpCisgICAgICAgICAgICByb290T3duZXItPmlu
dmFsaWRhdGVEaXN0cmlidXRpb24oKTsKIAogICAgICAgICAvLyBTaW5jZSB0aGlzIGluc2VydGlv
biBwb2ludCBpcyBubyBsb25nZXIgdmlzaWJsZSBmcm9tIHRoZSBzaGFkb3cgc3VidHJlZSwgaXQg
bmVlZCB0byBjbGVhbiBpdHNlbGYgdXAuCiAgICAgICAgIGNsZWFyRGlzdHJpYnV0aW9uKCk7CisK
KyAgICAgICAgaWYgKG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290KSB7CisgICAgICAgICAgICBt
X3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCA9IGZhbHNlOworICAgICAgICAgICAgaWYgKHJvb3Qp
CisgICAgICAgICAgICAgICAgcm9vdC0+dW5yZWdpc3Rlckluc2VydGlvblBvaW50KHRoaXMpOwor
ICAgICAgICB9CiAgICAgfQogCiAgICAgSFRNTEVsZW1lbnQ6OnJlbW92ZWRGcm9tKGluc2VydGlv
blBvaW50KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlv
blBvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCmlu
ZGV4IDc3NzM4ZGEyNDcxOWQyMDliOGMzOGI5NTM0OTNiNDgzNmVmNDc2OTguLmQzMTFhN2QzYjdh
MTE5Y2EyZTdiMzEzZWY0MGQ3Y2Y5YzdjMWI3Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9z
aGFkb3cvSW5zZXJ0aW9uUG9pbnQuaApAQCAtNDMsNiArNDMsMTEgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBJbnNlcnRpb25Qb2ludCA6IHB1YmxpYyBIVE1MRWxlbWVudCB7CiBwdWJs
aWM6CisgICAgZW51bSBUeXBlIHsKKyAgICAgICAgU2hhZG93SW5zZXJ0aW9uUG9pbnQsCisgICAg
ICAgIENvbnRlbnRJbnNlcnRpb25Qb2ludAorICAgIH07CisKICAgICB2aXJ0dWFsIH5JbnNlcnRp
b25Qb2ludCgpOwogCiAgICAgYm9vbCBoYXNEaXN0cmlidXRpb24oKSBjb25zdCB7IHJldHVybiAh
bV9kaXN0cmlidXRpb24uaXNFbXB0eSgpOyB9CkBAIC01Niw2ICs2MSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgc2VsZWN0KCkgY29uc3QgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCkgPSAwOwogICAgIHZpcnR1YWwgY29uc3QgQ1NTU2Vs
ZWN0b3JMaXN0JiBzZWxlY3Rvckxpc3QoKSA9IDA7CisgICAgdmlydHVhbCBUeXBlIGluc2VydGlv
blBvaW50VHlwZSgpIGNvbnN0ID0gMDsKIAogICAgIGJvb2wgcmVzZXRTdHlsZUluaGVyaXRhbmNl
KCkgY29uc3Q7CiAgICAgdm9pZCBzZXRSZXNldFN0eWxlSW5oZXJpdGFuY2UoYm9vbCk7CkBAIC04
NSw2ICs5MSw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAKICAgICBDb250ZW50RGlzdHJpYnV0
aW9uIG1fZGlzdHJpYnV0aW9uOworICAgIGJvb2wgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3Q7
CiB9OwogCiBpbmxpbmUgSW5zZXJ0aW9uUG9pbnQqIHRvSW5zZXJ0aW9uUG9pbnQoTm9kZSogbm9k
ZSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178668</attachid>
            <date>2012-12-10 16:58:41 -0800</date>
            <delta_ts>2012-12-10 17:43:16 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-104516-20121211095603.patch</filename>
            <type>text/plain</type>
            <size>16154</size>
            <attacher name="Hajime Morrita">morrita</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3MjI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDQ4OGEwODJjMjdmODFi
NTg5NjA5Y2IzMTVlYWIyOTZkZTZjZDVkYS4uNDZmYmMwMWYwMDBjYjgwYWIwZDFiNmJiZDc1YjAy
YmNiN2UxMmVjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTEyLTEwICBIYWpp
bWUgTW9ycml0YSAgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KKworICAgICAgICBbU2hhZG93IERPTV1b
UmVmYWN0b3JpbmddIEhUTUxDb250ZW50RWxlbWVudCxIVE1MU2hhZG93RWxlbWVudDo6bV9yZWdp
c3RlcmVkV2l0aFNoYWRvd1Jvb3Qgc2hvdWxkIGJlIG1vdmVkIHRvIEluc2VydGlvblBvaW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1MTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCisKKyAgICAgICAgVGhpcyBjaGFu
Z2UgcHVsbHMgZHVwbGljYXRlZCBjb2RlIGluIHJlbW92ZWRGcm9tKCkgYW5kCisgICAgICAgIGlu
c2VydGVkSW50bygpIG9mIGJvdGggYm90aCBIVE1MU2hhZG93RWxlbWVudCBhbmQKKyAgICAgICAg
SFRNTENvbnRlbnRFbGVtZW50IHRvIHRoZWlyIHN1cGVyIGNsYXNzIEluc2VydGlvblBvaW50Lgor
CisgICAgICAgIFRoaXMgaXMgYSBwYXJ0IG9mIGVmZm9yIHRoYXQgZW5jYXBzdWxhdGUgbm9kZSBk
aXN0cmlidXRpb24gYWxnb3JpdGhtIHRvCisgICAgICAgIENvbnRlbnREaXN0cmlidXRvciBhbmQg
aXRzIGZhbWlseS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNoYW5nZS4K
KworICAgICAgICAqIGRvbS9TaGFkb3dSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNoYWRv
d1Jvb3Q6OnJlZ2lzdGVySW5zZXJ0aW9uUG9pbnQpOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OlNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJJbnNlcnRpb25Qb2ludCk6IEFkZGVkLgorICAgICAgICAq
IGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChTaGFkb3dSb290KToKKyAgICAgICAgKiBodG1s
L3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93
Um9vdENvbnRlbnREaXN0cmlidXRpb25EYXRhOjpyZWdpdGVySW5zZXJ0aW9uUG9pbnQpOiBHZW5l
cmFsaXplZCB0d28gbWV0aG9kcyBmb3IgPGNvbnRlbnQ+IGFuZCA8c2hhZG93Pi4KKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdENvbnRlbnREaXN0cmlidXRp
b25EYXRhOjp1bnJlZ2lzdGVySW5zZXJ0aW9uUG9pbnQpOiBEaXR0by4KKyAgICAgICAgKiBodG1s
L3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuaDoKKyAgICAgICAgKFNoYWRvd1Jvb3RDb250ZW50
RGlzdHJpYnV0aW9uRGF0YSk6CisgICAgICAgICogaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb250ZW50RWxlbWVudDo6SFRNTENvbnRl
bnRFbGVtZW50KToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuaDoK
KyAgICAgICAgKiBodG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MU2hhZG93RWxlbWVudDo6SFRNTFNoYWRvd0VsZW1lbnQpOgorICAgICAgICAq
IGh0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9zaGFkb3cv
SW5zZXJ0aW9uUG9pbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zZXJ0aW9uUG9pbnQ6Oklu
c2VydGlvblBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okluc2VydGlvblBvaW50OjppbnNlcnRl
ZEludG8pOiBQdWxsZWQgdXAgZnJvbSBzdWJjbGFzc2VzCisgICAgICAgIChXZWJDb3JlOjpJbnNl
cnRpb25Qb2ludDo6cmVtb3ZlZEZyb20pOiBQdWxsZWQgdXAgZnJvbSBzdWJjbGFzc2VzCisgICAg
ICAgICogaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaDoKKyAgICAgICAgKEluc2VydGlvblBv
aW50KToKKwogMjAxMi0xMi0xMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDYwMgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL1NoYWRvd1Jvb3QuY3BwCmluZGV4IGM2YjI2MWJlNWNhMzEwNmYyMWRlN2MwZTMwODZj
NmEyOWZlNTA3YWIuLjg5NzA4OWUzMWQ5ODA3NGYwZmFiMTliMjJhNjNmNWE3Y2YwMzg2M2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKQEAgLTM1OCwxNCArMzU4LDE0IEBAIGlubGluZSBT
aGFkb3dSb290Q29udGVudERpc3RyaWJ1dGlvbkRhdGEqIFNoYWRvd1Jvb3Q6OmVuc3VyZURpc3Ry
aWJ1dGlvbkRhdGEoKQogICAgIHJldHVybiBtX2Rpc3RyaWJ1dGlvbkRhdGEuZ2V0KCk7CiB9ICAg
CiAKLXZvaWQgU2hhZG93Um9vdDo6cmVnaXN0ZXJTaGFkb3dFbGVtZW50KCkKK3ZvaWQgU2hhZG93
Um9vdDo6cmVnaXN0ZXJJbnNlcnRpb25Qb2ludChJbnNlcnRpb25Qb2ludCogcG9pbnQpCiB7Ci0g
ICAgZW5zdXJlRGlzdHJpYnV0aW9uRGF0YSgpLT5pbmNyZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1l
bnRDaGlsZHJlbigpOworICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKS0+cmVnaXRlckluc2Vy
dGlvblBvaW50KHRoaXMsIHBvaW50KTsKIH0KIAotdm9pZCBTaGFkb3dSb290Ojp1bnJlZ2lzdGVy
U2hhZG93RWxlbWVudCgpCit2b2lkIFNoYWRvd1Jvb3Q6OnVucmVnaXN0ZXJJbnNlcnRpb25Qb2lu
dChJbnNlcnRpb25Qb2ludCogcG9pbnQpCiB7Ci0gICAgZGlzdHJpYnV0aW9uRGF0YSgpLT5kZWNy
ZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpOworICAgIGVuc3VyZURpc3RyaWJ1
dGlvbkRhdGEoKS0+dW5yZWdpc3Rlckluc2VydGlvblBvaW50KHRoaXMsIHBvaW50KTsKIH0KIAog
Ym9vbCBTaGFkb3dSb290OjpoYXNTaGFkb3dJbnNlcnRpb25Qb2ludCgpIGNvbnN0CkBAIC0zNzYs
MTYgKzM3Niw2IEBAIGJvb2wgU2hhZG93Um9vdDo6aGFzU2hhZG93SW5zZXJ0aW9uUG9pbnQoKSBj
b25zdAogICAgIHJldHVybiBkaXN0cmlidXRpb25EYXRhKCktPmhhc1NoYWRvd0VsZW1lbnRDaGls
ZHJlbigpOwogfQogCi12b2lkIFNoYWRvd1Jvb3Q6OnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKQot
ewotICAgIGVuc3VyZURpc3RyaWJ1dGlvbkRhdGEoKS0+aW5jcmVtZW50TnVtYmVyT2ZDb250ZW50
RWxlbWVudENoaWxkcmVuKCk7Ci19Ci0KLXZvaWQgU2hhZG93Um9vdDo6dW5yZWdpc3RlckNvbnRl
bnRFbGVtZW50KCkKLXsKLSAgICBkaXN0cmlidXRpb25EYXRhKCktPmRlY3JlbWVudE51bWJlck9m
Q29udGVudEVsZW1lbnRDaGlsZHJlbigpOwotfQotCiBib29sIFNoYWRvd1Jvb3Q6Omhhc0NvbnRl
bnRFbGVtZW50KCkgY29uc3QKIHsKICAgICBpZiAoIWRpc3RyaWJ1dGlvbkRhdGEoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5oCmluZGV4IGNjYWIwMjVhM2FmYmFjMGU2ZDI0NWFmMjkwY2Q1MjdiNTE1
Y2U0MzYuLjQyYjAzNDYxZmEzYmJhMmMzNDA2YzBmNjgxYzgwMGIxNjczYTcwODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NoYWRvd1Jvb3QuaApAQCAtOTEsMTQgKzkxLDEyIEBAIHB1YmxpYzoKICAgICBJbnNlcnRp
b25Qb2ludCogYXNzaWduZWRUbygpIGNvbnN0OwogICAgIHZvaWQgc2V0QXNzaWduZWRUbyhJbnNl
cnRpb25Qb2ludCopOwogCi0gICAgdm9pZCByZWdpc3RlclNoYWRvd0VsZW1lbnQoKTsKLSAgICB2
b2lkIHVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCk7CiAgICAgYm9vbCBoYXNTaGFkb3dJbnNlcnRp
b25Qb2ludCgpIGNvbnN0OwotCi0gICAgdm9pZCByZWdpc3RlckNvbnRlbnRFbGVtZW50KCk7Ci0g
ICAgdm9pZCB1bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKICAgICBib29sIGhhc0NvbnRlbnRF
bGVtZW50KCkgY29uc3Q7CiAKKyAgICB2b2lkIHJlZ2lzdGVySW5zZXJ0aW9uUG9pbnQoSW5zZXJ0
aW9uUG9pbnQqKTsKKyAgICB2b2lkIHVucmVnaXN0ZXJJbnNlcnRpb25Qb2ludChJbnNlcnRpb25Q
b2ludCopOworICAgIAogICAgIHZvaWQgcmVnaXN0ZXJFbGVtZW50U2hhZG93KCk7CiAgICAgdm9p
ZCB1bnJlZ2lzdGVyRWxlbWVudFNoYWRvdygpOwogICAgIGJvb2wgaGFzRWxlbWVudFNoYWRvdygp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERp
c3RyaWJ1dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmli
dXRvci5jcHAKaW5kZXggZTM0YTcwYmVjYWNlOTk2ZTFjYTMwMDBjZjhjYmQ2ZTBkYWRiMDI0Ni4u
NTI0NTMwOTgxNzQ3MmM1YWJkMDQ3YTk4NjhiMDA3YTU1ZDk0ZjQwOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvQ29udGVudERpc3RyaWJ1dG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlzdHJpYnV0b3IuY3BwCkBAIC0xMTAsNiAr
MTEwLDQwIEBAIGNvbnN0IFZlY3RvcjxJbnNlcnRpb25Qb2ludCo+JiBTaGFkb3dSb290Q29udGVu
dERpc3RyaWJ1dGlvbkRhdGE6OmVuc3VyZUluc2VydGlvCiAgICAgcmV0dXJuIG1faW5zZXJ0aW9u
UG9pbnRMaXN0OwogfQogCit2b2lkIFNoYWRvd1Jvb3RDb250ZW50RGlzdHJpYnV0aW9uRGF0YTo6
cmVnaXRlckluc2VydGlvblBvaW50KFNoYWRvd1Jvb3QqIHNjb3BlLCBJbnNlcnRpb25Qb2ludCog
cG9pbnQpCit7CisgICAgc3dpdGNoIChwb2ludC0+aW5zZXJ0aW9uUG9pbnRUeXBlKCkpIHsKKyAg
ICBjYXNlIEluc2VydGlvblBvaW50OjpTaGFkb3dJbnNlcnRpb25Qb2ludDoKKyAgICAgICAgKytt
X251bWJlck9mU2hhZG93RWxlbWVudENoaWxkcmVuOworICAgICAgICBicmVhazsKKyAgICBjYXNl
IEluc2VydGlvblBvaW50OjpDb250ZW50SW5zZXJ0aW9uUG9pbnQ6CisgICAgICAgICsrbV9udW1i
ZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47CisgICAgICAgIHNjb3BlLT5vd25lcigpLT5zZXRT
aG91bGRDb2xsZWN0U2VsZWN0RmVhdHVyZVNldCgpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBpbnZhbGlkYXRlSW5zZXJ0aW9uUG9pbnRMaXN0KCk7Cit9CisKK3ZvaWQgU2hhZG93Um9v
dENvbnRlbnREaXN0cmlidXRpb25EYXRhOjp1bnJlZ2lzdGVySW5zZXJ0aW9uUG9pbnQoU2hhZG93
Um9vdCogc2NvcGUsIEluc2VydGlvblBvaW50KiBwb2ludCkKK3sKKyAgICBzd2l0Y2ggKHBvaW50
LT5pbnNlcnRpb25Qb2ludFR5cGUoKSkgeworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OlNoYWRv
d0luc2VydGlvblBvaW50OgorICAgICAgICBBU1NFUlQobV9udW1iZXJPZlNoYWRvd0VsZW1lbnRD
aGlsZHJlbiA+IDApOworICAgICAgICAtLW1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW47
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSW5zZXJ0aW9uUG9pbnQ6OkNvbnRlbnRJbnNlcnRp
b25Qb2ludDoKKyAgICAgICAgQVNTRVJUKG1fbnVtYmVyT2ZDb250ZW50RWxlbWVudENoaWxkcmVu
ID4gMCk7CisgICAgICAgIC0tbV9udW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW47CisgICAg
ICAgIGlmIChzY29wZS0+b3duZXIoKSkKKyAgICAgICAgICAgIHNjb3BlLT5vd25lcigpLT5zZXRT
aG91bGRDb2xsZWN0U2VsZWN0RmVhdHVyZVNldCgpOworICAgICAgICBicmVhazsKKyAgICB9CisK
KyAgICBpbnZhbGlkYXRlSW5zZXJ0aW9uUG9pbnRMaXN0KCk7Cit9CisKKwogQ29udGVudERpc3Ry
aWJ1dG9yOjpDb250ZW50RGlzdHJpYnV0b3IoKQogICAgIDogbV92YWxpZGl0eShVbmRldGVybWlu
ZWQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9Db250ZW50RGlz
dHJpYnV0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRv
ci5oCmluZGV4IDliNmUxNGYxYzIxZTg2NWM2NDkzNzQ4MTFhNWM3ZDA3MGYxMTk4N2MuLmRhMmUy
NjQzZWUwM2VhMmVjYTM2MTQxYWZkNzQxMzlkOTI3ZGJiYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvc2hhZG93L0NvbnRlbnREaXN0cmlidXRvci5oCkBAIC03NywxMiArNzcsOSBAQCBw
dWJsaWM6CiAgICAgSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50QXNzaWduZWRUbygpIGNv
bnN0IHsgcmV0dXJuIG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvOyB9CiAgICAgdm9pZCBzZXRJ
bnNlcnRpb25Qb2ludEFzc2lnbmVkVG8oSW5zZXJ0aW9uUG9pbnQqIGluc2VydGlvblBvaW50KSB7
IG1faW5zZXJ0aW9uUG9pbnRBc3NpZ25lZFRvID0gaW5zZXJ0aW9uUG9pbnQ7IH0KIAotICAgIHZv
aWQgaW5jcmVtZW50TnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJP
ZlNoYWRvd0VsZW1lbnRDaGlsZHJlbjsgaW52YWxpZGF0ZUluc2VydGlvblBvaW50TGlzdCgpOyB9
Ci0gICAgdm9pZCBkZWNyZW1lbnROdW1iZXJPZlNoYWRvd0VsZW1lbnRDaGlsZHJlbigpIHsgQVNT
RVJUKG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4gPiAwKTsgLS1tX251bWJlck9mU2hh
ZG93RWxlbWVudENoaWxkcmVuOyBpbnZhbGlkYXRlSW5zZXJ0aW9uUG9pbnRMaXN0KCk7IH0KKyAg
ICB2b2lkIHJlZ2l0ZXJJbnNlcnRpb25Qb2ludChTaGFkb3dSb290KiwgSW5zZXJ0aW9uUG9pbnQq
KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJJbnNlcnRpb25Qb2ludChTaGFkb3dSb290KiwgSW5zZXJ0
aW9uUG9pbnQqKTsKICAgICBib29sIGhhc1NoYWRvd0VsZW1lbnRDaGlsZHJlbigpIGNvbnN0IHsg
cmV0dXJuIG1fbnVtYmVyT2ZTaGFkb3dFbGVtZW50Q2hpbGRyZW4gPiAwOyB9Ci0KLSAgICB2b2lk
IGluY3JlbWVudE51bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbigpIHsgKyttX251bWJlck9m
Q29udGVudEVsZW1lbnRDaGlsZHJlbjsgaW52YWxpZGF0ZUluc2VydGlvblBvaW50TGlzdCgpOyB9
Ci0gICAgdm9pZCBkZWNyZW1lbnROdW1iZXJPZkNvbnRlbnRFbGVtZW50Q2hpbGRyZW4oKSB7IEFT
U0VSVChtX251bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDApOyAtLW1fbnVtYmVyT2ZD
b250ZW50RWxlbWVudENoaWxkcmVuOyBpbnZhbGlkYXRlSW5zZXJ0aW9uUG9pbnRMaXN0KCk7IH0K
ICAgICBib29sIGhhc0NvbnRlbnRFbGVtZW50Q2hpbGRyZW4oKSBjb25zdCB7IHJldHVybiBtX251
bWJlck9mQ29udGVudEVsZW1lbnRDaGlsZHJlbiA+IDA7IH0KIAogICAgIHZvaWQgaW5jcmVtZW50
TnVtYmVyT2ZFbGVtZW50U2hhZG93Q2hpbGRyZW4oKSB7ICsrbV9udW1iZXJPZkVsZW1lbnRTaGFk
b3dDaGlsZHJlbjsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRN
TENvbnRlbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxDb250
ZW50RWxlbWVudC5jcHAKaW5kZXggNmZhZTcyZTlmNmFlMjJlMWY2YmI4Y2NhOTUxZDFiZTc1YTA4
NDZiZC4uMmM5N2VmZjM1YTY0MTcwNTg5NzU0YzczYTBkZThlN2M3ZWQxMjM1YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MQ29udGVudEVsZW1lbnQuY3BwCkBAIC02
NCw3ICs2NCw2IEBAIFBhc3NSZWZQdHI8SFRNTENvbnRlbnRFbGVtZW50PiBIVE1MQ29udGVudEVs
ZW1lbnQ6OmNyZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0CiAKIEhUTUxDb250ZW50RWxlbWVu
dDo6SFRNTENvbnRlbnRFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIERvY3VtZW50
KiBkb2N1bWVudCkKICAgICA6IEluc2VydGlvblBvaW50KG5hbWUsIGRvY3VtZW50KQotICAgICwg
bV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QoZmFsc2UpCiAgICAgLCBtX3Nob3VsZFBhcnNlU2Vs
ZWN0b3JMaXN0KGZhbHNlKQogICAgICwgbV9pc1ZhbGlkU2VsZWN0b3IodHJ1ZSkKIHsKQEAgLTEx
MCwzNiArMTA5LDYgQEAgdm9pZCBIVE1MQ29udGVudEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNv
bnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1MKICAgICAgICAgSW5zZXJ0aW9u
UG9pbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKIH0KIAotTm9kZTo6SW5zZXJ0aW9u
Tm90aWZpY2F0aW9uUmVxdWVzdCBIVE1MQ29udGVudEVsZW1lbnQ6Omluc2VydGVkSW50byhDb250
YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkKLXsKLSAgICBJbnNlcnRpb25Qb2ludDo6aW5zZXJ0
ZWRJbnRvKGluc2VydGlvblBvaW50KTsKLQotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aW5Eb2N1
bWVudCgpICYmIGlzQWN0aXZlKCkpIHsKLSAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IGNvbnRh
aW5pbmdTaGFkb3dSb290KCk7Ci0gICAgICAgIHJvb3QtPnJlZ2lzdGVyQ29udGVudEVsZW1lbnQo
KTsKLSAgICAgICAgcm9vdC0+b3duZXIoKS0+c2V0U2hvdWxkQ29sbGVjdFNlbGVjdEZlYXR1cmVT
ZXQoKTsKLSAgICAgICAgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3QgPSB0cnVlOwotICAgIH0K
LQotICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwotfQotCi12b2lkIEhUTUxDb250ZW50RWxlbWVu
dDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0aW9uUG9pbnQpCi17Ci0gICAgaWYg
KGluc2VydGlvblBvaW50LT5pbkRvY3VtZW50KCkgJiYgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jv
b3QpIHsKLSAgICAgICAgU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCk7
Ci0gICAgICAgIGlmICghcm9vdCkKLSAgICAgICAgICAgIHJvb3QgPSBpbnNlcnRpb25Qb2ludC0+
Y29udGFpbmluZ1NoYWRvd1Jvb3QoKTsKLSAgICAgICAgaWYgKHJvb3QpCi0gICAgICAgICAgICBy
b290LT51bnJlZ2lzdGVyQ29udGVudEVsZW1lbnQoKTsKLSAgICAgICAgbV9yZWdpc3RlcmVkV2l0
aFNoYWRvd1Jvb3QgPSBmYWxzZTsKLQotICAgICAgICBpZiAoRWxlbWVudFNoYWRvdyogZWxlbWVu
dFNoYWRvdyA9IHJvb3QgPyByb290LT5vd25lcigpIDogMCkKLSAgICAgICAgICAgIGVsZW1lbnRT
aGFkb3ctPnNldFNob3VsZENvbGxlY3RTZWxlY3RGZWF0dXJlU2V0KCk7Ci0gICAgfQotICAgIElu
c2VydGlvblBvaW50OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Ci19Ci0KIHN0YXRpYyBi
b29sIHZhbGlkYXRlU3ViU2VsZWN0b3IoQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKQogewogICAgIHN3
aXRjaCAoc2VsZWN0b3ItPm1fbWF0Y2gpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvc2hhZG93L0hUTUxDb250ZW50RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFk
b3cvSFRNTENvbnRlbnRFbGVtZW50LmgKaW5kZXggNTU3YWFiOTRjZTJjYzEzNjliNzU2NDY3NzRj
MTYxNzNmYWUxOGFiMC4uYTZkYzVmNGNiYjQxNTA3ZjFiNTRiMGY2MDk4ZGMzYjkxYWIwOTFiMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTENvbnRlbnRFbGVtZW50LmgK
QEAgLTQ5LDIwICs0OSwxNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJp
bmcmIHNlbGVjdCgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1NlbGVjdFZhbGlkKCk7CiAg
ICAgdmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpOworICAgIHZp
cnR1YWwgVHlwZSBpbnNlcnRpb25Qb2ludFR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBD
b250ZW50SW5zZXJ0aW9uUG9pbnQ7IH0KIAogcHJvdGVjdGVkOgogICAgIEhUTUxDb250ZW50RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKIAotICAgIHZpcnR1YWwgSW5z
ZXJ0aW9uTm90aWZpY2F0aW9uUmVxdWVzdCBpbnNlcnRlZEludG8oQ29udGFpbmVyTm9kZSopIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbShDb250YWluZXJOb2RlKikgT1ZF
UlJJREU7Ci0KIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBPVkVSUklERTsKICAgICB2b2lk
IGVuc3VyZVNlbGVjdFBhcnNlZCgpOwogICAgIGJvb2wgdmFsaWRhdGVTZWxlY3QoKSBjb25zdDsK
IAotICAgIGJvb2wgbV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jvb3Q7Ci0KICAgICBib29sIG1fc2hv
dWxkUGFyc2VTZWxlY3Rvckxpc3Q7CiAgICAgYm9vbCBtX2lzVmFsaWRTZWxlY3RvcjsKICAgICBD
U1NTZWxlY3Rvckxpc3QgbV9zZWxlY3Rvckxpc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3NoYWRvdy9IVE1MU2hhZG93RWxlbWVudC5jcHAKaW5kZXggMWRhNTQ1NzE2ZmI0ZTdhMTkwMzEy
YTg2MzE0NDk5ZjFkZDMxYWFjZi4uZDIwNmNiY2UwOTA5MzEwMTk2M2VkNDNjZWIwYzhlODExMjgw
NzJhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVt
ZW50LmNwcApAQCAtNDEsNyArNDEsNiBAQCBjbGFzcyBEb2N1bWVudDsKIAogaW5saW5lIEhUTUxT
aGFkb3dFbGVtZW50OjpIVE1MU2hhZG93RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdO
YW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBJbnNlcnRpb25Qb2ludCh0YWdOYW1lLCBk
b2N1bWVudCkKLSAgICAsIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290KGZhbHNlKQogewogICAg
IEFTU0VSVChoYXNUYWdOYW1lKEhUTUxOYW1lczo6c2hhZG93VGFnKSk7CiB9CkBAIC02MCwzMyAr
NTksNiBAQCBjb25zdCBBdG9taWNTdHJpbmcmIEhUTUxTaGFkb3dFbGVtZW50OjpzZWxlY3QoKSBj
b25zdAogICAgICByZXR1cm4gbnVsbEF0b207CiB9CiAKLU5vZGU6Okluc2VydGlvbk5vdGlmaWNh
dGlvblJlcXVlc3QgSFRNTFNoYWRvd0VsZW1lbnQ6Omluc2VydGVkSW50byhDb250YWluZXJOb2Rl
KiBpbnNlcnRpb25Qb2ludCkKLXsKLSAgICBJbnNlcnRpb25Qb2ludDo6aW5zZXJ0ZWRJbnRvKGlu
c2VydGlvblBvaW50KTsKLQotICAgIGlmIChpbnNlcnRpb25Qb2ludC0+aW5Eb2N1bWVudCgpICYm
IGlzQWN0aXZlKCkpIHsKLSAgICAgICAgaWYgKFNoYWRvd1Jvb3QqIHJvb3QgPSBjb250YWluaW5n
U2hhZG93Um9vdCgpKSB7Ci0gICAgICAgICAgICByb290LT5yZWdpc3RlclNoYWRvd0VsZW1lbnQo
KTsKLSAgICAgICAgICAgIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gdHJ1ZTsKLSAgICAg
ICAgfQotICAgIH0KLQotICAgIHJldHVybiBJbnNlcnRpb25Eb25lOwotfQotCi12b2lkIEhUTUxT
aGFkb3dFbGVtZW50OjpyZW1vdmVkRnJvbShDb250YWluZXJOb2RlKiBpbnNlcnRpb25Qb2ludCkK
LXsKLSAgICBpZiAoaW5zZXJ0aW9uUG9pbnQtPmluRG9jdW1lbnQoKSAmJiBtX3JlZ2lzdGVyZWRX
aXRoU2hhZG93Um9vdCkgewotICAgICAgICBTaGFkb3dSb290KiByb290ID0gY29udGFpbmluZ1No
YWRvd1Jvb3QoKTsKLSAgICAgICAgaWYgKCFyb290KQotICAgICAgICAgICAgcm9vdCA9IGluc2Vy
dGlvblBvaW50LT5jb250YWluaW5nU2hhZG93Um9vdCgpOwotICAgICAgICBpZiAocm9vdCkKLSAg
ICAgICAgICAgIHJvb3QtPnVucmVnaXN0ZXJTaGFkb3dFbGVtZW50KCk7Ci0gICAgICAgIG1fcmVn
aXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7Ci0gICAgfQotICAgIEluc2VydGlvblBvaW50
OjpyZW1vdmVkRnJvbShpbnNlcnRpb25Qb2ludCk7Ci19Ci0KIGNvbnN0IENTU1NlbGVjdG9yTGlz
dCYgSFRNTFNoYWRvd0VsZW1lbnQ6OmVtcHR5U2VsZWN0b3JMaXN0KCkKIHsKICAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKENTU1NlbGVjdG9yTGlzdCwgc2VsZWN0b3JMaXN0LCAoQ1NTU2VsZWN0b3JM
aXN0KCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFk
b3dFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9IVE1MU2hhZG93RWxlbWVu
dC5oCmluZGV4IDg3MDU5ODk2Zjc3ZDIwMjNjMGYyYWYxYzY4ODQzNzMzZGYxNzEzZmQuLjNjYWE0
MzQ2ZTJiZGNlMDIxZTM2MTljZTYxMzQwZmYxYjhkNDYzMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvc2hhZG93L0hUTUxTaGFkb3dFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9zaGFkb3cvSFRNTFNoYWRvd0VsZW1lbnQuaApAQCAtNDUsMTAgKzQ1LDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3QoKSBjb25zdDsKICAg
ICB2aXJ0dWFsIGJvb2wgaXNTZWxlY3RWYWxpZCgpIE9WRVJSSURFIHsgcmV0dXJuIHRydWU7IH0K
ICAgICB2aXJ0dWFsIGNvbnN0IENTU1NlbGVjdG9yTGlzdCYgc2VsZWN0b3JMaXN0KCkgeyByZXR1
cm4gZW1wdHlTZWxlY3Rvckxpc3QoKTsgfQotCi1wcm90ZWN0ZWQ6Ci0gICAgdmlydHVhbCBJbnNl
cnRpb25Ob3RpZmljYXRpb25SZXF1ZXN0IGluc2VydGVkSW50byhDb250YWluZXJOb2RlKikgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUqKSBPVkVS
UklERTsKKyAgICB2aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gU2hhZG93SW5zZXJ0aW9uUG9pbnQ7IH0KIAogcHJpdmF0ZToKICAgICBIVE1M
U2hhZG93RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvc2hhZG93L0luc2VydGlvblBvaW50LmNwcAppbmRleCA2NjU4MTYzMDk1
MDdmODk0MTE2ZTU1NGE4Y2E3ZDE1N2Y2YzhjMWQ5Li5lZTg0NDNlOWIzOGMyNDZhMmY3NDBmMmRi
NjcxY2Y0MDEzZjE1ZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9J
bnNlcnRpb25Qb2ludC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0
aW9uUG9pbnQuY3BwCkBAIC00Myw2ICs0Myw3IEBAIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7
CiAKIEluc2VydGlvblBvaW50OjpJbnNlcnRpb25Qb2ludChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCogZG9jdW1lbnQpCiAgICAgOiBIVE1MRWxlbWVudCh0YWdOYW1lLCBk
b2N1bWVudCwgQ3JlYXRlSW5zZXJ0aW9uUG9pbnQpCisgICAgLCBtX3JlZ2lzdGVyZWRXaXRoU2hh
ZG93Um9vdChmYWxzZSkKIHsKIH0KIApAQCAtMTI2LDYgKzEyNywxMCBAQCBOb2RlOjpJbnNlcnRp
b25Ob3RpZmljYXRpb25SZXF1ZXN0IEluc2VydGlvblBvaW50OjppbnNlcnRlZEludG8oQ29udGFp
bmVyTm9kZSogaQogICAgICAgICBpZiAoU2hhZG93Um9vdCogcm9vdCA9IGNvbnRhaW5pbmdTaGFk
b3dSb290KCkpIHsKICAgICAgICAgICAgIHJvb3QtPm93bmVyKCktPnNldFZhbGlkaXR5VW5kZXRl
cm1pbmVkKCk7CiAgICAgICAgICAgICByb290LT5vd25lcigpLT5pbnZhbGlkYXRlRGlzdHJpYnV0
aW9uKCk7CisgICAgICAgICAgICBpZiAoaXNBY3RpdmUoKSAmJiAhbV9yZWdpc3RlcmVkV2l0aFNo
YWRvd1Jvb3QpIHsKKyAgICAgICAgICAgICAgICBtX3JlZ2lzdGVyZWRXaXRoU2hhZG93Um9vdCA9
IHRydWU7CisgICAgICAgICAgICAgICAgcm9vdC0+cmVnaXN0ZXJJbnNlcnRpb25Qb2ludCh0aGlz
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApAQCAtMTQwLDExICsxNDUsMTgg
QEAgdm9pZCBJbnNlcnRpb25Qb2ludDo6cmVtb3ZlZEZyb20oQ29udGFpbmVyTm9kZSogaW5zZXJ0
aW9uUG9pbnQpCiAgICAgICAgICAgICByb290ID0gaW5zZXJ0aW9uUG9pbnQtPmNvbnRhaW5pbmdT
aGFkb3dSb290KCk7CiAKICAgICAgICAgLy8gaG9zdCBjYW4gYmUgbnVsbCB3aGVuIHJlbW92ZWRG
cm9tKCkgaXMgY2FsbGVkIGZyb20gRWxlbWVudFNoYWRvdyBkZXN0cnVjdG9yLgotICAgICAgICBp
ZiAocm9vdCAmJiByb290LT5ob3N0KCkpCi0gICAgICAgICAgICByb290LT5vd25lcigpLT5pbnZh
bGlkYXRlRGlzdHJpYnV0aW9uKCk7CisgICAgICAgIEVsZW1lbnRTaGFkb3cqIHJvb3RPd25lciA9
IHJvb3QgPyByb290LT5vd25lcigpIDogMDsKKyAgICAgICAgaWYgKHJvb3RPd25lcikKKyAgICAg
ICAgICAgIHJvb3RPd25lci0+aW52YWxpZGF0ZURpc3RyaWJ1dGlvbigpOwogCiAgICAgICAgIC8v
IFNpbmNlIHRoaXMgaW5zZXJ0aW9uIHBvaW50IGlzIG5vIGxvbmdlciB2aXNpYmxlIGZyb20gdGhl
IHNoYWRvdyBzdWJ0cmVlLCBpdCBuZWVkIHRvIGNsZWFuIGl0c2VsZiB1cC4KICAgICAgICAgY2xl
YXJEaXN0cmlidXRpb24oKTsKKworICAgICAgICBpZiAobV9yZWdpc3RlcmVkV2l0aFNoYWRvd1Jv
b3QpIHsKKyAgICAgICAgICAgIG1fcmVnaXN0ZXJlZFdpdGhTaGFkb3dSb290ID0gZmFsc2U7Cisg
ICAgICAgICAgICBpZiAocm9vdCkKKyAgICAgICAgICAgICAgICByb290LT51bnJlZ2lzdGVySW5z
ZXJ0aW9uUG9pbnQodGhpcyk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBIVE1MRWxlbWVudDo6
cmVtb3ZlZEZyb20oaW5zZXJ0aW9uUG9pbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93
L0luc2VydGlvblBvaW50LmgKaW5kZXggZjU5YzAwMWUxZGZkMjQ5OTc4M2YzZWNkNTkwYmFjMTU5
YmMzODg1ZS4uMjMyYjU2M2UxMjY3MDQzYWI1YTUyYmU4NjVjMzY4ZGUwNzNjNWYxZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvSW5zZXJ0aW9uUG9pbnQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL3NoYWRvdy9JbnNlcnRpb25Qb2ludC5oCkBAIC00Myw2ICs0Mywx
MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEluc2VydGlvblBvaW50IDogcHVibGlj
IEhUTUxFbGVtZW50IHsKIHB1YmxpYzoKKyAgICBlbnVtIFR5cGUgeworICAgICAgICBTaGFkb3dJ
bnNlcnRpb25Qb2ludCwKKyAgICAgICAgQ29udGVudEluc2VydGlvblBvaW50CisgICAgfTsKKwog
ICAgIHZpcnR1YWwgfkluc2VydGlvblBvaW50KCk7CiAKICAgICBib29sIGhhc0Rpc3RyaWJ1dGlv
bigpIGNvbnN0IHsgcmV0dXJuICFtX2Rpc3RyaWJ1dGlvbi5pc0VtcHR5KCk7IH0KQEAgLTU2LDYg
KzYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBzZWxlY3Qo
KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzU2VsZWN0VmFsaWQoKSA9IDA7CiAgICAg
dmlydHVhbCBjb25zdCBDU1NTZWxlY3Rvckxpc3QmIHNlbGVjdG9yTGlzdCgpID0gMDsKKyAgICB2
aXJ0dWFsIFR5cGUgaW5zZXJ0aW9uUG9pbnRUeXBlKCkgY29uc3QgPSAwOwogCiAgICAgYm9vbCBy
ZXNldFN0eWxlSW5oZXJpdGFuY2UoKSBjb25zdDsKICAgICB2b2lkIHNldFJlc2V0U3R5bGVJbmhl
cml0YW5jZShib29sKTsKQEAgLTg1LDYgKzkxLDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKIAog
ICAgIENvbnRlbnREaXN0cmlidXRpb24gbV9kaXN0cmlidXRpb247CisgICAgYm9vbCBtX3JlZ2lz
dGVyZWRXaXRoU2hhZG93Um9vdDsKIH07CiAKIGlubGluZSBJbnNlcnRpb25Qb2ludCogdG9JbnNl
cnRpb25Qb2ludChOb2RlKiBub2RlKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>