<?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>61150</bug_id>
          
          <creation_ts>2011-05-19 15:22:47 -0700</creation_ts>
          <short_desc>Add guard pages to each end of the memory region used by the fixedvm allocator</short_desc>
          <delta_ts>2011-06-02 08:27:43 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406685</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-19 15:22:47 -0700</bug_when>
    <thetext>Add guard pages to each end of the memory region used by the fixedvm allocator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406691</commentid>
    <comment_count>1</comment_count>
      <attachid>94128</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-19 15:27:27 -0700</bug_when>
    <thetext>Created attachment 94128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406707</commentid>
    <comment_count>2</comment_count>
      <attachid>94128</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-19 15:43:50 -0700</bug_when>
    <thetext>Comment on attachment 94128
Patch

Attachment 94128 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8716430</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406709</commentid>
    <comment_count>3</comment_count>
      <attachid>94128</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-05-19 15:48:27 -0700</bug_when>
    <thetext>Comment on attachment 94128
Patch

r is me, provided it passes all bots!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406710</commentid>
    <comment_count>4</comment_count>
      <attachid>94135</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-19 15:52:05 -0700</bug_when>
    <thetext>Created attachment 94135
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406731</commentid>
    <comment_count>5</comment_count>
      <attachid>94135</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-19 16:31:38 -0700</bug_when>
    <thetext>Comment on attachment 94135
Patch

Attachment 94135 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8711989</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406734</commentid>
    <comment_count>6</comment_count>
      <attachid>94144</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-19 16:33:41 -0700</bug_when>
    <thetext>Created attachment 94144
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406745</commentid>
    <comment_count>7</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-05-19 16:46:31 -0700</bug_when>
    <thetext>Committed r86906: &lt;http://trac.webkit.org/changeset/86906&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414136</commentid>
    <comment_count>8</comment_count>
      <attachid>94144</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-06-02 08:27:43 -0700</bug_when>
    <thetext>Comment on attachment 94144
Patch

Cleared review? from attachment 94144 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94128</attachid>
            <date>2011-05-19 15:27:27 -0700</date>
            <delta_ts>2011-05-19 15:52:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61150-20110519152726.patch</filename>
            <type>text/plain</type>
            <size>11526</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY4OTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUw
