<?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>52447</bug_id>
          
          <creation_ts>2011-01-14 07:45:39 -0800</creation_ts>
          <short_desc>[Chromium] Notify embedder and crash WebCore process immediately in case of OOM in v8</short_desc>
          <delta_ts>2013-04-11 13:16:29 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Yury Semikhatsky">yurys</reporter>
          <assigned_to name="Yury Semikhatsky">yurys</assigned_to>
          <cc>ager</cc>
    
    <cc>antonm</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>schenney</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>334301</commentid>
    <comment_count>0</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-14 07:45:39 -0800</bug_when>
    <thetext>Show OOM notification bar and crash render process immediately in case of OOM in v8. Current approach is to try to disable JavaScript in the page where the fatal error was detected and continue execution.

Corresponding Chromium bug: http://crbug.com/40521</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334312</commentid>
    <comment_count>1</comment_count>
      <attachid>78942</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-14 08:14:26 -0800</bug_when>
    <thetext>Created attachment 78942
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334313</commentid>
    <comment_count>2</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-14 08:15:09 -0800</bug_when>
    <thetext>Chromium-side change: http://codereview.chromium.org/6006006/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>334326</commentid>
    <comment_count>3</comment_count>
      <attachid>78942</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-14 08:47:22 -0800</bug_when>
    <thetext>Comment on attachment 78942
Patch

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

ok with comments:

&gt; Source/WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

Can you explain why?

&gt; Source/WebCore/ChangeLog:21
&gt; +        * bindings/v8/V8AbstractEventListener.cpp:
&gt; +        (WebCore::V8AbstractEventListener::invokeEventHandler):
&gt; +        * bindings/v8/V8DOMWindowShell.cpp:
&gt; +        (WebCore::handleFatalErrorInV8):
&gt; +        (WebCore::V8DOMWindowShell::initContextIfNeeded):
&gt; +        * bindings/v8/V8Proxy.cpp:
&gt; +        (WebCore::V8Proxy::runScript):
&gt; +        * bindings/v8/V8Proxy.h:
&gt; +        * bindings/v8/WorkerContextExecutionProxy.cpp:
&gt; +        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
&gt; +        (WebCore::WorkerContextExecutionProxy::runScript):
&gt; +        * platform/chromium/ChromiumBridge.h:

I really prefer when the changes are documented (what/why) here to help reviewers and archeologists.

&gt; WebKit/chromium/ChangeLog:11
&gt; +        * public/WebKitClient.h:
&gt; +        (WebKit::WebKitClient::notifyJSOutOfMemory):
&gt; +        * src/ChromiumBridge.cpp:
&gt; +        (WebCore::ChromiumBridge::notifyJSOutOfMemory):

And here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335310</commentid>
    <comment_count>4</comment_count>
      <attachid>79168</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-17 07:22:19 -0800</bug_when>
    <thetext>Created attachment 79168
Patch that I&apos;m going to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>335311</commentid>
    <comment_count>5</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-01-17 07:26:21 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 78942 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=78942&amp;action=review
&gt; 
&gt; ok with comments:
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        No new tests. (OOPS!)
&gt; 
&gt; Can you explain why?
&gt; 
I&apos;d love to write a test for this but I don&apos;t see a good way to cause OOM in a quick and reliable way. fast/js/string-concatenate-outofmemory.html once tried to test behavior after OOM but it was eventually disabled because of some problems with its implementation. I don&apos;t see other tests for this behavior.


&gt; &gt; Source/WebCore/ChangeLog:21
&gt; &gt; +        * bindings/v8/V8AbstractEventListener.cpp:
&gt; &gt; +        (WebCore::V8AbstractEventListener::invokeEventHandler):
&gt; &gt; +        * bindings/v8/V8DOMWindowShell.cpp:
&gt; &gt; +        (WebCore::handleFatalErrorInV8):
&gt; &gt; +        (WebCore::V8DOMWindowShell::initContextIfNeeded):
&gt; &gt; +        * bindings/v8/V8Proxy.cpp:
&gt; &gt; +        (WebCore::V8Proxy::runScript):
&gt; &gt; +        * bindings/v8/V8Proxy.h:
&gt; &gt; +        * bindings/v8/WorkerContextExecutionProxy.cpp:
&gt; &gt; +        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
&gt; &gt; +        (WebCore::WorkerContextExecutionProxy::runScript):
&gt; &gt; +        * platform/chromium/ChromiumBridge.h:
&gt; 
&gt; I really prefer when the changes are documented (what/why) here to help reviewers and archeologists.
&gt; 
Done.

&gt; &gt; WebKit/chromium/ChangeLog:11
&gt; &gt; +        * public/WebKitClient.h:
&gt; &gt; +        (WebKit::WebKitClient::notifyJSOutOfMemory):
&gt; &gt; +        * src/ChromiumBridge.cpp:
&gt; &gt; +        (WebCore::ChromiumBridge::notifyJSOutOfMemory):
&gt; 
&gt; And here too.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>343182</commentid>
    <comment_count>6</comment_count>
      <attachid>80753</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-02-01 06:05:16 -0800</bug_when>
    <thetext>Created attachment 80753
Rebaselined patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423052</commentid>
    <comment_count>7</comment_count>
      <attachid>78942</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-06-17 23:08:11 -0700</bug_when>
    <thetext>Comment on attachment 78942
Patch

Clearing r+ from obsolete patch.  What more needs to be done for this bug?  Does the newer patch need to be reviewed and/or landed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423595</commentid>
    <comment_count>8</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-06-20 04:32:15 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 78942 [details])
&gt; Clearing r+ from obsolete patch.  What more needs to be done for this bug?  Does the newer patch need to be reviewed and/or landed?

We need to figure out what the Chromium UI for the crashed tabs should look like. Until we come to an agreement on that topic this change doesn&apos;t make sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>874093</commentid>
    <comment_count>9</comment_count>
    <who name="Stephen Chenney">schenney</who>
    <bug_when>2013-04-11 13:16:29 -0700</bug_when>
    <thetext>Assuming fixed as this is an old issue. Reopen in crbug if that&apos;s not true.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>78942</attachid>
            <date>2011-01-14 08:14:26 -0800</date>
            <delta_ts>2011-06-17 23:08:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52447-20110114191423.patch</filename>
            <type>text/plain</type>
            <size>10159</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MGVlMTNlZGE5MzViNmIyZjJjMmYwNjFlNjM0NTRjNTYyMGEwYjUxLi5h
