<?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>75533</bug_id>
          
          <creation_ts>2012-01-04 03:09:49 -0800</creation_ts>
          <short_desc>Move the check for canExecuteScripts out of V8Proxy::retrieve</short_desc>
          <delta_ts>2012-01-13 12:21:26 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>jochen</reporter>
          <assigned_to>jochen</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>jamesr</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>529434</commentid>
    <comment_count>0</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-04 03:09:49 -0800</bug_when>
    <thetext>Move the check for canExecuteScripts out of V8Proxy::retrieve</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529435</commentid>
    <comment_count>1</comment_count>
      <attachid>121090</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-04 03:10:32 -0800</bug_when>
    <thetext>Created attachment 121090
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529481</commentid>
    <comment_count>2</comment_count>
      <attachid>121090</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-04 05:47:29 -0800</bug_when>
    <thetext>Comment on attachment 121090
Patch

Attachment 121090 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/11082435

New failing tests:
editing/pasteboard/drag-image-in-about-blank-frame.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>529526</commentid>
    <comment_count>3</comment_count>
      <attachid>121090</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-04 07:45:15 -0800</bug_when>
    <thetext>Comment on attachment 121090
Patch

This is great.  Are these all the callsitse to retrieve?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530421</commentid>
    <comment_count>4</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-05 10:45:34 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 121090 [details])
&gt; This is great.  Are these all the callsitse to retrieve?

Yes, that&apos;s about it.

I&apos;m going to add tests next</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>530483</commentid>
    <comment_count>5</comment_count>
      <attachid>121090</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-05 11:38:07 -0800</bug_when>
    <thetext>Comment on attachment 121090
Patch

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

&gt; Source/WebCore/bindings/v8/V8Proxy.cpp:-510
&gt; -    return frame-&gt;script()-&gt;canExecuteScripts(NotAboutToExecuteScript) ? frame-&gt;script()-&gt;proxy() : 0;

So, these all used to be NotAboutToExecuteScript, but the checks you&apos;ve added us AboutToExecuteScript.  We probably want to change them to keep them as NotAboutToExecuteScript.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531697</commentid>
    <comment_count>6</comment_count>
      <attachid>121561</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-07 16:11:43 -0800</bug_when>
    <thetext>Created attachment 121561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>531698</commentid>
    <comment_count>7</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-07 16:15:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 121090 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=121090&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/v8/V8Proxy.cpp:-510
&gt; &gt; -    return frame-&gt;script()-&gt;canExecuteScripts(NotAboutToExecuteScript) ? frame-&gt;script()-&gt;proxy() : 0;
&gt; 
&gt; So, these all used to be NotAboutToExecuteScript, but the checks you&apos;ve added us AboutToExecuteScript.  We probably want to change them to keep them as NotAboutToExecuteScript.

PTAL

In my original CL, I tried to not put the checks at sites where I think they shouldn&apos;t go. I think that&apos;s too risky for a single CL, so I updated the patch to do the check everywhere, it&apos;s now a simple refactoring.

I&apos;ll inspect all call-sites for where the check should not be made in follow-up CLs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533310</commentid>
    <comment_count>8</comment_count>
      <attachid>121561</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-10 12:47:07 -0800</bug_when>
    <thetext>Comment on attachment 121561
Patch

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

&gt; Source/WebCore/bindings/v8/ScheduledAction.cpp:100
&gt; +        if (!scriptController-&gt;canExecuteScripts(NotAboutToExecuteScript))

Shouldn&apos;t this be AboutToExecuteScript?  We&apos;re calling execute two lines down...

&gt; Source/WebCore/bindings/v8/V8EventListener.cpp:88
&gt; +        if (frame-&gt;script()-&gt;canExecuteScripts(NotAboutToExecuteScript))

Isn&apos;t this AboutToExecuteScript?  We&apos;re calling a function on the next line.

&gt; Source/WebCore/bindings/v8/V8LazyEventListener.cpp:70
&gt; +        if (frame-&gt;script()-&gt;canExecuteScripts(NotAboutToExecuteScript))

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533760</commentid>
    <comment_count>9</comment_count>
      <attachid>121995</attachid>
    <who name="">jochen</who>
    <bug_when>2012-01-11 02:26:00 -0800</bug_when>
    <thetext>Created attachment 121995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533767</commentid>
    <comment_count>10</comment_count>
    <who name="">jochen</who>
    <bug_when>2012-01-11 02:41:33 -0800</bug_when>
    <thetext>for the record, I&apos;ll change NotAboutToExecuteScript to AboutExecuteScript where appropriate in a follow-up change. This change is supposed to just move the existing check which is NotAboutToExecuteScript.

I&apos;ve also dropped the changes to the custom bindings, because they won&apos;t get executed when scripts are disabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533777</commentid>
    <comment_count>11</comment_count>
      <attachid>121995</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 02:58:15 -0800</bug_when>
    <thetext>Comment on attachment 121995
Patch

Clearing flags on attachment: 121995

Committed r104694: &lt;http://trac.webkit.org/changeset/104694&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533778</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-11 02:58:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535860</commentid>
    <comment_count>13</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-01-13 11:44:15 -0800</bug_when>
    <thetext>I think this patch made http://trac.webkit.org/browser/trunk/LayoutTests/http/tests/security/sandbox-inherit-to-initial-document-2.html start passing, which concerns me a bit since it&apos;s a security test and this patch was described as &quot;No functionality change&quot;:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Fsecurity%2Fsandbox-inherit-to-initial-document-2.html


Can someone verify that this is expected and see if there are any other implications?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>535880</commentid>
    <comment_count>14</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-01-13 12:21:26 -0800</bug_when>
    <thetext>&gt; Can someone verify that this is expected and see if there are any other implications?

Interesting.  That&apos;s a result of this decision:

&gt; I&apos;ve also dropped the changes to the custom bindings, because they won&apos;t get executed when scripts are disabled.

Apparently, these cases are visible in the case where script is disabled via the sandbox attribute by same-origin access is allowed.  In that case, the outer frame can get a wrapper for the DOMWindow of the inner frame, which previously was impossible.

If we had foreseen that effect, we probably would have made that change separately.  However, that change is indeed a progression.  I think it&apos;s ok to leave as-is.

Thanks for spotting this James.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121090</attachid>
            <date>2012-01-04 03:10:32 -0800</date>
            <delta_ts>2012-01-07 16:11:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75533-20120104121030.patch</filename>
            <type>text/plain</type>
            <size>8797</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MDIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjcwYjU5ZTlhMzI4NThl
