<?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>94711</bug_id>
          
          <creation_ts>2012-08-22 08:01:00 -0700</creation_ts>
          <short_desc>[WK2] Refactoring: WebBackForwardList getters should be const</short_desc>
          <delta_ts>2012-08-23 01:46:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mikhail Pozdnyakov">mikhail.pozdnyakov</reporter>
          <assigned_to name="Mikhail Pozdnyakov">mikhail.pozdnyakov</assigned_to>
          <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>701908</commentid>
    <comment_count>0</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-22 08:01:00 -0700</bug_when>
    <thetext>The WebBackForwardList getters should be const for the following reasons:
1) WebBackForwardList getters are not consistent with each other (WebBackForwardList::entries() is const but WebBackForwardList::currentIndex() is not).
2) Every programmer expects a getter to be const.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701918</commentid>
    <comment_count>1</comment_count>
      <attachid>159934</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-22 08:09:47 -0700</bug_when>
    <thetext>Created attachment 159934
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701920</commentid>
    <comment_count>2</comment_count>
      <attachid>159934</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-22 08:10:29 -0700</bug_when>
    <thetext>Comment on attachment 159934
patch

Wrong diff :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701937</commentid>
    <comment_count>3</comment_count>
      <attachid>159941</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-22 08:24:30 -0700</bug_when>
    <thetext>Created attachment 159941
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>701987</commentid>
    <comment_count>4</comment_count>
      <attachid>159941</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-08-22 09:08:25 -0700</bug_when>
    <thetext>Comment on attachment 159941
patch

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

&gt; Source/WebKit2/ChangeLog:10
&gt; +        Besides having a  not const getters looks like bad C++ style.

double spacing. bad C++ style, explain?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702044</commentid>
    <comment_count>5</comment_count>
      <attachid>159962</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-22 10:37:07 -0700</bug_when>
    <thetext>Created attachment 159962
patch v2

Added explanation to ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702212</commentid>
    <comment_count>6</comment_count>
      <attachid>159962</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-22 12:35:46 -0700</bug_when>
    <thetext>Comment on attachment 159962
patch v2

Rejecting attachment 159962 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
ing Tools/ChangeLog
CONFLICT (content): Merge conflict in Tools/ChangeLog
Failed to merge in the changes.
Patch failed at 0001 Unreviewed, add aelias@chromium.org to committers

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/13567353</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702801</commentid>
    <comment_count>7</comment_count>
      <attachid>160113</attachid>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2012-08-23 01:29:21 -0700</bug_when>
    <thetext>Created attachment 160113
to be landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702809</commentid>
    <comment_count>8</comment_count>
      <attachid>160113</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 01:46:49 -0700</bug_when>
    <thetext>Comment on attachment 160113
to be landed

Clearing flags on attachment: 160113

Committed r126406: &lt;http://trac.webkit.org/changeset/126406&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>702810</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 01:46:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159934</attachid>
            <date>2012-08-22 08:09:47 -0700</date>
            <delta_ts>2012-08-22 08:10:29 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug94711</filename>
            <type>text/plain</type>
            <size>23316</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDhiOWEyNjJkYWY1NzIxZDFkODM1NmI3MWFhOTI5ZDM5ZjdiNDg5MTYKQXV0aG9yOiBj