MmJmMmY0N2ExNTU5YTFlY2ZhNDc4Yjc1Y2M4ZTMzYTM0YWU2YmEuLmUyODY4Y2Y0MjEyMGMwOTQ1
YmEzYmY0NmViZWFlN2MyMTcxNDE4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM2IEBACiAyMDExLTA1LTE5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd1YXJk
IHBhZ2VzIHRvIGVhY2ggZW5kIG9mIHRoZSBtZW1vcnkgcmVnaW9uIHVzZWQgYnkgdGhlIGZpeGVk
dm0gYWxsb2NhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTE1MAorCisgICAgICAgIEFkZCBtZWNoYW5pc20gdG8gbm90aWZ5IHRoZSBPU0FsbG9j
YXRvciB0aGF0IHBhZ2VzIGF0IGVpdGhlciBlbmQgb2YgYW4KKyAgICAgICAgYWxsb2NhdGlvbiBz
aG91bGQgYmUgY29uc2lkZXJlZCBndWFyZCBwYWdlcy4gIFVwZGF0ZSBQYWdlUmVzZXJ2YXRpb24s
CisgICAgICAgIFBhZ2VBbGxvY2F0aW9uLCBldGMgdG8gaGFuZGxlIHRoaXMuCisKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JG
aXhlZFZNUG9vbC5jcHA6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sQWxsb2NhdG9yOjpGaXhl
ZFZNUG9vbEFsbG9jYXRvcik6CisgICAgICAgICogd3RmL09TQWxsb2NhdG9yLmg6CisgICAgICAg
ICogd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6
cmVzZXJ2ZVVuY29tbWl0dGVkKToKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVB
bmRDb21taXQpOgorICAgICAgICAqIHd0Zi9QYWdlQWxsb2NhdGlvbi5oOgorICAgICAgICAoV1RG
OjpQYWdlQWxsb2NhdGlvbjo6UGFnZUFsbG9jYXRpb24pOgorICAgICAgICAqIHd0Zi9QYWdlQWxs
b2NhdGlvbkFsaWduZWQuaDoKKyAgICAgICAgKFdURjo6UGFnZUFsbG9jYXRpb25BbGlnbmVkOjpQ
YWdlQWxsb2NhdGlvbkFsaWduZWQpOgorICAgICAgICAqIHd0Zi9QYWdlQmxvY2suaDoKKyAgICAg
ICAgKFdURjo6UGFnZUJsb2NrOjpQYWdlQmxvY2spOgorICAgICAgICAqIHd0Zi9QYWdlUmVzZXJ2
YXRpb24uaDoKKyAgICAgICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlKToKKyAgICAg
ICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlV2l0aEd1YXJkUGFnZXMpOgorICAgICAg
ICAgICAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIG1ha2UgYSByZXNlcnZhdGlvbiB0aGF0IHdpbGwg
YWRkIGd1YXJkCisgICAgICAgICAgICBwYWdlcyB0byB0aGUgZW5kcyBvZiBhbiBhbGxvY2F0aW9u
LgorICAgICAgICAoV1RGOjpQYWdlUmVzZXJ2YXRpb246OlBhZ2VSZXNlcnZhdGlvbik6CisKKzIw
MTEtMDUtMTkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KIAogICAgICAgICBNYWtlIEV4ZWN1dGFibGVzIHJlbGVh
c2UgdGhlaXIgSklUIGNvZGUgYXMgc29vbiBhcyB0aGV5IGJlY29tZSBkZWFkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCA5YWEzYjFmMDM1MTZmYzMwY2E0ZjA1
MTY3YzdmMWRjZTg3ZWRkZGE4Li5lMmMwYmRhOWJhYTdjZWIwYjYxYmIxYTAwNWUyMDI1MGVjZDA4
YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTM3NSw3
ICszNzUsNyBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbEQxRXYKIF9fWk4zV1RGMTBmYXN0Q2FsbG9j
RW1tCiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pOM1dURjEwZmFzdFN0ckR1cEVQS2MKLV9f
Wk4zV1RGMTFPU0FsbG9jYXRvcjE2cmVzZXJ2ZUFuZENvbW1pdEVtTlMwXzVVc2FnZUViYgorX19a
TjNXVEYxMU9TQWxsb2NhdG9yMTZyZXNlcnZlQW5kQ29tbWl0RW1OUzBfNVVzYWdlRWJiYgogX19a
TjNXVEYxMU9TQWxsb2NhdG9yMThyZWxlYXNlRGVjb21taXR0ZWRFUHZtCiBfX1pOM1dURjExY29t
bWVudEF0b21FCiBfX1pOM1dURjExY3VycmVudFRpbWVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3Bw
CmluZGV4IDZhOTQ1YjA5MjFlNWRhZTA5OTVkZjA5YzljOTY0MWQzZjNlMTQ2ZTEuLjIwMjA5Y2Vi
ZGFlMmUzNGIyMDIzZTQxNGYyN2M3MDc5MTBlMmQxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5j
cHAKQEAgLTQwOSw3ICs0MDksNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChQYWdlVGFibGVz
MzJNQjo6c2l6ZSgpID09IDMyICogMTAyNCAqIDEwMjQpOwogICAgICAgICBBU1NFUlQoUGFnZVRh
YmxlczFHQjo6c2l6ZSgpID09IDEwMjQgKiAxMDI0ICogMTAyNCk7CiAKLSAgICAgICAgbV9yZXNl
cnZhdGlvbiA9IFBhZ2VSZXNlcnZhdGlvbjo6cmVzZXJ2ZShGaXhlZFZNUG9vbFBhZ2VUYWJsZXM6
OnNpemUoKSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJ
VEFCTEUsIHRydWUpOworICAgICAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpy
ZXNlcnZlV2l0aEd1YXJkUGFnZXMoRml4ZWRWTVBvb2xQYWdlVGFibGVzOjpzaXplKCksIE9TQWxs
b2NhdG9yOjpKU0pJVENvZGVQYWdlcywgRVhFQ1VUQUJMRV9QT09MX1dSSVRBQkxFLCB0cnVlKTsK
ICNpZiAhRU5BQkxFKElOVEVSUFJFVEVSKQogICAgICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAg
ICAgICAgIENSQVNIKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09T
QWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yLmgKaW5k
ZXggM2ZkNGNlZmYxMjdlOTE2OWY5MzgxYTU1NjhhZjc5NzJlZjYzYTY0Ny4uY2E5MzA1NjdkZWM5
ZmQwY2M1OTZhYmYyZmM2MjJlNWMwNjg4OWFhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9PU0FsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
T1NBbGxvY2F0b3IuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgbWV0
aG9kcyBhcmUgc3ltbWV0cmljOyByZXNlcnZlVW5jb21taXR0ZWQgYWxsb2NhdGVzIFZNIGluIGFu
IHVuY29tbWl0dGVkIHN0YXRlLAogICAgIC8vIHJlbGVhc2VEZWNvbW1pdHRlZCBzaG91bGQgYmUg
Y2FsbGVkIG9uIGEgcmVnaW9uIG9mIFZNIGFsbG9jYXRlZCBieSBhIHNpbmdsZSByZXNlcnZhdGlv
biwKICAgICAvLyB0aGUgbWVtb3J5IG11c3QgYWxsIGN1cnJlbnRseSBiZSBpbiBhIGRlY29tbWl0
dGVkIHN0YXRlLgotICAgIHN0YXRpYyB2b2lkKiByZXNlcnZlVW5jb21taXR0ZWQoc2l6ZV90LCBV
c2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJs
ZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZVVuY29tbWl0dGVkKHNpemVfdCwg
VXNhZ2UgPSBVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFi
bGUgPSBmYWxzZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMgPSBmYWxzZSk7CiAgICAgc3RhdGlj
IHZvaWQgcmVsZWFzZURlY29tbWl0dGVkKHZvaWQqLCBzaXplX3QpOwogCiAgICAgLy8gVGhlc2Ug
bWV0aG9kcyBhcmUgc3ltbWV0cmljOyB0aGV5IGNvbW1pdCBvciBkZWNvbW1pdCBhIHJlZ2lvbiBv
ZiBWTSAodW5jb21taXR0ZWQgVk0gc2hvdWxkCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAg
ICAvLyBUaGVzZSBtZXRob2RzIGFyZSBzeW1tZXRyaWM7IHJlc2VydmVBbmRDb21taXQgYWxsb2Nh
dGVzIFZNIGluIGFuIGNvbW1pdHRlZCBzdGF0ZSwKICAgICAvLyBkZWNvbW1pdEFuZFJlbGVhc2Ug
c2hvdWxkIGJlIGNhbGxlZCBvbiBhIHJlZ2lvbiBvZiBWTSBhbGxvY2F0ZWQgYnkgYSBzaW5nbGUg
cmVzZXJ2YXRpb24sCiAgICAgLy8gdGhlIG1lbW9yeSBtdXN0IGFsbCBjdXJyZW50bHkgYmUgaW4g
YSBjb21taXR0ZWQgc3RhdGUuCi0gICAgc3RhdGljIHZvaWQqIHJlc2VydmVBbmRDb21taXQoc2l6
ZV90LCBVc2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhl
Y3V0YWJsZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QsIFVzYWdlID0gVW5rbm93blVzYWdlLCBib29sIHdyaXRhYmxlID0gdHJ1ZSwgYm9vbCBleGVj
dXRhYmxlID0gZmFsc2UsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzID0gZmFsc2UpOwogICAgIHN0
YXRpYyB2b2lkIGRlY29tbWl0QW5kUmVsZWFzZSh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSk7CiAK
ICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBha2luIHRvIHJlc2VydmVBbmRDb21taXQvZGVjb21t
aXRBbmRSZWxlYXNlLCBhYm92ZSAtIGhvd2V2ZXIgcmF0aGVyIHRoYW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCmluZGV4IDI3ZWJkOTEwOGNhZjk1
NGM4ZGYyOGU2MTk4ZTFiODdmNTZlOTdhYWEuLmYzZjhjZmY0NWNiNGJmZmJhNDNiMTk0MWEzMDY4
MmFiYzA3OGM1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxv
Y2F0b3JQb3NpeC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRv
clBvc2l4LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIk9TQWxsb2NhdG9yLmgiCiAKKyNpbmNsdWRlICJQYWdlQWxsb2NhdGlvbi5oIgogI2luY2x1
ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgpAQCAtMzMsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdm9pZCogT1NB
bGxvY2F0b3I6OnJlc2VydmVVbmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBi
b29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2
ZVVuY29tbWl0dGVkKHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJv
b2wgZXhlY3V0YWJsZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMpCiB7Ci0gICAgdm9pZCogcmVz
dWx0ID0gcmVzZXJ2ZUFuZENvbW1pdChieXRlcywgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxl
KTsKKyAgICB2b2lkKiByZXN1bHQgPSByZXNlcnZlQW5kQ29tbWl0KGJ5dGVzLCB1c2FnZSwgd3Jp
dGFibGUsIGV4ZWN1dGFibGUsIGluY2x1ZGVzR3VhcmRQYWdlcyk7CiAjaWYgSEFWRShNQURWX0ZS
RUVfUkVVU0UpCiAgICAgLy8gVG8gc3VwcG9ydCB0aGUgInJlc2VydmUgdGhlbiBjb21taXQiIG1v
ZGVsLCB3ZSBoYXZlIHRvIGluaXRpYWxseSBkZWNvbW1pdC4KICAgICB3aGlsZSAobWFkdmlzZShy
ZXN1bHQsIGJ5dGVzLCBNQURWX0ZSRUVfUkVVU0FCTEUpID09IC0xICYmIGVycm5vID09IEVBR0FJ
TikgeyB9CkBAIC00Myw3ICs0NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21t
aXR0ZWQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaW5jbHVkZXNHdWFyZFBh
Z2VzKQogewogICAgIC8vIEFsbCBQT1NJWCByZXNlcnZhdGlvbnMgc3RhcnQgb3V0IGxvZ2ljYWxs
eSBjb21taXR0ZWQuCiAgICAgaW50IHByb3RlY3Rpb24gPSBQUk9UX1JFQUQ7CkBAIC02Myw2ICs2
NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywg
VXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJvCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKICNp
ZiAoT1MoREFSV0lOKSAmJiBDUFUoWDg2XzY0KSkKICAgICBpZiAoZXhlY3V0YWJsZSkgeworICAg
ICAgICBBU1NFUlQoaW5jbHVkZXNHdWFyZFBhZ2VzKTsKICAgICAgICAgLy8gQ29vayB1cCBhbiBh
ZGRyZXNzIHRvIGFsbG9jYXRlIGF0LCB1c2luZyB0aGUgZm9sbG93aW5nIHJlY2lwZToKICAgICAg
ICAgLy8gICAxNyBiaXRzIG9mIHplcm8sIHN0YXkgaW4gdXNlcnNwYWNlIGtpZHMuCiAgICAgICAg
IC8vICAgMjYgYml0cyBvZiByYW5kb21uZXNzIGZvciBBU0xSLgpAQCAtNzYsNiArNzgsOCBAQCB2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBibwogICAgICAgICByYW5kb21Mb2NhdGlvbiA9IGFyYzRyYW5k
b20oKSAmICgoMSA8PCAyNSkgLSAxKTsKICAgICAgICAgcmFuZG9tTG9jYXRpb24gKz0gKDEgPDwg
MjQpOwogICAgICAgICByYW5kb21Mb2NhdGlvbiA8PD0gMjE7CisgICAgICAgIC8vIENvbXBlbnNh
dGUgZm9yIHRoZSBndWFyZCBwYWdlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFsbG9jYXRpb24K
KyAgICAgICAgcmFuZG9tTG9jYXRpb24gLT0gcGFnZVNpemUoKTsKICAgICAgICAgcmVzdWx0ID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmFuZG9tTG9jYXRpb24pOwogICAgIH0KICNlbmRpZgpA
QCAtODMsNiArODcsMTAgQEAgdm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQoc2l6
ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwgYm8KICAgICByZXN1bHQgPSBt
bWFwKHJlc3VsdCwgYnl0ZXMsIHByb3RlY3Rpb24sIGZsYWdzLCBmZCwgMCk7CiAgICAgaWYgKHJl
c3VsdCA9PSBNQVBfRkFJTEVEKQogICAgICAgICBDUkFTSCgpOworICAgIGlmIChpbmNsdWRlc0d1
YXJkUGFnZXMpIHsKKyAgICAgICAgbXByb3RlY3QocmVzdWx0LCBwYWdlU2l6ZSgpLCBQUk9UX05P
TkUpOworICAgICAgICBtcHJvdGVjdChzdGF0aWNfY2FzdDxjaGFyKj4ocmVzdWx0KSArIGJ5dGVz
IC0gcGFnZVNpemUoKSwgcGFnZVNpemUoKSwgUFJPVF9OT05FKTsKKyAgICB9CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdl
QWxsb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbi5o
CmluZGV4IGFkM2QyMTdjNjlkYTFkMDI2ZjVjYTEwMThiNWY2ODMyMDdiZDZlOTkuLmZmNmYxOTVj
M2I3Njc5ODlmOThmYzQzYmY3Mzg4NzQ0YTE4MGFmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvUGFnZUFsbG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BhZ2VBbGxvY2F0aW9uLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgUGFnZUFsbG9jYXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUpCi0gICAg
ICAgIDogUGFnZUJsb2NrKGJhc2UsIHNpemUpCisgICAgICAgIDogUGFnZUJsb2NrKGJhc2UsIHNp
emUsIGZhbHNlKQogICAgIHsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbkFsaWduZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGFnZUFsbG9jYXRpb25BbGlnbmVkLmgKaW5kZXggMjgyYzllMzdkOGYyZGE1OGFiNTUz
N2RmMjBkYWEwMjFlNjI4NWJkOC4uNGFlYzY2MTdkMzMyNTk2NzQ3MGUwNDI5Y2U0YmMyMWU4MDM0
ZDMzMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlv
bkFsaWduZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VBbGxvY2F0aW9u
QWxpZ25lZC5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAjaWYgT1MoREFS
V0lOKQogICAgIFBhZ2VBbGxvY2F0aW9uQWxpZ25lZCh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSkK
LSAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSkKKyAgICAgICAgOiBQYWdlQmxvY2soYmFz
ZSwgc2l6ZSwgZmFsc2UpCiAgICAgewogICAgIH0KICNlbHNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VCbG9jay5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QYWdlQmxvY2suaAppbmRleCAwNzQ1MmIzYTkxNmZhYmZiMTAwODY4MmZiM2VkN2NjMDZjMzU0
M2NiLi5hNmYxYjQ5YmJmOGQ3MDNjN2ViY2EwMjZhZjQ5ODNmZmE2MDQxOWQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VCbG9jay5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvUGFnZUJsb2NrLmgKQEAgLTM3LDcgKzM3LDcgQEAgY2xhc3MgUGFnZUJs
b2NrIHsKIHB1YmxpYzoKICAgICBQYWdlQmxvY2soKTsKICAgICBQYWdlQmxvY2soY29uc3QgUGFn
ZUJsb2NrJik7Ci0gICAgUGFnZUJsb2NrKHZvaWQqLCBzaXplX3QpOworICAgIFBhZ2VCbG9jayh2
b2lkKiwgc2l6ZV90LCBib29sIGhhc0d1YXJkUGFnZXMpOwogICAgIAogICAgIHZvaWQqIGJhc2Uo
KSBjb25zdCB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2l6ZTsgfQpAQCAtNTEsMjQgKzUxLDI4IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZh
dGU6CisgICAgdm9pZCogbV9yZWFsQmFzZTsKICAgICB2b2lkKiBtX2Jhc2U7CiAgICAgc2l6ZV90
IG1fc2l6ZTsKIH07CiAKIGlubGluZSBQYWdlQmxvY2s6OlBhZ2VCbG9jaygpCi0gICAgOiBtX2Jh
c2UoMCkKKyAgICA6IG1fcmVhbEJhc2UoMCkKKyAgICAsIG1fYmFzZSgwKQogICAgICwgbV9zaXpl
KDApCiB7CiB9CiAKIGlubGluZSBQYWdlQmxvY2s6OlBhZ2VCbG9jayhjb25zdCBQYWdlQmxvY2sm
IG90aGVyKQotICAgIDogbV9iYXNlKG90aGVyLm1fYmFzZSkKKyAgICA6IG1fcmVhbEJhc2Uob3Ro
ZXIubV9yZWFsQmFzZSkKKyAgICAsIG1fYmFzZShvdGhlci5tX2Jhc2UpCiAgICAgLCBtX3NpemUo
b3RoZXIubV9zaXplKQogewogfQogCi1pbmxpbmUgUGFnZUJsb2NrOjpQYWdlQmxvY2sodm9pZCog
YmFzZSwgc2l6ZV90IHNpemUpCi0gICAgOiBtX2Jhc2UoYmFzZSkKK2lubGluZSBQYWdlQmxvY2s6
OlBhZ2VCbG9jayh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSwgYm9vbCBoYXNHdWFyZFBhZ2VzKQor
ICAgIDogbV9yZWFsQmFzZShiYXNlKQorICAgICwgbV9iYXNlKHN0YXRpY19jYXN0PGNoYXIqPihi
YXNlKSArIChoYXNHdWFyZFBhZ2VzID8gcGFnZVNpemUoKSA6IDApKQogICAgICwgbV9zaXplKHNp
emUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VSZXNl
cnZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlUmVzZXJ2YXRpb24uaApp
bmRleCA2ZGZmNzAwYjMwODJlNGE3YjM2Njc1OGQxMTgwZTNjMDU2MzNkOTBkLi43Nzc4M2ViY2M0
YTBiNGE0YjY2ZDFkZTVlODYwOTIxODE0YTM3N2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGFnZVJlc2VydmF0aW9uLmgKQEAgLTEwNCw3ICsxMDQsMTMgQEAgcHVibGljOgogICAg
IHN0YXRpYyBQYWdlUmVzZXJ2YXRpb24gcmVzZXJ2ZShzaXplX3Qgc2l6ZSwgT1NBbGxvY2F0b3I6
OlVzYWdlIHVzYWdlID0gT1NBbGxvY2F0b3I6OlVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9
IHRydWUsIGJvb2wgZXhlY3V0YWJsZSA9IGZhbHNlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlz
UGFnZUFsaWduZWQoc2l6ZSkpOwotICAgICAgICByZXR1cm4gUGFnZVJlc2VydmF0aW9uKE9TQWxs
b2NhdG9yOjpyZXNlcnZlVW5jb21taXR0ZWQoc2l6ZSwgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRh
YmxlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUpOworICAgICAgICByZXR1cm4gUGFnZVJl
c2VydmF0aW9uKE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21taXR0ZWQoc2l6ZSwgdXNhZ2UsIHdy
aXRhYmxlLCBleGVjdXRhYmxlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIGZhbHNlKTsK
KyAgICB9CisgICAgCisgICAgc3RhdGljIFBhZ2VSZXNlcnZhdGlvbiByZXNlcnZlV2l0aEd1YXJk
UGFnZXMoc2l6ZV90IHNpemUsIE9TQWxsb2NhdG9yOjpVc2FnZSB1c2FnZSA9IE9TQWxsb2NhdG9y
OjpVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFibGUgPSBm
YWxzZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1BhZ2VBbGlnbmVkKHNpemUpKTsKKyAgICAg
ICAgcmV0dXJuIFBhZ2VSZXNlcnZhdGlvbihPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVuY29tbWl0dGVk
KHNpemUgKyBwYWdlU2l6ZSgpICogMiwgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxlLCB0cnVl
KSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIHRydWUpOwogICAgIH0KIAogICAgIHZvaWQg
ZGVhbGxvY2F0ZSgpCkBAIC0xMjMsOCArMTI5LDggQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0
ZToKLSAgICBQYWdlUmVzZXJ2YXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUsIGJvb2wgd3Jp
dGFibGUsIGJvb2wgZXhlY3V0YWJsZSkKLSAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSkK
KyAgICBQYWdlUmVzZXJ2YXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUsIGJvb2wgd3JpdGFi
bGUsIGJvb2wgZXhlY3V0YWJsZSwgYm9vbCBoYXNHdWFyZFBhZ2VzKQorICAgICAgICA6IFBhZ2VC
bG9jayhiYXNlLCBzaXplLCBoYXNHdWFyZFBhZ2VzKQogICAgICAgICAsIG1fY29tbWl0dGVkKDAp
CiAgICAgICAgICwgbV93cml0YWJsZSh3cml0YWJsZSkKICAgICAgICAgLCBtX2V4ZWN1dGFibGUo
ZXhlY3V0YWJsZSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94135</attachid>
            <date>2011-05-19 15:52:05 -0700</date>
            <delta_ts>2011-05-19 16:33:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61150-20110519155204.patch</filename>
            <type>text/plain</type>
            <size>11773</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY4OTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUw
MmJmMmY0N2ExNTU5YTFlY2ZhNDc4Yjc1Y2M4ZTMzYTM0YWU2YmEuLmUyODY4Y2Y0MjEyMGMwOTQ1
YmEzYmY0NmViZWFlN2MyMTcxNDE4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM2IEBACiAyMDExLTA1LTE5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd1YXJk
IHBhZ2VzIHRvIGVhY2ggZW5kIG9mIHRoZSBtZW1vcnkgcmVnaW9uIHVzZWQgYnkgdGhlIGZpeGVk
dm0gYWxsb2NhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTE1MAorCisgICAgICAgIEFkZCBtZWNoYW5pc20gdG8gbm90aWZ5IHRoZSBPU0FsbG9j
YXRvciB0aGF0IHBhZ2VzIGF0IGVpdGhlciBlbmQgb2YgYW4KKyAgICAgICAgYWxsb2NhdGlvbiBz
aG91bGQgYmUgY29uc2lkZXJlZCBndWFyZCBwYWdlcy4gIFVwZGF0ZSBQYWdlUmVzZXJ2YXRpb24s
CisgICAgICAgIFBhZ2VBbGxvY2F0aW9uLCBldGMgdG8gaGFuZGxlIHRoaXMuCisKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JG
aXhlZFZNUG9vbC5jcHA6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sQWxsb2NhdG9yOjpGaXhl
ZFZNUG9vbEFsbG9jYXRvcik6CisgICAgICAgICogd3RmL09TQWxsb2NhdG9yLmg6CisgICAgICAg
ICogd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6
cmVzZXJ2ZVVuY29tbWl0dGVkKToKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVB
bmRDb21taXQpOgorICAgICAgICAqIHd0Zi9QYWdlQWxsb2NhdGlvbi5oOgorICAgICAgICAoV1RG
OjpQYWdlQWxsb2NhdGlvbjo6UGFnZUFsbG9jYXRpb24pOgorICAgICAgICAqIHd0Zi9QYWdlQWxs
b2NhdGlvbkFsaWduZWQuaDoKKyAgICAgICAgKFdURjo6UGFnZUFsbG9jYXRpb25BbGlnbmVkOjpQ
YWdlQWxsb2NhdGlvbkFsaWduZWQpOgorICAgICAgICAqIHd0Zi9QYWdlQmxvY2suaDoKKyAgICAg
ICAgKFdURjo6UGFnZUJsb2NrOjpQYWdlQmxvY2spOgorICAgICAgICAqIHd0Zi9QYWdlUmVzZXJ2
YXRpb24uaDoKKyAgICAgICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlKToKKyAgICAg
ICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlV2l0aEd1YXJkUGFnZXMpOgorICAgICAg
ICAgICAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIG1ha2UgYSByZXNlcnZhdGlvbiB0aGF0IHdpbGwg
YWRkIGd1YXJkCisgICAgICAgICAgICBwYWdlcyB0byB0aGUgZW5kcyBvZiBhbiBhbGxvY2F0aW9u
LgorICAgICAgICAoV1RGOjpQYWdlUmVzZXJ2YXRpb246OlBhZ2VSZXNlcnZhdGlvbik6CisKKzIw
MTEtMDUtMTkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KIAogICAgICAgICBNYWtlIEV4ZWN1dGFibGVzIHJlbGVh
c2UgdGhlaXIgSklUIGNvZGUgYXMgc29vbiBhcyB0aGV5IGJlY29tZSBkZWFkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCA5YWEzYjFmMDM1MTZmYzMwY2E0ZjA1
MTY3YzdmMWRjZTg3ZWRkZGE4Li5lMmMwYmRhOWJhYTdjZWIwYjYxYmIxYTAwNWUyMDI1MGVjZDA4
YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTM3NSw3
ICszNzUsNyBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbEQxRXYKIF9fWk4zV1RGMTBmYXN0Q2FsbG9j
RW1tCiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pOM1dURjEwZmFzdFN0ckR1cEVQS2MKLV9f
Wk4zV1RGMTFPU0FsbG9jYXRvcjE2cmVzZXJ2ZUFuZENvbW1pdEVtTlMwXzVVc2FnZUViYgorX19a
TjNXVEYxMU9TQWxsb2NhdG9yMTZyZXNlcnZlQW5kQ29tbWl0RW1OUzBfNVVzYWdlRWJiYgogX19a
TjNXVEYxMU9TQWxsb2NhdG9yMThyZWxlYXNlRGVjb21taXR0ZWRFUHZtCiBfX1pOM1dURjExY29t
bWVudEF0b21FCiBfX1pOM1dURjExY3VycmVudFRpbWVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3Bw
CmluZGV4IDZhOTQ1YjA5MjFlNWRhZTA5OTVkZjA5YzljOTY0MWQzZjNlMTQ2ZTEuLjIwMjA5Y2Vi
ZGFlMmUzNGIyMDIzZTQxNGYyN2M3MDc5MTBlMmQxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5j
cHAKQEAgLTQwOSw3ICs0MDksNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChQYWdlVGFibGVz
MzJNQjo6c2l6ZSgpID09IDMyICogMTAyNCAqIDEwMjQpOwogICAgICAgICBBU1NFUlQoUGFnZVRh
YmxlczFHQjo6c2l6ZSgpID09IDEwMjQgKiAxMDI0ICogMTAyNCk7CiAKLSAgICAgICAgbV9yZXNl
cnZhdGlvbiA9IFBhZ2VSZXNlcnZhdGlvbjo6cmVzZXJ2ZShGaXhlZFZNUG9vbFBhZ2VUYWJsZXM6
OnNpemUoKSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJ
VEFCTEUsIHRydWUpOworICAgICAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpy
ZXNlcnZlV2l0aEd1YXJkUGFnZXMoRml4ZWRWTVBvb2xQYWdlVGFibGVzOjpzaXplKCksIE9TQWxs
b2NhdG9yOjpKU0pJVENvZGVQYWdlcywgRVhFQ1VUQUJMRV9QT09MX1dSSVRBQkxFLCB0cnVlKTsK
ICNpZiAhRU5BQkxFKElOVEVSUFJFVEVSKQogICAgICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAg
ICAgICAgIENSQVNIKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09T
QWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yLmgKaW5k
ZXggM2ZkNGNlZmYxMjdlOTE2OWY5MzgxYTU1NjhhZjc5NzJlZjYzYTY0Ny4uY2E5MzA1NjdkZWM5
ZmQwY2M1OTZhYmYyZmM2MjJlNWMwNjg4OWFhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9PU0FsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
T1NBbGxvY2F0b3IuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgbWV0
aG9kcyBhcmUgc3ltbWV0cmljOyByZXNlcnZlVW5jb21taXR0ZWQgYWxsb2NhdGVzIFZNIGluIGFu
IHVuY29tbWl0dGVkIHN0YXRlLAogICAgIC8vIHJlbGVhc2VEZWNvbW1pdHRlZCBzaG91bGQgYmUg
Y2FsbGVkIG9uIGEgcmVnaW9uIG9mIFZNIGFsbG9jYXRlZCBieSBhIHNpbmdsZSByZXNlcnZhdGlv
biwKICAgICAvLyB0aGUgbWVtb3J5IG11c3QgYWxsIGN1cnJlbnRseSBiZSBpbiBhIGRlY29tbWl0
dGVkIHN0YXRlLgotICAgIHN0YXRpYyB2b2lkKiByZXNlcnZlVW5jb21taXR0ZWQoc2l6ZV90LCBV
c2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJs
ZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZVVuY29tbWl0dGVkKHNpemVfdCwg
VXNhZ2UgPSBVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFi
bGUgPSBmYWxzZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMgPSBmYWxzZSk7CiAgICAgc3RhdGlj
IHZvaWQgcmVsZWFzZURlY29tbWl0dGVkKHZvaWQqLCBzaXplX3QpOwogCiAgICAgLy8gVGhlc2Ug
bWV0aG9kcyBhcmUgc3ltbWV0cmljOyB0aGV5IGNvbW1pdCBvciBkZWNvbW1pdCBhIHJlZ2lvbiBv
ZiBWTSAodW5jb21taXR0ZWQgVk0gc2hvdWxkCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAg
ICAvLyBUaGVzZSBtZXRob2RzIGFyZSBzeW1tZXRyaWM7IHJlc2VydmVBbmRDb21taXQgYWxsb2Nh
dGVzIFZNIGluIGFuIGNvbW1pdHRlZCBzdGF0ZSwKICAgICAvLyBkZWNvbW1pdEFuZFJlbGVhc2Ug
c2hvdWxkIGJlIGNhbGxlZCBvbiBhIHJlZ2lvbiBvZiBWTSBhbGxvY2F0ZWQgYnkgYSBzaW5nbGUg
cmVzZXJ2YXRpb24sCiAgICAgLy8gdGhlIG1lbW9yeSBtdXN0IGFsbCBjdXJyZW50bHkgYmUgaW4g
YSBjb21taXR0ZWQgc3RhdGUuCi0gICAgc3RhdGljIHZvaWQqIHJlc2VydmVBbmRDb21taXQoc2l6
ZV90LCBVc2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhl
Y3V0YWJsZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QsIFVzYWdlID0gVW5rbm93blVzYWdlLCBib29sIHdyaXRhYmxlID0gdHJ1ZSwgYm9vbCBleGVj
dXRhYmxlID0gZmFsc2UsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzID0gZmFsc2UpOwogICAgIHN0
YXRpYyB2b2lkIGRlY29tbWl0QW5kUmVsZWFzZSh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSk7CiAK
ICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBha2luIHRvIHJlc2VydmVBbmRDb21taXQvZGVjb21t
aXRBbmRSZWxlYXNlLCBhYm92ZSAtIGhvd2V2ZXIgcmF0aGVyIHRoYW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCmluZGV4IDI3ZWJkOTEwOGNhZjk1
NGM4ZGYyOGU2MTk4ZTFiODdmNTZlOTdhYWEuLmYzZjhjZmY0NWNiNGJmZmJhNDNiMTk0MWEzMDY4
MmFiYzA3OGM1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxv
Y2F0b3JQb3NpeC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRv
clBvc2l4LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIk9TQWxsb2NhdG9yLmgiCiAKKyNpbmNsdWRlICJQYWdlQWxsb2NhdGlvbi5oIgogI2luY2x1
ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgpAQCAtMzMsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdm9pZCogT1NB
bGxvY2F0b3I6OnJlc2VydmVVbmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBi
b29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2
ZVVuY29tbWl0dGVkKHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJv
b2wgZXhlY3V0YWJsZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMpCiB7Ci0gICAgdm9pZCogcmVz
dWx0ID0gcmVzZXJ2ZUFuZENvbW1pdChieXRlcywgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxl
KTsKKyAgICB2b2lkKiByZXN1bHQgPSByZXNlcnZlQW5kQ29tbWl0KGJ5dGVzLCB1c2FnZSwgd3Jp
dGFibGUsIGV4ZWN1dGFibGUsIGluY2x1ZGVzR3VhcmRQYWdlcyk7CiAjaWYgSEFWRShNQURWX0ZS
RUVfUkVVU0UpCiAgICAgLy8gVG8gc3VwcG9ydCB0aGUgInJlc2VydmUgdGhlbiBjb21taXQiIG1v
ZGVsLCB3ZSBoYXZlIHRvIGluaXRpYWxseSBkZWNvbW1pdC4KICAgICB3aGlsZSAobWFkdmlzZShy
ZXN1bHQsIGJ5dGVzLCBNQURWX0ZSRUVfUkVVU0FCTEUpID09IC0xICYmIGVycm5vID09IEVBR0FJ
TikgeyB9CkBAIC00Myw3ICs0NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21t
aXR0ZWQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaW5jbHVkZXNHdWFyZFBh
Z2VzKQogewogICAgIC8vIEFsbCBQT1NJWCByZXNlcnZhdGlvbnMgc3RhcnQgb3V0IGxvZ2ljYWxs
eSBjb21taXR0ZWQuCiAgICAgaW50IHByb3RlY3Rpb24gPSBQUk9UX1JFQUQ7CkBAIC02Myw2ICs2
NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywg
VXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJvCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKICNp
ZiAoT1MoREFSV0lOKSAmJiBDUFUoWDg2XzY0KSkKICAgICBpZiAoZXhlY3V0YWJsZSkgeworICAg
ICAgICBBU1NFUlQoaW5jbHVkZXNHdWFyZFBhZ2VzKTsKICAgICAgICAgLy8gQ29vayB1cCBhbiBh
ZGRyZXNzIHRvIGFsbG9jYXRlIGF0LCB1c2luZyB0aGUgZm9sbG93aW5nIHJlY2lwZToKICAgICAg
ICAgLy8gICAxNyBiaXRzIG9mIHplcm8sIHN0YXkgaW4gdXNlcnNwYWNlIGtpZHMuCiAgICAgICAg
IC8vICAgMjYgYml0cyBvZiByYW5kb21uZXNzIGZvciBBU0xSLgpAQCAtNzYsNiArNzgsOCBAQCB2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBibwogICAgICAgICByYW5kb21Mb2NhdGlvbiA9IGFyYzRyYW5k
b20oKSAmICgoMSA8PCAyNSkgLSAxKTsKICAgICAgICAgcmFuZG9tTG9jYXRpb24gKz0gKDEgPDwg
MjQpOwogICAgICAgICByYW5kb21Mb2NhdGlvbiA8PD0gMjE7CisgICAgICAgIC8vIENvbXBlbnNh
dGUgZm9yIHRoZSBndWFyZCBwYWdlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGFsbG9jYXRpb24K
KyAgICAgICAgcmFuZG9tTG9jYXRpb24gLT0gcGFnZVNpemUoKTsKICAgICAgICAgcmVzdWx0ID0g
cmVpbnRlcnByZXRfY2FzdDx2b2lkKj4ocmFuZG9tTG9jYXRpb24pOwogICAgIH0KICNlbmRpZgpA
QCAtODMsNiArODcsMTAgQEAgdm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQoc2l6
ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwgYm8KICAgICByZXN1bHQgPSBt
bWFwKHJlc3VsdCwgYnl0ZXMsIHByb3RlY3Rpb24sIGZsYWdzLCBmZCwgMCk7CiAgICAgaWYgKHJl
c3VsdCA9PSBNQVBfRkFJTEVEKQogICAgICAgICBDUkFTSCgpOworICAgIGlmIChpbmNsdWRlc0d1
YXJkUGFnZXMpIHsKKyAgICAgICAgbXByb3RlY3QocmVzdWx0LCBwYWdlU2l6ZSgpLCBQUk9UX05P
TkUpOworICAgICAgICBtcHJvdGVjdChzdGF0aWNfY2FzdDxjaGFyKj4ocmVzdWx0KSArIGJ5dGVz
IC0gcGFnZVNpemUoKSwgcGFnZVNpemUoKSwgUFJPVF9OT05FKTsKKyAgICB9CiAgICAgcmV0dXJu
IHJlc3VsdDsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdl
QWxsb2NhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbi5o
CmluZGV4IGFkM2QyMTdjNjlkYTFkMDI2ZjVjYTEwMThiNWY2ODMyMDdiZDZlOTkuLmZmNmYxOTVj
M2I3Njc5ODlmOThmYzQzYmY3Mzg4NzQ0YTE4MGFmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS93dGYvUGFnZUFsbG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvd3RmL1BhZ2VBbGxvY2F0aW9uLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKIHBy
aXZhdGU6CiAgICAgUGFnZUFsbG9jYXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUpCi0gICAg
ICAgIDogUGFnZUJsb2NrKGJhc2UsIHNpemUpCisgICAgICAgIDogUGFnZUJsb2NrKGJhc2UsIHNp
emUsIGZhbHNlKQogICAgIHsKICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbkFsaWduZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS93dGYvUGFnZUFsbG9jYXRpb25BbGlnbmVkLmgKaW5kZXggMjgyYzllMzdkOGYyZGE1OGFiNTUz
N2RmMjBkYWEwMjFlNjI4NWJkOC4uNmY3NWZmZDRmMjQ0ZDEzZjViMjk1MThjNGE4MDhkYTJiYThl
M2E4MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlv
bkFsaWduZWQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VBbGxvY2F0aW9u
QWxpZ25lZC5oCkBAIC00OCwxMiArNDgsMTIgQEAgcHVibGljOgogcHJpdmF0ZToKICNpZiBPUyhE
QVJXSU4pCiAgICAgUGFnZUFsbG9jYXRpb25BbGlnbmVkKHZvaWQqIGJhc2UsIHNpemVfdCBzaXpl
KQotICAgICAgICA6IFBhZ2VCbG9jayhiYXNlLCBzaXplKQorICAgICAgICA6IFBhZ2VCbG9jayhi
YXNlLCBzaXplLCBmYWxzZSkKICAgICB7CiAgICAgfQogI2Vsc2UKICAgICBQYWdlQWxsb2NhdGlv
bkFsaWduZWQodm9pZCogYmFzZSwgc2l6ZV90IHNpemUsIHZvaWQqIHJlc2VydmF0aW9uQmFzZSwg
c2l6ZV90IHJlc2VydmF0aW9uU2l6ZSkKLSAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSkK
KyAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSwgZmFsc2UpCiAgICAgICAgICwgbV9yZXNl
cnZhdGlvbihyZXNlcnZhdGlvbkJhc2UsIHJlc2VydmF0aW9uU2l6ZSkKICAgICB7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQmxvY2suaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFnZUJsb2NrLmgKaW5kZXggMDc0NTJiM2E5MTZmYWJmYjEw
MDg2ODJmYjNlZDdjYzA2YzM1NDNjYi4uYTZmMWI0OWJiZjhkNzAzYzdlYmNhMDI2YWY0OTgzZmZh
NjA0MTlkMiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQmxvY2su
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VCbG9jay5oCkBAIC0zNyw3ICsz
Nyw3IEBAIGNsYXNzIFBhZ2VCbG9jayB7CiBwdWJsaWM6CiAgICAgUGFnZUJsb2NrKCk7CiAgICAg
UGFnZUJsb2NrKGNvbnN0IFBhZ2VCbG9jayYpOwotICAgIFBhZ2VCbG9jayh2b2lkKiwgc2l6ZV90
KTsKKyAgICBQYWdlQmxvY2sodm9pZCosIHNpemVfdCwgYm9vbCBoYXNHdWFyZFBhZ2VzKTsKICAg
ICAKICAgICB2b2lkKiBiYXNlKCkgY29uc3QgeyByZXR1cm4gbV9iYXNlOyB9CiAgICAgc2l6ZV90
IHNpemUoKSBjb25zdCB7IHJldHVybiBtX3NpemU7IH0KQEAgLTUxLDI0ICs1MSwyOCBAQCBwdWJs
aWM6CiAgICAgfQogCiBwcml2YXRlOgorICAgIHZvaWQqIG1fcmVhbEJhc2U7CiAgICAgdm9pZCog
bV9iYXNlOwogICAgIHNpemVfdCBtX3NpemU7CiB9OwogCiBpbmxpbmUgUGFnZUJsb2NrOjpQYWdl
QmxvY2soKQotICAgIDogbV9iYXNlKDApCisgICAgOiBtX3JlYWxCYXNlKDApCisgICAgLCBtX2Jh
c2UoMCkKICAgICAsIG1fc2l6ZSgwKQogewogfQogCiBpbmxpbmUgUGFnZUJsb2NrOjpQYWdlQmxv
Y2soY29uc3QgUGFnZUJsb2NrJiBvdGhlcikKLSAgICA6IG1fYmFzZShvdGhlci5tX2Jhc2UpCisg
ICAgOiBtX3JlYWxCYXNlKG90aGVyLm1fcmVhbEJhc2UpCisgICAgLCBtX2Jhc2Uob3RoZXIubV9i
YXNlKQogICAgICwgbV9zaXplKG90aGVyLm1fc2l6ZSkKIHsKIH0KIAotaW5saW5lIFBhZ2VCbG9j
azo6UGFnZUJsb2NrKHZvaWQqIGJhc2UsIHNpemVfdCBzaXplKQotICAgIDogbV9iYXNlKGJhc2Up
CitpbmxpbmUgUGFnZUJsb2NrOjpQYWdlQmxvY2sodm9pZCogYmFzZSwgc2l6ZV90IHNpemUsIGJv
b2wgaGFzR3VhcmRQYWdlcykKKyAgICA6IG1fcmVhbEJhc2UoYmFzZSkKKyAgICAsIG1fYmFzZShz
dGF0aWNfY2FzdDxjaGFyKj4oYmFzZSkgKyAoaGFzR3VhcmRQYWdlcyA/IHBhZ2VTaXplKCkgOiAw
KSkKICAgICAsIG1fc2l6ZShzaXplKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9QYWdlUmVzZXJ2YXRpb24uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
UGFnZVJlc2VydmF0aW9uLmgKaW5kZXggNmRmZjcwMGIzMDgyZTRhN2IzNjY3NThkMTE4MGUzYzA1
NjMzZDkwZC4uNzc3ODNlYmNjNGEwYjRhNGI2NmQxZGU1ZTg2MDkyMTgxNGEzNzdlMCAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlUmVzZXJ2YXRpb24uaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCkBAIC0xMDQsNyArMTA0
LDEzIEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUGFnZVJlc2VydmF0aW9uIHJlc2VydmUoc2l6ZV90
IHNpemUsIE9TQWxsb2NhdG9yOjpVc2FnZSB1c2FnZSA9IE9TQWxsb2NhdG9yOjpVbmtub3duVXNh
Z2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFibGUgPSBmYWxzZSkKICAgICB7
CiAgICAgICAgIEFTU0VSVChpc1BhZ2VBbGlnbmVkKHNpemUpKTsKLSAgICAgICAgcmV0dXJuIFBh
Z2VSZXNlcnZhdGlvbihPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVuY29tbWl0dGVkKHNpemUsIHVzYWdl
LCB3cml0YWJsZSwgZXhlY3V0YWJsZSksIHNpemUsIHdyaXRhYmxlLCBleGVjdXRhYmxlKTsKKyAg
ICAgICAgcmV0dXJuIFBhZ2VSZXNlcnZhdGlvbihPU0FsbG9jYXRvcjo6cmVzZXJ2ZVVuY29tbWl0
dGVkKHNpemUsIHVzYWdlLCB3cml0YWJsZSwgZXhlY3V0YWJsZSksIHNpemUsIHdyaXRhYmxlLCBl
eGVjdXRhYmxlLCBmYWxzZSk7CisgICAgfQorICAgIAorICAgIHN0YXRpYyBQYWdlUmVzZXJ2YXRp
b24gcmVzZXJ2ZVdpdGhHdWFyZFBhZ2VzKHNpemVfdCBzaXplLCBPU0FsbG9jYXRvcjo6VXNhZ2Ug
dXNhZ2UgPSBPU0FsbG9jYXRvcjo6VW5rbm93blVzYWdlLCBib29sIHdyaXRhYmxlID0gdHJ1ZSwg
Ym9vbCBleGVjdXRhYmxlID0gZmFsc2UpCisgICAgeworICAgICAgICBBU1NFUlQoaXNQYWdlQWxp
Z25lZChzaXplKSk7CisgICAgICAgIHJldHVybiBQYWdlUmVzZXJ2YXRpb24oT1NBbGxvY2F0b3I6
OnJlc2VydmVVbmNvbW1pdHRlZChzaXplICsgcGFnZVNpemUoKSAqIDIsIHVzYWdlLCB3cml0YWJs
ZSwgZXhlY3V0YWJsZSwgdHJ1ZSksIHNpemUsIHdyaXRhYmxlLCBleGVjdXRhYmxlLCB0cnVlKTsK
ICAgICB9CiAKICAgICB2b2lkIGRlYWxsb2NhdGUoKQpAQCAtMTIzLDggKzEyOSw4IEBAIHB1Ymxp
YzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgUGFnZVJlc2VydmF0aW9uKHZvaWQqIGJhc2UsIHNp
emVfdCBzaXplLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCi0gICAgICAgIDogUGFn
ZUJsb2NrKGJhc2UsIHNpemUpCisgICAgUGFnZVJlc2VydmF0aW9uKHZvaWQqIGJhc2UsIHNpemVf
dCBzaXplLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaGFzR3VhcmRQYWdl
cykKKyAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSwgaGFzR3VhcmRQYWdlcykKICAgICAg
ICAgLCBtX2NvbW1pdHRlZCgwKQogICAgICAgICAsIG1fd3JpdGFibGUod3JpdGFibGUpCiAgICAg
ICAgICwgbV9leGVjdXRhYmxlKGV4ZWN1dGFibGUpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94144</attachid>
            <date>2011-05-19 16:33:41 -0700</date>
            <delta_ts>2011-06-02 08:27:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-61150-20110519163340.patch</filename>
            <type>text/plain</type>
            <size>11424</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY4OTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGUw
MmJmMmY0N2ExNTU5YTFlY2ZhNDc4Yjc1Y2M4ZTMzYTM0YWU2YmEuLmUyODY4Y2Y0MjEyMGMwOTQ1
YmEzYmY0NmViZWFlN2MyMTcxNDE4ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSw1
ICsxLDM2IEBACiAyMDExLTA1LTE5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd1YXJk
IHBhZ2VzIHRvIGVhY2ggZW5kIG9mIHRoZSBtZW1vcnkgcmVnaW9uIHVzZWQgYnkgdGhlIGZpeGVk
dm0gYWxsb2NhdG9yCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTE1MAorCisgICAgICAgIEFkZCBtZWNoYW5pc20gdG8gbm90aWZ5IHRoZSBPU0FsbG9j
YXRvciB0aGF0IHBhZ2VzIGF0IGVpdGhlciBlbmQgb2YgYW4KKyAgICAgICAgYWxsb2NhdGlvbiBz
aG91bGQgYmUgY29uc2lkZXJlZCBndWFyZCBwYWdlcy4gIFVwZGF0ZSBQYWdlUmVzZXJ2YXRpb24s
CisgICAgICAgIFBhZ2VBbGxvY2F0aW9uLCBldGMgdG8gaGFuZGxlIHRoaXMuCisKKyAgICAgICAg
KiBKYXZhU2NyaXB0Q29yZS5leHA6CisgICAgICAgICogaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JG
aXhlZFZNUG9vbC5jcHA6CisgICAgICAgIChKU0M6OkZpeGVkVk1Qb29sQWxsb2NhdG9yOjpGaXhl
ZFZNUG9vbEFsbG9jYXRvcik6CisgICAgICAgICogd3RmL09TQWxsb2NhdG9yLmg6CisgICAgICAg
ICogd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwOgorICAgICAgICAoV1RGOjpPU0FsbG9jYXRvcjo6
cmVzZXJ2ZVVuY29tbWl0dGVkKToKKyAgICAgICAgKFdURjo6T1NBbGxvY2F0b3I6OnJlc2VydmVB
bmRDb21taXQpOgorICAgICAgICAqIHd0Zi9QYWdlQWxsb2NhdGlvbi5oOgorICAgICAgICAoV1RG
OjpQYWdlQWxsb2NhdGlvbjo6UGFnZUFsbG9jYXRpb24pOgorICAgICAgICAqIHd0Zi9QYWdlQWxs
b2NhdGlvbkFsaWduZWQuaDoKKyAgICAgICAgKFdURjo6UGFnZUFsbG9jYXRpb25BbGlnbmVkOjpQ
YWdlQWxsb2NhdGlvbkFsaWduZWQpOgorICAgICAgICAqIHd0Zi9QYWdlQmxvY2suaDoKKyAgICAg
ICAgKFdURjo6UGFnZUJsb2NrOjpQYWdlQmxvY2spOgorICAgICAgICAqIHd0Zi9QYWdlUmVzZXJ2
YXRpb24uaDoKKyAgICAgICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlKToKKyAgICAg
ICAgKFdURjo6UGFnZVJlc2VydmF0aW9uOjpyZXNlcnZlV2l0aEd1YXJkUGFnZXMpOgorICAgICAg
ICAgICAgQWRkIGEgbmV3IGZ1bmN0aW9uIHRvIG1ha2UgYSByZXNlcnZhdGlvbiB0aGF0IHdpbGwg
YWRkIGd1YXJkCisgICAgICAgICAgICBwYWdlcyB0byB0aGUgZW5kcyBvZiBhbiBhbGxvY2F0aW9u
LgorICAgICAgICAoV1RGOjpQYWdlUmVzZXJ2YXRpb246OlBhZ2VSZXNlcnZhdGlvbik6CisKKzIw
MTEtMDUtMTkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKwogICAgICAgICBSZXZp
ZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KIAogICAgICAgICBNYWtlIEV4ZWN1dGFibGVzIHJlbGVh
c2UgdGhlaXIgSklUIGNvZGUgYXMgc29vbiBhcyB0aGV5IGJlY29tZSBkZWFkCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmV4cAppbmRleCA5YWEzYjFmMDM1MTZmYzMwY2E0ZjA1
MTY3YzdmMWRjZTg3ZWRkZGE4Li5lMmMwYmRhOWJhYTdjZWIwYjYxYmIxYTAwNWUyMDI1MGVjZDA4
YmUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZXhw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5leHAKQEAgLTM3NSw3
ICszNzUsNyBAQCBfX1pOM1dURjEwU3RyaW5nSW1wbEQxRXYKIF9fWk4zV1RGMTBmYXN0Q2FsbG9j
RW1tCiBfX1pOM1dURjEwZmFzdE1hbGxvY0VtCiBfX1pOM1dURjEwZmFzdFN0ckR1cEVQS2MKLV9f
Wk4zV1RGMTFPU0FsbG9jYXRvcjE2cmVzZXJ2ZUFuZENvbW1pdEVtTlMwXzVVc2FnZUViYgorX19a
TjNXVEYxMU9TQWxsb2NhdG9yMTZyZXNlcnZlQW5kQ29tbWl0RW1OUzBfNVVzYWdlRWJiYgogX19a
TjNXVEYxMU9TQWxsb2NhdG9yMThyZWxlYXNlRGVjb21taXR0ZWRFUHZtCiBfX1pOM1dURjExY29t
bWVudEF0b21FCiBfX1pOM1dURjExY3VycmVudFRpbWVFdgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9FeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRWTVBvb2wuY3Bw
CmluZGV4IDZhOTQ1YjA5MjFlNWRhZTA5OTVkZjA5YzljOTY0MWQzZjNlMTQ2ZTEuLjIwMjA5Y2Vi
ZGFlMmUzNGIyMDIzZTQxNGYyN2M3MDc5MTBlMmQxZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvRXhlY3V0YWJsZUFsbG9jYXRvckZpeGVkVk1Qb29sLmNwcAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0V4ZWN1dGFibGVBbGxvY2F0b3JGaXhlZFZNUG9vbC5j
cHAKQEAgLTQwOSw3ICs0MDksNyBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVChQYWdlVGFibGVz
MzJNQjo6c2l6ZSgpID09IDMyICogMTAyNCAqIDEwMjQpOwogICAgICAgICBBU1NFUlQoUGFnZVRh
YmxlczFHQjo6c2l6ZSgpID09IDEwMjQgKiAxMDI0ICogMTAyNCk7CiAKLSAgICAgICAgbV9yZXNl
cnZhdGlvbiA9IFBhZ2VSZXNlcnZhdGlvbjo6cmVzZXJ2ZShGaXhlZFZNUG9vbFBhZ2VUYWJsZXM6
OnNpemUoKSwgT1NBbGxvY2F0b3I6OkpTSklUQ29kZVBhZ2VzLCBFWEVDVVRBQkxFX1BPT0xfV1JJ
VEFCTEUsIHRydWUpOworICAgICAgICBtX3Jlc2VydmF0aW9uID0gUGFnZVJlc2VydmF0aW9uOjpy
ZXNlcnZlV2l0aEd1YXJkUGFnZXMoRml4ZWRWTVBvb2xQYWdlVGFibGVzOjpzaXplKCksIE9TQWxs
b2NhdG9yOjpKU0pJVENvZGVQYWdlcywgRVhFQ1VUQUJMRV9QT09MX1dSSVRBQkxFLCB0cnVlKTsK
ICNpZiAhRU5BQkxFKElOVEVSUFJFVEVSKQogICAgICAgICBpZiAoIWlzVmFsaWQoKSkKICAgICAg
ICAgICAgIENSQVNIKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09T
QWxsb2NhdG9yLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yLmgKaW5k
ZXggM2ZkNGNlZmYxMjdlOTE2OWY5MzgxYTU1NjhhZjc5NzJlZjYzYTY0Ny4uY2E5MzA1NjdkZWM5
ZmQwY2M1OTZhYmYyZmM2MjJlNWMwNjg4OWFhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3d0Zi9PU0FsbG9jYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYv
T1NBbGxvY2F0b3IuaApAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhlc2UgbWV0
aG9kcyBhcmUgc3ltbWV0cmljOyByZXNlcnZlVW5jb21taXR0ZWQgYWxsb2NhdGVzIFZNIGluIGFu
IHVuY29tbWl0dGVkIHN0YXRlLAogICAgIC8vIHJlbGVhc2VEZWNvbW1pdHRlZCBzaG91bGQgYmUg
Y2FsbGVkIG9uIGEgcmVnaW9uIG9mIFZNIGFsbG9jYXRlZCBieSBhIHNpbmdsZSByZXNlcnZhdGlv
biwKICAgICAvLyB0aGUgbWVtb3J5IG11c3QgYWxsIGN1cnJlbnRseSBiZSBpbiBhIGRlY29tbWl0
dGVkIHN0YXRlLgotICAgIHN0YXRpYyB2b2lkKiByZXNlcnZlVW5jb21taXR0ZWQoc2l6ZV90LCBV
c2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJs
ZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZVVuY29tbWl0dGVkKHNpemVfdCwg
VXNhZ2UgPSBVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4ZWN1dGFi
bGUgPSBmYWxzZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMgPSBmYWxzZSk7CiAgICAgc3RhdGlj
IHZvaWQgcmVsZWFzZURlY29tbWl0dGVkKHZvaWQqLCBzaXplX3QpOwogCiAgICAgLy8gVGhlc2Ug
bWV0aG9kcyBhcmUgc3ltbWV0cmljOyB0aGV5IGNvbW1pdCBvciBkZWNvbW1pdCBhIHJlZ2lvbiBv
ZiBWTSAodW5jb21taXR0ZWQgVk0gc2hvdWxkCkBAIC01Nyw3ICs1Nyw3IEBAIHB1YmxpYzoKICAg
ICAvLyBUaGVzZSBtZXRob2RzIGFyZSBzeW1tZXRyaWM7IHJlc2VydmVBbmRDb21taXQgYWxsb2Nh
dGVzIFZNIGluIGFuIGNvbW1pdHRlZCBzdGF0ZSwKICAgICAvLyBkZWNvbW1pdEFuZFJlbGVhc2Ug
c2hvdWxkIGJlIGNhbGxlZCBvbiBhIHJlZ2lvbiBvZiBWTSBhbGxvY2F0ZWQgYnkgYSBzaW5nbGUg
cmVzZXJ2YXRpb24sCiAgICAgLy8gdGhlIG1lbW9yeSBtdXN0IGFsbCBjdXJyZW50bHkgYmUgaW4g
YSBjb21taXR0ZWQgc3RhdGUuCi0gICAgc3RhdGljIHZvaWQqIHJlc2VydmVBbmRDb21taXQoc2l6
ZV90LCBVc2FnZSA9IFVua25vd25Vc2FnZSwgYm9vbCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhl
Y3V0YWJsZSA9IGZhbHNlKTsKKyAgICBzdGF0aWMgdm9pZCogcmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QsIFVzYWdlID0gVW5rbm93blVzYWdlLCBib29sIHdyaXRhYmxlID0gdHJ1ZSwgYm9vbCBleGVj
dXRhYmxlID0gZmFsc2UsIGJvb2wgaW5jbHVkZXNHdWFyZFBhZ2VzID0gZmFsc2UpOwogICAgIHN0
YXRpYyB2b2lkIGRlY29tbWl0QW5kUmVsZWFzZSh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSk7CiAK
ICAgICAvLyBUaGVzZSBtZXRob2RzIGFyZSBha2luIHRvIHJlc2VydmVBbmRDb21taXQvZGVjb21t
aXRBbmRSZWxlYXNlLCBhYm92ZSAtIGhvd2V2ZXIgcmF0aGVyIHRoYW4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxvY2F0b3JQb3NpeC5jcHAgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL09TQWxsb2NhdG9yUG9zaXguY3BwCmluZGV4IDI3ZWJkOTEwOGNhZjk1
NGM4ZGYyOGU2MTk4ZTFiODdmNTZlOTdhYWEuLjUxY2IzYWZkZjIwYjQ4MzI0MjNhNDZkODdkY2U2
ZTdmNTUzY2MxZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvT1NBbGxv
Y2F0b3JQb3NpeC5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9PU0FsbG9jYXRv
clBvc2l4LmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIk9TQWxsb2NhdG9yLmgiCiAKKyNpbmNsdWRlICJQYWdlQWxsb2NhdGlvbi5oIgogI2luY2x1
ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0
aW9ucy5oPgpAQCAtMzMsOSArMzQsOSBAQAogCiBuYW1lc3BhY2UgV1RGIHsKIAotdm9pZCogT1NB
bGxvY2F0b3I6OnJlc2VydmVVbmNvbW1pdHRlZChzaXplX3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBi
b29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2
ZVVuY29tbWl0dGVkKHNpemVfdCBieXRlcywgVXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJv
b2wgZXhlY3V0YWJsZSwgYm9vbCBpbmNsdWRlc0d1YXJkUGFnZXMpCiB7Ci0gICAgdm9pZCogcmVz
dWx0ID0gcmVzZXJ2ZUFuZENvbW1pdChieXRlcywgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxl
KTsKKyAgICB2b2lkKiByZXN1bHQgPSByZXNlcnZlQW5kQ29tbWl0KGJ5dGVzLCB1c2FnZSwgd3Jp
dGFibGUsIGV4ZWN1dGFibGUsIGluY2x1ZGVzR3VhcmRQYWdlcyk7CiAjaWYgSEFWRShNQURWX0ZS
RUVfUkVVU0UpCiAgICAgLy8gVG8gc3VwcG9ydCB0aGUgInJlc2VydmUgdGhlbiBjb21taXQiIG1v
ZGVsLCB3ZSBoYXZlIHRvIGluaXRpYWxseSBkZWNvbW1pdC4KICAgICB3aGlsZSAobWFkdmlzZShy
ZXN1bHQsIGJ5dGVzLCBNQURWX0ZSRUVfUkVVU0FCTEUpID09IC0xICYmIGVycm5vID09IEVBR0FJ
TikgeyB9CkBAIC00Myw3ICs0NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21t
aXR0ZWQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1c2FnZSwgYm9vbCB3cml0YWJsZSwKICAgICByZXR1
cm4gcmVzdWx0OwogfQogCi12b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXpl
X3QgYnl0ZXMsIFVzYWdlIHVzYWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUpCit2
b2lkKiBPU0FsbG9jYXRvcjo6cmVzZXJ2ZUFuZENvbW1pdChzaXplX3QgYnl0ZXMsIFVzYWdlIHVz
YWdlLCBib29sIHdyaXRhYmxlLCBib29sIGV4ZWN1dGFibGUsIGJvb2wgaW5jbHVkZXNHdWFyZFBh
Z2VzKQogewogICAgIC8vIEFsbCBQT1NJWCByZXNlcnZhdGlvbnMgc3RhcnQgb3V0IGxvZ2ljYWxs
eSBjb21taXR0ZWQuCiAgICAgaW50IHByb3RlY3Rpb24gPSBQUk9UX1JFQUQ7CkBAIC02Myw2ICs2
NCw3IEBAIHZvaWQqIE9TQWxsb2NhdG9yOjpyZXNlcnZlQW5kQ29tbWl0KHNpemVfdCBieXRlcywg
VXNhZ2UgdXNhZ2UsIGJvb2wgd3JpdGFibGUsIGJvCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKICNp
ZiAoT1MoREFSV0lOKSAmJiBDUFUoWDg2XzY0KSkKICAgICBpZiAoZXhlY3V0YWJsZSkgeworICAg
ICAgICBBU1NFUlQoaW5jbHVkZXNHdWFyZFBhZ2VzKTsKICAgICAgICAgLy8gQ29vayB1cCBhbiBh
ZGRyZXNzIHRvIGFsbG9jYXRlIGF0LCB1c2luZyB0aGUgZm9sbG93aW5nIHJlY2lwZToKICAgICAg
ICAgLy8gICAxNyBiaXRzIG9mIHplcm8sIHN0YXkgaW4gdXNlcnNwYWNlIGtpZHMuCiAgICAgICAg
IC8vICAgMjYgYml0cyBvZiByYW5kb21uZXNzIGZvciBBU0xSLgpAQCAtODMsNiArODUsMTAgQEAg
dm9pZCogT1NBbGxvY2F0b3I6OnJlc2VydmVBbmRDb21taXQoc2l6ZV90IGJ5dGVzLCBVc2FnZSB1
c2FnZSwgYm9vbCB3cml0YWJsZSwgYm8KICAgICByZXN1bHQgPSBtbWFwKHJlc3VsdCwgYnl0ZXMs
IHByb3RlY3Rpb24sIGZsYWdzLCBmZCwgMCk7CiAgICAgaWYgKHJlc3VsdCA9PSBNQVBfRkFJTEVE
KQogICAgICAgICBDUkFTSCgpOworICAgIGlmIChpbmNsdWRlc0d1YXJkUGFnZXMpIHsKKyAgICAg
ICAgbXByb3RlY3QocmVzdWx0LCBwYWdlU2l6ZSgpLCBQUk9UX05PTkUpOworICAgICAgICBtcHJv
dGVjdChzdGF0aWNfY2FzdDxjaGFyKj4ocmVzdWx0KSArIGJ5dGVzIC0gcGFnZVNpemUoKSwgcGFn
ZVNpemUoKSwgUFJPVF9OT05FKTsKKyAgICB9CiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbi5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbi5oCmluZGV4IGFkM2QyMTdjNjlk
YTFkMDI2ZjVjYTEwMThiNWY2ODMyMDdiZDZlOTkuLmZmNmYxOTVjM2I3Njc5ODlmOThmYzQzYmY3
Mzg4NzQ0YTE4MGFmMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFn
ZUFsbG9jYXRpb24uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VBbGxvY2F0
aW9uLmgKQEAgLTExNyw3ICsxMTcsNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgUGFnZUFs
bG9jYXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUpCi0gICAgICAgIDogUGFnZUJsb2NrKGJh
c2UsIHNpemUpCisgICAgICAgIDogUGFnZUJsb2NrKGJhc2UsIHNpemUsIGZhbHNlKQogICAgIHsK
ICAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxs
b2NhdGlvbkFsaWduZWQuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFnZUFsbG9jYXRp
b25BbGlnbmVkLmgKaW5kZXggMjgyYzllMzdkOGYyZGE1OGFiNTUzN2RmMjBkYWEwMjFlNjI4NWJk
OC4uYzAxOGRhYmQ4ZTM0NWNhMzMzNWM3OTdhZmU4NzgwMWNhNDg4M2UwZCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlQWxsb2NhdGlvbkFsaWduZWQuaAorKysgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VBbGxvY2F0aW9uQWxpZ25lZC5oCkBAIC00OCwx
MyArNDgsMTMgQEAgcHVibGljOgogcHJpdmF0ZToKICNpZiBPUyhEQVJXSU4pCiAgICAgUGFnZUFs
bG9jYXRpb25BbGlnbmVkKHZvaWQqIGJhc2UsIHNpemVfdCBzaXplKQotICAgICAgICA6IFBhZ2VC
bG9jayhiYXNlLCBzaXplKQorICAgICAgICA6IFBhZ2VCbG9jayhiYXNlLCBzaXplLCBmYWxzZSkK
ICAgICB7CiAgICAgfQogI2Vsc2UKICAgICBQYWdlQWxsb2NhdGlvbkFsaWduZWQodm9pZCogYmFz
ZSwgc2l6ZV90IHNpemUsIHZvaWQqIHJlc2VydmF0aW9uQmFzZSwgc2l6ZV90IHJlc2VydmF0aW9u
U2l6ZSkKLSAgICAgICAgOiBQYWdlQmxvY2soYmFzZSwgc2l6ZSkKLSAgICAgICAgLCBtX3Jlc2Vy
dmF0aW9uKHJlc2VydmF0aW9uQmFzZSwgcmVzZXJ2YXRpb25TaXplKQorICAgICAgICA6IFBhZ2VC
bG9jayhiYXNlLCBzaXplLCBmYWxzZSkKKyAgICAgICAgLCBtX3Jlc2VydmF0aW9uKHJlc2VydmF0
aW9uQmFzZSwgcmVzZXJ2YXRpb25TaXplLCBmYWxzZSkKICAgICB7CiAgICAgfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VCbG9jay5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3d0Zi9QYWdlQmxvY2suaAppbmRleCAwNzQ1MmIzYTkxNmZhYmZiMTAwODY4MmZi
M2VkN2NjMDZjMzU0M2NiLi5hNmYxYjQ5YmJmOGQ3MDNjN2ViY2EwMjZhZjQ5ODNmZmE2MDQxOWQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VCbG9jay5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGFnZUJsb2NrLmgKQEAgLTM3LDcgKzM3LDcgQEAg
Y2xhc3MgUGFnZUJsb2NrIHsKIHB1YmxpYzoKICAgICBQYWdlQmxvY2soKTsKICAgICBQYWdlQmxv
Y2soY29uc3QgUGFnZUJsb2NrJik7Ci0gICAgUGFnZUJsb2NrKHZvaWQqLCBzaXplX3QpOworICAg
IFBhZ2VCbG9jayh2b2lkKiwgc2l6ZV90LCBib29sIGhhc0d1YXJkUGFnZXMpOwogICAgIAogICAg
IHZvaWQqIGJhc2UoKSBjb25zdCB7IHJldHVybiBtX2Jhc2U7IH0KICAgICBzaXplX3Qgc2l6ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsgfQpAQCAtNTEsMjQgKzUxLDI4IEBAIHB1YmxpYzoKICAg
ICB9CiAKIHByaXZhdGU6CisgICAgdm9pZCogbV9yZWFsQmFzZTsKICAgICB2b2lkKiBtX2Jhc2U7
CiAgICAgc2l6ZV90IG1fc2l6ZTsKIH07CiAKIGlubGluZSBQYWdlQmxvY2s6OlBhZ2VCbG9jaygp
Ci0gICAgOiBtX2Jhc2UoMCkKKyAgICA6IG1fcmVhbEJhc2UoMCkKKyAgICAsIG1fYmFzZSgwKQog
ICAgICwgbV9zaXplKDApCiB7CiB9CiAKIGlubGluZSBQYWdlQmxvY2s6OlBhZ2VCbG9jayhjb25z
dCBQYWdlQmxvY2smIG90aGVyKQotICAgIDogbV9iYXNlKG90aGVyLm1fYmFzZSkKKyAgICA6IG1f
cmVhbEJhc2Uob3RoZXIubV9yZWFsQmFzZSkKKyAgICAsIG1fYmFzZShvdGhlci5tX2Jhc2UpCiAg
ICAgLCBtX3NpemUob3RoZXIubV9zaXplKQogewogfQogCi1pbmxpbmUgUGFnZUJsb2NrOjpQYWdl
QmxvY2sodm9pZCogYmFzZSwgc2l6ZV90IHNpemUpCi0gICAgOiBtX2Jhc2UoYmFzZSkKK2lubGlu
ZSBQYWdlQmxvY2s6OlBhZ2VCbG9jayh2b2lkKiBiYXNlLCBzaXplX3Qgc2l6ZSwgYm9vbCBoYXNH
dWFyZFBhZ2VzKQorICAgIDogbV9yZWFsQmFzZShiYXNlKQorICAgICwgbV9iYXNlKHN0YXRpY19j
YXN0PGNoYXIqPihiYXNlKSArIChoYXNHdWFyZFBhZ2VzID8gcGFnZVNpemUoKSA6IDApKQogICAg
ICwgbV9zaXplKHNpemUpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
d3RmL1BhZ2VSZXNlcnZhdGlvbi5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QYWdlUmVz
ZXJ2YXRpb24uaAppbmRleCA2ZGZmNzAwYjMwODJlNGE3YjM2Njc1OGQxMTgwZTNjMDU2MzNkOTBk
Li43Nzc4M2ViY2M0YTBiNGE0YjY2ZDFkZTVlODYwOTIxODE0YTM3N2UwIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1BhZ2VSZXNlcnZhdGlvbi5oCisrKyBiL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93dGYvUGFnZVJlc2VydmF0aW9uLmgKQEAgLTEwNCw3ICsxMDQsMTMgQEAg
cHVibGljOgogICAgIHN0YXRpYyBQYWdlUmVzZXJ2YXRpb24gcmVzZXJ2ZShzaXplX3Qgc2l6ZSwg
T1NBbGxvY2F0b3I6OlVzYWdlIHVzYWdlID0gT1NBbGxvY2F0b3I6OlVua25vd25Vc2FnZSwgYm9v
bCB3cml0YWJsZSA9IHRydWUsIGJvb2wgZXhlY3V0YWJsZSA9IGZhbHNlKQogICAgIHsKICAgICAg
ICAgQVNTRVJUKGlzUGFnZUFsaWduZWQoc2l6ZSkpOwotICAgICAgICByZXR1cm4gUGFnZVJlc2Vy
dmF0aW9uKE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21taXR0ZWQoc2l6ZSwgdXNhZ2UsIHdyaXRh
YmxlLCBleGVjdXRhYmxlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUpOworICAgICAgICBy
ZXR1cm4gUGFnZVJlc2VydmF0aW9uKE9TQWxsb2NhdG9yOjpyZXNlcnZlVW5jb21taXR0ZWQoc2l6
ZSwgdXNhZ2UsIHdyaXRhYmxlLCBleGVjdXRhYmxlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFi
bGUsIGZhbHNlKTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIFBhZ2VSZXNlcnZhdGlvbiByZXNl
cnZlV2l0aEd1YXJkUGFnZXMoc2l6ZV90IHNpemUsIE9TQWxsb2NhdG9yOjpVc2FnZSB1c2FnZSA9
IE9TQWxsb2NhdG9yOjpVbmtub3duVXNhZ2UsIGJvb2wgd3JpdGFibGUgPSB0cnVlLCBib29sIGV4
ZWN1dGFibGUgPSBmYWxzZSkKKyAgICB7CisgICAgICAgIEFTU0VSVChpc1BhZ2VBbGlnbmVkKHNp
emUpKTsKKyAgICAgICAgcmV0dXJuIFBhZ2VSZXNlcnZhdGlvbihPU0FsbG9jYXRvcjo6cmVzZXJ2
ZVVuY29tbWl0dGVkKHNpemUgKyBwYWdlU2l6ZSgpICogMiwgdXNhZ2UsIHdyaXRhYmxlLCBleGVj
dXRhYmxlLCB0cnVlKSwgc2l6ZSwgd3JpdGFibGUsIGV4ZWN1dGFibGUsIHRydWUpOwogICAgIH0K
IAogICAgIHZvaWQgZGVhbGxvY2F0ZSgpCkBAIC0xMjMsOCArMTI5LDggQEAgcHVibGljOgogICAg
IH0KIAogcHJpdmF0ZToKLSAgICBQYWdlUmVzZXJ2YXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNp
emUsIGJvb2wgd3JpdGFibGUsIGJvb2wgZXhlY3V0YWJsZSkKLSAgICAgICAgOiBQYWdlQmxvY2so
YmFzZSwgc2l6ZSkKKyAgICBQYWdlUmVzZXJ2YXRpb24odm9pZCogYmFzZSwgc2l6ZV90IHNpemUs
IGJvb2wgd3JpdGFibGUsIGJvb2wgZXhlY3V0YWJsZSwgYm9vbCBoYXNHdWFyZFBhZ2VzKQorICAg
ICAgICA6IFBhZ2VCbG9jayhiYXNlLCBzaXplLCBoYXNHdWFyZFBhZ2VzKQogICAgICAgICAsIG1f
Y29tbWl0dGVkKDApCiAgICAgICAgICwgbV93cml0YWJsZSh3cml0YWJsZSkKICAgICAgICAgLCBt
X2V4ZWN1dGFibGUoZXhlY3V0YWJsZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>