ZDc1MTY1M2FhZDQxNGExYjcwMGU3NGVmMi4uZjIxZDExYWRjNWY3MjYyOTE1ODJlYzZjZDMzNWY3
NDNmNzQ4NjJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTAxLTA0ICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgdGhlIGNo
ZWNrIGZvciBjYW5FeGVjdXRlU2NyaXB0cyBvdXQgb2YgVjhQcm94eTo6cmV0cmlldmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAo
T09QUyEpCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UGFnZVNjcmlwdERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcik6
CisgICAgICAgICogYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZSk6CisgICAgICAgICogYmluZGluZ3Mvdjgv
VjhFdmVudExpc3RlbmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4RXZlbnRMaXN0ZW5lcjo6
Y2FsbExpc3RlbmVyRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50
TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhMYXp5RXZlbnRMaXN0ZW5lcjo6Y2Fs
bExpc3RlbmVyRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6VjhMYXp5RXZlbnRMaXN0ZW5l
cjo6cHJlcGFyZUxpc3RlbmVyT2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnJldHJpZXZlKToKKyAgICAgICAgKiBi
aW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6VjhET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJD
b3JlOjpWOERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhIVE1MRG9jdW1lbnQ6Om9wZW5DYWxsYmFjayk6CisKIDIwMTItMDEtMDMgIEFk
YW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBIVE1MQ29uc3RydWN0aW9u
U2l0ZTo6YXR0YWNoIHNob3VsZG4ndCByZXR1cm4gYSB2YWx1ZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKaW5kZXggZGFmNzk2
MDgxMzViODUxOWE1ZjBkNTk3NjZmN2E1ZjAyNjhiYzZmNi4uZDVlNmFkNTg2OWQxNjllODc5Nzhj
YTdlNTI4OTM3YzdlZTQ3MWI1YyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvUGFnZVNjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC03Niw5ICs3NiwxMCBAQCBQYWdlU2Ny
aXB0RGVidWdTZXJ2ZXI6OlBhZ2VTY3JpcHREZWJ1Z1NlcnZlcigpCiAKIHZvaWQgUGFnZVNjcmlw
dERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcihTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5lciwg
UGFnZSogcGFnZSkKIHsKLSAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKHBh
Z2UtPm1haW5GcmFtZSgpKTsKLSAgICBpZiAoIXByb3h5KQorICAgIFNjcmlwdENvbnRyb2xsZXIq
IHNjcmlwdENvbnRyb2xsZXIgPSBwYWdlLT5tYWluRnJhbWUoKS0+c2NyaXB0KCk7CisgICAgaWYg
KCFzY3JpcHRDb250cm9sbGVyLT5jYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhlY3V0ZVNjcmlw
dCkpCiAgICAgICAgIHJldHVybjsKKyAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJp
ZXZlKHBhZ2UtPm1haW5GcmFtZSgpKTsKIAogICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKICAg
ICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IGRlYnVnZ2VyQ29udGV4dCA9IHY4OjpEZWJ1Zzo6R2V0
RGVidWdDb250ZXh0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y2hlZHVsZWRBY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVk
QWN0aW9uLmNwcAppbmRleCA0NWNmN2EwODhkYTJmZjVlZjEzZmMzODY3NWJiNWU5ODRkNjMxNzk3
Li42MmY0MTZhNmZiYzY0NDZiMjBhNWQyM2FjNTAyNTg5NTU2YzAxY2IyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHAKQEAgLTk0LDE1ICs5NCwy
MCBAQCBTY2hlZHVsZWRBY3Rpb246On5TY2hlZHVsZWRBY3Rpb24oKQogCiB2b2lkIFNjaGVkdWxl
ZEFjdGlvbjo6ZXhlY3V0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0KQogewotICAg
IFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoY29udGV4dCk7Ci0gICAgaWYgKHBy
b3h5KQorICAgIGlmIChjb250ZXh0LT5pc0RvY3VtZW50KCkpIHsKKyAgICAgICAgRnJhbWUqIGZy
YW1lID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+ZnJhbWUoKTsKKyAgICAgICAg
U2NyaXB0Q29udHJvbGxlciogc2NyaXB0Q29udHJvbGxlciA9IGZyYW1lLT5zY3JpcHQoKTsKKyAg
ICAgICAgaWYgKCFzY3JpcHRDb250cm9sbGVyLT5jYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhl
Y3V0ZVNjcmlwdCkpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIFY4UHJveHkqIHByb3h5
ID0gVjhQcm94eTo6cmV0cmlldmUoZnJhbWUpOwogICAgICAgICBleGVjdXRlKHByb3h5KTsKKyAg
ICB9CiAjaWYgRU5BQkxFKFdPUktFUlMpCi0gICAgZWxzZSBpZiAoY29udGV4dC0+aXNXb3JrZXJD
b250ZXh0KCkpCisgICAgZWxzZSB7CisgICAgICAgIEFTU0VSVChjb250ZXh0LT5pc1dvcmtlckNv
bnRleHQoKSk7CiAgICAgICAgIGV4ZWN1dGUoc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KGNv
bnRleHQpKTsKKyAgICB9CiAjZW5kaWYKLSAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgSmF2YXNj
cmlwdCBpcyBkaXNhYmxlZCBhbmQgdGhhdCB3ZSBoYXZlIG5laXRoZXIgYSBWOFByb3h5Ci0gICAg
Ly8gbm9yIGEgV29ya2VyQ29udGV4dC4gIERvIG5vdGhpbmcgaW4gdGhhdCBjYXNlLgogfQogCiB2
b2lkIFNjaGVkdWxlZEFjdGlvbjo6ZXhlY3V0ZShWOFByb3h5KiBwcm94eSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IDJkMzNhZmE3Zjc0
NzJhOTVkZjAxYjY5YTdjZWY3MTJkODQzODNlN2UuLjgxMTAxM2JjMDY3YjZkZWJmMjY3ZTM4Mjgz
N2RiMDI2ODdiNWQ2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4
RXZlbnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVu
dExpc3RlbmVyLmNwcApAQCAtMzUsNiArMzUsOCBAQAogI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIK
ICNlbmRpZgogCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgogI2lu
Y2x1ZGUgIlY4UHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODEsOCArODMsMTEg
QEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhFdmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5j
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXgKICAgICBUUkFDRV9FVkVOVCgiVjhFdmVudExpc3Rl
bmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlvbiIsIHRoaXMsIDApOwogI2VuZGlmCiAKLSAgICBpZiAo
VjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShjb250ZXh0KSkKLSAgICAgICAgcmV0
dXJuIHByb3h5LT5jYWxsRnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFy
YW1ldGVycyk7CisgICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoY29u
dGV4dCkpIHsKKyAgICAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihj
b250ZXh0KS0+ZnJhbWUoKTsKKyAgICAgICAgaWYgKGZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0
ZVNjcmlwdHMoQWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAgICAgICAgcmV0dXJuIHByb3h5
LT5jYWxsRnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFyYW1ldGVycyk7
CisgICAgfQogCiAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6VmFsdWU+KCk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCmluZGV4
IDkyYzJlNzk2YmJhYzNkZTQ5MjczNmViMzk4YTVmZmU4ZjFlNTM5ZjAuLjQ1ZDIzOTVlZmI0NDEx
M2UwYTc4MWM0N2Y5Zjk2OTY0MzBiYzVlM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIuY3BwCkBAIC02NSw4ICs2NSwxMSBAQCB2ODo6
TG9jYWw8djg6OlZhbHVlPiBWOExhenlFdmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlv
bihTY3JpcHRFeGVjdXRpb25DbwogCiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHBhcmFtZXRl
cnNbMV0gPSB7IGpzRXZlbnQgfTsKIAotICAgIGlmIChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6
OnJldHJpZXZlKGNvbnRleHQpKQotICAgICAgICByZXR1cm4gcHJveHktPmNhbGxGdW5jdGlvbiho
YW5kbGVyRnVuY3Rpb24sIHJlY2VpdmVyLCAxLCBwYXJhbWV0ZXJzKTsKKyAgICBpZiAoVjhQcm94
eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShjb250ZXh0KSkgeworICAgICAgICBGcmFtZSog
ZnJhbWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5mcmFtZSgpOworICAgICAg
ICBpZiAoZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhlY3V0ZVNj
cmlwdCkpCisgICAgICAgICAgICByZXR1cm4gcHJveHktPmNhbGxGdW5jdGlvbihoYW5kbGVyRnVu
Y3Rpb24sIHJlY2VpdmVyLCAxLCBwYXJhbWV0ZXJzKTsKKyAgICB9CiAKICAgICByZXR1cm4gdjg6
OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIH0KQEAgLTg5LDYgKzkyLDkgQEAgdm9pZCBWOExhenlFdmVu
dExpc3RlbmVyOjpwcmVwYXJlTGlzdGVuZXJPYmplY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
Y29udGV4dCkKICAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGNvbnRleHQp
OwogICAgIGlmICghcHJveHkpCiAgICAgICAgIHJldHVybjsKKyAgICBBU1NFUlQoY29udGV4dC0+
aXNEb2N1bWVudCgpKTsKKyAgICBpZiAoIXN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCkt
PmZyYW1lKCktPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhBYm91dFRvRXhlY3V0ZVNjcmlw
dCkpCisgICAgICAgIHJldHVybjsKIAogICAgIC8vIFVzZSB0aGUgb3V0ZXIgc2NvcGUgdG8gaG9s
ZCBjb250ZXh0LgogICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gdjhDb250ZXh0ID0gd29ybGRD
b250ZXh0KCkuYWRqdXN0ZWRDb250ZXh0KHByb3h5KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhQcm94eS5jcHAKaW5kZXggYzUwZGMyMmVhNTdkYTI0MjQwZTkzNTQxNTZlY2Q1MjY0YjNhMTJh
NS4uMDlhNzI1MDA0NGU5ZDIwNTBjNDU1YjExMDI0Mjc0ZDhlNmU4OGU4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAKQEAgLTUwNSw5ICs1MDUsNyBAQCBWOFByb3h5KiBW
OFByb3h5OjpyZXRyaWV2ZSgpCiAKIFY4UHJveHkqIFY4UHJveHk6OnJldHJpZXZlKEZyYW1lKiBm
cmFtZSkKIHsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4g
ZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlw
dCkgPyBmcmFtZS0+c2NyaXB0KCktPnByb3h5KCkgOiAwOworICAgIHJldHVybiBmcmFtZSA/IGZy
YW1lLT5zY3JpcHQoKS0+cHJveHkoKSA6IDA7CiB9CiAKIFY4UHJveHkqIFY4UHJveHk6OnJldHJp
ZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAppbmRleCA1
YmRmZjE0NDU1YzVlODcxODFjYjRjN2QxMGY3ZGYwYzY4YjY3YjliLi40Mzc2M2EyNDFmOWNjNTE4
ODk4MDUxNGQ4Yzc3YjYzOGNjMDgyZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTI0MSw3ICsyNDEs
NyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXJD
YWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJgogCiAgICAgLy8gRklYTUU6IENoZWNrIGlmIHRo
ZXJlIGlzIG5vdCBlbm91Z2ggYXJndW1lbnRzCiAgICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5
OjpyZXRyaWV2ZShpbXAtPmZyYW1lKCkpOwotICAgIGlmICghcHJveHkpCisgICAgaWYgKCFwcm94
eSB8fCAhaW1wLT5mcmFtZSgpLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoQWJvdXRUb0V4
ZWN1dGVTY3JpcHQpKQogICAgICAgICByZXR1cm4gdjg6OlVuZGVmaW5lZCgpOwogCiAgICAgUmVm
UHRyPEV2ZW50TGlzdGVuZXI+IGxpc3RlbmVyID0gVjhET01XcmFwcGVyOjpnZXRFdmVudExpc3Rl
bmVyKGFyZ3NbMV0sIGZhbHNlLCBMaXN0ZW5lckZpbmRPckNyZWF0ZSk7CkBAIC0yNzMsNyArMjcz
LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93OjpyZW1vdmVFdmVudExpc3Rl
bmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW4KICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmlu
ZWQoKTsKIAogICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoaW1wLT5mcmFt
ZSgpKTsKLSAgICBpZiAoIXByb3h5KQorICAgIGlmICghcHJveHkgfHwgIWltcC0+ZnJhbWUoKS0+
c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKICAgICAg
ICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIAogICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBs
aXN0ZW5lciA9IFY4RE9NV3JhcHBlcjo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSwg
TGlzdGVuZXJGaW5kT25seSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50Q3VzdG9tLmNwcAppbmRleCBhZWYzN2M3OGJkZTZl
Nzg0MGE1YzVkNjZiZGQzOGU0NjNjMTg1YTc2Li4zMTI2OWM2MzY2OTM1ZDFmOTg2Zjg4YzgxMTJm
MGI2MDkwZWJlOWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTE1Myw3ICsxNTMsNyBAQCB2
ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhIVE1MRG9jdW1lbnQ6Om9wZW5DYWxsYmFjayhjb25zdCB2
ODo6QXJndW1lbnRzJiBhcmdzKQogICAgICAgICAgICAgICAgIHBhcmFtc1tpXSA9IGFyZ3NbaV07
CiAKICAgICAgICAgICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoZnJhbWUu
Z2V0KCkpOwotICAgICAgICAgICAgaWYgKCFwcm94eSkKKyAgICAgICAgICAgIGlmICghcHJveHkg
fHwgIWZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoQWJvdXRUb0V4ZWN1dGVTY3Jp
cHQpKQogICAgICAgICAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKICAgICAgICAg
ICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHJlc3VsdCA9IHByb3h5LT5jYWxsRnVuY3Rpb24odjg6
OkxvY2FsPHY4OjpGdW5jdGlvbj46OkNhc3QoZnVuY3Rpb24pLCBnbG9iYWwsIGFyZ3MuTGVuZ3Ro
KCksIHBhcmFtcy5nZXQoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121561</attachid>
            <date>2012-01-07 16:11:43 -0800</date>
            <delta_ts>2012-01-11 02:25:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75533-20120108011141.patch</filename>
            <type>text/plain</type>
            <size>16438</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0MjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzhlNWZjNTEwMDI2Y2U3
YWJlNmFmYTUzMzlhOGU5ZTQ3ZWY5MmM4MC4uOWUyYTkyMjBlOWY5ZjY5Y2YyZTY3NDg3ZmVlNDI1
MThiMzA1ZTcxMyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEyLTAxLTA3ICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgdGhlIGNo
ZWNrIGZvciBjYW5FeGVjdXRlU2NyaXB0cyBvdXQgb2YgVjhQcm94eTo6cmV0cmlldmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiBO
byBmdW5jdGlvbmFsIGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL3Y4L1BhZ2VTY3JpcHRE
ZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6
OmFkZExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2NyaXB0Q2FjaGVkRnJhbWVEYXRhOjpyZXN0b3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92
OC9WOERPTVdyYXBwZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XcmFwcGVyOjppbnN0
YW50aWF0ZVY4T2JqZWN0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhFdmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5j
dGlvbik6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpWOExhenlFdmVudExpc3RlbmVyOjpjYWxsTGlzdGVuZXJGdW5jdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpWOExhenlFdmVudExpc3RlbmVyOjpwcmVwYXJlTGlzdGVu
ZXJPYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6VjhQcm94eTo6aGFuZGxlT3V0T2ZNZW1vcnkpOgorICAgICAgICAoV2ViQ29yZTo6
VjhQcm94eTo6cmV0cmlldmUpOgorICAgICAgICAoV2ViQ29yZTo6dG9WOENvbnRleHQpOgorICAg
ICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1c3RvbS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lckNhbGxiYWNrKToKKyAgICAg
ICAgKFdlYkNvcmU6OlY4RE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyQ2FsbGJhY2spOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxE
b2N1bWVudEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEhUTUxEb2N1bWVudDo6b3Bl
bkNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOFNWR0RvY3VtZW50Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
VjgpOgorCiAyMDEyLTAxLTA1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgSW50cm9kdWNlIFBsYXRmb3JtIG5hbWVzcGFjZSBmb3IgV2ViQ29yZS9wbGF0Zm9ybQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwZWQwODdlOTdjMWU1NTI4ZDY4YzI0YmYyNzhj
YWNkZGY4M2IwOGIzLi40YmE1OWZlODZhMTIzM2JiMTY5Y2JiMTIyYTAwMmNiMjA2ZTQzZTc1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAxLTA3ICBK
b2NoZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgdGhl
IGNoZWNrIGZvciBjYW5FeGVjdXRlU2NyaXB0cyBvdXQgb2YgVjhQcm94eTo6cmV0cmlldmUKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvV2ViRGV2
VG9vbHNBZ2VudEltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50SW1w
bDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3QpOgorCiAyMDEyLTAxLTA1ICBXLiBKYW1lcyBNYWNMZWFu
ICA8d2ptYWNsZWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbY2hyb21pdW1dW2F1cmFdIFdl
YkV4dGVybmFsVGV4dHVyZUxheWVySW1wbDo6ZHJhd3NDb250ZW50KCkgcmV0dXJucyBpbmNvcnJl
Y3QgdmFsdWUsIGNhdXNpbmcgYWNjZWxlcmF0ZWQgY29udGVudCB0byBub3QgZGlzcGxheSBpbiBB
dXJhIGRlc2t0b3AKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VT
Y3JpcHREZWJ1Z1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwCmluZGV4IGRhZjc5NjA4MTM1Yjg1MTlhNWYwZDU5NzY2ZjdhNWYw
MjY4YmM2ZjYuLmRhMjkyNmE1ZjQ0YzhjMjJhNzdhM2NmMzA4OTkzYjgzODRhN2MyYzQgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVnU2VydmVy
LmNwcApAQCAtNzYsOSArNzYsMTAgQEAgUGFnZVNjcmlwdERlYnVnU2VydmVyOjpQYWdlU2NyaXB0
RGVidWdTZXJ2ZXIoKQogCiB2b2lkIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6YWRkTGlzdGVuZXIo
U2NyaXB0RGVidWdMaXN0ZW5lciogbGlzdGVuZXIsIFBhZ2UqIHBhZ2UpCiB7Ci0gICAgVjhQcm94
eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShwYWdlLT5tYWluRnJhbWUoKSk7Ci0gICAgaWYg
KCFwcm94eSkKKyAgICBTY3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9sbGVyID0gcGFnZS0+
bWFpbkZyYW1lKCktPnNjcmlwdCgpOworICAgIGlmICghc2NyaXB0Q29udHJvbGxlci0+Y2FuRXhl
Y3V0ZVNjcmlwdHMoTm90QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQogICAgICAgICByZXR1cm47Cisg
ICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShwYWdlLT5tYWluRnJhbWUoKSk7
CiAKICAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0
PiBkZWJ1Z2dlckNvbnRleHQgPSB2ODo6RGVidWc6OkdldERlYnVnQ29udGV4dCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVkQWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHAKaW5kZXggNDVjZjdh
MDg4ZGEyZmY1ZWYxM2ZjMzg2NzViYjVlOTg0ZDYzMTc5Ny4uMmFlMzNkODU4Yzg5NWMzNDNmMjgw
NjAxZDYxOTlhNjgwNzEyMGE1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NoZWR1bGVkQWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9T
Y2hlZHVsZWRBY3Rpb24uY3BwCkBAIC05NCwxNSArOTQsMjAgQEAgU2NoZWR1bGVkQWN0aW9uOjp+
U2NoZWR1bGVkQWN0aW9uKCkKIAogdm9pZCBTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKIHsKLSAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJv
eHk6OnJldHJpZXZlKGNvbnRleHQpOwotICAgIGlmIChwcm94eSkKKyAgICBpZiAoY29udGV4dC0+
aXNEb2N1bWVudCgpKSB7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PERvY3Vt
ZW50Kj4oY29udGV4dCktPmZyYW1lKCk7CisgICAgICAgIFNjcmlwdENvbnRyb2xsZXIqIHNjcmlw
dENvbnRyb2xsZXIgPSBmcmFtZS0+c2NyaXB0KCk7CisgICAgICAgIGlmICghc2NyaXB0Q29udHJv
bGxlci0+Y2FuRXhlY3V0ZVNjcmlwdHMoTm90QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZl
KGZyYW1lKTsKICAgICAgICAgZXhlY3V0ZShwcm94eSk7CisgICAgfQogI2lmIEVOQUJMRShXT1JL
RVJTKQotICAgIGVsc2UgaWYgKGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKQorICAgIGVsc2Ug
eworICAgICAgICBBU1NFUlQoY29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpOwogICAgICAgICBl
eGVjdXRlKHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihjb250ZXh0KSk7CisgICAgfQogI2Vu
ZGlmCi0gICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IEphdmFzY3JpcHQgaXMgZGlzYWJsZWQgYW5k
IHRoYXQgd2UgaGF2ZSBuZWl0aGVyIGEgVjhQcm94eQotICAgIC8vIG5vciBhIFdvcmtlckNvbnRl
eHQuICBEbyBub3RoaW5nIGluIHRoYXQgY2FzZS4KIH0KIAogdm9pZCBTY2hlZHVsZWRBY3Rpb246
OmV4ZWN1dGUoVjhQcm94eSogcHJveHkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9TY3JpcHRDYWNoZWRGcmFtZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcAppbmRleCA5NjczODdjOWJjNDhiODBmYzYx
MzBmMGNhMzA3ZTgyYWQ4NzcxM2E2Li5hZGNhMGM4MDRiMDBiMDEzMmJmODdkNDQ5NTljMGNmYzg0
YzE5ZTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNo
ZWRGcmFtZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENh
Y2hlZEZyYW1lRGF0YS5jcHAKQEAgLTU5LDYgKzU5LDkgQEAgdm9pZCBTY3JpcHRDYWNoZWRGcmFt
ZURhdGE6OnJlc3RvcmUoRnJhbWUqIGZyYW1lKQogICAgIGlmIChtX2NvbnRleHQuZ2V0KCkuSXNF
bXB0eSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBpZiAoIWZyYW1lLT5zY3JpcHQoKS0+Y2Fu
RXhlY3V0ZVNjcmlwdHMoTm90QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAgICByZXR1cm47
CisKICAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CiAgICAgdjg6OkNvbnRleHQ6OlNj
b3BlIGNvbnRleHRTY29wZShtX2NvbnRleHQuZ2V0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAppbmRleCA3YWQ2MGVhZjg3YTQ5MzgwZWM1Y2JkMWRm
NzM4NGI3NTE1ZTY3YTMyLi4wYjc1N2NhMDhkNzYwZjkzNTZmODQ5ZWM3MGY4MWQ5ZTBhODk3MWVj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RE9NV3JhcHBlci5jcHAKQEAgLTIx
Niw4ICsyMTYsMTEgQEAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IFY4RE9NV3JhcHBlcjo6aW5zdGFu
dGlhdGVWOE9iamVjdChWOFByb3h5KiBwcm94eSwgV3JhcHBlclQKICAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6Q29udGV4dD4gY29udGV4dCA9IHY4OjpDb250ZXh0OjpHZXRDdXJyZW50KCk7CiAgICAg
ICAgIGlmICghY29udGV4dC5Jc0VtcHR5KCkpIHsKICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6
Ok9iamVjdD4gZ2xvYmFsUHJvdG90eXBlID0gdjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChj
b250ZXh0LT5HbG9iYWwoKS0+R2V0UHJvdG90eXBlKCkpOwotICAgICAgICAgICAgaWYgKGlzV3Jh
cHBlck9mVHlwZShnbG9iYWxQcm90b3R5cGUsICZWOERPTVdpbmRvdzo6aW5mbykpCi0gICAgICAg
ICAgICAgICAgcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShWOERPTVdpbmRvdzo6dG9OYXRpdmUo
Z2xvYmFsUHJvdG90eXBlKS0+ZnJhbWUoKSk7CisgICAgICAgICAgICBpZiAoaXNXcmFwcGVyT2ZU
eXBlKGdsb2JhbFByb3RvdHlwZSwgJlY4RE9NV2luZG93OjppbmZvKSkgeworICAgICAgICAgICAg
ICAgIEZyYW1lKiBmcmFtZSA9IFY4RE9NV2luZG93Ojp0b05hdGl2ZShnbG9iYWxQcm90b3R5cGUp
LT5mcmFtZSgpOworICAgICAgICAgICAgICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+c2NyaXB0KCkt
PmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKKyAgICAgICAgICAg
ICAgICAgICAgcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShmcmFtZSk7CisgICAgICAgICAgICB9
CiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAg
d29ya2VyQ29udGV4dCA9IFY4V29ya2VyQ29udGV4dDo6dG9OYXRpdmUobG9va3VwRE9NV3JhcHBl
cihWOFdvcmtlckNvbnRleHQ6OkdldFRlbXBsYXRlKCksIGNvbnRleHQtPkdsb2JhbCgpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2ZW50TGlzdGVuZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyLmNwcAppbmRleCAy
ZDMzYWZhN2Y3NDcyYTk1ZGYwMWI2OWE3Y2VmNzEyZDg0MzgzZTdlLi5hNTM3ZmU2YmRjZWJkZGJk
MjU4YTJlMTU4OTMzNmE0ZWExMDQxNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4RXZlbnRMaXN0ZW5lci5jcHAKQEAgLTM1LDYgKzM1LDggQEAKICNpbmNsdWRlICJUcmFj
ZUV2ZW50LmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiRnJh
bWUuaCIKICNpbmNsdWRlICJWOFByb3h5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTgx
LDggKzgzLDExIEBAIHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4RXZlbnRMaXN0ZW5lcjo6Y2FsbExp
c3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4CiAgICAgVFJBQ0VfRVZFTlQoIlY4
RXZlbnRMaXN0ZW5lcjo6Y2FsbExpc3RlbmVyRnVuY3Rpb24iLCB0aGlzLCAwKTsKICNlbmRpZgog
Ci0gICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoY29udGV4dCkpCi0g
ICAgICAgIHJldHVybiBwcm94eS0+Y2FsbEZ1bmN0aW9uKGhhbmRsZXJGdW5jdGlvbiwgcmVjZWl2
ZXIsIDEsIHBhcmFtZXRlcnMpOworICAgIGlmIChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJl
dHJpZXZlKGNvbnRleHQpKSB7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PERv
Y3VtZW50Kj4oY29udGV4dCktPmZyYW1lKCk7CisgICAgICAgIGlmIChmcmFtZS0+c2NyaXB0KCkt
PmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKKyAgICAgICAgICAg
IHJldHVybiBwcm94eS0+Y2FsbEZ1bmN0aW9uKGhhbmRsZXJGdW5jdGlvbiwgcmVjZWl2ZXIsIDEs
IHBhcmFtZXRlcnMpOworICAgIH0KIAogICAgIHJldHVybiB2ODo6TG9jYWw8djg6OlZhbHVlPigp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRM
aXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOExhenlFdmVudExpc3Rl
bmVyLmNwcAppbmRleCA5MmMyZTc5NmJiYWMzZGU0OTI3MzZlYjM5OGE1ZmZlOGYxZTUzOWYwLi5l
NmU5MzIwYTBhYzc3ZDk0ZTkyYmRhODZlNDcyNTg0NDEyODc4OTA5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcApAQCAtNjUsOCAr
NjUsMTEgQEAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gVjhMYXp5RXZlbnRMaXN0ZW5lcjo6Y2FsbExp
c3RlbmVyRnVuY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ28KIAogICAgIHY4OjpIYW5kbGU8djg6OlZh
bHVlPiBwYXJhbWV0ZXJzWzFdID0geyBqc0V2ZW50IH07CiAKLSAgICBpZiAoVjhQcm94eSogcHJv
eHkgPSBWOFByb3h5OjpyZXRyaWV2ZShjb250ZXh0KSkKLSAgICAgICAgcmV0dXJuIHByb3h5LT5j
YWxsRnVuY3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFyYW1ldGVycyk7Cisg
ICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoY29udGV4dCkpIHsKKyAg
ICAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+ZnJh
bWUoKTsKKyAgICAgICAgaWYgKGZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoTm90
QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAgICAgICAgcmV0dXJuIHByb3h5LT5jYWxsRnVu
Y3Rpb24oaGFuZGxlckZ1bmN0aW9uLCByZWNlaXZlciwgMSwgcGFyYW1ldGVycyk7CisgICAgfQog
CiAgICAgcmV0dXJuIHY4OjpMb2NhbDx2ODo6VmFsdWU+KCk7CiB9CkBAIC04OSw2ICs5Miw5IEBA
IHZvaWQgVjhMYXp5RXZlbnRMaXN0ZW5lcjo6cHJlcGFyZUxpc3RlbmVyT2JqZWN0KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCiAgICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5Ojpy
ZXRyaWV2ZShjb250ZXh0KTsKICAgICBpZiAoIXByb3h5KQogICAgICAgICByZXR1cm47CisgICAg
QVNTRVJUKGNvbnRleHQtPmlzRG9jdW1lbnQoKSk7CisgICAgaWYgKCFzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KGNvbnRleHQpLT5mcmFtZSgpLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoTm90
QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAgICByZXR1cm47CiAKICAgICAvLyBVc2UgdGhl
IG91dGVyIHNjb3BlIHRvIGhvbGQgY29udGV4dC4KICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+
IHY4Q29udGV4dCA9IHdvcmxkQ29udGV4dCgpLmFkanVzdGVkQ29udGV4dChwcm94eSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCmluZGV4IGM1MGRjMjJlYTU3ZGEyNDI0MGU5
MzU0MTU2ZWNkNTI2NGIzYTEyYTUuLjBkOTYwMDdjOGVkYmM3YzIxZWRhNGIzZGRkNmYyNmNlOTEx
M2NmYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCkBAIC0xOTAsNyAr
MTkwLDcgQEAgYm9vbCBWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9yeSgpCiAgICAgRnJhbWUqIGZy
YW1lID0gVjhQcm94eTo6cmV0cmlldmVGcmFtZShjb250ZXh0KTsKIAogICAgIFY4UHJveHkqIHBy
b3h5ID0gVjhQcm94eTo6cmV0cmlldmUoZnJhbWUpOwotICAgIGlmIChwcm94eSkgeworICAgIGlm
IChwcm94eSAmJiBmcmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9F
eGVjdXRlU2NyaXB0KSkgewogICAgICAgICAvLyBDbGVhbiBtX2NvbnRleHQsIGFuZCBldmVudCBo
YW5kbGVycy4KICAgICAgICAgcHJveHktPmNsZWFyRm9yQ2xvc2UoKTsKIApAQCAtNTA1LDkgKzUw
NSw3IEBAIFY4UHJveHkqIFY4UHJveHk6OnJldHJpZXZlKCkKIAogVjhQcm94eSogVjhQcm94eTo6
cmV0cmlldmUoRnJhbWUqIGZyYW1lKQogewotICAgIGlmICghZnJhbWUpCi0gICAgICAgIHJldHVy
biAwOwotICAgIHJldHVybiBmcmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFi
b3V0VG9FeGVjdXRlU2NyaXB0KSA/IGZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKSA6IDA7CisgICAg
cmV0dXJuIGZyYW1lID8gZnJhbWUtPnNjcmlwdCgpLT5wcm94eSgpIDogMDsKIH0KIAogVjhQcm94
eSogVjhQcm94eTo6cmV0cmlldmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkKQEAg
LTcwOCw4ICs3MDYsMTEgQEAgaW50IFY4UHJveHk6OmNvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8
djg6OkNvbnRleHQ+IGNvbnRleHQpCiB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IHRvVjhDb250ZXh0
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIGNvbnN0IFdvcmxkQ29udGV4dEhhbmRs
ZSYgd29ybGRDb250ZXh0KQogewogICAgIGlmIChjb250ZXh0LT5pc0RvY3VtZW50KCkpIHsKLSAg
ICAgICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoY29udGV4dCkpCi0g
ICAgICAgICAgICByZXR1cm4gd29ybGRDb250ZXh0LmFkanVzdGVkQ29udGV4dChwcm94eSk7Cisg
ICAgICAgIGlmIChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGNvbnRleHQpKSB7
CisgICAgICAgICAgICBGcmFtZSogZnJhbWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNvbnRl
eHQpLT5mcmFtZSgpOworICAgICAgICAgICAgaWYgKGZyYW1lLT5zY3JpcHQoKS0+Y2FuRXhlY3V0
ZVNjcmlwdHMoTm90QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQorICAgICAgICAgICAgICAgIHJldHVy
biB3b3JsZENvbnRleHQuYWRqdXN0ZWRDb250ZXh0KHByb3h5KTsKKyAgICAgICAgfQogI2lmIEVO
QUJMRShXT1JLRVJTKQogICAgIH0gZWxzZSBpZiAoY29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkp
IHsKICAgICAgICAgaWYgKFdvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eSogcHJveHkgPSBzdGF0
aWNfY2FzdDxXb3JrZXJDb250ZXh0Kj4oY29udGV4dCktPnNjcmlwdCgpLT5wcm94eSgpKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3Vz
dG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTVdpbmRvd0N1
c3RvbS5jcHAKaW5kZXggNWJkZmYxNDQ1NWM1ZTg3MTgxY2I0YzdkMTBmN2RmMGM2OGI2N2I5Yi4u
ZTk1NzljYmFhNjVhNzYyN2UzMWMzMGQ3NDc4NDQ4M2RmYjkyNGY0YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9NV2luZG93Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhET01XaW5kb3dDdXN0b20uY3Bw
CkBAIC0yNDEsNyArMjQxLDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4RE9NV2luZG93Ojph
ZGRFdmVudExpc3RlbmVyQ2FsbGJhY2soY29uc3Qgdjg6OkFyZ3VtZW50cyYKIAogICAgIC8vIEZJ
WE1FOiBDaGVjayBpZiB0aGVyZSBpcyBub3QgZW5vdWdoIGFyZ3VtZW50cwogICAgIFY4UHJveHkq
IHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoaW1wLT5mcmFtZSgpKTsKLSAgICBpZiAoIXByb3h5
KQorICAgIGlmICghcHJveHkgfHwgIWltcC0+ZnJhbWUoKS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVT
Y3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKICAgICAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKIAogICAgIFJlZlB0cjxFdmVudExpc3RlbmVyPiBsaXN0ZW5lciA9IFY4RE9NV3Jh
cHBlcjo6Z2V0RXZlbnRMaXN0ZW5lcihhcmdzWzFdLCBmYWxzZSwgTGlzdGVuZXJGaW5kT3JDcmVh
dGUpOwpAQCAtMjczLDcgKzI3Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOERPTVdpbmRv
dzo6cmVtb3ZlRXZlbnRMaXN0ZW5lckNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVuCiAgICAgICAg
IHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKICAgICBWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6
OnJldHJpZXZlKGltcC0+ZnJhbWUoKSk7Ci0gICAgaWYgKCFwcm94eSkKKyAgICBpZiAoIXByb3h5
IHx8ICFpbXAtPmZyYW1lKCktPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRv
RXhlY3V0ZVNjcmlwdCkpCiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAKICAgICBS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBWOERPTVdyYXBwZXI6OmdldEV2ZW50TGlz
dGVuZXIoYXJnc1sxXSwgZmFsc2UsIExpc3RlbmVyRmluZE9ubHkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4RG9jdW1lbnRDdXN0b20uY3BwCmluZGV4
IGU2YmE3NWI3MzJlY2UzNmUyNGQxMzdiY2NjNjQ3YWYwYzI5ZjUzZmEuLjE1M2Y3ZjAwZTAzOWYz
YmI2MTFiODViYWM1NDVkOTdlZTJiZTVlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOERvY3VtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhEb2N1bWVudEN1c3RvbS5jcHAKQEAgLTEzMCw4ICsxMzAs
MTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoRG9jdW1lbnQqIGltcGwsIGJvb2wgZm9y
Y2VOZXdPYmplY3QpCiAgICAgaWYgKHdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4g
d3JhcHBlcjsKICAgICBpZiAoIVY4SXNvbGF0ZWRDb250ZXh0OjpnZXRFbnRlcmVkKCkpIHsKLSAg
ICAgICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoaW1wbC0+ZnJhbWUo
KSkpCi0gICAgICAgICAgICBwcm94eS0+d2luZG93U2hlbGwoKS0+dXBkYXRlRG9jdW1lbnRXcmFw
cGVyKHdyYXBwZXIpOworICAgICAgICBpZiAoVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRy
aWV2ZShpbXBsLT5mcmFtZSgpKSkgeworICAgICAgICAgICAgaWYgKGltcGwtPmZyYW1lKCktPnNj
cmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlwdCkpCisgICAg
ICAgICAgICAgICAgcHJveHktPndpbmRvd1NoZWxsKCktPnVwZGF0ZURvY3VtZW50V3JhcHBlcih3
cmFwcGVyKTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gd3JhcHBlcjsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhIVE1MRG9jdW1l
bnRDdXN0b20uY3BwCmluZGV4IGFlZjM3Yzc4YmRlNmU3ODQwYTVjNWQ2NmJkZDM4ZTQ2M2MxODVh
NzYuLmJhYmRkN2ZjOWMxMTJkZmY2ZDU4MTQ0ZDBjMzNmNjM3ZjE5M2E3MjcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEhUTUxEb2N1bWVudEN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SFRNTERvY3VtZW50
Q3VzdG9tLmNwcApAQCAtMTUzLDcgKzE1Myw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEhU
TUxEb2N1bWVudDo6b3BlbkNhbGxiYWNrKGNvbnN0IHY4OjpBcmd1bWVudHMmIGFyZ3MpCiAgICAg
ICAgICAgICAgICAgcGFyYW1zW2ldID0gYXJnc1tpXTsKIAogICAgICAgICAgICAgVjhQcm94eSog
cHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShmcmFtZS5nZXQoKSk7Ci0gICAgICAgICAgICBpZiAo
IXByb3h5KQorICAgICAgICAgICAgaWYgKCFwcm94eSB8fCAhZnJhbWUtPnNjcmlwdCgpLT5jYW5F
eGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlwdCkpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKIAogICAgICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1
ZT4gcmVzdWx0ID0gcHJveHktPmNhbGxGdW5jdGlvbih2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6
Q2FzdChmdW5jdGlvbiksIGdsb2JhbCwgYXJncy5MZW5ndGgoKSwgcGFyYW1zLmdldCgpKTsKQEAg
LTE4OSw4ICsxODksMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSFRNTERvY3VtZW50
KiBpbXBsLCBib29sIGZvcmNlTmV3T2JqZWN0KQogICAgIGlmICh3cmFwcGVyLklzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuIHdyYXBwZXI7CiAgICAgaWYgKCFWOElzb2xhdGVkQ29udGV4dDo6Z2V0
RW50ZXJlZCgpKSB7Ci0gICAgICAgIGlmIChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJp
ZXZlKGltcGwtPmZyYW1lKCkpKQotICAgICAgICAgICAgcHJveHktPndpbmRvd1NoZWxsKCktPnVw
ZGF0ZURvY3VtZW50V3JhcHBlcih3cmFwcGVyKTsKKyAgICAgICAgaWYgKFY4UHJveHkqIHByb3h5
ID0gVjhQcm94eTo6cmV0cmlldmUoaW1wbC0+ZnJhbWUoKSkpIHsKKyAgICAgICAgICAgIGlmIChp
bXBsLT5mcmFtZSgpLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoTm90QWJvdXRUb0V4ZWN1
dGVTY3JpcHQpKQorICAgICAgICAgICAgICAgIHByb3h5LT53aW5kb3dTaGVsbCgpLT51cGRhdGVE
b2N1bWVudFdyYXBwZXIod3JhcHBlcik7CisgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIHdy
YXBwZXI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhTVkdEb2N1bWVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhTVkdEb2N1bWVudEN1c3RvbS5jcHAKaW5kZXggOGRjZTYxYjMyZTQ4MTI3ZWE4ZGJkOGFj
NjdhYjY5N2IxZTIxZDlmMi4uYWZmMGZkZTViNjcwNWE5YmQyNTNjYmYyMDAxZmU5ZDc2YzdjYzNh
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1ZHRG9j
dW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OFNWR0RvY3VtZW50Q3VzdG9tLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2lmIEVOQUJMRShTVkcp
CiAjaW5jbHVkZSAiVjhTVkdEb2N1bWVudC5oIgogCisjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJWOElzb2xhdGVkQ29udGV4dC5oIgogI2luY2x1ZGUgIlY4UHJveHkuaCIKIApAQCAtNDYs
OCArNDcsMTAgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoU1ZHRG9jdW1lbnQqIGltcGws
IGJvb2wgZm9yY2VOZXdPYmplY3QpCiAgICAgaWYgKHdyYXBwZXIuSXNFbXB0eSgpKQogICAgICAg
ICByZXR1cm4gd3JhcHBlcjsKICAgICBpZiAoIVY4SXNvbGF0ZWRDb250ZXh0OjpnZXRFbnRlcmVk
KCkpIHsKLSAgICAgICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoaW1w
bC0+ZnJhbWUoKSkpCi0gICAgICAgICAgICBwcm94eS0+d2luZG93U2hlbGwoKS0+dXBkYXRlRG9j
dW1lbnRXcmFwcGVyKHdyYXBwZXIpOworICAgICAgICBpZiAoVjhQcm94eSogcHJveHkgPSBWOFBy
b3h5OjpyZXRyaWV2ZShpbXBsLT5mcmFtZSgpKSkgeworICAgICAgICAgICAgaWYgKGltcGwtPmZy
YW1lKCktPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlw
dCkpCisgICAgICAgICAgICAgICAgcHJveHktPndpbmRvd1NoZWxsKCktPnVwZGF0ZURvY3VtZW50
V3JhcHBlcih3cmFwcGVyKTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4gd3JhcHBlcjsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdl
bnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJ
bXBsLmNwcAppbmRleCBlODIxZjBiMWUyMjAzZDI3NTcwNzRiYTgwMjQ5ZDFmM2M4NWEzYTA4Li41
MmViMzc0MDBmNGU2OTdjNDUwZGJmMzA4YjY4YmI5Y2EzYzA4N2ZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCkBAIC0yMjcs
NyArMjI3LDcgQEAgdm9pZCBXZWJEZXZUb29sc0FnZW50SW1wbDo6ZGlkTmF2aWdhdGUoKQogdm9p
ZCBXZWJEZXZUb29sc0FnZW50SW1wbDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3QoV2ViRnJhbWVJbXBs
KiB3ZWJmcmFtZSkKIHsKICAgICBXZWJDb3JlOjpWOFByb3h5KiBwcm94eSA9IFdlYkNvcmU6OlY4
UHJveHk6OnJldHJpZXZlKHdlYmZyYW1lLT5mcmFtZSgpKTsKLSAgICBpZiAocHJveHkpCisgICAg
aWYgKHByb3h5ICYmIHdlYmZyYW1lLT5mcmFtZSgpLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlw
dHMoTm90QWJvdXRUb0V4ZWN1dGVTY3JpcHQpKQogICAgICAgICBwcm94eS0+c2V0Q29udGV4dERl
YnVnSWQobV9ob3N0SWQpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>121995</attachid>
            <date>2012-01-11 02:26:00 -0800</date>
            <delta_ts>2012-01-11 02:58:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-75533-20120111112557.patch</filename>
            <type>text/plain</type>
            <size>11350</size>
            <attacher>jochen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA0Njc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBjYWE3NWZjZmRmOGU5