YXJsb3NnY0B3ZWJraXQub3JnIDxjYXJsb3NnY0B3ZWJraXQub3JnQDI2OGY0NWNjLWNkMDktMDQx
MC1hYjNjLWQ1MjY5MWI0ZGJmYz4KRGF0ZTogICBXZWQgQXVnIDIyIDEzOjM0OjEzIDIwMTIgKzAw
MDAKCiAgICBbR1RLXSBQcmVmZXJyZWQgbGFuZ3VhZ2VzIGFuZCBzcGVsbGNoZWNrZXIgQVBJcyBh
cmUgbm90IGNvbnNpc3RlbnQgaW4gV2ViS2l0MgogICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NjgzCiAgICAKICAgIFJldmlld2VkIGJ5IEFsZWphbmRybyBHLiBD
YXN0cm8uCiAgICAKICAgIFNvdXJjZS9XZWJDb3JlOgogICAgCiAgICBVc2UgYSBWZWN0b3I8U3Ry
aW5nPiBpbnN0ZWFkIG9mIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyB0bwogICAgZ2V0L3NldCBs
YW5ndWFnZXMuCiAgICAKICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50
LmNwcDoKICAgIChUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFn
ZXMpOgogICAgKFRleHRDaGVja2VyRW5jaGFudDo6Z2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyk6
CiAgICAqIHBsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5oOgogICAgKFRleHRD
aGVja2VyRW5jaGFudCk6CiAgICAKICAgIFNvdXJjZS9XZWJLaXQvZ3RrOgogICAgCiAgICAqIHdl
YmtpdC93ZWJraXRzcGVsbGNoZWNrZXJlbmNoYW50LmNwcDoKICAgICh1cGRhdGVTcGVsbENoZWNr
aW5nTGFuZ3VhZ2VzKTogU3BsaXQgdGhlIGxhbmd1YWdlcyBzdHJpbmcgdG8gcGFzcyBhCiAgICBW
ZWN0b3IgdG8gdXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpLgogICAgCiAgICBTb3VyY2Uv
V2ViS2l0MjoKICAgIAogICAgQ2hhbmdlIHNwZWxsLWNoZWNrZXIgYW5kIHByZWZlcnJlZCBsYW5n
dWFnZXMgQVBJIHRvIHVzZSBhIEdTdHJ2CiAgICBpbnN0ZWFkIG9mIGEgY29tbWEtc2VwYXJhdGVk
IHN0cmluZyBhbmQgR0xpc3QuIFRoaXMgbWFrZXMgdGhlIEFQSQogICAgbW9yZSBjb25zaXN0ZW50
IGFuZCBjb252ZW5pZW50IHRvIHVzZS4KICAgIAogICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJL
aXRUZXh0Q2hlY2tlci5jcHA6CiAgICAoV2ViS2l0VGV4dENoZWNrZXI6OmdldFNwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMpOiBSZXR1cm4gYQogICAgVmVjdG9yPFN0cmluZz4gaW5zdGVhZCBvZiBhIFN0
cmluZy4KICAgIChXZWJLaXRUZXh0Q2hlY2tlcjo6c2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyk6
IFJlY2VpdmUgYQogICAgVmVjdG9yPFN0cmluZz4gaW5zdGVhZCBvZiBhIFN0cmluZy4KICAgICog
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaDoKICAgIChXZWJLaXRUZXh0Q2hl
Y2tlcik6IFVzZSBhIEdQdHJBcnJheSB0byBjYWNoZSBsYW5ndWFnZXMuCiAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwOgogICAgKHdlYmtpdF93ZWJfY29udGV4dF9n
ZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKToKICAgICh3ZWJraXRfd2ViX2NvbnRleHRfc2V0
X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyk6CiAgICAod2Via2l0X3dlYl9jb250ZXh0X3NldF9w
cmVmZXJyZWRfbGFuZ3VhZ2VzKToKICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29u
dGV4dC5oOgogICAgKiBVSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9UZXN0V2ViS2l0V2ViQ29udGV4
dC5jcHA6CiAgICAodGVzdFdlYkNvbnRleHRTcGVsbENoZWNrZXIpOgogICAgKHRlc3RXZWJDb250
ZXh0TGFuZ3VhZ2VzKToKICAgIAogICAgZ2l0LXN2bi1pZDogaHR0cDovL3N2bi53ZWJraXQub3Jn
L3JlcG9zaXRvcnkvd2Via2l0L3RydW5rQDEyNjI5OCAyNjhmNDVjYy1jZDA5LTA0MTAtYWIzYy1k
NTI2OTFiNGRiZmMKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhmMGIzOS4uYjY2YzViMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEyLTA4LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBQcmVmZXJyZWQgbGFuZ3VhZ2VzIGFuZCBz
cGVsbGNoZWNrZXIgQVBJcyBhcmUgbm90IGNvbnNpc3RlbnQgaW4gV2ViS2l0MgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ2ODMKKworICAgICAgICBS
ZXZpZXdlZCBieSBBbGVqYW5kcm8gRy4gQ2FzdHJvLgorCisgICAgICAgIFVzZSBhIFZlY3RvcjxT
dHJpbmc+IGluc3RlYWQgb2YgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nIHRvCisgICAgICAgIGdl
dC9zZXQgbGFuZ3VhZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNr
ZXJFbmNoYW50LmNwcDoKKyAgICAgICAgKFRleHRDaGVja2VyRW5jaGFudDo6dXBkYXRlU3BlbGxD
aGVja2luZ0xhbmd1YWdlcyk6CisgICAgICAgIChUZXh0Q2hlY2tlckVuY2hhbnQ6OmdldFNwZWxs
Q2hlY2tpbmdMYW5ndWFnZXMpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVj
a2VyRW5jaGFudC5oOgorICAgICAgICAoVGV4dENoZWNrZXJFbmNoYW50KToKKwogMjAxMi0wOC0y
MiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBtb3ZlIE5hdmlnYXRvclZpZXcgYW5kIE5hdmlnYXRvck92ZXJsYXlDb250cm9s
bGVyIHRvIFNjcmlwdHNQYW5lbCBtb2R1bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L2d0ay9UZXh0Q2hlY2tlckVuY2hhbnQuY3BwCmluZGV4IGYzZjYwZTYuLjEx
YTNlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1RleHRD
aGVja2VyRW5jaGFudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9ndGsv
VGV4dENoZWNrZXJFbmNoYW50LmNwcApAQCAtMTU1LDE0ICsxNTUsMTIgQEAgVmVjdG9yPFN0cmlu
Zz4gVGV4dENoZWNrZXJFbmNoYW50OjpnZXRHdWVzc2VzRm9yV29yZChjb25zdCBTdHJpbmcmIHdv
cmQpCiAgICAgcmV0dXJuIGd1ZXNzZXM7CiB9CiAKLXZvaWQgVGV4dENoZWNrZXJFbmNoYW50Ojp1
cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2VzKQordm9p
ZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGxhbmd1YWdlcykKIHsKICAgICBWZWN0b3I8RW5jaGFudERpY3QqPiBz
cGVsbERpY3Rpb25hcmllczsKIAogICAgIGlmICghbGFuZ3VhZ2VzLmlzRW1wdHkoKSkgewotICAg
ICAgICBWZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXNWZWN0b3I7Ci0gICAgICAgIGxhbmd1YWdlcy5z
cGxpdChzdGF0aWNfY2FzdDxVQ2hhcj4oJywnKSwgbGFuZ3VhZ2VzVmVjdG9yKTsKLSAgICAgICAg
Zm9yIChWZWN0b3I8U3RyaW5nPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IGxhbmd1YWdlc1ZlY3Rv
ci5iZWdpbigpOyBpdGVyICE9IGxhbmd1YWdlc1ZlY3Rvci5lbmQoKTsgKytpdGVyKSB7CisgICAg
ICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ZXIgPSBsYW5ndWFnZXMu
YmVnaW4oKTsgaXRlciAhPSBsYW5ndWFnZXMuZW5kKCk7ICsraXRlcikgewogICAgICAgICAgICAg
Q1N0cmluZyBjdXJyZW50TGFuZ3VhZ2UgPSBpdGVyLT51dGY4KCk7CiAgICAgICAgICAgICBpZiAo
ZW5jaGFudF9icm9rZXJfZGljdF9leGlzdHMobV9icm9rZXIsIGN1cnJlbnRMYW5ndWFnZS5kYXRh
KCkpKSB7CiAgICAgICAgICAgICAgICAgRW5jaGFudERpY3QqIGRpY3QgPSBlbmNoYW50X2Jyb2tl
cl9yZXF1ZXN0X2RpY3QobV9icm9rZXIsIGN1cnJlbnRMYW5ndWFnZS5kYXRhKCkpOwpAQCAtMTg4
LDI0ICsxODYsMjEgQEAgdm9pZCBUZXh0Q2hlY2tlckVuY2hhbnQ6OnVwZGF0ZVNwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMoY29uc3QgU3RyaW5nJiBsYW5ndWFnZXMpCiAgICAgbV9lbmNoYW50RGljdGlv
bmFyaWVzID0gc3BlbGxEaWN0aW9uYXJpZXM7CiB9CiAKLVN0cmluZyBUZXh0Q2hlY2tlckVuY2hh
bnQ6OmdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKQorVmVjdG9yPFN0cmluZz4gVGV4dENoZWNr
ZXJFbmNoYW50OjpnZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCkKIHsKKyAgICBWZWN0b3I8U3Ry
aW5nPiBsYW5ndWFnZXM7CiAgICAgaWYgKG1fZW5jaGFudERpY3Rpb25hcmllcy5pc0VtcHR5KCkp
Ci0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKKyAgICAgICAgcmV0dXJuIGxhbmd1YWdlczsKIAog
ICAgIC8vIEdldCBhIFZlY3RvcjxDU3RyaW5nPiB3aXRoIHRoZSBsaXN0IG9mIGxhbmd1YWdlcyBp
biB1c2UuCiAgICAgVmVjdG9yPENTdHJpbmc+IGN1cnJlbnREaWN0aW9uYXJpZXM7CiAgICAgZm9y
IChWZWN0b3I8RW5jaGFudERpY3QqPjo6Y29uc3RfaXRlcmF0b3IgaXRlciA9IG1fZW5jaGFudERp
Y3Rpb25hcmllcy5iZWdpbigpOyBpdGVyICE9IG1fZW5jaGFudERpY3Rpb25hcmllcy5lbmQoKTsg
KytpdGVyKQogICAgICAgICBlbmNoYW50X2RpY3RfZGVzY3JpYmUoKml0ZXIsIGVuY2hhbnREaWN0
RGVzY3JpYmVDYWxsYmFjaywgJmN1cnJlbnREaWN0aW9uYXJpZXMpOwogCi0gICAgLy8gQnVpbGQg
dGhlIHJlc3VsdCBTdHJpbmc7Ci0gICAgU3RyaW5nQnVpbGRlciBidWlsZGVyOwotICAgIGZvciAo
VmVjdG9yPENTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0gY3VycmVudERpY3Rpb25hcmll
cy5iZWdpbigpOyBpdGVyICE9IGN1cnJlbnREaWN0aW9uYXJpZXMuZW5kKCk7ICsraXRlcikgewot
ICAgICAgICBpZiAoaXRlciAhPSBjdXJyZW50RGljdGlvbmFyaWVzLmJlZ2luKCkpCi0gICAgICAg
ICAgICBidWlsZGVyLmFwcGVuZCgiLCIpOwotICAgICAgICBidWlsZGVyLmFwcGVuZChTdHJpbmc6
OmZyb21VVEY4KGl0ZXItPmRhdGEoKSkpOwotICAgIH0KLSAgICByZXR1cm4gYnVpbGRlci50b1N0
cmluZygpOworICAgIGZvciAoVmVjdG9yPENTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdGVyID0g
Y3VycmVudERpY3Rpb25hcmllcy5iZWdpbigpOyBpdGVyICE9IGN1cnJlbnREaWN0aW9uYXJpZXMu
ZW5kKCk7ICsraXRlcikKKyAgICAgICAgbGFuZ3VhZ2VzLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4
KGl0ZXItPmRhdGEoKSkpOworCisgICAgcmV0dXJuIGxhbmd1YWdlczsKIH0KIAogdm9pZCBUZXh0
Q2hlY2tlckVuY2hhbnQ6OmZyZWVFbmNoYW50QnJva2VyRGljdGlvbmFyaWVzKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1RleHRDaGVja2VyRW5jaGFudC5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50LmgK
aW5kZXggZTdhOTgwOS4uMTc4MGI0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9ndGsvVGV4dENoZWNrZXJFbmNoYW50LmgKQEAgLTQxLDggKzQxLDggQEAgcHVi
bGljOgogICAgIHZvaWQgbGVhcm5Xb3JkKGNvbnN0IFN0cmluZyYpOwogICAgIHZvaWQgY2hlY2tT
cGVsbGluZ09mU3RyaW5nKGNvbnN0IFN0cmluZyYsIGludCYgbWlzc3BlbGxpbmdMb2NhdGlvbiwg
aW50JiBtaXNzcGVsbGluZ0xlbmd0aCk7CiAgICAgVmVjdG9yPFN0cmluZz4gZ2V0R3Vlc3Nlc0Zv
cldvcmQoY29uc3QgU3RyaW5nJik7Ci0gICAgdm9pZCB1cGRhdGVTcGVsbENoZWNraW5nTGFuZ3Vh
Z2VzKGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2VzKTsKLSAgICBTdHJpbmcgZ2V0U3BlbGxDaGVja2lu
Z0xhbmd1YWdlcygpOworICAgIHZvaWQgdXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25z
dCBWZWN0b3I8U3RyaW5nPiYgbGFuZ3VhZ2VzKTsKKyAgICBWZWN0b3I8U3RyaW5nPiBnZXRTcGVs
bENoZWNraW5nTGFuZ3VhZ2VzKCk7CiAKIHByaXZhdGU6CiAgICAgVGV4dENoZWNrZXJFbmNoYW50
KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggMmVmNzkxOS4uMzBiNzVlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTA4LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXSBQcmVmZXJyZWQgbGFuZ3VhZ2VzIGFu
ZCBzcGVsbGNoZWNrZXIgQVBJcyBhcmUgbm90IGNvbnNpc3RlbnQgaW4gV2ViS2l0MgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ2ODMKKworICAgICAg
ICBSZXZpZXdlZCBieSBBbGVqYW5kcm8gRy4gQ2FzdHJvLgorCisgICAgICAgICogd2Via2l0L3dl
YmtpdHNwZWxsY2hlY2tlcmVuY2hhbnQuY3BwOgorICAgICAgICAodXBkYXRlU3BlbGxDaGVja2lu
Z0xhbmd1YWdlcyk6IFNwbGl0IHRoZSBsYW5ndWFnZXMgc3RyaW5nIHRvIHBhc3MgYQorICAgICAg
ICBWZWN0b3IgdG8gdXBkYXRlU3BlbGxDaGVja2luZ0xhbmd1YWdlcygpLgorCiAyMDEyLTA4LTIx
ICBKb2FubWFyaWUgRGlnZ3MgIDxqZGlnZ3NAaWdhbGlhLmNvbT4KICAgICAgICAgW0d0a10gTm8g
YWNjZXNzaWJsZSBjYXJldC1tb3ZlZCBldmVudHMgZm91bmQgaW4gY2VydGFpbiBjb250ZW50CiAg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHNwZWxsY2hlY2tlcmVuY2hh
bnQuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHNwZWxsY2hlY2tlcmVuY2hh
bnQuY3BwCmluZGV4IDA3ZDM0ZDEuLjgzYmUzYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRzcGVsbGNoZWNrZXJlbmNoYW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0c3BlbGxjaGVja2VyZW5jaGFudC5jcHAKQEAgLTk5LDcgKzk5
LDEwIEBAIHN0YXRpYyBjaGFyKiogZ2V0R3Vlc3Nlc0ZvcldvcmQoV2ViS2l0U3BlbGxDaGVja2Vy
KiBjaGVja2VyLCBjb25zdCBjaGFyKiB3b3JkLCBjCiBzdGF0aWMgdm9pZCB1cGRhdGVTcGVsbENo
ZWNraW5nTGFuZ3VhZ2VzKFdlYktpdFNwZWxsQ2hlY2tlciogY2hlY2tlciwgY29uc3QgY2hhciog
bGFuZ3VhZ2VzKQogewogICAgIFdlYktpdFNwZWxsQ2hlY2tlckVuY2hhbnRQcml2YXRlKiBwcml2
ID0gV0VCS0lUX1NQRUxMX0NIRUNLRVJfRU5DSEFOVChjaGVja2VyKS0+cHJpdjsKLSAgICBwcml2
LT50ZXh0Q2hlY2tlckVuY2hhbnQtPnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoU3RyaW5n
Ojpmcm9tVVRGOChsYW5ndWFnZXMpKTsKKworICAgIFZlY3RvcjxTdHJpbmc+IGxhbmd1YWdlc1Zl
Y3RvcjsKKyAgICBTdHJpbmc6OmZyb21VVEY4KGxhbmd1YWdlcykuc3BsaXQoc3RhdGljX2Nhc3Q8
VUNoYXI+KCcsJyksIGxhbmd1YWdlc1ZlY3Rvcik7CisgICAgcHJpdi0+dGV4dENoZWNrZXJFbmNo
YW50LT51cGRhdGVTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGxhbmd1YWdlc1ZlY3Rvcik7CiB9CiAK
IHN0YXRpYyBjaGFyKiBnZXRBdXRvY29ycmVjdFN1Z2dlc3Rpb25zRm9yTWlzc3BlbGxlZFdvcmQo
V2ViS2l0U3BlbGxDaGVja2VyKiBjaGVja2VyLCBjb25zdCBjaGFyKiB3b3JkKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDNlYzM4OGIuLmRlZTVmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMi0w
OC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dUS10gUHJlZmVycmVkIGxhbmd1YWdlcyBhbmQgc3BlbGxjaGVja2VyIEFQSXMgYXJlIG5v
dCBjb25zaXN0ZW50IGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk0NjgzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxlamFuZHJvIEcu
IENhc3Ryby4KKworICAgICAgICBDaGFuZ2Ugc3BlbGwtY2hlY2tlciBhbmQgcHJlZmVycmVkIGxh
bmd1YWdlcyBBUEkgdG8gdXNlIGEgR1N0cnYKKyAgICAgICAgaW5zdGVhZCBvZiBhIGNvbW1hLXNl
cGFyYXRlZCBzdHJpbmcgYW5kIEdMaXN0LiBUaGlzIG1ha2VzIHRoZSBBUEkKKyAgICAgICAgbW9y
ZSBjb25zaXN0ZW50IGFuZCBjb252ZW5pZW50IHRvIHVzZS4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9BUEkvZ3RrL1dlYktpdFRleHRDaGVja2VyLmNwcDoKKyAgICAgICAgKFdlYktpdFRleHRDaGVj
a2VyOjpnZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTogUmV0dXJuIGEKKyAgICAgICAgVmVjdG9y
PFN0cmluZz4gaW5zdGVhZCBvZiBhIFN0cmluZy4KKyAgICAgICAgKFdlYktpdFRleHRDaGVja2Vy
OjpzZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKTogUmVjZWl2ZSBhCisgICAgICAgIFZlY3RvcjxT
dHJpbmc+IGluc3RlYWQgb2YgYSBTdHJpbmcuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0VGV4dENoZWNrZXIuaDoKKyAgICAgICAgKFdlYktpdFRleHRDaGVja2VyKTogVXNlIGEg
R1B0ckFycmF5IHRvIGNhY2hlIGxhbmd1YWdlcy4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfY29udGV4dF9nZXRf
c3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfY29udGV4dF9z
ZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfY29udGV4
dF9zZXRfcHJlZmVycmVkX2xhbmd1YWdlcyk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsv
V2ViS2l0V2ViQ29udGV4dC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL3Rlc3RzL1Rl
c3RXZWJLaXRXZWJDb250ZXh0LmNwcDoKKyAgICAgICAgKHRlc3RXZWJDb250ZXh0U3BlbGxDaGVj
a2VyKToKKyAgICAgICAgKHRlc3RXZWJDb250ZXh0TGFuZ3VhZ2VzKToKKwogMjAxMi0wOC0yMiAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bV0sy
XSBFbmFibGUgcnVudGltZSBlbmFibGVkIGZlYXR1cmVzOiBEZXZpY2VNb3Rpb24gYW5kIERldmlj
ZU9yaWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRUZXh0Q2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay9XZWJLaXRUZXh0Q2hlY2tlci5jcHAKaW5kZXggNWFlNjJjNi4uMzlmNDAyMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFRleHRDaGVja2Vy
LmNwcApAQCAtMjksOCArMjksNiBAQAogI2lmIEVOQUJMRShTUEVMTENIRUNLKQogCiAjaW5jbHVk
ZSAiV2ViS2l0UHJpdmF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLSNpbmNsdWRlIDx3
dGYvdGV4dC9DU3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKQEAgLTE0MCwx
NSArMTM4LDI1IEBAIHZvaWQgV2ViS2l0VGV4dENoZWNrZXI6OnNldFNwZWxsQ2hlY2tpbmdFbmFi
bGVkKGJvb2wgZW5hYmxlZCkKICAgICBXS1RleHRDaGVja2VyQ29udGludW91c1NwZWxsQ2hlY2tp
bmdFbmFibGVkU3RhdGVDaGFuZ2VkKGVuYWJsZWQpOwogfQogCi1jb25zdCBDU3RyaW5nJiBXZWJL
aXRUZXh0Q2hlY2tlcjo6Z2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcygpCitjb25zdCBjaGFyKiBj
b25zdCogV2ViS2l0VGV4dENoZWNrZXI6OmdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKQogewot
ICAgIFN0cmluZyBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gbV90ZXh0Q2hlY2tlci0+Z2V0U3Bl
bGxDaGVja2luZ0xhbmd1YWdlcygpOwotICAgIG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IHNw
ZWxsQ2hlY2tpbmdMYW5ndWFnZXMuaXNFbXB0eSgpID8gQ1N0cmluZygpIDogc3BlbGxDaGVja2lu
Z0xhbmd1YWdlcy51dGY4KCk7Ci0gICAgcmV0dXJuIG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlczsK
KyAgICBWZWN0b3I8U3RyaW5nPiBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzID0gbV90ZXh0Q2hlY2tl
ci0+Z2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcygpOworICAgIGlmIChzcGVsbENoZWNraW5nTGFu
Z3VhZ2VzLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBtX3NwZWxsQ2hlY2tp
bmdMYW5ndWFnZXMgPSBhZG9wdEdSZWYoZ19wdHJfYXJyYXlfbmV3X3dpdGhfZnJlZV9mdW5jKGdf
ZnJlZSkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgc3BlbGxDaGVja2luZ0xhbmd1YWdl
cy5zaXplKCk7ICsraSkKKyAgICAgICAgZ19wdHJfYXJyYXlfYWRkKG1fc3BlbGxDaGVja2luZ0xh
bmd1YWdlcy5nZXQoKSwgZ19zdHJkdXAoc3BlbGxDaGVja2luZ0xhbmd1YWdlc1tpXS51dGY4KCku
ZGF0YSgpKSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlcy5n
ZXQoKSwgMCk7CisKKyAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxjaGFyKio+KG1fc3BlbGxD
aGVja2luZ0xhbmd1YWdlcy0+cGRhdGEpOwogfQogCi12b2lkIFdlYktpdFRleHRDaGVja2VyOjpz
ZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKGNvbnN0IENTdHJpbmcmIGxhbmd1YWdlcykKK3ZvaWQg
V2ViS2l0VGV4dENoZWNrZXI6OnNldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoY29uc3QgY2hhciog
Y29uc3QqIGxhbmd1YWdlcykKIHsKLSAgICBtX3RleHRDaGVja2VyLT51cGRhdGVTcGVsbENoZWNr
aW5nTGFuZ3VhZ2VzKFN0cmluZzo6ZnJvbVVURjgobGFuZ3VhZ2VzLmRhdGEoKSkpOworICAgIFZl
Y3RvcjxTdHJpbmc+IHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXM7CisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGxhbmd1YWdlc1tpXTsgKytpKQorICAgICAgICBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzLmFw
cGVuZChTdHJpbmc6OmZyb21VVEY4KGxhbmd1YWdlc1tpXSkpOworICAgIG1fdGV4dENoZWNrZXIt
PnVwZGF0ZVNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoc3BlbGxDaGVja2luZ0xhbmd1YWdlcyk7CiB9
CiAjZW5kaWYgLy8gRU5BQkxFKFNQRUxMQ0hFQ0spCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRUZXh0Q2hlY2tlci5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0VGV4dENoZWNrZXIuaAppbmRleCAzY2NhNTYyLi4xNWY3
NjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRU
ZXh0Q2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktp
dFRleHRDaGVja2VyLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDx3dGYvRmFzdEFsbG9j
QmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3Rv
ci5oPgorI2luY2x1ZGUgPHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9DU3RyaW5nLmg+CiAKIGNsYXNzIFdlYktpdFRleHRDaGVja2VyIHsKQEAgLTQ0LDE0ICs0NSwx
NCBAQCBwdWJsaWM6CiAgICAgdm9pZCBpZ25vcmVXb3JkKGNvbnN0IFN0cmluZyYgd29yZCk7CiAK
ICAgICAvLyBUbyBiZSBjYWxsZWQgZnJvbSBXZWJLaXRXZWJDb250ZXh0IG9ubHkuCi0gICAgY29u
c3QgQ1N0cmluZyYgZ2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcygpOwotICAgIHZvaWQgc2V0U3Bl
bGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBDU3RyaW5nJiBzcGVsbENoZWNraW5nTGFuZ3VhZ2Vz
KTsKKyAgICBjb25zdCBjaGFyKiBjb25zdCogZ2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcygpOwor
ICAgIHZvaWQgc2V0U3BlbGxDaGVja2luZ0xhbmd1YWdlcyhjb25zdCBjaGFyKiBjb25zdCogc3Bl
bGxDaGVja2luZ0xhbmd1YWdlcyk7CiAKIHByaXZhdGU6CiAgICAgV2ViS2l0VGV4dENoZWNrZXIo
KTsKIAogICAgIE93blB0cjxXZWJDb3JlOjpUZXh0Q2hlY2tlckVuY2hhbnQ+IG1fdGV4dENoZWNr
ZXI7Ci0gICAgQ1N0cmluZyBtX3NwZWxsQ2hlY2tpbmdMYW5ndWFnZXM7CisgICAgR1JlZlB0cjxH
UHRyQXJyYXk+IG1fc3BlbGxDaGVja2luZ0xhbmd1YWdlczsKICAgICBib29sIG1fc3BlbGxDaGVj
a2luZ0VuYWJsZWQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYkNvbnRleHQuY3BwCmluZGV4IDIxMTEzM2YuLmU5MjMxZTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRl
eHQuY3BwCkBAIC00OTUsMjQgKzQ5NSwyMCBAQCB2b2lkIHdlYmtpdF93ZWJfY29udGV4dF9zZXRf
c3BlbGxfY2hlY2tpbmdfZW5hYmxlZChXZWJLaXRXZWJDb250ZXh0KiBjb250ZXh0LCBnYgogICog
QGNvbnRleHQ6IGEgI1dlYktpdFdlYkNvbnRleHQKICAqCiAgKiBHZXQgdGhlIHRoZSBsaXN0IG9m
IHNwZWxsIGNoZWNraW5nIGxhbmd1YWdlcyBhc3NvY2lhdGVkIHdpdGgKLSAqIEBjb250ZXh0IHNl
cGFyYXRlZCBieSBjb21tYXMsIG9yICVOVUxMIGlmIG5vIGxhbmd1YWdlcyBoYXZlIGJlZW4KLSAq
IHByZXZpb3VzbHkgc2V0LgotCisgKiBAY29udGV4dCwgb3IgJU5VTEwgaWYgbm8gbGFuZ3VhZ2Vz
IGhhdmUgYmVlbiBwcmV2aW91c2x5IHNldC4KKyAqCiAgKiBTZWUgd2Via2l0X3dlYl9jb250ZXh0
X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMoKSBmb3IgbW9yZQogICogZGV0YWlscyBvbiB0
aGUgZm9ybWF0IG9mIHRoZSBsYW5ndWFnZXMgaW4gdGhlIGxpc3QuCiAgKgotICogUmV0dXJuczog
KHRyYW5zZmVyIG5vbmUpOiBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGxhbmd1YWdlcyBpZgot
ICogYXZhaWxhYmxlLCBvciAlTlVMTCBvdGhlcndpc2UuCisgKiBSZXR1cm5zOiAoYXJyYXkgemVy
by10ZXJtaW5hdGVkPTEpIChlbGVtZW50LXR5cGUgdXRmOCkgKHRyYW5zZmVyIG5vbmUpOiBBICVO
VUxMLXRlcm1pbmF0ZWQKKyAqICAgIGFycmF5IG9mIGxhbmd1YWdlcyBpZiBhdmFpbGFibGUsIG9y
ICVOVUxMIG90aGVyd2lzZS4KICAqLwotY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfY29udGV4dF9n
ZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQpCitj
b25zdCBnY2hhciogY29uc3QqIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdf
bGFuZ3VhZ2VzKFdlYktpdFdlYkNvbnRleHQqIGNvbnRleHQpCiB7CiAgICAgZ19yZXR1cm5fdmFs
X2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9DT05URVhUKGNvbnRleHQpLCAwKTsKIAogI2lmIEVOQUJM
RShTUEVMTENIRUNLKQotICAgIENTdHJpbmcgc3BlbGxDaGVja2luZ0xhbmd1YWdlcyA9IGNvbnRl
eHQtPnByaXYtPnRleHRDaGVja2VyLT5nZXRTcGVsbENoZWNraW5nTGFuZ3VhZ2VzKCk7Ci0gICAg
aWYgKHNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMuaXNOdWxsKCkpCi0gICAgICAgIHJldHVybiAwOwot
ICAgIHJldHVybiBzcGVsbENoZWNraW5nTGFuZ3VhZ2VzLmRhdGEoKTsKKyAgICByZXR1cm4gY29u
dGV4dC0+cHJpdi0+dGV4dENoZWNrZXItPmdldFNwZWxsQ2hlY2tpbmdMYW5ndWFnZXMoKTsKICNl
bHNlCiAgICAgcmV0dXJuIDA7CiAjZW5kaWYKQEAgLTUyMSwxMSArNTE3LDEwIEBAIGNvbnN0IGdj
aGFyKiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyhXZWJL
aXRXZWJDb250ZXh0KiBjCiAvKioKICAqIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxfY2hl
Y2tpbmdfbGFuZ3VhZ2VzOgogICogQGNvbnRleHQ6IGEgI1dlYktpdFdlYkNvbnRleHQKLSAqIEBs
YW5ndWFnZXM6IG5ldyBsaXN0IG9mIHNwZWxsIGNoZWNraW5nIGxhbmd1YWdlcyBzZXBhcmF0ZWQg
YnkKLSAqIGNvbW1hcworICogQGxhbmd1YWdlczogKGFycmF5IHplcm8tdGVybWluYXRlZD0xKSAo
dHJhbnNmZXIgbm9uZSk6IGEgJU5VTEwtdGVybWluYXRlZCBsaXN0IG9mIHNwZWxsIGNoZWNraW5n
IGxhbmd1YWdlcwogICoKICAqIFNldCB0aGUgbGlzdCBvZiBzcGVsbCBjaGVja2luZyBsYW5ndWFn
ZXMgdG8gYmUgdXNlZCBmb3Igc3BlbGwKLSAqIGNoZWNraW5nLCBzZXBhcmF0ZWQgYnkgY29tbWFz
LgorICogY2hlY2tpbmcuCiAgKgogICogVGhlIGxvY2FsZSBzdHJpbmcgdHlwaWNhbGx5IGlzIGlu
IHRoZSBmb3JtIGxhbmdfQ09VTlRSWSwgd2hlcmUgbGFuZwogICogaXMgYW4gSVNPLTYzOSBsYW5n
dWFnZSBjb2RlLCBhbmQgQ09VTlRSWSBpcyBhbiBJU08tMzE2NiBjb3VudHJ5IGNvZGUuCkBAIC01
MzYsNyArNTMxLDcgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxf
Y2hlY2tpbmdfbGFuZ3VhZ2VzKFdlYktpdFdlYkNvbnRleHQqIGMKICAqIGxlYXN0IG9uY2UgaW4g
b3JkZXIgdG8gcHJvcGVybHkgZW5hYmxlIHRoZSBzcGVsbCBjaGVja2luZyBmZWF0dXJlCiAgKiBp
biBXZWJLaXQuCiAgKi8KLXZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2lu
Z19sYW5ndWFnZXMoV2ViS2l0V2ViQ29udGV4dCogY29udGV4dCwgY29uc3QgZ2NoYXIqIGxhbmd1
YWdlcykKK3ZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFn
ZXMoV2ViS2l0V2ViQ29udGV4dCogY29udGV4dCwgY29uc3QgZ2NoYXIqIGNvbnN0KiBsYW5ndWFn
ZXMpCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0NPTlRFWFQoY29udGV4
dCkpOwogICAgIGdfcmV0dXJuX2lmX2ZhaWwobGFuZ3VhZ2VzKTsKQEAgLTU0OSwyMyArNTQ0LDIz
IEBAIHZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMo
V2ViS2l0V2ViQ29udGV4dCogY29udGV4dCwKIC8qKgogICogd2Via2l0X3dlYl9jb250ZXh0X3Nl
dF9wcmVmZXJyZWRfbGFuZ3VhZ2VzOgogICogQGNvbnRleHQ6IGEgI1dlYktpdFdlYkNvbnRleHQK
LSAqIEBsYW5ndWFnZXM6IChlbGVtZW50LXR5cGUgdXRmOCk6IGEgI0dMaXN0IG9mIGxhbmd1YWdl
IGlkZW50aWZpZXJzCisgKiBAbGFuZ3VhZ2VzOiAoYWxsb3ctbm9uZSkgKGFycmF5IHplcm8tdGVy
bWluYXRlZD0xKSAoZWxlbWVudC10eXBlIHV0ZjgpICh0cmFuc2ZlciBub25lKTogYSAlTlVMTC10
ZXJtaW5hdGVkIGxpc3Qgb2YgbGFuZ3VhZ2UgaWRlbnRpZmllcnMKICAqCiAgKiBTZXQgdGhlIGxp
c3Qgb2YgcHJlZmVycmVkIGxhbmd1YWdlcywgc29ydGVkIGZyb20gbW9zdCBkZXNpcmFibGUKICAq
IHRvIGxlYXN0IGRlc2lyYWJsZS4gVGhlIGxpc3Qgd2lsbCBiZSB1c2VkIHRvIGJ1aWxkIHRoZSAi
QWNjZXB0LUxhbmd1YWdlIgogICogaGVhZGVyIHRoYXQgd2lsbCBiZSBpbmNsdWRlZCBpbiB0aGUg
bmV0d29yayByZXF1ZXN0cyBzdGFydGVkIGJ5CiAgKiB0aGUgI1dlYktpdFdlYkNvbnRleHQuCiAg
Ki8KLXZvaWQgd2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3VhZ2VzKFdlYktp
dFdlYkNvbnRleHQqIGNvbnRleHQsIEdMaXN0KiBsYW5ndWFnZUxpc3QpCit2b2lkIHdlYmtpdF93
ZWJfY29udGV4dF9zZXRfcHJlZmVycmVkX2xhbmd1YWdlcyhXZWJLaXRXZWJDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBnY2hhciogY29uc3QqIGxhbmd1YWdlTGlzdCkKIHsKICAgICBnX3JldHVybl9p
Zl9mYWlsKFdFQktJVF9JU19XRUJfQ09OVEVYVChjb250ZXh0KSk7CiAKLSAgICBpZiAoIWxhbmd1
YWdlTGlzdCkKKyAgICBpZiAoIWxhbmd1YWdlTGlzdCB8fCAhZ19zdHJ2X2xlbmd0aChjb25zdF9j
YXN0PGNoYXIqKj4obGFuZ3VhZ2VMaXN0KSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIFZlY3Rv
cjxTdHJpbmc+IGxhbmd1YWdlczsKLSAgICBmb3IgKEdMaXN0KiBpdGVyID0gbGFuZ3VhZ2VMaXN0
OyBpdGVyOyBpdGVyID0gZ19saXN0X25leHQoaXRlcikpCi0gICAgICAgIGxhbmd1YWdlcy5hcHBl
bmQoU3RyaW5nOjpmcm9tVVRGOChzdGF0aWNfY2FzdDxjaGFyKj4oaXRlci0+ZGF0YSkpLmxvd2Vy
KCkucmVwbGFjZSgiXyIsICItIikpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBsYW5ndWFnZUxp
c3RbaV07ICsraSkKKyAgICAgICAgbGFuZ3VhZ2VzLmFwcGVuZChTdHJpbmc6OmZyb21VVEY4KGxh
bmd1YWdlTGlzdFtpXSkubG93ZXIoKS5yZXBsYWNlKCJfIiwgIi0iKSk7CiAKICAgICBXZWJDb3Jl
OjpvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMobGFuZ3VhZ2VzKTsKICAgICBXZWJDb3Jl
OjpsYW5ndWFnZURpZENoYW5nZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViQ29udGV4dC5oCmluZGV4IDNjOTdjNzEuLmEyYmY1NzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYkNvbnRleHQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJDb250ZXh0
LmgKQEAgLTE0MCwxNiArMTQwLDE2IEBAIHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hl
Y2tpbmdfZW5hYmxlZCAgICAgICAoV2ViS2l0V2ViQ29udGV4dAogV0VCS0lUX0FQSSB2b2lkCiB3
ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQgICAgICAgKFdlYktp
dFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0LAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgICAg
ICAgICAgZW5hYmxlZCk7Ci1XRUJLSVRfQVBJIGNvbnN0IGdjaGFyICoKK1dFQktJVF9BUEkgY29u
c3QgZ2NoYXIgKiBjb25zdCAqCiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5n
X2xhbmd1YWdlcyAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsK
IAogV0VCS0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5n
X2xhbmd1YWdlcyAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0LAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBnY2hhciAgICAgICAgICAgICAgICAgICAqbGFuZ3VhZ2VzKTsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKiBjb25zdCAg
ICAgICAgICAgKmxhbmd1YWdlcyk7CiAKIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3dlYl9jb250
ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3VhZ2VzICAgICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAg
ICAgICAgICAgICAqY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0xpc3QgICAgICAgICAgICAgICAgICAgICAgICAgKmxhbmd1YWdl
cyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnN0IGdjaGFyICogY29uc3QgICAgICAgICAgICpsYW5ndWFnZXMpOwogCiBHX0VORF9ERUNM
UwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay90ZXN0cy9U
ZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0
ay90ZXN0cy9UZXN0V2ViS2l0V2ViQ29udGV4dC5jcHAKaW5kZXggMjdmNmE1NC4uN2M3MTIyNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvdGVzdHMvVGVzdFdl
YktpdFdlYkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3Rr
L3Rlc3RzL1Rlc3RXZWJLaXRXZWJDb250ZXh0LmNwcApAQCAtMjEwLDI2ICsyMTAsNDQgQEAgc3Rh
dGljIHZvaWQgdGVzdFdlYkNvbnRleHRTcGVsbENoZWNrZXIoVGVzdCogdGVzdCwgZ2NvbnN0cG9p
bnRlcikKICAgICBXZWJLaXRXZWJDb250ZXh0KiB3ZWJDb250ZXh0ID0gd2Via2l0X3dlYl9jb250
ZXh0X2dldF9kZWZhdWx0KCk7CiAKICAgICAvLyBDaGVjayB3aGF0IGhhcHBlbnMgaWYgbm8gc3Bl
bGwgY2hlY2tpbmcgbGFuZ3VhZ2UgaGFzIGJlZW4gc2V0LgotICAgIGNvbnN0IGdjaGFyKiBjdXJy
ZW50TGFuZ3VhZ2UgPSB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1
YWdlcyh3ZWJDb250ZXh0KTsKKyAgICBjb25zdCBnY2hhciogY29uc3QqIGN1cnJlbnRMYW5ndWFn
ZSA9IHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKHdlYkNv
bnRleHQpOwogICAgIGdfYXNzZXJ0KCFjdXJyZW50TGFuZ3VhZ2UpOwogCiAgICAgLy8gU2V0IHRo
ZSBsYW5ndWFnZSB0byBhIHNwZWNpZmljIG9uZS4KLSAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0
X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LCAiZW5fVVMiKTsKKyAgICBHUmVm
UHRyPEdQdHJBcnJheT4gbGFuZ3VhZ2VzID0gYWRvcHRHUmVmKGdfcHRyX2FycmF5X25ldygpKTsK
KyAgICBnX3B0cl9hcnJheV9hZGQobGFuZ3VhZ2VzLmdldCgpLCBjb25zdF9jYXN0PGdwb2ludGVy
PihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oImVuX1VTIikpKTsKKyAgICBnX3B0cl9hcnJheV9h
ZGQobGFuZ3VhZ2VzLmdldCgpLCAwKTsKKyAgICB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxs
X2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LCByZWludGVycHJldF9jYXN0PGNvbnN0IGNo
YXIqIGNvbnN0Kj4obGFuZ3VhZ2VzLT5wZGF0YSkpOwogICAgIGN1cnJlbnRMYW5ndWFnZSA9IHdl
YmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKHdlYkNvbnRleHQp
OwotICAgIGdfYXNzZXJ0X2NtcHN0cihjdXJyZW50TGFuZ3VhZ2UsID09LCAiZW5fVVMiKTsKKyAg
ICBnX2Fzc2VydF9jbXB1aW50KGdfc3Rydl9sZW5ndGgoY29uc3RfY2FzdDxjaGFyKio+KGN1cnJl
bnRMYW5ndWFnZSkpLCA9PSwgMSk7CisgICAgZ19hc3NlcnRfY21wc3RyKGN1cnJlbnRMYW5ndWFn
ZVswXSwgPT0sICJlbl9VUyIpOwogCiAgICAgLy8gU2V0IHRoZSBsYW5ndWFnZSBzdHJpbmcgdG8g
bGlzdCBvZiB2YWxpZCBsYW5ndWFnZXMuCi0gICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVs
bF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCwgImVuX0dCLGVuX1VTIik7CisgICAgZ19w
dHJfYXJyYXlfcmVtb3ZlX2luZGV4X2Zhc3QobGFuZ3VhZ2VzLmdldCgpLCBsYW5ndWFnZXMtPmxl
biAtIDEpOworICAgIGdfcHRyX2FycmF5X2FkZChsYW5ndWFnZXMuZ2V0KCksIGNvbnN0X2Nhc3Q8
Z3BvaW50ZXI+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPigiZW5fR0IiKSkpOworICAgIGdfcHRy
X2FycmF5X2FkZChsYW5ndWFnZXMuZ2V0KCksIDApOworICAgIHdlYmtpdF93ZWJfY29udGV4dF9z
ZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzKHdlYkNvbnRleHQsIHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgY2hhciogY29uc3QqPihsYW5ndWFnZXMtPnBkYXRhKSk7CiAgICAgY3VycmVudExhbmd1
YWdlID0gd2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2Vi
Q29udGV4dCk7Ci0gICAgZ19hc3NlcnRfY21wc3RyKGN1cnJlbnRMYW5ndWFnZSwgPT0sICJlbl9H
Qixlbl9VUyIpOworICAgIGdfYXNzZXJ0X2NtcHVpbnQoZ19zdHJ2X2xlbmd0aChjb25zdF9jYXN0
PGNoYXIqKj4oY3VycmVudExhbmd1YWdlKSksID09LCAyKTsKKyAgICBnX2Fzc2VydF9jbXBzdHIo
Y3VycmVudExhbmd1YWdlWzBdLCA9PSwgImVuX1VTIik7CisgICAgZ19hc3NlcnRfY21wc3RyKGN1
cnJlbnRMYW5ndWFnZVsxXSwgPT0sICJlbl9HQiIpOwogCiAgICAgLy8gVHJ5IHBhc3NpbmcgYSB3
cm9uZyBsYW5ndWFnZSBhbG9uZyB3aXRoIGdvb2Qgb25lcy4KLSAgICB3ZWJraXRfd2ViX2NvbnRl
eHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LCAiYmRfV1IsZW5fVVMs
ZW5fR0IiKTsKKyAgICBnX3B0cl9hcnJheV9yZW1vdmVfaW5kZXhfZmFzdChsYW5ndWFnZXMuZ2V0
KCksIGxhbmd1YWdlcy0+bGVuIC0gMSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKGxhbmd1YWdlcy5n
ZXQoKSwgY29uc3RfY2FzdDxncG9pbnRlcj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KCJiZF9X
UiIpKSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKGxhbmd1YWdlcy5nZXQoKSwgMCk7CisgICAgd2Vi
a2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCwg
cmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKiBjb25zdCo+KGxhbmd1YWdlcy0+cGRhdGEpKTsK
ICAgICBjdXJyZW50TGFuZ3VhZ2UgPSB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNr
aW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0KTsKLSAgICBnX2Fzc2VydF9jbXBzdHIoY3VycmVudExh
bmd1YWdlLCA9PSwgImVuX1VTLGVuX0dCIik7CisgICAgZ19hc3NlcnRfY21wdWludChnX3N0cnZf
bGVuZ3RoKGNvbnN0X2Nhc3Q8Y2hhcioqPihjdXJyZW50TGFuZ3VhZ2UpKSwgPT0sIDIpOworICAg
IGdfYXNzZXJ0X2NtcHN0cihjdXJyZW50TGFuZ3VhZ2VbMF0sID09LCAiZW5fVVMiKTsKKyAgICBn
X2Fzc2VydF9jbXBzdHIoY3VycmVudExhbmd1YWdlWzFdLCA9PSwgImVuX0dCIik7CiAKICAgICAv
LyBUcnkgcGFzc2luZyBhIGxpc3Qgd2l0aCBvbmx5IHdyb25nIGxhbmd1YWdlcy4KLSAgICB3ZWJr
aXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcyh3ZWJDb250ZXh0LCAi
YmRfV1Isd3JfQkQiKTsKKyAgICBsYW5ndWFnZXMgPSBhZG9wdEdSZWYoZ19wdHJfYXJyYXlfbmV3
KCkpOworICAgIGdfcHRyX2FycmF5X2FkZChsYW5ndWFnZXMuZ2V0KCksIGNvbnN0X2Nhc3Q8Z3Bv
aW50ZXI+KHN0YXRpY19jYXN0PGNvbnN0IHZvaWQqPigiYmRfV1IiKSkpOworICAgIGdfcHRyX2Fy
cmF5X2FkZChsYW5ndWFnZXMuZ2V0KCksIGNvbnN0X2Nhc3Q8Z3BvaW50ZXI+KHN0YXRpY19jYXN0
PGNvbnN0IHZvaWQqPigid3JfQkQiKSkpOworICAgIGdfcHRyX2FycmF5X2FkZChsYW5ndWFnZXMu
Z2V0KCksIDApOworICAgIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxfY2hlY2tpbmdfbGFu
Z3VhZ2VzKHdlYkNvbnRleHQsIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhciogY29uc3QqPihs
YW5ndWFnZXMtPnBkYXRhKSk7CiAgICAgY3VycmVudExhbmd1YWdlID0gd2Via2l0X3dlYl9jb250
ZXh0X2dldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMod2ViQ29udGV4dCk7CiAgICAgZ19hc3Nl
cnQoIWN1cnJlbnRMYW5ndWFnZSk7CiAKQEAgLTI1MCwxMSArMjY4LDEyIEBAIHN0YXRpYyB2b2lk
IHRlc3RXZWJDb250ZXh0TGFuZ3VhZ2VzKFdlYlZpZXdUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVy
KQogICAgIGdfYXNzZXJ0X2NtcHVpbnQobWFpblJlc291cmNlRGF0YVNpemUsID09LCBzdHJsZW4o
ZXhwZWN0ZWREZWZhdWx0TGFuZ3VhZ2UpKTsKICAgICBnX2Fzc2VydCghc3RybmNtcChtYWluUmVz
b3VyY2VEYXRhLCBleHBlY3RlZERlZmF1bHRMYW5ndWFnZSwgbWFpblJlc291cmNlRGF0YVNpemUp
KTsKIAotICAgIEdMaXN0KiBsYW5ndWFnZXMgPSBnX2xpc3RfcHJlcGVuZCgwLCBjb25zdF9jYXN0
PGdwb2ludGVyPihzdGF0aWNfY2FzdDxjb25zdCB2b2lkKj4oImRFIikpKTsKLSAgICBsYW5ndWFn
ZXMgPSBnX2xpc3RfcHJlcGVuZChsYW5ndWFnZXMsIGNvbnN0X2Nhc3Q8Z3BvaW50ZXI+KHN0YXRp
Y19jYXN0PGNvbnN0IHZvaWQqPigiRVNfZXMiKSkpOwotICAgIGxhbmd1YWdlcyA9IGdfbGlzdF9w
cmVwZW5kKGxhbmd1YWdlcywgY29uc3RfY2FzdDxncG9pbnRlcj4oc3RhdGljX2Nhc3Q8Y29uc3Qg
dm9pZCo+KCJlbiIpKSk7Ci0gICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFu
Z3VhZ2VzKHdlYmtpdF93ZWJfY29udGV4dF9nZXRfZGVmYXVsdCgpLCBsYW5ndWFnZXMpOwotICAg
IGdfbGlzdF9mcmVlKGxhbmd1YWdlcyk7CisgICAgR1JlZlB0cjxHUHRyQXJyYXk+IGxhbmd1YWdl
cyA9IGFkb3B0R1JlZihnX3B0cl9hcnJheV9uZXcoKSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKGxh
bmd1YWdlcy5nZXQoKSwgY29uc3RfY2FzdDxncG9pbnRlcj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9p
ZCo+KCJlbiIpKSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKGxhbmd1YWdlcy5nZXQoKSwgY29uc3Rf
Y2FzdDxncG9pbnRlcj4oc3RhdGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KCJFU19lcyIpKSk7CisgICAg
Z19wdHJfYXJyYXlfYWRkKGxhbmd1YWdlcy5nZXQoKSwgY29uc3RfY2FzdDxncG9pbnRlcj4oc3Rh
dGljX2Nhc3Q8Y29uc3Qgdm9pZCo+KCJkRSIpKSk7CisgICAgZ19wdHJfYXJyYXlfYWRkKGxhbmd1
YWdlcy5nZXQoKSwgMCk7CisgICAgd2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFu
Z3VhZ2VzKHdlYmtpdF93ZWJfY29udGV4dF9nZXRfZGVmYXVsdCgpLCByZWludGVycHJldF9jYXN0
PGNvbnN0IGNoYXIqIGNvbnN0Kj4obGFuZ3VhZ2VzLT5wZGF0YSkpOwogCiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGV4cGVjdGVkTGFuZ3VhZ2VzID0gImVuLCBlcy1lcztxPTAuOTAsIGRlO3E9MC44
MCI7CiAgICAgdGVzdC0+bG9hZFVSSShrU2VydmVyLT5nZXRVUklGb3JQYXRoKCIvIikuZGF0YSgp
KTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159941</attachid>
            <date>2012-08-22 08:24:30 -0700</date>
            <delta_ts>2012-08-22 10:37:07 -0700</delta_ts>
            <desc>patch</desc>
            <filename>bug94711</filename>
            <type>text/plain</type>
            <size>4070</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDJkMjI1MGQ5MDJhODUyOTgzMTU5YzYzN2I5MDk3YWU4MzI3M2I3ZDUKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEF1ZyAyMiAxODoxMToxNCAyMDEyICswMzAwCgogICAgYnVnOTQ3MTEKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggZGVlNWYzOS4uYTY1NTUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA4
LTIyICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtXSzJdIFJlZmFjdG9yaW5nOiBXZWJCYWNrRm9yd2FyZExpc3QgZ2V0dGVycyBz
aG91bGQgYmUgY29uc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk0NzExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQmVmb3JlIHRoZSBjaGFuZ2Ugd2VyZSBub3QgY29uc2lzdGVudCB3aXRoIGVhY2ggb3Ro
ZXIgCisgICAgICAgIChXZWJCYWNrRm9yd2FyZExpc3Q6OmVudHJpZXMoKSB3YXMgY29uc3QgYnV0
IFdlYkJhY2tGb3J3YXJkTGlzdDo6Y3VycmVudEluZGV4KCkgd2FzIG5vdCkuCisgICAgICAgIEJl
c2lkZXMgaGF2aW5nIGEgIG5vdCBjb25zdCBnZXR0ZXJzIGxvb2tzIGxpa2UgYmFkIEMrKyBzdHls
ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmJhY2tMaXN0Q291bnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0Q291bnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmJhY2tMaXN0QXNJbW11dGFibGVBcnJheVdpdGhM
aW1pdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RB
c0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0Zv
cndhcmRMaXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6Y3VycmVu
dEluZGV4KToKKyAgICAgICAgKFdlYkJhY2tGb3J3YXJkTGlzdCk6CisKIDIwMTItMDgtMjIgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtd
IFByZWZlcnJlZCBsYW5ndWFnZXMgYW5kIHNwZWxsY2hlY2tlciBBUElzIGFyZSBub3QgY29uc2lz
dGVudCBpbiBXZWJLaXQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZExpc3QuY3BwCmluZGV4IDAwZThmNGMuLjc2MzAyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCkBAIC0xODYsMjEgKzE4NiwyMSBA
QCBXZWJCYWNrRm9yd2FyZExpc3RJdGVtKiBXZWJCYWNrRm9yd2FyZExpc3Q6Oml0ZW1BdEluZGV4
KGludCBpbmRleCkKICAgICByZXR1cm4gbV9lbnRyaWVzW2luZGV4ICsgbV9jdXJyZW50SW5kZXhd
LmdldCgpOwogfQogCi1pbnQgV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdENvdW50KCkKK2lu
dCBXZWJCYWNrRm9yd2FyZExpc3Q6OmJhY2tMaXN0Q291bnQoKSBjb25zdAogewogICAgIEFTU0VS
VCghbV9oYXNDdXJyZW50SW5kZXggfHwgbV9jdXJyZW50SW5kZXggPCBtX2VudHJpZXMuc2l6ZSgp
KTsKIAogICAgIHJldHVybiBtX3BhZ2UgJiYgbV9oYXNDdXJyZW50SW5kZXggPyBtX2N1cnJlbnRJ
bmRleCA6IDA7CiB9CiAKLWludCBXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0Q291bnQo
KQoraW50IFdlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RDb3VudCgpIGNvbnN0CiB7CiAg
ICAgQVNTRVJUKCFtX2hhc0N1cnJlbnRJbmRleCB8fCBtX2N1cnJlbnRJbmRleCA8IG1fZW50cmll
cy5zaXplKCkpOwogCiAgICAgcmV0dXJuIG1fcGFnZSAmJiBtX2hhc0N1cnJlbnRJbmRleCA/IG1f
ZW50cmllcy5zaXplKCkgLSAobV9jdXJyZW50SW5kZXggKyAxKSA6IDA7CiB9CiAKLVBhc3NSZWZQ
dHI8SW1tdXRhYmxlQXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdDo6YmFja0xpc3RBc0ltbXV0YWJs
ZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KQorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJh
eT4gV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQo
dW5zaWduZWQgbGltaXQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFtX2hhc0N1cnJlbnRJbmRleCB8
fCBtX2N1cnJlbnRJbmRleCA8IG1fZW50cmllcy5zaXplKCkpOwogCkBAIC0yMjQsNyArMjI0LDcg
QEAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlz
dEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQKICAgICByZXR1cm4gSW1tdXRhYmxlQXJyYXk6OmFk
b3B0KHZlY3Rvcik7CiB9CiAKLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IFdlYkJhY2tGb3J3
YXJkTGlzdDo6Zm9yd2FyZExpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxp
bWl0KQorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0Ojpmb3J3
YXJkTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpIGNvbnN0CiB7
CiAgICAgQVNTRVJUKCFtX2hhc0N1cnJlbnRJbmRleCB8fCBtX2N1cnJlbnRJbmRleCA8IG1fZW50
cmllcy5zaXplKCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zvcndh
cmRMaXN0LmgKaW5kZXggMTZhNTYyZC4uZDc4ZWQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaApAQCAtNzAsMTIgKzcwLDEyIEBAIHB1YmxpYzoK
ICAgICAKICAgICBjb25zdCBCYWNrRm9yd2FyZExpc3RJdGVtVmVjdG9yJiBlbnRyaWVzKCkgY29u
c3QgeyByZXR1cm4gbV9lbnRyaWVzOyB9CiAKLSAgICB1aW50MzJfdCBjdXJyZW50SW5kZXgoKSB7
IHJldHVybiBtX2N1cnJlbnRJbmRleDsgfQotICAgIGludCBiYWNrTGlzdENvdW50KCk7Ci0gICAg
aW50IGZvcndhcmRMaXN0Q291bnQoKTsKKyAgICB1aW50MzJfdCBjdXJyZW50SW5kZXgoKSBjb25z
dCB7IHJldHVybiBtX2N1cnJlbnRJbmRleDsgfQorICAgIGludCBiYWNrTGlzdENvdW50KCkgY29u
c3Q7CisgICAgaW50IGZvcndhcmRMaXN0Q291bnQoKSBjb25zdDsKIAotICAgIFBhc3NSZWZQdHI8
SW1tdXRhYmxlQXJyYXk+IGJhY2tMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25l
ZCBsaW1pdCk7Ci0gICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gZm9yd2FyZExpc3RBc0lt
bXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KTsKKyAgICBQYXNzUmVmUHRyPElt
bXV0YWJsZUFycmF5PiBiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQg
bGltaXQpIGNvbnN0OworICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0
QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCkgY29uc3Q7CiAKICNpZiBV
U0UoQ0YpCiAgICAgQ0ZEaWN0aW9uYXJ5UmVmIGNyZWF0ZUNGRGljdGlvbmFyeVJlcHJlc2VudGF0
aW9uKFdlYlBhZ2VQcm94eTo6V2ViUGFnZVByb3h5U2Vzc2lvblN0YXRlRmlsdGVyQ2FsbGJhY2ss
IHZvaWQqIGNvbnRleHQpIGNvbnN0Owo=
</data>
<flag name="review"
          id="170370"
          type_id="1"
          status="+"
          setter="kenneth"
    />
    <flag name="commit-queue"
          id="170371"
          type_id="3"
          status="-"
          setter="kenneth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159962</attachid>
            <date>2012-08-22 10:37:07 -0700</date>
            <delta_ts>2012-08-23 01:29:21 -0700</delta_ts>
            <desc>patch v2</desc>
            <filename>bug94711_v2</filename>
            <type>text/plain</type>
            <size>4220</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDE4OTEyZTFhZjNiMjg0YjQ0MjQ3NzRjOTUzZDdmZWE4NmJjOTJjMDAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEF1ZyAyMiAxODoxMToxNCAyMDEyICswMzAwCgogICAgYnVnOTQ3MTEKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggZGVlNWYzOS4uOWE3NTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA4
LTIyICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtXSzJdIFJlZmFjdG9yaW5nOiBXZWJCYWNrRm9yd2FyZExpc3QgZ2V0dGVycyBz
aG91bGQgYmUgY29uc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk0NzExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4uCisKKyAgICAgICAgQmVmb3JlIHRoZSBjaGFuZ2Ugd2VyZSBub3QgY29uc2lzdGVudCB3
aXRoIGVhY2ggb3RoZXIgCisgICAgICAgIChXZWJCYWNrRm9yd2FyZExpc3Q6OmVudHJpZXMoKSB3
YXMgY29uc3QgYnV0IFdlYkJhY2tGb3J3YXJkTGlzdDo6Y3VycmVudEluZGV4KCkgd2FzIG5vdCku
CisgICAgICAgIEJlc2lkZXMgaGF2aW5nIG5vdCBjb25zdCBnZXR0ZXJzIGlzIG5vdCBhIGdvb2Qg
cHJhY3RpY2UgaW4gQysrLiAoUGxlYXNlIHJlYWQKKyAgICAgICAgU2NvdHQgTWV5ZXJzLiBFZmZl
Y3RpdmUgQysrICgzcmQgZWRpdGlvbikuIElTQk46IDAtMzIxLTMzNDg3LTYuIAorICAgICAgICBJ
dGVtIDM6ICdVc2UgY29uc3Qgd2hlbmV2ZXIgcG9zc2libGUnKS4KKworICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9y
d2FyZExpc3Q6OmJhY2tMaXN0Q291bnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2Fy
ZExpc3Q6OmZvcndhcmRMaXN0Q291bnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJCYWNrRm9yd2Fy
ZExpc3Q6OmJhY2tMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExp
bWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0Lmg6CisgICAgICAg
IChXZWJLaXQ6OldlYkJhY2tGb3J3YXJkTGlzdDo6Y3VycmVudEluZGV4KToKKyAgICAgICAgKFdl
YkJhY2tGb3J3YXJkTGlzdCk6CisKIDIwMTItMDgtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFByZWZlcnJlZCBsYW5ndWFnZXMg
YW5kIHNwZWxsY2hlY2tlciBBUElzIGFyZSBub3QgY29uc2lzdGVudCBpbiBXZWJLaXQyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwCmluZGV4IDAw
ZThmNGMuLjc2MzAyM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNr
Rm9yd2FyZExpc3QuY3BwCkBAIC0xODYsMjEgKzE4NiwyMSBAQCBXZWJCYWNrRm9yd2FyZExpc3RJ
dGVtKiBXZWJCYWNrRm9yd2FyZExpc3Q6Oml0ZW1BdEluZGV4KGludCBpbmRleCkKICAgICByZXR1
cm4gbV9lbnRyaWVzW2luZGV4ICsgbV9jdXJyZW50SW5kZXhdLmdldCgpOwogfQogCi1pbnQgV2Vi
QmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdENvdW50KCkKK2ludCBXZWJCYWNrRm9yd2FyZExpc3Q6
OmJhY2tMaXN0Q291bnQoKSBjb25zdAogewogICAgIEFTU0VSVCghbV9oYXNDdXJyZW50SW5kZXgg
fHwgbV9jdXJyZW50SW5kZXggPCBtX2VudHJpZXMuc2l6ZSgpKTsKIAogICAgIHJldHVybiBtX3Bh
Z2UgJiYgbV9oYXNDdXJyZW50SW5kZXggPyBtX2N1cnJlbnRJbmRleCA6IDA7CiB9CiAKLWludCBX
ZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0Q291bnQoKQoraW50IFdlYkJhY2tGb3J3YXJk
TGlzdDo6Zm9yd2FyZExpc3RDb3VudCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFtX2hhc0N1cnJl
bnRJbmRleCB8fCBtX2N1cnJlbnRJbmRleCA8IG1fZW50cmllcy5zaXplKCkpOwogCiAgICAgcmV0
dXJuIG1fcGFnZSAmJiBtX2hhc0N1cnJlbnRJbmRleCA/IG1fZW50cmllcy5zaXplKCkgLSAobV9j
dXJyZW50SW5kZXggKyAxKSA6IDA7CiB9CiAKLVBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IFdl
YkJhY2tGb3J3YXJkTGlzdDo6YmFja0xpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2ln
bmVkIGxpbWl0KQorUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0
OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKCFtX2hhc0N1cnJlbnRJbmRleCB8fCBtX2N1cnJlbnRJbmRleCA8IG1f
ZW50cmllcy5zaXplKCkpOwogCkBAIC0yMjQsNyArMjI0LDcgQEAgUGFzc1JlZlB0cjxJbW11dGFi
bGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRo
TGltaXQKICAgICByZXR1cm4gSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHZlY3Rvcik7CiB9CiAKLVBh
c3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RB
c0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KQorUGFzc1JlZlB0cjxJbW11
dGFibGVBcnJheT4gV2ViQmFja0ZvcndhcmRMaXN0Ojpmb3J3YXJkTGlzdEFzSW1tdXRhYmxlQXJy
YXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFtX2hhc0N1
cnJlbnRJbmRleCB8fCBtX2N1cnJlbnRJbmRleCA8IG1fZW50cmllcy5zaXplKCkpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmggYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmgKaW5kZXggMTZhNTYy
ZC4uZDc4ZWQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tG
b3J3YXJkTGlzdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2Fy
ZExpc3QuaApAQCAtNzAsMTIgKzcwLDEyIEBAIHB1YmxpYzoKICAgICAKICAgICBjb25zdCBCYWNr
Rm9yd2FyZExpc3RJdGVtVmVjdG9yJiBlbnRyaWVzKCkgY29uc3QgeyByZXR1cm4gbV9lbnRyaWVz
OyB9CiAKLSAgICB1aW50MzJfdCBjdXJyZW50SW5kZXgoKSB7IHJldHVybiBtX2N1cnJlbnRJbmRl
eDsgfQotICAgIGludCBiYWNrTGlzdENvdW50KCk7Ci0gICAgaW50IGZvcndhcmRMaXN0Q291bnQo
KTsKKyAgICB1aW50MzJfdCBjdXJyZW50SW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2N1cnJlbnRJ
bmRleDsgfQorICAgIGludCBiYWNrTGlzdENvdW50KCkgY29uc3Q7CisgICAgaW50IGZvcndhcmRM
aXN0Q291bnQoKSBjb25zdDsKIAotICAgIFBhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGJhY2tM
aXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCk7Ci0gICAgUGFzc1Jl
ZlB0cjxJbW11dGFibGVBcnJheT4gZm9yd2FyZExpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0
KHVuc2lnbmVkIGxpbWl0KTsKKyAgICBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBiYWNrTGlz
dEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpIGNvbnN0OworICAgIFBh
c3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11dGFibGVBcnJheVdpdGhM
aW1pdCh1bnNpZ25lZCBsaW1pdCkgY29uc3Q7CiAKICNpZiBVU0UoQ0YpCiAgICAgQ0ZEaWN0aW9u
YXJ5UmVmIGNyZWF0ZUNGRGljdGlvbmFyeVJlcHJlc2VudGF0aW9uKFdlYlBhZ2VQcm94eTo6V2Vi
UGFnZVByb3h5U2Vzc2lvblN0YXRlRmlsdGVyQ2FsbGJhY2ssIHZvaWQqIGNvbnRleHQpIGNvbnN0
Owo=
</data>
<flag name="commit-queue"
          id="170403"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160113</attachid>
            <date>2012-08-23 01:29:21 -0700</date>
            <delta_ts>2012-08-23 01:46:49 -0700</delta_ts>
            <desc>to be landed</desc>
            <filename>bug94711_v2</filename>
            <type>text/plain</type>
            <size>4218</size>
            <attacher name="Mikhail Pozdnyakov">mikhail.pozdnyakov</attacher>
            
              <data encoding="base64">Y29tbWl0IDE4OTEyZTFhZjNiMjg0YjQ0MjQ3NzRjOTUzZDdmZWE4NmJjOTJjMDAKQXV0aG9yOiBN