NGRhNTVmOGNiOWM2MDhlOWQ1ODk5NDMwZDVkZWM2NzE5YmU3M2Q4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjUgQEAKKzIwMTEtMDEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0Nocm9taXVtXSBOb3RpZnkgZW1iZWRkZXIgYW5kIGNyYXNoIFdlYkNvcmUgcHJvY2VzcyBpbW1l
ZGlhdGVseSBpbiBjYXNlIG9mIE9PTSBpbiB2OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0NDcKKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BT
ISkKKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4QWJzdHJhY3RFdmVudExpc3RlbmVyOjppbnZva2VFdmVudEhh
bmRsZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6aGFuZGxlRmF0YWxFcnJvckluVjgpOgorICAgICAgICAoV2ViQ29yZTo6
VjhET01XaW5kb3dTaGVsbDo6aW5pdENvbnRleHRJZk5lZWRlZCk6CisgICAgICAgICogYmluZGlu
Z3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpydW5TY3JpcHQp
OgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0VjhJZk5lZWRlZCk6CisgICAgICAgIChXZWJD
b3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnJ1blNjcmlwdCk6CisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaDoKKwogMjAxMS0wMS0xNCAgUGF2ZWwg
UG9kaXZpbG92ICA8cG9kaXZpbG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IGJkYTQzNDU3NWQzMzIyZDNlZjY0
NjM3NWE0YWQ1ODFjYjRhYTVkNDMuLjQ5ZTMwZGRhMzMzMjlmZjMzZWU0MjQ4ZmQxMjFkYjdiMzZl
MGIzMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RF
dmVudExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3Ry
YWN0RXZlbnRMaXN0ZW5lci5jcHAKQEAgLTE2Niw4ICsxNjYsNiBAQCB2b2lkIFY4QWJzdHJhY3RF
dmVudExpc3RlbmVyOjppbnZva2VFdmVudEhhbmRsZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dAogICAgIGlmIChldmVudC0+dHlwZSgpID09ICJiZWZvcmV1bmxvYWQiIHx8IGV2ZW50
LT50eXBlKCkgPT0gInVubG9hZCIpCiAgICAgICAgIERhdGVFeHRlbnNpb246OmdldCgpLT5zZXRB
bGxvd1NsZWVwKHRydWUpOwogCi0gICAgQVNTRVJUKCFWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9y
eSgpIHx8IHJldHVyblZhbHVlLklzRW1wdHkoKSk7Ci0KICAgICBpZiAocmV0dXJuVmFsdWUuSXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhET01XaW5kb3dTaGVsbC5jcHAKaW5kZXggODIwNWZlNTAyMTYyYjE5YzUwYjdhNDNlNGFj
YzRkNzI4N2RlNTViYS4uOTI0Nzg4MGNkNWE1ZGMzYTRlMGU5MzFhZmQ4MDNjMjk2Njg3NDg0NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAK
QEAgLTc0LDYgKzc0LDkgQEAgc3RhdGljIHZvaWQgaGFuZGxlRmF0YWxFcnJvckluVjgoKQogewog
ICAgIC8vIEZJWE1FOiBXZSB0ZW1wb3JhcmlseSBkZWFsIHdpdGggVjggaW50ZXJuYWwgZXJyb3Ig
c2l0dWF0aW9ucwogICAgIC8vIHN1Y2ggYXMgb3V0LW9mLW1lbW9yeSBieSBjcmFzaGluZyB0aGUg
cmVuZGVyZXIuCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgUGxhdGZvcm1CcmlkZ2U6Om5v
dGlmeUpTT3V0T2ZNZW1vcnkoKTsKKyNlbmRpZgogICAgIENSQVNIKCk7CiB9CiAKQEAgLTI1NCw5
ICsyNTcsNyBAQCBib29sIFY4RE9NV2luZG93U2hlbGw6OmluaXRDb250ZXh0SWZOZWVkZWQoKQog
ICAgIC8vIHRvIGJlIGRvbmUgb25jZS4KICAgICBzdGF0aWMgYm9vbCBpc1Y4SW5pdGlhbGl6ZWQg
PSBmYWxzZTsKICAgICBpZiAoIWlzVjhJbml0aWFsaXplZCkgewotICAgICAgICAvLyBUZWxscyBW
OCBub3QgdG8gY2FsbCB0aGUgZGVmYXVsdCBPT00gaGFuZGxlciwgYmluZGluZyBjb2RlCi0gICAg
ICAgIC8vIHdpbGwgaGFuZGxlIGl0LgotICAgICAgICB2ODo6Vjg6Oklnbm9yZU91dE9mTWVtb3J5
RXhjZXB0aW9uKCk7CisgICAgICAgIC8vIEJpbmRpbmdzIGNvZGUgd2lsbCBoYW5kbGUgT09NIGV4
Y2VwdGlvbnMuCiAgICAgICAgIHY4OjpWODo6U2V0RmF0YWxFcnJvckhhbmRsZXIocmVwb3J0RmF0
YWxFcnJvckluVjgpOwogCiAgICAgICAgIHY4OjpWODo6U2V0R2xvYmFsR0NQcm9sb2d1ZUNhbGxi
YWNrKCZWOEdDQ29udHJvbGxlcjo6Z2NQcm9sb2d1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4UHJveHkuY3BwCmluZGV4IDFjMWY2NDIwMDQ3MDg5ODlmZjk0MGM3MjMyMDhmNjAwZjA1OWJl
NDcuLjFmMDFmOTU1ODlmZDk3NDgwZmNkNzI0ZmJhYTE3OWJhNDY3YWFjOTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCkBAIC0yMTUsMzYgKzIxNSw2IEBAIHY4OjpIYW5k
bGU8djg6OlNjcmlwdD4gVjhQcm94eTo6Y29tcGlsZVNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTdHJp
bmc+IGNvZGUsIGNvbnN0CiAgICAgcmV0dXJuIHNjcmlwdDsKIH0KIAotYm9vbCBWOFByb3h5Ojpo
YW5kbGVPdXRPZk1lbW9yeSgpCi17Ci0gICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0
ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKTsKLQotICAgIGlmICghY29udGV4dC0+SGFzT3V0
T2ZNZW1vcnlFeGNlcHRpb24oKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gV2Fy
bmluZywgZXJyb3IsIGRpc2FibGUgSlMgZm9yIHRoaXMgZnJhbWU/Ci0gICAgRnJhbWUqIGZyYW1l
ID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZShjb250ZXh0KTsKLQotICAgIFY4UHJveHkqIHByb3h5
ID0gVjhQcm94eTo6cmV0cmlldmUoZnJhbWUpOwotICAgIGlmIChwcm94eSkgewotICAgICAgICAv
LyBDbGVhbiBtX2NvbnRleHQsIGFuZCBldmVudCBoYW5kbGVycy4KLSAgICAgICAgcHJveHktPmNs
ZWFyRm9yQ2xvc2UoKTsKLQotICAgICAgICBwcm94eS0+d2luZG93U2hlbGwoKS0+ZGVzdHJveUds
b2JhbCgpOwotICAgIH0KLQotI2lmIFBMQVRGT1JNKENIUk9NSVVNKQotICAgIFBsYXRmb3JtQnJp
ZGdlOjpub3RpZnlKU091dE9mTWVtb3J5KGZyYW1lKTsKLSNlbmRpZgotCi0gICAgLy8gRGlzYWJs
ZSBKUy4KLSAgICBTZXR0aW5ncyogc2V0dGluZ3MgPSBmcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBB
U1NFUlQoc2V0dGluZ3MpOwotICAgIHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChmYWxz
ZSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQogdm9pZCBWOFByb3h5OjpldmFsdWF0ZUluSXNv
bGF0ZWRXb3JsZChpbnQgd29ybGRJRCwgY29uc3QgVmVjdG9yPFNjcmlwdFNvdXJjZUNvZGU+JiBz
b3VyY2VzLCBpbnQgZXh0ZW5zaW9uR3JvdXApCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBu
ZWVkIHRvIGdldCByZW9yZ2FuaXplZCBvbmNlIHdlIGhhdmUgYSB3aW5kb3dTaGVsbCBmb3IgdGhl
IGlzb2xhdGVkIHdvcmxkLgpAQCAtMzk4LDkgKzM2OCw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+
IFY4UHJveHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCwgYm9vbCBp
c0luCiAgICAgICAgIHNjcmlwdCA9IGNvbXBpbGVTY3JpcHQoY29kZSwgIiIsIFRleHRQb3NpdGlv
bjA6Om1pbmltdW1Qb3NpdGlvbigpKTsKICAgICB9CiAKLSAgICBpZiAoaGFuZGxlT3V0T2ZNZW1v
cnkoKSkKLSAgICAgICAgQVNTRVJUKHNjcmlwdC5Jc0VtcHR5KCkpOwotCiAgICAgaWYgKHNjcmlw
dC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwog
CkBAIC00MjUsOSArMzkyLDYgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2Ny
aXB0KHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gc2NyaXB0LCBib29sIGlzSW4KICAgICAvLyBSZWxl
YXNlIHRoZSBzdG9yYWdlIG11dGV4IGlmIGFwcGxpY2FibGUuCiAgICAgZGlkTGVhdmVTY3JpcHRD
b250ZXh0KCk7CiAKLSAgICBpZiAoaGFuZGxlT3V0T2ZNZW1vcnkoKSkKLSAgICAgICAgQVNTRVJU
KHJlc3VsdC5Jc0VtcHR5KCkpOwotCiAgICAgLy8gSGFuZGxlIFY4IGludGVybmFsIGVycm9yIHNp
dHVhdGlvbiAoT3V0LW9mLW1lbW9yeSkuCiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5KCkpCiAgICAg
ICAgIHJldHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5oCmluZGV4IGU1YTE3YWY5ODZiNDBkMTNiOTBhOTJkZGYzYjM3YmZkYjdjZmI1
NmUuLmM1MThkYzBmNjc4MDQ3NDYwZGQwODc4NjIxN2U0ODI3ZTczMDI1YjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTIzOCwxMCArMjM4LDYgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBzdGF0aWMgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBtYWluV29ybGRD
b250ZXh0KEZyYW1lKik7CiAgICAgICAgIHN0YXRpYyB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGN1
cnJlbnRDb250ZXh0KCk7CiAKLSAgICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgY29udGV4dCBjYXVz
ZXMgb3V0IG9mIG1lbW9yeSwgSmF2YVNjcmlwdCBzZXR0aW5nCi0gICAgICAgIC8vIGlzIGRpc2Fi
bGVkIGFuZCBpdCByZXR1cm5zIHRydWUuCi0gICAgICAgIHN0YXRpYyBib29sIGhhbmRsZU91dE9m
TWVtb3J5KCk7Ci0KICAgICAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBjaGVja05l
d0xlZ2FsKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKIAogICAgICAgICBzdGF0aWMgdjg6OkhhbmRs
ZTx2ODo6U2NyaXB0PiBjb21waWxlU2NyaXB0KHY4OjpIYW5kbGU8djg6OlN0cmluZz4gY29kZSwg
Y29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgVGV4dFBvc2l0aW9uMCYgc2NyaXB0U3RhcnRQ
b3NpdGlvbiwgdjg6OlNjcmlwdERhdGEqID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAppbmRleCBj
ZWZiMmZhYTczOTA4OTRiMzVkNjVhZDUzZjIxYThmYmM3ZGRhNTYxLi4zNzcxNjg5NDY2NTc5Nzk2
NTk1NTFmMmJkZGYyZDQ0ZGYwMDFiNmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKQEAgLTExNCw4
ICsxMTQsNyBAQCB2b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eTo6aW5pdFY4SWZOZWVk
ZWQoKQogICAgIGlmICh2OEluaXRpYWxpemVkKQogICAgICAgICByZXR1cm47CiAKLSAgICAvLyBU
ZWxsIFY4IG5vdCB0byBjYWxsIHRoZSBkZWZhdWx0IE9PTSBoYW5kbGVyLCBiaW5kaW5nIGNvZGUg
d2lsbCBoYW5kbGUgaXQuCi0gICAgdjg6OlY4OjpJZ25vcmVPdXRPZk1lbW9yeUV4Y2VwdGlvbigp
OworICAgIC8vIEJpbmRpbmdzIGNvZGUgd2lsbCBoYW5kbGUgT09NIGV4Y2VwdGlvbnMuCiAgICAg
djg6OlY4OjpTZXRGYXRhbEVycm9ySGFuZGxlcihyZXBvcnRGYXRhbEVycm9ySW5WOCk7CiAKICAg
ICB2ODo6UmVzb3VyY2VDb25zdHJhaW50cyByZXNvdXJjZV9jb25zdHJhaW50czsKQEAgLTIzMCw5
ICsyMjksNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJv
eHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcAogICAgICAgICBzY3JpcHQgPSBWOFBy
b3h5Ojpjb21waWxlU2NyaXB0KGNvZGUsICIiLCBUZXh0UG9zaXRpb24wOjptaW5pbXVtUG9zaXRp
b24oKSk7CiAgICAgfQogCi0gICAgaWYgKFY4UHJveHk6OmhhbmRsZU91dE9mTWVtb3J5KCkpCi0g
ICAgICAgIEFTU0VSVChzY3JpcHQuSXNFbXB0eSgpKTsKLQogICAgIGlmIChzY3JpcHQuSXNFbXB0
eSgpKQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKaW5kZXggZDNi
ODUyODVmNmRiYjIwYjBkYWUyZjYyMTFmNDI1MzI1ODU1OGFmNC4uNjFhZTFlN2E5MDYyNzFlOGRi
NjdhMzgzNjRiOTFkZThhODdmZGU0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC0xNzYsNyArMTc2LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6
ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiA+JiB2YWx1ZXMsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgVmVjdG9yPFJlZlB0cjxJREJL
ZXk+ID4mIGtleXMpOwogCiAgICAgICAgIC8vIEphdmFTY3JpcHQgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgIHN0YXRpYyB2
b2lkIG5vdGlmeUpTT3V0T2ZNZW1vcnkoRnJhbWUqKTsKKyAgICAgICAgc3RhdGljIHZvaWQgbm90
aWZ5SlNPdXRPZk1lbW9yeSgpOwogICAgICAgICBzdGF0aWMgYm9vbCBhbGxvd1NjcmlwdERlc3Bp
dGVTZXR0aW5ncyhjb25zdCBLVVJMJiBkb2N1bWVudFVSTCk7CiAKICAgICAgICAgLy8gS2V5Z2Vu
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCmluZGV4IDZmYjY3MDZlNTNjZjczNTM0Y2M0NWU4Zjk2NGMwYjcyOGU4
NThjMzMuLjBkYmMzMGEwYmZiZjEzODk2YmQ2ZWVmZDA2ODBhMjc5MTBjNjI2YzMgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTAxLTE0ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFtDaHJvbWl1bV0gTm90aWZ5IGVtYmVkZGVyIGFuZCBjcmFzaCBXZWJDb3JlIHBy
b2Nlc3MgaW1tZWRpYXRlbHkgaW4gY2FzZSBvZiBPT00gaW4gdjgKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUyNDQ3CisKKyAgICAgICAgKiBwdWJsaWMv
V2ViS2l0Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6bm90aWZ5SlNP
dXRPZk1lbW9yeSk6CisgICAgICAgICogc3JjL0Nocm9taXVtQnJpZGdlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkNocm9taXVtQnJpZGdlOjpub3RpZnlKU091dE9mTWVtb3J5KToKKwogMjAxMS0w
MS0xNCAgRmlubnVyIFRob3Jhcmluc3NvbiAgPGZpbm51ci53ZWJraXRAZ21haWwuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYktpdENsaWVudC5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRD
bGllbnQuaAppbmRleCBhZTc4OTJkNzY4OTIyNjc2ODNkOGY5NTJhNzdmZTk3OWQ0M2UyZDY5Li4y
YzhlMGFkY2ZjYThmMjVkOGMyOTAyYTNiZWU5MzE0NDhjOTA3ZmExIDEwMDY0NAotLS0gYS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCisrKyBiL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViS2l0Q2xpZW50LmgKQEAgLTE2OCw2ICsxNjgsOCBAQCBwdWJsaWM6CiAgICAgLy8g
U2FtZSBhcyBhYm92ZSwgYnV0IGFsd2F5cyByZXR1cm5zIGFjdHVhbCB2YWx1ZSwgd2l0aG91dCBh
bnkgY2FjaGVzLgogICAgIHZpcnR1YWwgc2l6ZV90IGFjdHVhbE1lbW9yeVVzYWdlTUIoKSB7IHJl
dHVybiAwOyB9CiAKKyAgICAvLyBOb3RpZmllcyBlbWJlZGRlciB0aGF0IHRoZSBwcm9jZXNzIGV4
aGF1c3RlZCBhbGwgSmF2YVNjcmlwdCBoZWFwIG1lbW9yeS4KKyAgICB2aXJ0dWFsIHZvaWQgbm90
aWZ5SlNPdXRPZk1lbW9yeSgpIHsgfQogCiAgICAgLy8gTWVzc2FnZSBQb3J0cyAtLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKZGlmZiAtLWdp
dCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwIGIvV2ViS2l0L2Nocm9t
aXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKaW5kZXggZTE2MDI1Y2M3ZWQxODUxMjk3NzUwOTBl
YmFhZGE5MWFlMGY1NWQ1NS4uYWFmYmMyOGZkZjNjYTAxYWFhNmE5NjRmNjhkMzhkN2NmNWUxNTY0
MSAxMDA2NDQKLS0tIGEvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKQEAgLTkyMywxNSArOTIz
LDkgQEAgYm9vbCBDaHJvbWl1bUJyaWRnZTo6aXNMaW5rVmlzaXRlZChMaW5rSGFzaCB2aXNpdGVk
TGlua0hhc2gpCiAvLyBHbHVlIGxheWVyLiBPbmNlIHRoZSBHbHVlIGxheWVyIG1vdmVzIGVudGly
ZWx5IGludG8gdGhlIFdlYktpdCBsYXllciwgdGhlc2UKIC8vIG1ldGhvZHMgd2lsbCBiZSBkZWxl
dGVkLgogCi12b2lkIENocm9taXVtQnJpZGdlOjpub3RpZnlKU091dE9mTWVtb3J5KEZyYW1lKiBm
cmFtZSkKK3ZvaWQgQ2hyb21pdW1CcmlkZ2U6Om5vdGlmeUpTT3V0T2ZNZW1vcnkoKQogewotICAg
IGlmICghZnJhbWUpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdlYkZyYW1lSW1wbCogd2ViRnJh
bWUgPSBXZWJGcmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7Ci0gICAgaWYgKCF3ZWJGcmFtZS0+
Y2xpZW50KCkpCi0gICAgICAgIHJldHVybjsKLSAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPmRpZEV4
aGF1c3RNZW1vcnlBdmFpbGFibGVGb3JTY3JpcHQod2ViRnJhbWUpOworICAgIHdlYktpdENsaWVu
dCgpLT5ub3RpZnlKU091dE9mTWVtb3J5KCk7CiB9CiAKIGludCBDaHJvbWl1bUJyaWRnZTo6bWVt
b3J5VXNhZ2VNQigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79168</attachid>
            <date>2011-01-17 07:22:19 -0800</date>
            <delta_ts>2011-02-01 06:05:16 -0800</delta_ts>
            <desc>Patch that I&apos;m going to land.</desc>
            <filename>oom-2.patch</filename>
            <type>text/plain</type>
            <size>10549</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBiMTFmNzg0Li41OTNmOWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTEtMDEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVt
XSBOb3RpZnkgZW1iZWRkZXIgYW5kIGNyYXNoIFdlYkNvcmUgcHJvY2VzcyBpbW1lZGlhdGVseSBp
biBjYXNlIG9mIE9PTSBpbiB2OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI0NDcKKworICAgICAgICBJbnN0ZWFkIG9mIGlnbm9yaW5nIG91dCBvZiBt
ZW1vcnkgZXhjZXB0aW9ucyBpbiB2OCBhbmQgaGFuZGxpbmcgdGhlbQorICAgICAgICBpbiByYW5k
b20gcGxhY2VzIGFmdGVyIEphdmFTY3JpcHQgZXhlY3V0aW9uIGJ5IGRpc2FibGluZyBKYXZhU2Ny
aXB0CisgICAgICAgIGluIHRoZSBwYWdlIHdoZXJlIHRoZSBPT00gd2FzIGRldGVjdGVkIHdlIG5v
dyBkbyB0aGUgZm9sbG93aW5nIHRoaW5ncworICAgICAgICBpbiB2OCdzIGZhdGFsIGVycm9yIGhh
bmRsZXI6CisgICAgICAgICAgMSkgbm90aWZ5IGVtYmRlZGRlciB0aGF0IHY4IHJhbiBvdXQgb2Yg
bWVtb3J5CisgICAgICAgICAgMikgY3Jhc2ggV2ViQ29yZSBwcm9jZXNzIGltbWVkaWF0ZWx5IGFm
dGVyIHRoYXQKKworICAgICAgICBUaGlzIHNob3VsZCBnaXZlIHVzIG1vcmUgcHJlZGljdGFibGUg
YmVoYXZpb3IgaW4gY2FzZSBvZiBPT00gKHRoZSBwcm9jZXNzIHdpbGwKKyAgICAgICAgY3Jhc2gg
YXQgdGhlIGV4ZWN0IHBsYWNlIHdoZXJlIE9PTSB3YXMgZGV0ZWN0ZWQgaW5zdGVhZCBvZiBzb21l
IHJhbmRvbQorICAgICAgICBKYXZhU2NyaXB0IGNvZGUgbGF0ZXIpLgorCisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2ZW50SGFuZGxlcik6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5k
bGVGYXRhbEVycm9ySW5WOCk6IGdpdmUgZW1iZWRkZXIgbGFzdCBjaGFuY2UgdG8gaGFuZGxlIE9P
TSBzdGF0ZQorICAgICAgICBiZWZvcmUgdGhlIHByb2Nlc3MgY3Jhc2hlcworICAgICAgICAoV2Vi
Q29yZTo6VjhET01XaW5kb3dTaGVsbDo6aW5pdENvbnRleHRJZk5lZWRlZCk6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpydW5T
Y3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0VjhJZk5lZWRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnJ1blNjcmlwdCk6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaDoKKwogMjAxMS0wMS0xNiAg
UGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBZdXJ5IFNlbWlraGF0c2t5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IGJkYTQzNDUuLjQ5ZTMwZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExp
c3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEFic3RyYWN0RXZl
bnRMaXN0ZW5lci5jcHAKQEAgLTE2Niw4ICsxNjYsNiBAQCB2b2lkIFY4QWJzdHJhY3RFdmVudExp
c3RlbmVyOjppbnZva2VFdmVudEhhbmRsZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dAogICAgIGlmIChldmVudC0+dHlwZSgpID09ICJiZWZvcmV1bmxvYWQiIHx8IGV2ZW50LT50eXBl
KCkgPT0gInVubG9hZCIpCiAgICAgICAgIERhdGVFeHRlbnNpb246OmdldCgpLT5zZXRBbGxvd1Ns
ZWVwKHRydWUpOwogCi0gICAgQVNTRVJUKCFWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9yeSgpIHx8
IHJldHVyblZhbHVlLklzRW1wdHkoKSk7Ci0KICAgICBpZiAocmV0dXJuVmFsdWUuSXNFbXB0eSgp
KQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhE
T01XaW5kb3dTaGVsbC5jcHAKaW5kZXggODIwNWZlNS4uOTI0Nzg4MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHAKQEAgLTc0LDYgKzc0LDkg
QEAgc3RhdGljIHZvaWQgaGFuZGxlRmF0YWxFcnJvckluVjgoKQogewogICAgIC8vIEZJWE1FOiBX
ZSB0ZW1wb3JhcmlseSBkZWFsIHdpdGggVjggaW50ZXJuYWwgZXJyb3Igc2l0dWF0aW9ucwogICAg
IC8vIHN1Y2ggYXMgb3V0LW9mLW1lbW9yeSBieSBjcmFzaGluZyB0aGUgcmVuZGVyZXIuCisjaWYg
UExBVEZPUk0oQ0hST01JVU0pCisgICAgUGxhdGZvcm1CcmlkZ2U6Om5vdGlmeUpTT3V0T2ZNZW1v
cnkoKTsKKyNlbmRpZgogICAgIENSQVNIKCk7CiB9CiAKQEAgLTI1NCw5ICsyNTcsNyBAQCBib29s
IFY4RE9NV2luZG93U2hlbGw6OmluaXRDb250ZXh0SWZOZWVkZWQoKQogICAgIC8vIHRvIGJlIGRv
bmUgb25jZS4KICAgICBzdGF0aWMgYm9vbCBpc1Y4SW5pdGlhbGl6ZWQgPSBmYWxzZTsKICAgICBp
ZiAoIWlzVjhJbml0aWFsaXplZCkgewotICAgICAgICAvLyBUZWxscyBWOCBub3QgdG8gY2FsbCB0
aGUgZGVmYXVsdCBPT00gaGFuZGxlciwgYmluZGluZyBjb2RlCi0gICAgICAgIC8vIHdpbGwgaGFu
ZGxlIGl0LgotICAgICAgICB2ODo6Vjg6Oklnbm9yZU91dE9mTWVtb3J5RXhjZXB0aW9uKCk7Cisg
ICAgICAgIC8vIEJpbmRpbmdzIGNvZGUgd2lsbCBoYW5kbGUgT09NIGV4Y2VwdGlvbnMuCiAgICAg
ICAgIHY4OjpWODo6U2V0RmF0YWxFcnJvckhhbmRsZXIocmVwb3J0RmF0YWxFcnJvckluVjgpOwog
CiAgICAgICAgIHY4OjpWODo6U2V0R2xvYmFsR0NQcm9sb2d1ZUNhbGxiYWNrKCZWOEdDQ29udHJv
bGxlcjo6Z2NQcm9sb2d1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmlu
ZGV4IDFjMWY2NDIuLjFmMDFmOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHku
Y3BwCkBAIC0yMTUsMzYgKzIxNSw2IEBAIHY4OjpIYW5kbGU8djg6OlNjcmlwdD4gVjhQcm94eTo6
Y29tcGlsZVNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGNvZGUsIGNvbnN0CiAgICAgcmV0
dXJuIHNjcmlwdDsKIH0KIAotYm9vbCBWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9yeSgpCi17Ci0g
ICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJl
bnQoKTsKLQotICAgIGlmICghY29udGV4dC0+SGFzT3V0T2ZNZW1vcnlFeGNlcHRpb24oKSkKLSAg
ICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gV2FybmluZywgZXJyb3IsIGRpc2FibGUgSlMg
Zm9yIHRoaXMgZnJhbWU/Ci0gICAgRnJhbWUqIGZyYW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFt
ZShjb250ZXh0KTsKLQotICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoZnJh
bWUpOwotICAgIGlmIChwcm94eSkgewotICAgICAgICAvLyBDbGVhbiBtX2NvbnRleHQsIGFuZCBl
dmVudCBoYW5kbGVycy4KLSAgICAgICAgcHJveHktPmNsZWFyRm9yQ2xvc2UoKTsKLQotICAgICAg
ICBwcm94eS0+d2luZG93U2hlbGwoKS0+ZGVzdHJveUdsb2JhbCgpOwotICAgIH0KLQotI2lmIFBM
QVRGT1JNKENIUk9NSVVNKQotICAgIFBsYXRmb3JtQnJpZGdlOjpub3RpZnlKU091dE9mTWVtb3J5
KGZyYW1lKTsKLSNlbmRpZgotCi0gICAgLy8gRGlzYWJsZSBKUy4KLSAgICBTZXR0aW5ncyogc2V0
dGluZ3MgPSBmcmFtZS0+c2V0dGluZ3MoKTsKLSAgICBBU1NFUlQoc2V0dGluZ3MpOwotICAgIHNl
dHRpbmdzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZChmYWxzZSk7Ci0KLSAgICByZXR1cm4gdHJ1ZTsK
LX0KLQogdm9pZCBWOFByb3h5OjpldmFsdWF0ZUluSXNvbGF0ZWRXb3JsZChpbnQgd29ybGRJRCwg
Y29uc3QgVmVjdG9yPFNjcmlwdFNvdXJjZUNvZGU+JiBzb3VyY2VzLCBpbnQgZXh0ZW5zaW9uR3Jv
dXApCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgd2lsbCBuZWVkIHRvIGdldCByZW9yZ2FuaXplZCBv
bmNlIHdlIGhhdmUgYSB3aW5kb3dTaGVsbCBmb3IgdGhlIGlzb2xhdGVkIHdvcmxkLgpAQCAtMzk4
LDkgKzM2OCw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1blNjcmlwdCh2ODo6
SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCwgYm9vbCBpc0luCiAgICAgICAgIHNjcmlwdCA9IGNv
bXBpbGVTY3JpcHQoY29kZSwgIiIsIFRleHRQb3NpdGlvbjA6Om1pbmltdW1Qb3NpdGlvbigpKTsK
ICAgICB9CiAKLSAgICBpZiAoaGFuZGxlT3V0T2ZNZW1vcnkoKSkKLSAgICAgICAgQVNTRVJUKHNj
cmlwdC5Jc0VtcHR5KCkpOwotCiAgICAgaWYgKHNjcmlwdC5Jc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiBub3RIYW5kbGVkQnlJbnRlcmNlcHRvcigpOwogCkBAIC00MjUsOSArMzkyLDYgQEAgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gVjhQcm94eTo6cnVuU2NyaXB0KHY4OjpIYW5kbGU8djg6OlNjcmlw
dD4gc2NyaXB0LCBib29sIGlzSW4KICAgICAvLyBSZWxlYXNlIHRoZSBzdG9yYWdlIG11dGV4IGlm
IGFwcGxpY2FibGUuCiAgICAgZGlkTGVhdmVTY3JpcHRDb250ZXh0KCk7CiAKLSAgICBpZiAoaGFu
ZGxlT3V0T2ZNZW1vcnkoKSkKLSAgICAgICAgQVNTRVJUKHJlc3VsdC5Jc0VtcHR5KCkpOwotCiAg
ICAgLy8gSGFuZGxlIFY4IGludGVybmFsIGVycm9yIHNpdHVhdGlvbiAoT3V0LW9mLW1lbW9yeSku
CiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBub3RIYW5kbGVkQnlJ
bnRlcmNlcHRvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQ
cm94eS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oCmluZGV4IGU1YTE3
YWYuLmM1MThkYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTIzOCwx
MCArMjM4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgdjg6OkxvY2Fs
PHY4OjpDb250ZXh0PiBtYWluV29ybGRDb250ZXh0KEZyYW1lKik7CiAgICAgICAgIHN0YXRpYyB2
ODo6TG9jYWw8djg6OkNvbnRleHQ+IGN1cnJlbnRDb250ZXh0KCk7CiAKLSAgICAgICAgLy8gSWYg
dGhlIGN1cnJlbnQgY29udGV4dCBjYXVzZXMgb3V0IG9mIG1lbW9yeSwgSmF2YVNjcmlwdCBzZXR0
aW5nCi0gICAgICAgIC8vIGlzIGRpc2FibGVkIGFuZCBpdCByZXR1cm5zIHRydWUuCi0gICAgICAg
IHN0YXRpYyBib29sIGhhbmRsZU91dE9mTWVtb3J5KCk7Ci0KICAgICAgICAgc3RhdGljIHY4OjpI
YW5kbGU8djg6OlZhbHVlPiBjaGVja05ld0xlZ2FsKGNvbnN0IHY4OjpBcmd1bWVudHMmKTsKIAog
ICAgICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBjb21waWxlU2NyaXB0KHY4OjpI
YW5kbGU8djg6OlN0cmluZz4gY29kZSwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgVGV4
dFBvc2l0aW9uMCYgc2NyaXB0U3RhcnRQb3NpdGlvbiwgdjg6OlNjcmlwdERhdGEqID0gMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0
aW9uUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4
ZWN1dGlvblByb3h5LmNwcAppbmRleCBjZWZiMmZhLi4zNzcxNjg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94
eS5jcHAKQEAgLTExNCw4ICsxMTQsNyBAQCB2b2lkIFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94
eTo6aW5pdFY4SWZOZWVkZWQoKQogICAgIGlmICh2OEluaXRpYWxpemVkKQogICAgICAgICByZXR1
cm47CiAKLSAgICAvLyBUZWxsIFY4IG5vdCB0byBjYWxsIHRoZSBkZWZhdWx0IE9PTSBoYW5kbGVy
LCBiaW5kaW5nIGNvZGUgd2lsbCBoYW5kbGUgaXQuCi0gICAgdjg6OlY4OjpJZ25vcmVPdXRPZk1l
bW9yeUV4Y2VwdGlvbigpOworICAgIC8vIEJpbmRpbmdzIGNvZGUgd2lsbCBoYW5kbGUgT09NIGV4
Y2VwdGlvbnMuCiAgICAgdjg6OlY4OjpTZXRGYXRhbEVycm9ySGFuZGxlcihyZXBvcnRGYXRhbEVy
cm9ySW5WOCk7CiAKICAgICB2ODo6UmVzb3VyY2VDb25zdHJhaW50cyByZXNvdXJjZV9jb25zdHJh
aW50czsKQEAgLTIzMCw5ICsyMjksNiBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBXb3JrZXJDb250
ZXh0RXhlY3V0aW9uUHJveHk6OnJ1blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcAogICAgICAg
ICBzY3JpcHQgPSBWOFByb3h5Ojpjb21waWxlU2NyaXB0KGNvZGUsICIiLCBUZXh0UG9zaXRpb24w
OjptaW5pbXVtUG9zaXRpb24oKSk7CiAgICAgfQogCi0gICAgaWYgKFY4UHJveHk6OmhhbmRsZU91
dE9mTWVtb3J5KCkpCi0gICAgICAgIEFTU0VSVChzY3JpcHQuSXNFbXB0eSgpKTsKLQogICAgIGlm
IChzY3JpcHQuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4o
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21p
dW1CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0Nocm9taXVtQnJp
ZGdlLmgKaW5kZXggZDNiODUyOC4uNjFhZTFlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC0xNzYsNyArMTc2LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNl
cmlhbGl6ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPiA+JiB2YWx1ZXMsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgVmVjdG9yPFJlZlB0
cjxJREJLZXk+ID4mIGtleXMpOwogCiAgICAgICAgIC8vIEphdmFTY3JpcHQgLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gICAgICAgIHN0
YXRpYyB2b2lkIG5vdGlmeUpTT3V0T2ZNZW1vcnkoRnJhbWUqKTsKKyAgICAgICAgc3RhdGljIHZv
aWQgbm90aWZ5SlNPdXRPZk1lbW9yeSgpOwogICAgICAgICBzdGF0aWMgYm9vbCBhbGxvd1Njcmlw
dERlc3BpdGVTZXR0aW5ncyhjb25zdCBLVVJMJiBkb2N1bWVudFVSTCk7CiAKICAgICAgICAgLy8g
S2V5Z2VuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDhiNWI2OC4uNTg5OTFh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wMS0x
NCAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21pdW1dIE5vdGlmeSBlbWJl
ZGRlciBhbmQgY3Jhc2ggV2ViQ29yZSBwcm9jZXNzIGltbWVkaWF0ZWx5IGluIGNhc2Ugb2YgT09N
IGluIHY4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01
MjQ0NworCisgICAgICAgICogcHVibGljL1dlYktpdENsaWVudC5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJLaXRDbGllbnQ6Om5vdGlmeUpTT3V0T2ZNZW1vcnkpOiB0aGUgbWV0aG9kIGRvZXNuJ3Qg
ZGlmZmVyZW50aWF0ZQorICAgICAgICBiZXR3ZWVuIE9PTSBpbiBkaWZmZXJlbnQgY29udGV4dHMg
c2luY2UgaXQncyBoYXJkIHRvIHRlbGwgY29kZSBmcm9tIHdoaWNoIGNvbnRleHQgaGFzCisgICAg
ICAgIGFjdHVhbGx5IGV4aGF1c3RlZCBtb3N0IG9mIHRoZSBtZW1vcnkgYW5kIGFsbCBwYWdlcyBz
aGFyaW5nIHRoZSBzYW1lIHY4IGluc3RhbmNlCisgICAgICAgIHdpbGwgY3Jhc2ggYW55d2F5LiBU
aGUgcHJvY2VzcyB3aWxsIGNyYXNoIGltbWVkaWF0ZWx5IGFmdGVyIHJldHVybiBmcm9tIHRoaXMg
bWV0aG9kLgorICAgICAgICAqIHNyYy9DaHJvbWl1bUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpDaHJvbWl1bUJyaWRnZTo6bm90aWZ5SlNPdXRPZk1lbW9yeSk6CisKIDIwMTEtMDEtMTcg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBVcGRhdGUgcGF0aCB0
byByZWZsZWN0IG5ldyBXZWJLaXQgZGlyZWN0b3J5IGxvY2F0aW9uLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAppbmRleCBhZTc4OTJkLi4yYzhlMGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaApAQCAtMTY4
LDYgKzE2OCw4IEBAIHB1YmxpYzoKICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgYWx3YXlzIHJl
dHVybnMgYWN0dWFsIHZhbHVlLCB3aXRob3V0IGFueSBjYWNoZXMuCiAgICAgdmlydHVhbCBzaXpl
X3QgYWN0dWFsTWVtb3J5VXNhZ2VNQigpIHsgcmV0dXJuIDA7IH0KIAorICAgIC8vIE5vdGlmaWVz
IGVtYmVkZGVyIHRoYXQgdGhlIHByb2Nlc3MgZXhoYXVzdGVkIGFsbCBKYXZhU2NyaXB0IGhlYXAg
bWVtb3J5LgorICAgIHZpcnR1YWwgdm9pZCBub3RpZnlKU091dE9mTWVtb3J5KCkgeyB9CiAKICAg
ICAvLyBNZXNzYWdlIFBvcnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21pdW1CcmlkZ2UuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21p
dW1CcmlkZ2UuY3BwCmluZGV4IGUxNjAyNWMuLmFhZmJjMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9taXVtQnJpZGdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKQEAgLTkyMywxNSArOTIzLDkgQEAgYm9v
bCBDaHJvbWl1bUJyaWRnZTo6aXNMaW5rVmlzaXRlZChMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2gp
CiAvLyBHbHVlIGxheWVyLiBPbmNlIHRoZSBHbHVlIGxheWVyIG1vdmVzIGVudGlyZWx5IGludG8g
dGhlIFdlYktpdCBsYXllciwgdGhlc2UKIC8vIG1ldGhvZHMgd2lsbCBiZSBkZWxldGVkLgogCi12
b2lkIENocm9taXVtQnJpZGdlOjpub3RpZnlKU091dE9mTWVtb3J5KEZyYW1lKiBmcmFtZSkKK3Zv
aWQgQ2hyb21pdW1CcmlkZ2U6Om5vdGlmeUpTT3V0T2ZNZW1vcnkoKQogewotICAgIGlmICghZnJh
bWUpCi0gICAgICAgIHJldHVybjsKLQotICAgIFdlYkZyYW1lSW1wbCogd2ViRnJhbWUgPSBXZWJG
cmFtZUltcGw6OmZyb21GcmFtZShmcmFtZSk7Ci0gICAgaWYgKCF3ZWJGcmFtZS0+Y2xpZW50KCkp
Ci0gICAgICAgIHJldHVybjsKLSAgICB3ZWJGcmFtZS0+Y2xpZW50KCktPmRpZEV4aGF1c3RNZW1v
cnlBdmFpbGFibGVGb3JTY3JpcHQod2ViRnJhbWUpOworICAgIHdlYktpdENsaWVudCgpLT5ub3Rp
ZnlKU091dE9mTWVtb3J5KCk7CiB9CiAKIGludCBDaHJvbWl1bUJyaWRnZTo6bWVtb3J5VXNhZ2VN
QigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>80753</attachid>
            <date>2011-02-01 06:05:16 -0800</date>
            <delta_ts>2011-02-01 06:05:16 -0800</delta_ts>
            <desc>Rebaselined patch</desc>
            <filename>oom-3.patch</filename>
            <type>text/plain</type>
            <size>10515</size>
            <attacher name="Yury Semikhatsky">yurys</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyNmY5N2Y3Li42YTJhZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzUg
QEAKKzIwMTEtMDEtMTQgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVt
XSBOb3RpZnkgZW1iZWRkZXIgYW5kIGNyYXNoIFdlYkNvcmUgcHJvY2VzcyBpbW1lZGlhdGVseSBp
biBjYXNlIG9mIE9PTSBpbiB2OAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NTI0NDcKKworICAgICAgICBJbnN0ZWFkIG9mIGlnbm9yaW5nIG91dCBvZiBt
ZW1vcnkgZXhjZXB0aW9ucyBpbiB2OCBhbmQgaGFuZGxpbmcgdGhlbQorICAgICAgICBpbiByYW5k
b20gcGxhY2VzIGFmdGVyIEphdmFTY3JpcHQgZXhlY3V0aW9uIGJ5IGRpc2FibGluZyBKYXZhU2Ny
aXB0CisgICAgICAgIGluIHRoZSBwYWdlIHdoZXJlIHRoZSBPT00gd2FzIGRldGVjdGVkIHdlIG5v
dyBkbyB0aGUgZm9sbG93aW5nIHRoaW5ncworICAgICAgICBpbiB2OCdzIGZhdGFsIGVycm9yIGhh
bmRsZXI6CisgICAgICAgICAgMSkgbm90aWZ5IGVtYmRlZGRlciB0aGF0IHY4IHJhbiBvdXQgb2Yg
bWVtb3J5CisgICAgICAgICAgMikgY3Jhc2ggV2ViQ29yZSBwcm9jZXNzIGltbWVkaWF0ZWx5IGFm
dGVyIHRoYXQKKworICAgICAgICBUaGlzIHNob3VsZCBnaXZlIHVzIG1vcmUgcHJlZGljdGFibGUg
YmVoYXZpb3IgaW4gY2FzZSBvZiBPT00gKHRoZSBwcm9jZXNzIHdpbGwKKyAgICAgICAgY3Jhc2gg
YXQgdGhlIGV4ZWN0IHBsYWNlIHdoZXJlIE9PTSB3YXMgZGV0ZWN0ZWQgaW5zdGVhZCBvZiBzb21l
IHJhbmRvbQorICAgICAgICBKYXZhU2NyaXB0IGNvZGUgbGF0ZXIpLgorCisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VjhBYnN0cmFjdEV2ZW50TGlzdGVuZXI6Omludm9rZUV2ZW50SGFuZGxlcik6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpoYW5k
bGVGYXRhbEVycm9ySW5WOCk6IGdpdmUgZW1iZWRkZXIgbGFzdCBjaGFuY2UgdG8gaGFuZGxlIE9P
TSBzdGF0ZQorICAgICAgICBiZWZvcmUgdGhlIHByb2Nlc3MgY3Jhc2hlcworICAgICAgICAoV2Vi
Q29yZTo6VjhET01XaW5kb3dTaGVsbDo6aW5pdENvbnRleHRJZk5lZWRlZCk6CisgICAgICAgICog
YmluZGluZ3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5OjpydW5T
Y3JpcHQpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDoKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6V29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5Ojppbml0VjhJZk5lZWRlZCk6CisgICAgICAg
IChXZWJDb3JlOjpXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OnJ1blNjcmlwdCk6CisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2UuaDoKKwogMjAxMS0wMi0wMSAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBSb2xsb3V0IHI3NzIzMCB3aGljaCBjYXVzZWQgbWFueSBsYXlvdXQgdGVzdHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QWJzdHJhY3RFdmVudExpc3RlbmVy
LmNwcAppbmRleCBiZGE0MzQ1Li40OWUzMGRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEFic3RyYWN0RXZlbnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhBYnN0cmFjdEV2ZW50TGlzdGVuZXIuY3BwCkBAIC0xNjYsOCArMTY2
LDYgQEAgdm9pZCBWOEFic3RyYWN0RXZlbnRMaXN0ZW5lcjo6aW52b2tlRXZlbnRIYW5kbGVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQKICAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSAi
YmVmb3JldW5sb2FkIiB8fCBldmVudC0+dHlwZSgpID09ICJ1bmxvYWQiKQogICAgICAgICBEYXRl
RXh0ZW5zaW9uOjpnZXQoKS0+c2V0QWxsb3dTbGVlcCh0cnVlKTsKIAotICAgIEFTU0VSVCghVjhQ
cm94eTo6aGFuZGxlT3V0T2ZNZW1vcnkoKSB8fCByZXR1cm5WYWx1ZS5Jc0VtcHR5KCkpOwotCiAg
ICAgaWYgKHJldHVyblZhbHVlLklzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2luZG93U2hlbGwuY3BwCmluZGV4IGVhMmMz
YzQuLmEwOGVjMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9N
V2luZG93U2hlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV2lu
ZG93U2hlbGwuY3BwCkBAIC03NSw2ICs3NSw5IEBAIHN0YXRpYyB2b2lkIGhhbmRsZUZhdGFsRXJy
b3JJblY4KCkKIHsKICAgICAvLyBGSVhNRTogV2UgdGVtcG9yYXJpbHkgZGVhbCB3aXRoIFY4IGlu
dGVybmFsIGVycm9yIHNpdHVhdGlvbnMKICAgICAvLyBzdWNoIGFzIG91dC1vZi1tZW1vcnkgYnkg
Y3Jhc2hpbmcgdGhlIHJlbmRlcmVyLgorI2lmIFBMQVRGT1JNKENIUk9NSVVNKQorICAgIFBsYXRm
b3JtQnJpZGdlOjpub3RpZnlKU091dE9mTWVtb3J5KCk7CisjZW5kaWYKICAgICBDUkFTSCgpOwog
fQogCkBAIC0yNzksOSArMjgyLDcgQEAgYm9vbCBWOERPTVdpbmRvd1NoZWxsOjppbml0Q29udGV4
dElmTmVlZGVkKCkKICAgICAvLyB0byBiZSBkb25lIG9uY2UuCiAgICAgc3RhdGljIGJvb2wgaXNW
OEluaXRpYWxpemVkID0gZmFsc2U7CiAgICAgaWYgKCFpc1Y4SW5pdGlhbGl6ZWQpIHsKLSAgICAg
ICAgLy8gVGVsbHMgVjggbm90IHRvIGNhbGwgdGhlIGRlZmF1bHQgT09NIGhhbmRsZXIsIGJpbmRp
bmcgY29kZQotICAgICAgICAvLyB3aWxsIGhhbmRsZSBpdC4KLSAgICAgICAgdjg6OlY4OjpJZ25v
cmVPdXRPZk1lbW9yeUV4Y2VwdGlvbigpOworICAgICAgICAvLyBCaW5kaW5ncyBjb2RlIHdpbGwg
aGFuZGxlIE9PTSBleGNlcHRpb25zLgogICAgICAgICB2ODo6Vjg6OlNldEZhdGFsRXJyb3JIYW5k
bGVyKHJlcG9ydEZhdGFsRXJyb3JJblY4KTsKIAogICAgICAgICB2ODo6Vjg6OlNldEdsb2JhbEdD
UHJvbG9ndWVDYWxsYmFjaygmVjhHQ0NvbnRyb2xsZXI6OmdjUHJvbG9ndWUpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAppbmRleCA1ZDA5NDgyLi40NjljMWM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApAQCAtMjExLDM2ICsyMTEsNiBAQCB2ODo6
SGFuZGxlPHY4OjpTY3JpcHQ+IFY4UHJveHk6OmNvbXBpbGVTY3JpcHQodjg6OkhhbmRsZTx2ODo6
U3RyaW5nPiBjb2RlLCBjb25zdAogICAgIHJldHVybiBzY3JpcHQ7CiB9CiAKLWJvb2wgVjhQcm94
eTo6aGFuZGxlT3V0T2ZNZW1vcnkoKQotewotICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29u
dGV4dCA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCk7Ci0KLSAgICBpZiAoIWNvbnRleHQtPkhh
c091dE9mTWVtb3J5RXhjZXB0aW9uKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIC8v
IFdhcm5pbmcsIGVycm9yLCBkaXNhYmxlIEpTIGZvciB0aGlzIGZyYW1lPwotICAgIEZyYW1lKiBm
cmFtZSA9IFY4UHJveHk6OnJldHJpZXZlRnJhbWUoY29udGV4dCk7Ci0KLSAgICBWOFByb3h5KiBw
cm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGZyYW1lKTsKLSAgICBpZiAocHJveHkpIHsKLSAgICAg
ICAgLy8gQ2xlYW4gbV9jb250ZXh0LCBhbmQgZXZlbnQgaGFuZGxlcnMuCi0gICAgICAgIHByb3h5
LT5jbGVhckZvckNsb3NlKCk7Ci0KLSAgICAgICAgcHJveHktPndpbmRvd1NoZWxsKCktPmRlc3Ry
b3lHbG9iYWwoKTsKLSAgICB9Ci0KLSNpZiBQTEFURk9STShDSFJPTUlVTSkKLSAgICBQbGF0Zm9y
bUJyaWRnZTo6bm90aWZ5SlNPdXRPZk1lbW9yeShmcmFtZSk7Ci0jZW5kaWYKLQotICAgIC8vIERp
c2FibGUgSlMuCi0gICAgU2V0dGluZ3MqIHNldHRpbmdzID0gZnJhbWUtPnNldHRpbmdzKCk7Ci0g
ICAgQVNTRVJUKHNldHRpbmdzKTsKLSAgICBzZXR0aW5ncy0+c2V0SmF2YVNjcmlwdEVuYWJsZWQo
ZmFsc2UpOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIHZvaWQgVjhQcm94eTo6ZXZhbHVhdGVJ
bklzb2xhdGVkV29ybGQoaW50IHdvcmxkSUQsIGNvbnN0IFZlY3RvcjxTY3JpcHRTb3VyY2VDb2Rl
PiYgc291cmNlcywgaW50IGV4dGVuc2lvbkdyb3VwKQogewogICAgIC8vIEZJWE1FOiBUaGlzIHdp
bGwgbmVlZCB0byBnZXQgcmVvcmdhbml6ZWQgb25jZSB3ZSBoYXZlIGEgd2luZG93U2hlbGwgZm9y
IHRoZSBpc29sYXRlZCB3b3JsZC4KQEAgLTM5NCw5ICszNjQsNiBAQCB2ODo6TG9jYWw8djg6OlZh
bHVlPiBWOFByb3h5OjpydW5TY3JpcHQodjg6OkhhbmRsZTx2ODo6U2NyaXB0PiBzY3JpcHQsIGJv
b2wgaXNJbgogICAgICAgICBzY3JpcHQgPSBjb21waWxlU2NyaXB0KGNvZGUsICIiLCBUZXh0UG9z
aXRpb24wOjptaW5pbXVtUG9zaXRpb24oKSk7CiAgICAgfQogCi0gICAgaWYgKGhhbmRsZU91dE9m
TWVtb3J5KCkpCi0gICAgICAgIEFTU0VSVChzY3JpcHQuSXNFbXB0eSgpKTsKLQogICAgIGlmIChz
Y3JpcHQuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3Io
KTsKIApAQCAtNDE5LDkgKzM4Niw2IEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4UHJveHk6OnJ1
blNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTY3JpcHQ+IHNjcmlwdCwgYm9vbCBpc0luCiAgICAgLy8g
UmVsZWFzZSB0aGUgc3RvcmFnZSBtdXRleCBpZiBhcHBsaWNhYmxlLgogICAgIGRpZExlYXZlU2Ny
aXB0Q29udGV4dCgpOwogCi0gICAgaWYgKGhhbmRsZU91dE9mTWVtb3J5KCkpCi0gICAgICAgIEFT
U0VSVChyZXN1bHQuSXNFbXB0eSgpKTsKLQogICAgIC8vIEhhbmRsZSBWOCBpbnRlcm5hbCBlcnJv
ciBzaXR1YXRpb24gKE91dC1vZi1tZW1vcnkpLgogICAgIGlmIChyZXN1bHQuSXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gbm90SGFuZGxlZEJ5SW50ZXJjZXB0b3IoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L1Y4UHJveHkuaAppbmRleCAzZTdmMzdhLi5mMjU3ZTIyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhQcm94eS5oCkBAIC0yMzIsMTAgKzIzMiw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgc3RhdGljIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gbWFpbldvcmxkQ29udGV4
dChGcmFtZSopOwogICAgICAgICBzdGF0aWMgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjdXJyZW50
Q29udGV4dCgpOwogCi0gICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGNvbnRleHQgY2F1c2VzIG91
dCBvZiBtZW1vcnksIEphdmFTY3JpcHQgc2V0dGluZwotICAgICAgICAvLyBpcyBkaXNhYmxlZCBh
bmQgaXQgcmV0dXJucyB0cnVlLgotICAgICAgICBzdGF0aWMgYm9vbCBoYW5kbGVPdXRPZk1lbW9y
eSgpOwotCiAgICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY2hlY2tOZXdMZWdh
bChjb25zdCB2ODo6QXJndW1lbnRzJik7CiAKICAgICAgICAgc3RhdGljIHY4OjpIYW5kbGU8djg6
OlNjcmlwdD4gY29tcGlsZVNjcmlwdCh2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IGNvZGUsIGNvbnN0
IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IFRleHRQb3NpdGlvbjAmIHNjcmlwdFN0YXJ0UG9zaXRp
b24sIHY4OjpTY3JpcHREYXRhKiA9IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1dvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5jcHAKaW5kZXggYWVmODky
YS4uMWE2ZDgzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2Vy
Q29udGV4dEV4ZWN1dGlvblByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9Xb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkuY3BwCkBAIC0xMTQsOCArMTE0LDcgQEAgdm9p
ZCBXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHk6OmluaXRWOElmTmVlZGVkKCkKICAgICBpZiAo
djhJbml0aWFsaXplZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgLy8gVGVsbCBWOCBub3QgdG8g
Y2FsbCB0aGUgZGVmYXVsdCBPT00gaGFuZGxlciwgYmluZGluZyBjb2RlIHdpbGwgaGFuZGxlIGl0
LgotICAgIHY4OjpWODo6SWdub3JlT3V0T2ZNZW1vcnlFeGNlcHRpb24oKTsKKyAgICAvLyBCaW5k
aW5ncyBjb2RlIHdpbGwgaGFuZGxlIE9PTSBleGNlcHRpb25zLgogICAgIHY4OjpWODo6U2V0RmF0
YWxFcnJvckhhbmRsZXIocmVwb3J0RmF0YWxFcnJvckluVjgpOwogCiAgICAgdjg6OlJlc291cmNl
Q29uc3RyYWludHMgcmVzb3VyY2VfY29uc3RyYWludHM7CkBAIC0yMzAsOSArMjI5LDYgQEAgdjg6
OkxvY2FsPHY4OjpWYWx1ZT4gV29ya2VyQ29udGV4dEV4ZWN1dGlvblByb3h5OjpydW5TY3JpcHQo
djg6OkhhbmRsZTx2ODo6U2NyaXAKICAgICAgICAgc2NyaXB0ID0gVjhQcm94eTo6Y29tcGlsZVNj
cmlwdChjb2RlLCAiIiwgVGV4dFBvc2l0aW9uMDo6bWluaW11bVBvc2l0aW9uKCkpOwogICAgIH0K
IAotICAgIGlmIChWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9yeSgpKQotICAgICAgICBBU1NFUlQo
c2NyaXB0LklzRW1wdHkoKSk7Ci0KICAgICBpZiAoc2NyaXB0LklzRW1wdHkoKSkKICAgICAgICAg
cmV0dXJuIHY4OjpMb2NhbDx2ODo6VmFsdWU+KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCmluZGV4IGM2MDg1ZjEuLmYwY2I5ZGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJp
ZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1Ccmlk
Z2UuaApAQCAtMTc1LDcgKzE3NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBjcmVhdGVJ
REJLZXlzRnJvbVNlcmlhbGl6ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPiA+JiB2YWx1ZXMsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwg
VmVjdG9yPFJlZlB0cjxJREJLZXk+ID4mIGtleXMpOwogCiAgICAgLy8gSmF2YVNjcmlwdCAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAg
ICBzdGF0aWMgdm9pZCBub3RpZnlKU091dE9mTWVtb3J5KEZyYW1lKik7CisgICAgc3RhdGljIHZv
aWQgbm90aWZ5SlNPdXRPZk1lbW9yeSgpOwogICAgIHN0YXRpYyBib29sIGFsbG93U2NyaXB0RGVz
cGl0ZVNldHRpbmdzKGNvbnN0IEtVUkwmIGRvY3VtZW50VVJMKTsKIAogICAgIC8vIEtleWdlbiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDY2MzM0MzMuLjYwOWQ3MGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDEtMTQgIFl1cnkg
U2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBOb3RpZnkgZW1iZWRkZXIgYW5k
IGNyYXNoIFdlYkNvcmUgcHJvY2VzcyBpbW1lZGlhdGVseSBpbiBjYXNlIG9mIE9PTSBpbiB2OAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI0NDcKKwor
ICAgICAgICAqIHB1YmxpYy9XZWJLaXRDbGllbnQuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViS2l0
Q2xpZW50Ojpub3RpZnlKU091dE9mTWVtb3J5KTogdGhlIG1ldGhvZCBkb2Vzbid0IGRpZmZlcmVu
dGlhdGUKKyAgICAgICAgYmV0d2VlbiBPT00gaW4gZGlmZmVyZW50IGNvbnRleHRzIHNpbmNlIGl0
J3MgaGFyZCB0byB0ZWxsIGNvZGUgZnJvbSB3aGljaCBjb250ZXh0IGhhcworICAgICAgICBhY3R1
YWxseSBleGhhdXN0ZWQgbW9zdCBvZiB0aGUgbWVtb3J5IGFuZCBhbGwgcGFnZXMgc2hhcmluZyB0
aGUgc2FtZSB2OCBpbnN0YW5jZQorICAgICAgICB3aWxsIGNyYXNoIGFueXdheS4gVGhlIHByb2Nl
c3Mgd2lsbCBjcmFzaCBpbW1lZGlhdGVseSBhZnRlciByZXR1cm4gZnJvbSB0aGlzIG1ldGhvZC4K
KyAgICAgICAgKiBzcmMvUGxhdGZvcm1CcmlkZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1CcmlkZ2U6Om5vdGlmeUpTT3V0T2ZNZW1vcnkpOgorCiAyMDExLTAyLTAxICBEYXJpbiBG
aXNoZXIgIDxkYXJpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRD
bGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCmlu
ZGV4IGQ4ZWFkMjMuLmY1OTg2MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYktpdENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYktpdENsaWVudC5oCkBAIC0xNjcsNiArMTY3LDggQEAgcHVibGljOgogICAgIC8vIFNhbWUg
YXMgYWJvdmUsIGJ1dCBhbHdheXMgcmV0dXJucyBhY3R1YWwgdmFsdWUsIHdpdGhvdXQgYW55IGNh
Y2hlcy4KICAgICB2aXJ0dWFsIHNpemVfdCBhY3R1YWxNZW1vcnlVc2FnZU1CKCkgeyByZXR1cm4g
MDsgfQogCisgICAgLy8gTm90aWZpZXMgZW1iZWRkZXIgdGhhdCB0aGUgcHJvY2VzcyBleGhhdXN0
ZWQgYWxsIEphdmFTY3JpcHQgaGVhcCBtZW1vcnkuCisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUpT
T3V0T2ZNZW1vcnkoKSB7IH0KIAogICAgIC8vIE1lc3NhZ2UgUG9ydHMgLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKaW5kZXggNGRkZTNjYS4uZGNhZjkx
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2Uu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcApA
QCAtOTY3LDE1ICs5NjcsOSBAQCBib29sIFBsYXRmb3JtQnJpZGdlOjppc0xpbmtWaXNpdGVkKExp
bmtIYXNoIHZpc2l0ZWRMaW5rSGFzaCkKIC8vIEdsdWUgbGF5ZXIuIE9uY2UgdGhlIEdsdWUgbGF5
ZXIgbW92ZXMgZW50aXJlbHkgaW50byB0aGUgV2ViS2l0IGxheWVyLCB0aGVzZQogLy8gbWV0aG9k
cyB3aWxsIGJlIGRlbGV0ZWQuCiAKLXZvaWQgUGxhdGZvcm1CcmlkZ2U6Om5vdGlmeUpTT3V0T2ZN
ZW1vcnkoRnJhbWUqIGZyYW1lKQordm9pZCBQbGF0Zm9ybUJyaWRnZTo6bm90aWZ5SlNPdXRPZk1l
bW9yeSgpCiB7Ci0gICAgaWYgKCFmcmFtZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgV2ViRnJh
bWVJbXBsKiB3ZWJGcmFtZSA9IFdlYkZyYW1lSW1wbDo6ZnJvbUZyYW1lKGZyYW1lKTsKLSAgICBp
ZiAoIXdlYkZyYW1lLT5jbGllbnQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIHdlYkZyYW1lLT5j
bGllbnQoKS0+ZGlkRXhoYXVzdE1lbW9yeUF2YWlsYWJsZUZvclNjcmlwdCh3ZWJGcmFtZSk7Cisg
ICAgd2ViS2l0Q2xpZW50KCktPm5vdGlmeUpTT3V0T2ZNZW1vcnkoKTsKIH0KIAogaW50IFBsYXRm
b3JtQnJpZGdlOjptZW1vcnlVc2FnZU1CKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>