YzNmNTExM2RjZTgzMGMwYjJhNGQ3MDhiMy4uNzI0YWYxMjg4Yzk1ZjUyODU0ZTQ2ZmZmZjM3NDQ0
OTlmZWU1ZDQ4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAxLTA3ICBKb2No
ZW4gRWlzaW5nZXIgIDxqb2NoZW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIE1vdmUgdGhlIGNo
ZWNrIGZvciBjYW5FeGVjdXRlU2NyaXB0cyBvdXQgb2YgVjhQcm94eTo6cmV0cmlldmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTMzCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICBUaGlzIGNoYW5nZSBkb2Vzbid0
IG1vdmUgdGhlIGNoZWNrIHRvIGN1c3RvbS9nZW5lcmF0ZWQgYmluZGluZ3MgZm9yCisgICAgICAg
IGluZGl2aWR1YWwgb2JqZWN0cywgYXMgdGhlc2Ugd29uJ3QgZ2V0IGV4ZWN1dGVkIGlmIHNjcmlw
dHMgYXJlIGRpc2FibGVkCisgICAgICAgIGFueXdheS4KKworICAgICAgICBObyBuZXcgdGVzdHMu
IE5vIGZ1bmN0aW9uYWwgY2hhbmdlLgorCisgICAgICAgICogYmluZGluZ3MvdjgvUGFnZVNjcmlw
dERlYnVnU2VydmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2VTY3JpcHREZWJ1Z1NlcnZl
cjo6YWRkTGlzdGVuZXIpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTY2hlZHVsZWRBY3Rpb246OmV4ZWN1dGUpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L1NjcmlwdENhY2hlZEZyYW1lRGF0YS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTY3JpcHRDYWNoZWRGcmFtZURhdGE6OnJlc3RvcmUpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1Y4RE9NV3JhcHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdyYXBwZXI6Omlu
c3RhbnRpYXRlVjhPYmplY3QpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5l
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpWOEV2ZW50TGlzdGVuZXI6OmNhbGxMaXN0ZW5lckZ1
bmN0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOExhenlFdmVudExpc3RlbmVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlY4TGF6eUV2ZW50TGlzdGVuZXI6OmNhbGxMaXN0ZW5lckZ1bmN0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlY4TGF6eUV2ZW50TGlzdGVuZXI6OnByZXBhcmVMaXN0
ZW5lck9iamVjdCk6CisgICAgICAgICogYmluZGluZ3MvdjgvVjhQcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpWOFByb3h5OjpoYW5kbGVPdXRPZk1lbW9yeSk6CisgICAgICAgIChXZWJDb3Jl
OjpWOFByb3h5OjpyZXRyaWV2ZSk6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4Q29udGV4dCk6CisK
IDIwMTItMDEtMTAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
QnVpbGQgZml4LiBGb3Jnb3QgdG8gcmV2ZXJ0IE5vZGUuaC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggZDljYjFkMmQwZGEzZTQwYmE5M2FjNGVjZTgwNWEwMjAzZDFjMmE3MS4uNjgxMTIz
NjIxM2E3MzIwNWI2ZDJiMTM3M2NjMjhiMzAwZmQxYjFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMS0wNyAgSm9jaGVuIEVpc2luZ2VyICA8am9j
aGVuQGNocm9taXVtLm9yZz4KKworICAgICAgICBNb3ZlIHRoZSBjaGVjayBmb3IgY2FuRXhlY3V0
ZVNjcmlwdHMgb3V0IG9mIFY4UHJveHk6OnJldHJpZXZlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMworCisgICAgICAgIFJldmlld2VkIGJ5IEFk
YW0gQmFydGguCisKKyAgICAgICAgKiBzcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50SW1wbDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3Qp
OgorCiAyMDEyLTAxLTEwICBEYW5pZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtjaHJvbWl1bV0gVW5yZXZpZXdlZCwgcm9sbCBDaHJvbWl1bSBERVBTIHRvIHIxMTcx
MjEuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVn
U2VydmVyLmNwcAppbmRleCBkYWY3OTYwODEzNWI4NTE5YTVmMGQ1OTc2NmY3YTVmMDI2OGJjNmY2
Li5kYTI5MjZhNWY0NGM4YzIyYTc3YTNjZjMwODk5M2I4Mzg0YTdjMmM0IDEwMDc1NQotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAg
LTc2LDkgKzc2LDEwIEBAIFBhZ2VTY3JpcHREZWJ1Z1NlcnZlcjo6UGFnZVNjcmlwdERlYnVnU2Vy
dmVyKCkKIAogdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmFkZExpc3RlbmVyKFNjcmlwdERl
YnVnTGlzdGVuZXIqIGxpc3RlbmVyLCBQYWdlKiBwYWdlKQogewotICAgIFY4UHJveHkqIHByb3h5
ID0gVjhQcm94eTo6cmV0cmlldmUocGFnZS0+bWFpbkZyYW1lKCkpOwotICAgIGlmICghcHJveHkp
CisgICAgU2NyaXB0Q29udHJvbGxlciogc2NyaXB0Q29udHJvbGxlciA9IHBhZ2UtPm1haW5GcmFt
ZSgpLT5zY3JpcHQoKTsKKyAgICBpZiAoIXNjcmlwdENvbnRyb2xsZXItPmNhbkV4ZWN1dGVTY3Jp
cHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKICAgICAgICAgcmV0dXJuOworICAgIFY4UHJv
eHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUocGFnZS0+bWFpbkZyYW1lKCkpOwogCiAgICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOwogICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gZGVidWdn
ZXJDb250ZXh0ID0gdjg6OkRlYnVnOjpHZXREZWJ1Z0NvbnRleHQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVkdWxlZEFjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY2hlZHVsZWRBY3Rpb24uY3BwCmluZGV4IDQ1Y2Y3YTA4OGRhMmZm
NWVmMTNmYzM4Njc1YmI1ZTk4NGQ2MzE3OTcuLjJhZTMzZDg1OGM4OTVjMzQzZjI4MDYwMWQ2MTk5
YTY4MDcxMjBhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjaGVk
dWxlZEFjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NoZWR1bGVk
QWN0aW9uLmNwcApAQCAtOTQsMTUgKzk0LDIwIEBAIFNjaGVkdWxlZEFjdGlvbjo6flNjaGVkdWxl
ZEFjdGlvbigpCiAKIHZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQpCiB7Ci0gICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRy
aWV2ZShjb250ZXh0KTsKLSAgICBpZiAocHJveHkpCisgICAgaWYgKGNvbnRleHQtPmlzRG9jdW1l
bnQoKSkgeworICAgICAgICBGcmFtZSogZnJhbWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KGNv
bnRleHQpLT5mcmFtZSgpOworICAgICAgICBTY3JpcHRDb250cm9sbGVyKiBzY3JpcHRDb250cm9s
bGVyID0gZnJhbWUtPnNjcmlwdCgpOworICAgICAgICBpZiAoIXNjcmlwdENvbnRyb2xsZXItPmNh
bkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShmcmFtZSk7
CiAgICAgICAgIGV4ZWN1dGUocHJveHkpOworICAgIH0KICNpZiBFTkFCTEUoV09SS0VSUykKLSAg
ICBlbHNlIGlmIChjb250ZXh0LT5pc1dvcmtlckNvbnRleHQoKSkKKyAgICBlbHNlIHsKKyAgICAg
ICAgQVNTRVJUKGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKTsKICAgICAgICAgZXhlY3V0ZShz
dGF0aWNfY2FzdDxXb3JrZXJDb250ZXh0Kj4oY29udGV4dCkpOworICAgIH0KICNlbmRpZgotICAg
IC8vIEl0J3MgcG9zc2libGUgdGhhdCBKYXZhc2NyaXB0IGlzIGRpc2FibGVkIGFuZCB0aGF0IHdl
IGhhdmUgbmVpdGhlciBhIFY4UHJveHkKLSAgICAvLyBub3IgYSBXb3JrZXJDb250ZXh0LiAgRG8g
bm90aGluZyBpbiB0aGF0IGNhc2UuCiB9CiAKIHZvaWQgU2NoZWR1bGVkQWN0aW9uOjpleGVjdXRl
KFY4UHJveHkqIHByb3h5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
U2NyaXB0Q2FjaGVkRnJhbWVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Nj
cmlwdENhY2hlZEZyYW1lRGF0YS5jcHAKaW5kZXggOTY3Mzg3YzliYzQ4YjgwZmM2MTMwZjBjYTMw
N2U4MmFkODc3MTNhNi4uYWRjYTBjODA0YjAwYjAxMzJiZjg3ZDQ0OTU5YzBjZmM4NGMxOWUwNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q2FjaGVkRnJhbWVE
YXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRDYWNoZWRGcmFt
ZURhdGEuY3BwCkBAIC01OSw2ICs1OSw5IEBAIHZvaWQgU2NyaXB0Q2FjaGVkRnJhbWVEYXRhOjpy
ZXN0b3JlKEZyYW1lKiBmcmFtZSkKICAgICBpZiAobV9jb250ZXh0LmdldCgpLklzRW1wdHkoKSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgaWYgKCFmcmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVT
Y3JpcHRzKE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKKyAgICAgICAgcmV0dXJuOworCiAgICAg
djg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOwogICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250
ZXh0U2NvcGUobV9jb250ZXh0LmdldCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4RE9NV3JhcHBlci5jcHAKaW5kZXggN2FkNjBlYWY4N2E0OTM4MGVjNWNiZDFkZjczODRiNzUx
NWU2N2EzMi4uMGI3NTdjYTA4ZDc2MGY5MzU2Zjg0OWVjNzBmODFkOWUwYTg5NzFlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XcmFwcGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdyYXBwZXIuY3BwCkBAIC0yMTYsOCArMjE2
LDExIEBAIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBWOERPTVdyYXBwZXI6Omluc3RhbnRpYXRlVjhP
YmplY3QoVjhQcm94eSogcHJveHksIFdyYXBwZXJUCiAgICAgICAgIHY4OjpIYW5kbGU8djg6OkNv
bnRleHQ+IGNvbnRleHQgPSB2ODo6Q29udGV4dDo6R2V0Q3VycmVudCgpOwogICAgICAgICBpZiAo
IWNvbnRleHQuSXNFbXB0eSgpKSB7CiAgICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+
IGdsb2JhbFByb3RvdHlwZSA9IHY4OjpIYW5kbGU8djg6Ok9iamVjdD46OkNhc3QoY29udGV4dC0+
R2xvYmFsKCktPkdldFByb3RvdHlwZSgpKTsKLSAgICAgICAgICAgIGlmIChpc1dyYXBwZXJPZlR5
cGUoZ2xvYmFsUHJvdG90eXBlLCAmVjhET01XaW5kb3c6OmluZm8pKQotICAgICAgICAgICAgICAg
IHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoVjhET01XaW5kb3c6OnRvTmF0aXZlKGdsb2JhbFBy
b3RvdHlwZSktPmZyYW1lKCkpOworICAgICAgICAgICAgaWYgKGlzV3JhcHBlck9mVHlwZShnbG9i
YWxQcm90b3R5cGUsICZWOERPTVdpbmRvdzo6aW5mbykpIHsKKyAgICAgICAgICAgICAgICBGcmFt
ZSogZnJhbWUgPSBWOERPTVdpbmRvdzo6dG9OYXRpdmUoZ2xvYmFsUHJvdG90eXBlKS0+ZnJhbWUo
KTsKKyAgICAgICAgICAgICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVj
dXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlwdCkpCisgICAgICAgICAgICAgICAgICAg
IHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUoZnJhbWUpOworICAgICAgICAgICAgfQogI2lmIEVO
QUJMRShXT1JLRVJTKQogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHdvcmtlckNv
bnRleHQgPSBWOFdvcmtlckNvbnRleHQ6OnRvTmF0aXZlKGxvb2t1cERPTVdyYXBwZXIoVjhXb3Jr
ZXJDb250ZXh0OjpHZXRUZW1wbGF0ZSgpLCBjb250ZXh0LT5HbG9iYWwoKSkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhFdmVudExpc3RlbmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggMmQzM2FmYTdm
NzQ3MmE5NWRmMDFiNjlhN2NlZjcxMmQ4NDM4M2U3ZS4uYTUzN2ZlNmJkY2ViZGRiZDI1OGEyZTE1
ODkzMzZhNGVhMTA0MTVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
VjhFdmVudExpc3RlbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEV2
ZW50TGlzdGVuZXIuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiVHJhY2VFdmVudC5o
IgogI2VuZGlmCiAKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCiAj
aW5jbHVkZSAiVjhQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04MSw4ICs4Mywx
MSBAQCB2ODo6TG9jYWw8djg6OlZhbHVlPiBWOEV2ZW50TGlzdGVuZXI6OmNhbGxMaXN0ZW5lckZ1
bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleAogICAgIFRSQUNFX0VWRU5UKCJWOEV2ZW50TGlz
dGVuZXI6OmNhbGxMaXN0ZW5lckZ1bmN0aW9uIiwgdGhpcywgMCk7CiAjZW5kaWYKIAotICAgIGlm
IChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGNvbnRleHQpKQotICAgICAgICBy
ZXR1cm4gcHJveHktPmNhbGxGdW5jdGlvbihoYW5kbGVyRnVuY3Rpb24sIHJlY2VpdmVyLCAxLCBw
YXJhbWV0ZXJzKTsKKyAgICBpZiAoVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShj
b250ZXh0KSkgeworICAgICAgICBGcmFtZSogZnJhbWUgPSBzdGF0aWNfY2FzdDxEb2N1bWVudCo+
KGNvbnRleHQpLT5mcmFtZSgpOworICAgICAgICBpZiAoZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVj
dXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNjcmlwdCkpCisgICAgICAgICAgICByZXR1cm4g
cHJveHktPmNhbGxGdW5jdGlvbihoYW5kbGVyRnVuY3Rpb24sIHJlY2VpdmVyLCAxLCBwYXJhbWV0
ZXJzKTsKKyAgICB9CiAKICAgICByZXR1cm4gdjg6OkxvY2FsPHY4OjpWYWx1ZT4oKTsKIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TGF6eUV2ZW50TGlzdGVuZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAK
aW5kZXggOTJjMmU3OTZiYmFjM2RlNDkyNzM2ZWIzOThhNWZmZThmMWU1MzlmMC4uZTZlOTMyMGEw
YWM3N2Q5NGU5MmJkYTg2ZTQ3MjU4NDQxMjg3ODkwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvVjhMYXp5RXZlbnRMaXN0ZW5lci5jcHAKQEAgLTY1LDggKzY1LDExIEBA
IHY4OjpMb2NhbDx2ODo6VmFsdWU+IFY4TGF6eUV2ZW50TGlzdGVuZXI6OmNhbGxMaXN0ZW5lckZ1
bmN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvCiAKICAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gcGFy
YW1ldGVyc1sxXSA9IHsganNFdmVudCB9OwogCi0gICAgaWYgKFY4UHJveHkqIHByb3h5ID0gVjhQ
cm94eTo6cmV0cmlldmUoY29udGV4dCkpCi0gICAgICAgIHJldHVybiBwcm94eS0+Y2FsbEZ1bmN0
aW9uKGhhbmRsZXJGdW5jdGlvbiwgcmVjZWl2ZXIsIDEsIHBhcmFtZXRlcnMpOworICAgIGlmIChW
OFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGNvbnRleHQpKSB7CisgICAgICAgIEZy
YW1lKiBmcmFtZSA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPmZyYW1lKCk7Cisg
ICAgICAgIGlmIChmcmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9F
eGVjdXRlU2NyaXB0KSkKKyAgICAgICAgICAgIHJldHVybiBwcm94eS0+Y2FsbEZ1bmN0aW9uKGhh
bmRsZXJGdW5jdGlvbiwgcmVjZWl2ZXIsIDEsIHBhcmFtZXRlcnMpOworICAgIH0KIAogICAgIHJl
dHVybiB2ODo6TG9jYWw8djg6OlZhbHVlPigpOwogfQpAQCAtODksNiArOTIsOSBAQCB2b2lkIFY4
TGF6eUV2ZW50TGlzdGVuZXI6OnByZXBhcmVMaXN0ZW5lck9iamVjdChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0KQogICAgIFY4UHJveHkqIHByb3h5ID0gVjhQcm94eTo6cmV0cmlldmUo
Y29udGV4dCk7CiAgICAgaWYgKCFwcm94eSkKICAgICAgICAgcmV0dXJuOworICAgIEFTU0VSVChj
b250ZXh0LT5pc0RvY3VtZW50KCkpOworICAgIGlmICghc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihj
b250ZXh0KS0+ZnJhbWUoKS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRzKE5vdEFib3V0VG9F
eGVjdXRlU2NyaXB0KSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gVXNlIHRoZSBvdXRlciBz
Y29wZSB0byBob2xkIGNvbnRleHQuCiAgICAgdjg6OkxvY2FsPHY4OjpDb250ZXh0PiB2OENvbnRl
eHQgPSB3b3JsZENvbnRleHQoKS5hZGp1c3RlZENvbnRleHQocHJveHkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOFByb3h5LmNwcAppbmRleCBjNTBkYzIyZWE1N2RhMjQyNDBlOTM1NDE1NmVj
ZDUyNjRiM2ExMmE1Li4wZDk2MDA3YzhlZGJjN2MyMWVkYTRiM2RkZDZmMjZjZTkxMTNjZmFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcApAQCAtMTkwLDcgKzE5MCw3IEBA
IGJvb2wgVjhQcm94eTo6aGFuZGxlT3V0T2ZNZW1vcnkoKQogICAgIEZyYW1lKiBmcmFtZSA9IFY4
UHJveHk6OnJldHJpZXZlRnJhbWUoY29udGV4dCk7CiAKICAgICBWOFByb3h5KiBwcm94eSA9IFY4
UHJveHk6OnJldHJpZXZlKGZyYW1lKTsKLSAgICBpZiAocHJveHkpIHsKKyAgICBpZiAocHJveHkg
JiYgZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhlY3V0ZVNj
cmlwdCkpIHsKICAgICAgICAgLy8gQ2xlYW4gbV9jb250ZXh0LCBhbmQgZXZlbnQgaGFuZGxlcnMu
CiAgICAgICAgIHByb3h5LT5jbGVhckZvckNsb3NlKCk7CiAKQEAgLTUwNSw5ICs1MDUsNyBAQCBW
OFByb3h5KiBWOFByb3h5OjpyZXRyaWV2ZSgpCiAKIFY4UHJveHkqIFY4UHJveHk6OnJldHJpZXZl
KEZyYW1lKiBmcmFtZSkKIHsKLSAgICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMDsKLSAg
ICByZXR1cm4gZnJhbWUtPnNjcmlwdCgpLT5jYW5FeGVjdXRlU2NyaXB0cyhOb3RBYm91dFRvRXhl
Y3V0ZVNjcmlwdCkgPyBmcmFtZS0+c2NyaXB0KCktPnByb3h5KCkgOiAwOworICAgIHJldHVybiBm
cmFtZSA/IGZyYW1lLT5zY3JpcHQoKS0+cHJveHkoKSA6IDA7CiB9CiAKIFY4UHJveHkqIFY4UHJv
eHk6OnJldHJpZXZlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCkBAIC03MDgsOCAr
NzA2LDExIEBAIGludCBWOFByb3h5Ojpjb250ZXh0RGVidWdJZCh2ODo6SGFuZGxlPHY4OjpDb250
ZXh0PiBjb250ZXh0KQogdjg6OkxvY2FsPHY4OjpDb250ZXh0PiB0b1Y4Q29udGV4dChTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBXb3JsZENvbnRleHRIYW5kbGUmIHdvcmxk
Q29udGV4dCkKIHsKICAgICBpZiAoY29udGV4dC0+aXNEb2N1bWVudCgpKSB7Ci0gICAgICAgIGlm
IChWOFByb3h5KiBwcm94eSA9IFY4UHJveHk6OnJldHJpZXZlKGNvbnRleHQpKQotICAgICAgICAg
ICAgcmV0dXJuIHdvcmxkQ29udGV4dC5hZGp1c3RlZENvbnRleHQocHJveHkpOworICAgICAgICBp
ZiAoVjhQcm94eSogcHJveHkgPSBWOFByb3h5OjpyZXRyaWV2ZShjb250ZXh0KSkgeworICAgICAg
ICAgICAgRnJhbWUqIGZyYW1lID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+ZnJh
bWUoKTsKKyAgICAgICAgICAgIGlmIChmcmFtZS0+c2NyaXB0KCktPmNhbkV4ZWN1dGVTY3JpcHRz
KE5vdEFib3V0VG9FeGVjdXRlU2NyaXB0KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gd29ybGRD
b250ZXh0LmFkanVzdGVkQ29udGV4dChwcm94eSk7CisgICAgICAgIH0KICNpZiBFTkFCTEUoV09S
S0VSUykKICAgICB9IGVsc2UgaWYgKGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKSB7CiAgICAg
ICAgIGlmIChXb3JrZXJDb250ZXh0RXhlY3V0aW9uUHJveHkqIHByb3h5ID0gc3RhdGljX2Nhc3Q8
V29ya2VyQ29udGV4dCo+KGNvbnRleHQpLT5zY3JpcHQoKS0+cHJveHkoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcAppbmRleCBl
ODIxZjBiMWUyMjAzZDI3NTcwNzRiYTgwMjQ5ZDFmM2M4NWEzYTA4Li41MmViMzc0MDBmNGU2OTdj
NDUwZGJmMzA4YjY4YmI5Y2EzYzA4N2ZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCkBAIC0yMjcsNyArMjI3LDcgQEAgdm9p
ZCBXZWJEZXZUb29sc0FnZW50SW1wbDo6ZGlkTmF2aWdhdGUoKQogdm9pZCBXZWJEZXZUb29sc0Fn
ZW50SW1wbDo6ZGlkQ2xlYXJXaW5kb3dPYmplY3QoV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSkKIHsK
ICAgICBXZWJDb3JlOjpWOFByb3h5KiBwcm94eSA9IFdlYkNvcmU6OlY4UHJveHk6OnJldHJpZXZl
KHdlYmZyYW1lLT5mcmFtZSgpKTsKLSAgICBpZiAocHJveHkpCisgICAgaWYgKHByb3h5ICYmIHdl
YmZyYW1lLT5mcmFtZSgpLT5zY3JpcHQoKS0+Y2FuRXhlY3V0ZVNjcmlwdHMoTm90QWJvdXRUb0V4
ZWN1dGVTY3JpcHQpKQogICAgICAgICBwcm94eS0+c2V0Q29udGV4dERlYnVnSWQobV9ob3N0SWQp
OwogfQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>