aWtoYWlsIFBvemRueWFrb3YgPG1pa2hhaWwucG96ZG55YWtvdkBpbnRlbC5jb20+CkRhdGU6ICAg
V2VkIEF1ZyAyMiAxODoxMToxNCAyMDEyICswMzAwCgogICAgYnVnOTQ3MTEKCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggZGVlNWYzOS4uOWE3NTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTA4
LTIyICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZAaW50ZWwuY29tPgor
CisgICAgICAgIFtXSzJdIFJlZmFjdG9yaW5nOiBXZWJCYWNrRm9yd2FyZExpc3QgZ2V0dGVycyBz
aG91bGQgYmUgY29uc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTk0NzExCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4uCisKKyAgICAgICAgQmVmb3JlIHRoZSBjaGFuZ2Ugd2VyZSBub3QgY29uc2lzdGVudCB3
aXRoIGVhY2ggb3RoZXIKKyAgICAgICAgKFdlYkJhY2tGb3J3YXJkTGlzdDo6ZW50cmllcygpIHdh
cyBjb25zdCBidXQgV2ViQmFja0ZvcndhcmRMaXN0OjpjdXJyZW50SW5kZXgoKSB3YXMgbm90KS4K
KyAgICAgICAgQmVzaWRlcyBoYXZpbmcgbm90IGNvbnN0IGdldHRlcnMgaXMgbm90IGEgZ29vZCBw
cmFjdGljZSBpbiBDKysuIChQbGVhc2UgcmVhZAorICAgICAgICBTY290dCBNZXllcnMuIEVmZmVj
dGl2ZSBDKysgKDNyZCBlZGl0aW9uKS4gSVNCTjogMC0zMjEtMzM0ODctNi4KKyAgICAgICAgSXRl
bSAzOiAnVXNlIGNvbnN0IHdoZW5ldmVyIHBvc3NpYmxlJykuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0Zvcndh
cmRMaXN0OjpiYWNrTGlzdENvdW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRM
aXN0Ojpmb3J3YXJkTGlzdENvdW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViQmFja0ZvcndhcmRM
aXN0OjpiYWNrTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQpOgorICAgICAgICAoV2ViS2l0
OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1p
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oOgorICAgICAgICAo
V2ViS2l0OjpXZWJCYWNrRm9yd2FyZExpc3Q6OmN1cnJlbnRJbmRleCk6CisgICAgICAgIChXZWJC
YWNrRm9yd2FyZExpc3QpOgorCiAyMDEyLTA4LTIyICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNn
YXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBQcmVmZXJyZWQgbGFuZ3VhZ2VzIGFu
ZCBzcGVsbGNoZWNrZXIgQVBJcyBhcmUgbm90IGNvbnNpc3RlbnQgaW4gV2ViS2l0MgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcAppbmRleCAwMGU4
ZjRjLi43NjMwMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFj
a0ZvcndhcmRMaXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zv
cndhcmRMaXN0LmNwcApAQCAtMTg2LDIxICsxODYsMjEgQEAgV2ViQmFja0ZvcndhcmRMaXN0SXRl
bSogV2ViQmFja0ZvcndhcmRMaXN0OjppdGVtQXRJbmRleChpbnQgaW5kZXgpCiAgICAgcmV0dXJu
IG1fZW50cmllc1tpbmRleCArIG1fY3VycmVudEluZGV4XS5nZXQoKTsKIH0KIAotaW50IFdlYkJh
Y2tGb3J3YXJkTGlzdDo6YmFja0xpc3RDb3VudCgpCitpbnQgV2ViQmFja0ZvcndhcmRMaXN0Ojpi
YWNrTGlzdENvdW50KCkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1faGFzQ3VycmVudEluZGV4IHx8
IG1fY3VycmVudEluZGV4IDwgbV9lbnRyaWVzLnNpemUoKSk7CiAKICAgICByZXR1cm4gbV9wYWdl
ICYmIG1faGFzQ3VycmVudEluZGV4ID8gbV9jdXJyZW50SW5kZXggOiAwOwogfQogCi1pbnQgV2Vi
QmFja0ZvcndhcmRMaXN0Ojpmb3J3YXJkTGlzdENvdW50KCkKK2ludCBXZWJCYWNrRm9yd2FyZExp
c3Q6OmZvcndhcmRMaXN0Q291bnQoKSBjb25zdAogewogICAgIEFTU0VSVCghbV9oYXNDdXJyZW50
SW5kZXggfHwgbV9jdXJyZW50SW5kZXggPCBtX2VudHJpZXMuc2l6ZSgpKTsKIAogICAgIHJldHVy
biBtX3BhZ2UgJiYgbV9oYXNDdXJyZW50SW5kZXggPyBtX2VudHJpZXMuc2l6ZSgpIC0gKG1fY3Vy
cmVudEluZGV4ICsgMSkgOiAwOwogfQogCi1QYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBXZWJC
YWNrRm9yd2FyZExpc3Q6OmJhY2tMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25l
ZCBsaW1pdCkKK1Bhc3NSZWZQdHI8SW1tdXRhYmxlQXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdDo6
YmFja0xpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KSBjb25zdAog
ewogICAgIEFTU0VSVCghbV9oYXNDdXJyZW50SW5kZXggfHwgbV9jdXJyZW50SW5kZXggPCBtX2Vu
dHJpZXMuc2l6ZSgpKTsKIApAQCAtMjI0LDcgKzIyNCw3IEBAIFBhc3NSZWZQdHI8SW1tdXRhYmxl
QXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdDo6YmFja0xpc3RBc0ltbXV0YWJsZUFycmF5V2l0aExp
bWl0CiAgICAgcmV0dXJuIEltbXV0YWJsZUFycmF5OjphZG9wdCh2ZWN0b3IpOwogfQogCi1QYXNz
UmVmUHRyPEltbXV0YWJsZUFycmF5PiBXZWJCYWNrRm9yd2FyZExpc3Q6OmZvcndhcmRMaXN0QXNJ
bW11dGFibGVBcnJheVdpdGhMaW1pdCh1bnNpZ25lZCBsaW1pdCkKK1Bhc3NSZWZQdHI8SW1tdXRh
YmxlQXJyYXk+IFdlYkJhY2tGb3J3YXJkTGlzdDo6Zm9yd2FyZExpc3RBc0ltbXV0YWJsZUFycmF5
V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KSBjb25zdAogewogICAgIEFTU0VSVCghbV9oYXNDdXJy
ZW50SW5kZXggfHwgbV9jdXJyZW50SW5kZXggPCBtX2VudHJpZXMuc2l6ZSgpKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oCmluZGV4IDE2YTU2MmQu
LmQ3OGVkNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9y
d2FyZExpc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRM
aXN0LmgKQEAgLTcwLDEyICs3MCwxMiBAQCBwdWJsaWM6CiAgICAgCiAgICAgY29uc3QgQmFja0Zv
cndhcmRMaXN0SXRlbVZlY3RvciYgZW50cmllcygpIGNvbnN0IHsgcmV0dXJuIG1fZW50cmllczsg
fQogCi0gICAgdWludDMyX3QgY3VycmVudEluZGV4KCkgeyByZXR1cm4gbV9jdXJyZW50SW5kZXg7
IH0KLSAgICBpbnQgYmFja0xpc3RDb3VudCgpOwotICAgIGludCBmb3J3YXJkTGlzdENvdW50KCk7
CisgICAgdWludDMyX3QgY3VycmVudEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50SW5k
ZXg7IH0KKyAgICBpbnQgYmFja0xpc3RDb3VudCgpIGNvbnN0OworICAgIGludCBmb3J3YXJkTGlz
dENvdW50KCkgY29uc3Q7CiAKLSAgICBQYXNzUmVmUHRyPEltbXV0YWJsZUFycmF5PiBiYWNrTGlz
dEFzSW1tdXRhYmxlQXJyYXlXaXRoTGltaXQodW5zaWduZWQgbGltaXQpOwotICAgIFBhc3NSZWZQ
dHI8SW1tdXRhYmxlQXJyYXk+IGZvcndhcmRMaXN0QXNJbW11dGFibGVBcnJheVdpdGhMaW1pdCh1
bnNpZ25lZCBsaW1pdCk7CisgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gYmFja0xpc3RB
c0ltbXV0YWJsZUFycmF5V2l0aExpbWl0KHVuc2lnbmVkIGxpbWl0KSBjb25zdDsKKyAgICBQYXNz
UmVmUHRyPEltbXV0YWJsZUFycmF5PiBmb3J3YXJkTGlzdEFzSW1tdXRhYmxlQXJyYXlXaXRoTGlt
aXQodW5zaWduZWQgbGltaXQpIGNvbnN0OwogCiAjaWYgVVNFKENGKQogICAgIENGRGljdGlvbmFy
eVJlZiBjcmVhdGVDRkRpY3Rpb25hcnlSZXByZXNlbnRhdGlvbihXZWJQYWdlUHJveHk6OldlYlBh
Z2VQcm94eVNlc3Npb25TdGF0ZUZpbHRlckNhbGxiYWNrLCB2b2lkKiBjb250ZXh0KSBjb25zdDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>