<?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>98976</bug_id>
          
          <creation_ts>2012-10-10 17:28:26 -0700</creation_ts>
          <short_desc>Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer</short_desc>
          <delta_ts>2012-10-11 11:29:44 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>98539</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>philn</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>739432</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-10 17:28:26 -0700</bug_when>
    <thetext>Switch ResourceLoader::resourceData() from SharedBuffer to ResourceBuffer


This is further progress towards http://bugs.webkit.org/show_bug.cgi?id=98539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739433</commentid>
    <comment_count>1</comment_count>
      <attachid>168104</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-10 17:32:00 -0700</bug_when>
    <thetext>Created attachment 168104
Patch v1 - Get the EWS ball rolling</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739443</commentid>
    <comment_count>2</comment_count>
      <attachid>168104</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-10 17:55:04 -0700</bug_when>
    <thetext>Comment on attachment 168104
Patch v1 - Get the EWS ball rolling

Attachment 168104 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14256362</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739444</commentid>
    <comment_count>3</comment_count>
      <attachid>168108</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-10 17:55:09 -0700</bug_when>
    <thetext>Created attachment 168108
Patch v2 - Hopefully fix gtk and windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739575</commentid>
    <comment_count>4</comment_count>
      <attachid>168108</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-10 20:55:57 -0700</bug_when>
    <thetext>Comment on attachment 168108
Patch v2 - Hopefully fix gtk and windows

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

New failing tests:
css3/calc/transition-crash4.html
css2.1/20110323/absolute-replaced-height-007.htm
compositing/framesets/composited-frame-alignment.html
css2.1/20110323/absolute-replaced-height-025.htm
css2.1/20110323/absolute-replaced-height-014.htm
http/tests/appcache/crash-when-navigating-away-then-back.html
http/tests/eventsource/non-existent-eventsource-status-error-iframe-crash.html
accessibility/loading-iframe-sends-notification.html
css2.1/20110323/absolute-replaced-height-011.htm
http/tests/appcache/credential-url.html
compositing/geometry/fixed-position-iframe-composited-page-scale.html
compositing/iframes/iframe-src-change.html
http/tests/appcache/different-scheme.html
http/tests/appcache/destroyed-frame.html
http/tests/css/shared-stylesheet-mutation-preconstruct.html
http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html
css2.1/20110323/absolute-replaced-height-018.htm
css2.1/20110323/absolute-replaced-height-005.htm
http/tests/eventsource/existent-eventsource-status-error-iframe-crash.html
css2.1/20110323/absolute-replaced-height-028.htm
css2.1/20110323/absolute-replaced-height-012.htm
http/tests/css/shared-stylesheet-mutation.html
compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
css2.1/20110323/absolute-replaced-height-004.htm
css2.1/20110323/absolute-replaced-height-019.htm
css2.1/20110323/absolute-replaced-height-026.htm
compositing/overflow/iframe-inside-overflow-clipping.html
http/tests/appcache/detached-iframe.html
http/tests/inspector/resource-parameters.html
css2.1/20110323/absolute-replaced-height-021.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>739616</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-10 22:17:22 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 168108 [details])
&gt; Attachment 168108 [details] did not pass chromium-ews (chromium-xvfb):
&gt; Output: http://queues.webkit.org/results/14254401
&gt; 
&gt; New failing tests:
&gt; ...

And Mac EWS seems to be spewing failures, too.  I think I know what I messed up when prepping the patch, will fix and update in the morning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740048</commentid>
    <comment_count>6</comment_count>
      <attachid>168240</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-11 09:31:58 -0700</bug_when>
    <thetext>Created attachment 168240
Patch v3 - Fix crashes in layout tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740153</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-11 11:29:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/131085</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168104</attachid>
            <date>2012-10-10 17:32:00 -0700</date>
            <delta_ts>2012-10-10 17:55:09 -0700</delta_ts>
            <desc>Patch v1 - Get the EWS ball rolling</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>27251</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZDQyYzMyLi5kZTE2ZDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYg
QEAKKzIwMTItMTAtMDUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgZnJvbSBTaGFyZWRCdWZm
ZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMg
YXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25z
IGJlbG93IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6YXBwZW5kQnl0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6ZmluaXNoKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclBhZ2VBZ2VudDo6bWFpblJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JQYWdlQWdlbnQ6OnNoYXJlZEJ1ZmZlckNvbnRlbnQpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250ZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjptYWluUmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpz
ZXR1cEZvclJlcGxhY2VCeU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjptYXliZUNyZWF0ZUFyY2hpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6Om1haW5SZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5
YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk6CisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERvY3VtZW50TG9hZGVy
KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VCdWZmZXI6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlQnVmZmVyOjpjbGVhcik6CisgICAgICAgICogbG9hZGVyL1Jlc291
cmNlQnVmZmVyLmg6CisgICAgICAgIChSZXNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpy
ZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmFkZERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0
YSk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2Vu
ZERhdGFUb1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZmluaXNoZWRMb2FkaW5nTWFpblJlc291cmNlKToKKwogMjAxMi0xMC0xMCBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTd2l0Y2ggb3ZlciBDYWNoZWRSZXNvdXJj
ZTo6ZGF0YSgpIGZyb20gdGFraW5nIGEgU2hhcmVkQnVmZmVyIHRvIHRha2luZyBhIFJlc291cmNl
QnVmZmVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiM2U1Zjg2Li5kMWQ0ZTM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMjY0LDYgKzI2NCw3IEBAIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxl
Y3Rpb245c2VsZWN0QWxsRXYKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb25DMUVQTlNfNUZy
YW1lRQogX19aTjdXZWJDb3JlMTRQbHVnaW5Eb2N1bWVudDEycGx1Z2luV2lkZ2V0RXYKIF9fWk43
V2ViQ29yZTE0UmVzb3VyY2VCdWZmZXIxMmNyZWF0ZU5TRGF0YUV2CitfX1pON1dlYkNvcmUxNFJl
c291cmNlQnVmZmVyRDFFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTIwZm9yY2VDb250
ZW50U25pZmZpbmdFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI2c3luY2hyb25vdXNM
b2FkUnVuTG9vcE1vZGVFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTM1Y3JlYXRlUHJp
dmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25FUEsxMF9fQ0ZTdHJpbmcKQEAgLTExODQsNiArMTE4
NSw4IEBAIF9fWk5LN1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uNmJvdW5kc0ViCiBfX1pOSzdXZWJD
b3JlMTRJbnNlcnRpb25Qb2ludDE2ZGlzdHJpYnV0ZWROb2Rlc0V2CiBfX1pOSzdXZWJDb3JlMTRJ
bnNlcnRpb25Qb2ludDhpc0FjdGl2ZUV2CiBfX1pOSzdXZWJDb3JlMTRSZW5kZXJMaXN0SXRlbTEw
bWFya2VyVGV4dEV2CitfX1pOSzdXZWJDb3JlMTRSZXNvdXJjZUJ1ZmZlcjRkYXRhRXYKK19fWk5L
N1dlYkNvcmUxNFJlc291cmNlQnVmZmVyNHNpemVFdgogX19aTks3V2ViQ29yZTE0UmVzb3VyY2VI
YW5kbGUxMGNvbm5lY3Rpb25FdgogX19aTks3V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIxMWZyYW1l
TG9hZGVyRXYKIF9fWk5LN1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMTRzY3JvbGxBbmltYXRvckV2
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAppbmRleCA3ZGUxYjQ2Li41ZmM5MjY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKQEAgLTEzMyw3ICsxMzMsNyBA
QCB2b2lkIEltYWdlRG9jdW1lbnRQYXJzZXI6OmFwcGVuZEJ5dGVzKERvY3VtZW50V3JpdGVyKiwg
Y29uc3QgY2hhciosIHNpemVfdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2FjaGVkSW1hZ2Uq
IGNhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkSW1hZ2UoKTsKLSAgICBjYWNoZWRJbWFn
ZS0+ZGF0YShSZXNvdXJjZUJ1ZmZlcjo6YWRvcHRTaGFyZWRCdWZmZXIoZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCkpLCBmYWxzZSk7CisgICAgY2Fj
aGVkSW1hZ2UtPmRhdGEoZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVz
b3VyY2VEYXRhKCksIGZhbHNlKTsKIAogICAgIGRvY3VtZW50KCktPmltYWdlVXBkYXRlZCgpOwog
fQpAQCAtMTQyLDE0ICsxNDIsMTQgQEAgdm9pZCBJbWFnZURvY3VtZW50UGFyc2VyOjpmaW5pc2go
KQogewogICAgIGlmICghaXNTdG9wcGVkKCkgJiYgZG9jdW1lbnQoKS0+aW1hZ2VFbGVtZW50KCkp
IHsKICAgICAgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
SW1hZ2UoKTsKLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSA9IGRvY3VtZW50KCkt
PmZyYW1lKCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7
CisgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gZGF0YSA9IGRvY3VtZW50KCktPmZyYW1l
KCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CiAKICAg
ICAgICAgLy8gSWYgdGhpcyBpcyBhIG11bHRpcGFydCBpbWFnZSwgbWFrZSBhIGNvcHkgb2YgdGhl
IGN1cnJlbnQgcGFydCwgc2luY2UgdGhlIHJlc291cmNlIGRhdGEKICAgICAgICAgLy8gd2lsbCBi
ZSBvdmVyd3JpdHRlbiBieSB0aGUgbmV4dCBwYXJ0LgogICAgICAgICBpZiAoZG9jdW1lbnQoKS0+
ZnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmlzTG9hZGluZ011bHRpcGFydENv
bnRlbnQoKSkKICAgICAgICAgICAgIGRhdGEgPSBkYXRhLT5jb3B5KCk7CiAKLSAgICAgICAgY2Fj
aGVkSW1hZ2UtPmRhdGEoUmVzb3VyY2VCdWZmZXI6OmFkb3B0U2hhcmVkQnVmZmVyKGRhdGEucmVs
ZWFzZSgpKSwgdHJ1ZSk7CisgICAgICAgIGNhY2hlZEltYWdlLT5kYXRhKGRhdGEucmVsZWFzZSgp
LCB0cnVlKTsKICAgICAgICAgY2FjaGVkSW1hZ2UtPmZpbmlzaCgpOwogCiAgICAgICAgIGNhY2hl
ZEltYWdlLT5zZXRSZXNwb25zZShkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+ZG9jdW1l
bnRMb2FkZXIoKS0+cmVzcG9uc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGRlYTg3YzkuLjE5MzMxOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0yMDgsMjUg
KzIwOCwzMCBAQCBib29sIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FjaGVkUmVzb3VyY2VDb250ZW50
KENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSwgUwogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotc3RhdGljIGJvb2wgbWFpblJlc291cmNlQ29udGVudChGcmFtZSogZnJhbWUsIGJvb2wgd2l0
aEJhc2U2NEVuY29kZSwgU3RyaW5nKiByZXN1bHQpCitib29sIEluc3BlY3RvclBhZ2VBZ2VudDo6
bWFpblJlc291cmNlQ29udGVudChGcmFtZSogZnJhbWUsIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwg
U3RyaW5nKiByZXN1bHQpCiB7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gZnJh
bWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAg
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZmZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50
TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyB0ZXh0RW5jb2RpbmdOYW1lID0gZnJhbWUtPmRvY3Vt
ZW50KCktPmlucHV0RW5jb2RpbmcoKTsKIAotICAgIHJldHVybiBJbnNwZWN0b3JQYWdlQWdlbnQ6
OnNoYXJlZEJ1ZmZlckNvbnRlbnQoYnVmZmVyLCB0ZXh0RW5jb2RpbmdOYW1lLCB3aXRoQmFzZTY0
RW5jb2RlLCByZXN1bHQpOworICAgIHJldHVybiBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250
ZW50KGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSwgdGV4dEVuY29kaW5nTmFtZSwgd2l0
aEJhc2U2NEVuY29kZSwgcmVzdWx0KTsKIH0KIAogLy8gc3RhdGljCiBib29sIEluc3BlY3RvclBh
Z2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29udGVudChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVm
ZmVyLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGJvb2wgd2l0aEJhc2U2NEVuY29k
ZSwgU3RyaW5nKiByZXN1bHQpCiB7CisgICAgcmV0dXJuIGRhdGFDb250ZW50KGJ1ZmZlciA/IGJ1
ZmZlci0+ZGF0YSgpIDogMCwgYnVmZmVyID8gYnVmZmVyLT5zaXplKCkgOiAwLCB0ZXh0RW5jb2Rp
bmdOYW1lLCB3aXRoQmFzZTY0RW5jb2RlLCByZXN1bHQpOworfQorCitib29sIEluc3BlY3RvclBh
Z2VBZ2VudDo6ZGF0YUNvbnRlbnQoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgc2l6ZSwgY29u
c3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmlu
ZyogcmVzdWx0KQorewogICAgIGlmICh3aXRoQmFzZTY0RW5jb2RlKSB7Ci0gICAgICAgICpyZXN1
bHQgPSBiYXNlNjRFbmNvZGUoYnVmZmVyLT5kYXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAg
ICAgKnJlc3VsdCA9IGJhc2U2NEVuY29kZShkYXRhLCBzaXplKTsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCi0gICAgcmV0dXJuIGRlY29kZUJ1ZmZlcihidWZmZXIgPyBidWZmZXItPmRh
dGEoKSA6IDAsIGJ1ZmZlciA/IGJ1ZmZlci0+c2l6ZSgpIDogMCwgdGV4dEVuY29kaW5nTmFtZSwg
cmVzdWx0KTsKKyAgICByZXR1cm4gZGVjb2RlQnVmZmVyKGRhdGEsIHNpemUsIHRleHRFbmNvZGlu
Z05hbWUsIHJlc3VsdCk7CiB9CiAKIFBhc3NPd25QdHI8SW5zcGVjdG9yUGFnZUFnZW50PiBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBQYWdlKiBwYWdlLCBJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIEluc3Bl
Y3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1h
bmFnZXIsIEluc3BlY3RvckNsaWVudCogY2xpZW50LCBJbnNwZWN0b3JPdmVybGF5KiBvdmVybGF5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4
IDdiNzFiMjEuLjM4ZmUxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmgKQEAgLTE2MCw2ICsxNjAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShib29sKTsKICNlbmRpZgogCisgICAgc3RhdGlj
IGJvb2wgbWFpblJlc291cmNlQ29udGVudChGcmFtZSosIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwg
U3RyaW5nKiByZXN1bHQpOworICAgIHN0YXRpYyBib29sIGRhdGFDb250ZW50KGNvbnN0IGNoYXIq
IGRhdGEsIHVuc2lnbmVkIHNpemUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSwgYm9v
bCB3aXRoQmFzZTY0RW5jb2RlLCBTdHJpbmcqIHJlc3VsdCk7CisKICAgICBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpQYWdlOjpGcmFtZT4gYnVpbGRPYmplY3RGb3JGcmFtZShGcmFtZSopOwogICAg
IFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lUmVzb3VyY2VUcmVlPiBidWlsZE9i
amVjdEZvckZyYW1lVHJlZShGcmFtZSopOwogICAgIFBhZ2UqIG1fcGFnZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCA4
ZGU0ZGNhLi43ZDBlNTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiTmV0
d29ya1Jlc291cmNlc0RhdGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jl
c3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlcXVlc3QuaCIKQEAgLTMwMiw4ICszMDMsMTAgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50OjpkaWRSZWNlaXZlRGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNo
YXIKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGRvdWJsZSBmaW5pc2hU
aW1lKQogewogICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVl
c3RJZChpZGVudGlmaWVyKTsKLSAgICBpZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUo
cmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6OkRvY3VtZW50UmVzb3VyY2UpCi0gICAg
ICAgIG1fcmVzb3VyY2VzRGF0YS0+YWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIocmVxdWVzdElkLCBs
b2FkZXItPmZyYW1lTG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEo
KSwgbG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5pbnB1dEVuY29kaW5nKCkpOworICAgIGlm
IChtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlVHlwZShyZXF1ZXN0SWQpID09IEluc3BlY3RvclBh
Z2VBZ2VudDo6RG9jdW1lbnRSZXNvdXJjZSkgeworICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZm
ZXI+IGJ1ZmZlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+bWFp
blJlc291cmNlRGF0YSgpOworICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hh
cmVkQnVmZmVyKHJlcXVlc3RJZCwgYnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDAs
IGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+aW5wdXRFbmNvZGluZygpKTsKKyAgICB9CiAK
ICAgICBtX3Jlc291cmNlc0RhdGEtPm1heWJlRGVjb2RlRGF0YVRvQ29udGVudChyZXF1ZXN0SWQp
OwogCkBAIC0zMTksOCArMzIyLDEwIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlk
RmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvCiAKICAgICBp
ZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUocmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OkRvY3VtZW50UmVzb3VyY2UpIHsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gbG9h
ZGVyID8gbG9hZGVyLT5mcmFtZSgpIDogMDsKLSAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5s
b2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSAmJiBmcmFtZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAg
ICAgIG1fcmVzb3VyY2VzRGF0YS0+YWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIocmVxdWVzdElkLCBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKSwgZnJh
bWUtPmRvY3VtZW50KCktPmlucHV0RW5jb2RpbmcoKSk7CisgICAgICAgIGlmIChmcmFtZSAmJiBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkgJiYgZnJhbWUtPmRvY3VtZW50KCkpIHsK
KyAgICAgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gZnJhbWUtPmxvYWRl
cigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAgICAgICAgICBt
X3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hhcmVkQnVmZmVyKHJlcXVlc3RJZCwgYnVmZmVy
ID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDAsIGZyYW1lLT5kb2N1bWVudCgpLT5pbnB1dEVu
Y29kaW5nKCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgYm9vbCBjYW5jZWxlZCA9IGVycm9y
LmlzQ2FuY2VsbGF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cAppbmRleCA2ODM4MTFlLi42ZjIyNmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBEb2N1bWVudExvYWRlcjo6fkRvY3VtZW50
TG9hZGVyKCkKICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhckRvY3VtZW50TG9hZGVy
KCk7CiB9CiAKLVBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBEb2N1bWVudExvYWRlcjo6bWFpblJl
c291cmNlRGF0YSgpIGNvbnN0CitQYXNzUmVmUHRyPFJlc291cmNlQnVmZmVyPiBEb2N1bWVudExv
YWRlcjo6bWFpblJlc291cmNlRGF0YSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fbWFpblJlc291cmNl
RGF0YSkKICAgICAgICAgcmV0dXJuIG1fbWFpblJlc291cmNlRGF0YTsKQEAgLTQ4MSw3ICs0ODEs
OCBAQCBib29sIERvY3VtZW50TG9hZGVyOjptYXliZUNyZWF0ZUFyY2hpdmUoKQogI2Vsc2UKICAg
ICAKICAgICAvLyBHaXZlIHRoZSBhcmNoaXZlIG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMgZG9j
dW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMgbm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2lsbCBy
ZXR1cm4gMC4KLSAgICBtX2FyY2hpdmUgPSBBcmNoaXZlRmFjdG9yeTo6Y3JlYXRlKG1fcmVzcG9u
c2UudXJsKCksIG1haW5SZXNvdXJjZURhdGEoKS5nZXQoKSwgbV9yZXNwb25zZS5taW1lVHlwZSgp
KTsKKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1haW5SZXNvdXJjZUJ1ZmZlciA9IG1haW5S
ZXNvdXJjZURhdGEoKTsKKyAgICBtX2FyY2hpdmUgPSBBcmNoaXZlRmFjdG9yeTo6Y3JlYXRlKG1f
cmVzcG9uc2UudXJsKCksIG1haW5SZXNvdXJjZUJ1ZmZlci0+c2hhcmVkQnVmZmVyKCksIG1fcmVz
cG9uc2UubWltZVR5cGUoKSk7CiAgICAgaWYgKCFtX2FyY2hpdmUpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKQEAgLTU1OSwxMSArNTYwLDEzIEBAIEFyY2hpdmVSZXNvdXJjZSogRG9jdW1l
bnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJiB1cmwpIGNvbnN0CiBQ
YXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZSgp
IGNvbnN0CiB7CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgciA9IHJlc3BvbnNlKCk7Ci0g
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlQnVmZmVyID0gbWFpblJlc291cmNl
RGF0YSgpOwotICAgIGlmICghbWFpblJlc291cmNlQnVmZmVyKQotICAgICAgICBtYWluUmVzb3Vy
Y2VCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOworICAgIAorICAgIFJlZlB0cjxSZXNv
dXJjZUJ1ZmZlcj4gbWFpblJlc291cmNlQnVmZmVyID0gbWFpblJlc291cmNlRGF0YSgpOworICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEgPSBtYWluUmVzb3VyY2VCdWZmZXIgPyBtYWluUmVz
b3VyY2VCdWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMDsKKyAgICBpZiAoIWRhdGEpCisgICAgICAg
IGRhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOwogICAgICAgICAKLSAgICByZXR1cm4gQXJj
aGl2ZVJlc291cmNlOjpjcmVhdGUobWFpblJlc291cmNlQnVmZmVyLCByLnVybCgpLCByLm1pbWVU
eXBlKCksIHIudGV4dEVuY29kaW5nTmFtZSgpLCBmcmFtZSgpLT50cmVlKCktPnVuaXF1ZU5hbWUo
KSk7CisgICAgcmV0dXJuIEFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKGRhdGEsIHIudXJsKCksIHIu
bWltZVR5cGUoKSwgci50ZXh0RW5jb2RpbmdOYW1lKCksIGZyYW1lKCktPnRyZWUoKS0+dW5pcXVl
TmFtZSgpKTsKIH0KIAogUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IERvY3VtZW50TG9hZGVy
OjpzdWJyZXNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC04NzMsNyArODc2LDcgQEAg
dm9pZCBEb2N1bWVudExvYWRlcjo6bWF5YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCgp
CiAKICAgICBmcmFtZUxvYWRlcigpLT5zZXR1cEZvclJlcGxhY2UoKTsKICAgICBtX2NvbW1pdHRl
ZCA9IGZhbHNlOwotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJlc291cmNlRGF0YSA9IG1haW5S
ZXNvdXJjZURhdGEoKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IHJlc291cmNlRGF0YSA9
IG1haW5SZXNvdXJjZURhdGEoKTsKICAgICBjb21taXRMb2FkKHJlc291cmNlRGF0YS0+ZGF0YSgp
LCByZXNvdXJjZURhdGEtPnNpemUoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmgKaW5kZXggYjRiNTRhZi4uZTVhY2Y0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBGcmFtZUxvYWRlcjsKICAgICBjbGFzcyBNYWluUmVzb3VyY2VMb2FkZXI7CiAgICAg
Y2xhc3MgUGFnZTsKKyAgICBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKICAgICBjbGFzcyBSZXNvdXJj
ZUxvYWRlcjsKICAgICBjbGFzcyBTY2hlZHVsZVBhaXI7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVy
OwpAQCAtODEsNyArODIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRnJhbWVM
b2FkZXIqIGZyYW1lTG9hZGVyKCkgY29uc3Q7CiAgICAgICAgIE1haW5SZXNvdXJjZUxvYWRlciog
bWFpblJlc291cmNlTG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9tYWluUmVzb3VyY2VMb2FkZXIu
Z2V0KCk7IH0KLSAgICAgICAgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IG1haW5SZXNvdXJjZURh
dGEoKSBjb25zdDsKKyAgICAgICAgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbWFpblJlc291
cmNlRGF0YSgpIGNvbnN0OwogICAgICAgICAKICAgICAgICAgRG9jdW1lbnRXcml0ZXIqIHdyaXRl
cigpIGNvbnN0IHsgcmV0dXJuICZtX3dyaXRlcjsgfQogCkBAIC0yNzcsNyArMjc4LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZXNvdXJjZUxvYWRlclNldCBtX211bHRpcGFydFN1
YnJlc291cmNlTG9hZGVyczsKICAgICAgICAgUmVzb3VyY2VMb2FkZXJTZXQgbV9wbHVnSW5TdHJl
YW1Mb2FkZXJzOwogCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fbWFpblJlc291cmNl
RGF0YTsKKyAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtX21haW5SZXNvdXJjZURhdGE7
CiAgICAgICAgIAogICAgICAgICBtdXRhYmxlIERvY3VtZW50V3JpdGVyIG1fd3JpdGVyOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmNwcAppbmRleCAxOTE5NWJiLi43M2Jk
YWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5jcHAKQEAgLTY1LDYg
KzY1LDE2IEBAIGJvb2wgUmVzb3VyY2VCdWZmZXI6OmlzRW1wdHkoKSBjb25zdAogICAgIHJldHVy
biBtX3NoYXJlZEJ1ZmZlci0+aXNFbXB0eSgpOwogfQogCit2b2lkIFJlc291cmNlQnVmZmVyOjph
cHBlbmQoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgc2l6ZSkKK3sKKyAgICBtX3NoYXJlZEJ1
ZmZlci0+YXBwZW5kKGRhdGEsIHNpemUpOworfQorCit2b2lkIFJlc291cmNlQnVmZmVyOjpjbGVh
cigpCit7CisgICAgbV9zaGFyZWRCdWZmZXItPmNsZWFyKCk7Cit9CisKIHVuc2lnbmVkIFJlc291
cmNlQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRp
b24pIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fc2hhcmVkQnVmZmVyLT5nZXRTb21lRGF0YShkYXRh
LCBwb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5oCmluZGV4IDYw
MGY0ZWIuLjBkNGEwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5oCkBA
IC01NCw2ICs1NCw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc0VtcHR5KCkgY29uc3Q7CiAKKyAgICB2b2lkIGFwcGVuZChjb25zdCBjaGFyKiwgdW5z
aWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICAKICAgICB1bnNpZ25lZCBnZXRTb21lRGF0
YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRpb24gPSAwKSBjb25zdDsKICAgICAK
ICAgICBTaGFyZWRCdWZmZXIqIHNoYXJlZEJ1ZmZlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZjBhNmMzMy4uNzc1MjU3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgorI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCkBAIC00OCw3ICs0OSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFJlc291cmNlTG9h
ZGVyOjpyZXNvdXJjZURhdGEoKQorUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gUmVzb3VyY2VM
b2FkZXI6OnJlc291cmNlRGF0YSgpCiB7CiAgICAgcmV0dXJuIG1fcmVzb3VyY2VEYXRhOwogfQpA
QCAtMTk4LDEyICsxOTksMTIgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6YWRkRGF0YShjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBib29sIGFsbEF0T25jZSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKGFsbEF0T25jZSkgewotICAgICAgICBtX3Jlc291cmNlRGF0YSA9IFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIG1fcmVzb3VyY2VEYXRhID0gUmVz
b3VyY2VCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgICAgICAKICAgICBpZiAoIW1fcmVzb3VyY2VEYXRhKQotICAgICAgICBtX3Jlc291cmNl
RGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIG1fcmVz
b3VyY2VEYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOwogICAgIGVs
c2UKICAgICAgICAgbV9yZXNvdXJjZURhdGEtPmFwcGVuZChkYXRhLCBsZW5ndGgpOwogfQpAQCAt
Mjg4LDcgKzI4OSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0
YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogICAgICAgICByZXR1cm47CiAKICAgICBB
U1NFUlQoIW1fcmVzb3VyY2VEYXRhKTsKLSAgICBtX3Jlc291cmNlRGF0YSA9IFNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgbV9yZXNvdXJjZURhdGEgPSBSZXNvdXJjZUJ1
ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRp
ZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5oCmluZGV4IGJiNzQxZDEuLmMyMGFhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5oCkBAIC00NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBGcmFtZUxvYWRlcjsKICAgICBjbGFzcyBLVVJM
OworICAgIGNsYXNzIFJlc291cmNlQnVmZmVyOwogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwot
ICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICAKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlTG9hZGVyPiwgcHJvdGVjdGVkIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKICAgICBwdWJsaWM6CkBAIC03Miw3ICs3Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UoKSBjb25zdDsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkRGF0YShjb25zdCBjaGFyKiwgaW50LCBib29sIGFs
bEF0T25jZSk7Ci0gICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHJlc291
cmNlRGF0YSgpOworICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IHJl
c291cmNlRGF0YSgpOwogICAgICAgICB2b2lkIGNsZWFyUmVzb3VyY2VEYXRhKCk7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1N1YnJlc291cmNlTG9hZGVyKCk7CiAgICAgICAgIApAQCAtMTczLDcg
KzE3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
bV9yZXF1ZXN0OwogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9vcmlnaW5hbFJlcXVlc3Q7IC8v
IEJlZm9yZSByZWRpcmVjdHMuCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fcmVzb3Vy
Y2VEYXRhOworICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1fcmVzb3VyY2VEYXRhOwog
ICAgICAgICAKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2lkZW50aWZpZXI7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY1NjM0NTkuLjM2YjM2
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAt
MjIxLDcgKzIyMSw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICAgICAgfQogICAgIH0KIAot
ICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IHJlc291cmNlRGF0YSgpOworICAgIFJl
ZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gcmVzb3VyY2VEYXRhKCk7CiAgICAgaWYgKG1f
bG9hZGluZ011bHRpcGFydENvbnRlbnQgJiYgYnVmZmVyICYmIGJ1ZmZlci0+c2l6ZSgpKSB7CiAg
ICAgICAgIHNlbmREYXRhVG9SZXNvdXJjZShidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkp
OwogICAgICAgICBjbGVhclJlc291cmNlRGF0YSgpOwpAQCAtMjcwLDEwICsyNzAsMTAgQEAgdm9p
ZCBTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jlc291cmNlKGNvbnN0IGNoYXIqIGRhdGEs
IGludCBsZW5ndGgpCiAgICAgLy8gICAgIFJlc291cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEoKSB3
aWxsIGJlIG51bGwuIEhvd2V2ZXIsIHVubGlrZSB0aGUgbXVsdGlwYXJ0IGNhc2UsIHdlIGRvbid0
IHdhbnQgdG8gdGVsbCB0aGUgQ2FjaGVkUmVzb3VyY2UgCiAgICAgLy8gICAgIHRoYXQgYWxsIGRh
dGEgaGFzIGJlZW4gcmVjZWl2ZWQgeWV0LiAKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudCB8fCAhcmVzb3VyY2VEYXRhKCkpIHsgCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IGNvcGllZERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOyAKLSAgICAg
ICAgbV9yZXNvdXJjZS0+ZGF0YShSZXNvdXJjZUJ1ZmZlcjo6YWRvcHRTaGFyZWRCdWZmZXIoY29w
aWVkRGF0YS5yZWxlYXNlKCkpLCBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50KTsKKyAgICAgICAg
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBjb3BpZWREYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0
ZShkYXRhLCBsZW5ndGgpOyAKKyAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJl
bGVhc2UoKSwgbV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk7CiAgICAgfSBlbHNlIAotICAgICAg
ICBtX3Jlc291cmNlLT5kYXRhKFJlc291cmNlQnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihyZXNv
dXJjZURhdGEoKSksIGZhbHNlKTsKKyAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURh
dGEoKSwgZmFsc2UpOwogfQogCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlQ2Fj
aGVkTWV0YWRhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKQEAgLTI5Niw3ICsyOTYs
NyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5p
c2hUaW1lKQogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBwcm90ZWN0
UmVzb3VyY2UobV9yZXNvdXJjZSk7CiAgICAgbV9zdGF0ZSA9IEZpbmlzaGluZzsKICAgICBtX3Jl
c291cmNlLT5zZXRMb2FkRmluaXNoVGltZShmaW5pc2hUaW1lKTsKLSAgICBtX3Jlc291cmNlLT5k
YXRhKFJlc291cmNlQnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihyZXNvdXJjZURhdGEoKSksIHRy
dWUpOworICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3VyY2VEYXRhKCksIHRydWUpOwogICAgIG1f
cmVzb3VyY2UtPmZpbmlzaCgpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KGZpbmlzaFRpbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCAyNzNhNjAxLi40ZGUzYTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIk1haW5SZXNvdXJj
ZUxvYWRlci5oIgogI2luY2x1ZGUgIk1hbmlmZXN0UGFyc2VyLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgorI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTI0Niw4ICsyNDcsMTAgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmZpbmlzaGVkTG9h
ZGluZ01haW5SZXNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgICAgICAgICAgICAg
IHJlc291cmNlLT5hZGRUeXBlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyKTsKICAg
ICAgICAgICAgICAgICBBU1NFUlQoIXJlc291cmNlLT5zdG9yYWdlSUQoKSk7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9uZXdlc3RDYWNoZS0+YWRkUmVzb3Vy
Y2UoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpjcmVhdGUodXJsLCBsb2FkZXItPnJlc3BvbnNl
KCksIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyLCBsb2FkZXItPm1haW5SZXNvdXJj
ZURhdGEoKSkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUmVmUHRyPFJlc291cmNl
QnVmZmVyPiBidWZmZXIgPSBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICAgICAgICAg
IG1fbmV3ZXN0Q2FjaGUtPmFkZFJlc291cmNlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6Y3Jl
YXRlKHVybCwgbG9hZGVyLT5yZXNwb25zZSgpLCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6Ok1h
c3RlciwgYnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDApKTsKKyAgICAgICAgfQog
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRmFpbHVyZToKQEAgLTI2Niw4ICsyNjksMTAgQEAg
dm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmZpbmlzaGVkTG9hZGluZ01haW5SZXNvdXJjZShE
b2N1bWVudExvYWRlciogbG9hZGVyKQogICAgICAgICAgICAgICAgIHJlc291cmNlLT5hZGRUeXBl
KEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyKTsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIXJlc291cmNlLT5zdG9yYWdlSUQoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgbV9jYWNoZUJlaW5nVXBkYXRlZC0+YWRkUmVzb3VyY2UoQXBwbGljYXRp
b25DYWNoZVJlc291cmNlOjpjcmVhdGUodXJsLCBsb2FkZXItPnJlc3BvbnNlKCksIEFwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyLCBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKSkpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZm
ZXIgPSBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICAgICAgICAgIG1fY2FjaGVCZWlu
Z1VwZGF0ZWQtPmFkZFJlc291cmNlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6Y3JlYXRlKHVy
bCwgbG9hZGVyLT5yZXNwb25zZSgpLCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6Ok1hc3Rlciwg
YnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDApKTsKKyAgICAgICAgfQogICAgICAg
ICAvLyBUaGUgImNhY2hlZCIgZXZlbnQgd2lsbCBiZSBwb3N0ZWQgdG8gYWxsIGFzc29jaWF0ZWQg
ZG9jdW1lbnRzIG9uY2UgdXBkYXRlIGlzIGNvbXBsZXRlLgogICAgICAgICBicmVhazsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggNjAwYmE0ZC4uMDA3YWFlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTA1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBTd2l0Y2ggUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgpIGZy
b20gU2hhcmVkQnVmZmVyIHRvIFJlc291cmNlQnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNo
YW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9u
IGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgICogV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tOgorICAgICAgICAoLVtXZWJEYXRhU291cmNlIGRhdGFdKToKKwogMjAxMi0xMC0x
MCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gQWN0aXZhdGUg
cGx1Z2lucyB3aGVuIHVzZXIgY2xpY2tzIG9uIHNuYXBzaG90CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJWaWV3L1dlYkRhdGFTb3VyY2UubW0KaW5kZXggNTIwNDhlNy4uZDkyYTIyYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbQpAQCAtNTIsNiArNTIsNyBAQAog
I2ltcG9ydCA8V2ViQ29yZS9LVVJMLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xlZ2FjeVdlYkFyY2hp
dmUuaD4KICNpbXBvcnQgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3Qu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUnVuTG9vcC5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRC
dWZmZXIuaD4KQEAgLTM5OSw3ICs0MDAsNyBAQCAtICh2b2lkKWZpbmFsaXplCiAKIC0gKE5TRGF0
YSAqKWRhdGEKIHsKLSAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0g
dG9Qcml2YXRlKF9wcml2YXRlKS0+bG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAgUmVm
UHRyPFJlc291cmNlQnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0gdG9Qcml2YXRlKF9wcml2YXRl
KS0+bG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7CiAgICAgaWYgKCFtYWluUmVzb3VyY2VEYXRh
KQogICAgICAgICByZXR1cm4gbmlsOwogICAgIHJldHVybiBbbWFpblJlc291cmNlRGF0YS0+Y3Jl
YXRlTlNEYXRhKCkgYXV0b3JlbGVhc2VdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDQ4YjM0YzMuLmJiYmJiN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0wNSAgQnJhZHkgRWlkc29uICA8
YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIFJlc291cmNlTG9hZGVyOjpyZXNv
dXJjZURhdGEoKSBmcm9tIFNoYXJlZEJ1ZmZlciB0byBSZXNvdXJjZUJ1ZmZlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0
aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRk
IHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZmluaXNoZWRMb2FkaW5nKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJGcmFtZTo6c291cmNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1l
KToKKwogMjAxMi0xMC0xMCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAg
IEZpeCB0aGUgR0NDIE1hYyBidWlsZC4gV2h5IGFyZSB3ZSBzdGlsbCBidWlsZGluZyB3aXRoIEdD
QyBhZ2Fpbj8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggZWIxN2VkYy4u
NmRhMjQyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTY4LDYgKzY4
LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdp
bkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJy
b3IuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9V
SUV2ZW50V2l0aEtleVN0YXRlLmg+CkBAIC04OTgsNyArODk5LDcgQEAgdm9pZCBXZWJGcmFtZUxv
YWRlckNsaWVudDo6ZmluaXNoZWRMb2FkaW5nKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAg
ICAgICAgICBpZiAoIXdlYlBhZ2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
ICAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0gbG9hZGVyLT5tYWlu
UmVzb3VyY2VEYXRhKCk7CisgICAgICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1haW5S
ZXNvdXJjZURhdGEgPSBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKICAgICAgICAgICAgIENv
cmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0
IHVpbnQ4X3QqPihtYWluUmVzb3VyY2VEYXRhID8gbWFpblJlc291cmNlRGF0YS0+ZGF0YSgpIDog
MCksIG1haW5SZXNvdXJjZURhdGEgPyBtYWluUmVzb3VyY2VEYXRhLT5zaXplKCkgOiAwKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWRGaW5pc2hMb2FkaW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGxvYWRlci0+
cmVzcG9uc2UoKS5zdWdnZXN0ZWRGaWxlbmFtZSgpLCBkYXRhUmVmZXJlbmNlKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAppbmRleCA5YzUxY2U2
Li44YWU5ZWYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJG
cmFtZS5jcHAKQEAgLTU0LDYgKzU0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0pTUmFuZ2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVB
c1RleHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TZWN1cml0eU9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEl0ZXJhdG9y
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CkBAIC0yOTYsNyAr
Mjk3LDcgQEAgU3RyaW5nIFdlYkZyYW1lOjpzb3VyY2UoKSBjb25zdAogICAgIERvY3VtZW50TG9h
ZGVyKiBkb2N1bWVudExvYWRlciA9IG1fY29yZUZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1l
bnRMb2FkZXIoKTsKICAgICBpZiAoIWRvY3VtZW50TG9hZGVyKQogICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlRGF0YSA9IGRvY3Vt
ZW50TG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAgUmVmUHRyPFJlc291cmNlQnVmZmVy
PiBtYWluUmVzb3VyY2VEYXRhID0gZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsK
ICAgICBpZiAoIW1haW5SZXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAg
ICByZXR1cm4gZGVjb2Rlci0+ZW5jb2RpbmcoKS5kZWNvZGUobWFpblJlc291cmNlRGF0YS0+ZGF0
YSgpLCBtYWluUmVzb3VyY2VEYXRhLT5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDAzNWE4ZDYuLjE5ODgxMDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEwNCw2ICsx
MDQsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1JlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclZpZXcuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9S
ZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1NjaGVtZVJlZ2lzdHJ5Lmg+CkBAIC0xOTIyLDcgKzE5MjMsNyBAQCB2b2lkIFdl
YlBhZ2U6OmdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2
NF90IGNhbGxiYWNrSUQpCiB7CiAgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhUmVmZXJl
bmNlOwogCi0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOworICAgIFJlZlB0cjxSZXNv
dXJjZUJ1ZmZlcj4gYnVmZmVyOwogICAgIGlmIChXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNz
OjpzaGFyZWQoKS53ZWJGcmFtZShmcmFtZUlEKSkgewogICAgICAgICBpZiAoRG9jdW1lbnRMb2Fk
ZXIqIGxvYWRlciA9IGZyYW1lLT5jb3JlRnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVy
KCkpIHsKICAgICAgICAgICAgIGlmICgoYnVmZmVyID0gbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRh
KCkpKQo=
</data>
<flag name="commit-queue"
          id="181008"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168108</attachid>
            <date>2012-10-10 17:55:09 -0700</date>
            <delta_ts>2012-10-11 09:31:58 -0700</delta_ts>
            <desc>Patch v2 - Hopefully fix gtk and windows</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>29912</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2ZDQyYzMyLi5kZGVkYmFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYg
QEAKKzIwMTItMTAtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgZnJvbSBTaGFyZWRCdWZm
ZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMg
YXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25z
IGJlbG93IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6YXBwZW5kQnl0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6ZmluaXNoKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclBhZ2VBZ2VudDo6bWFpblJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JQYWdlQWdlbnQ6OnNoYXJlZEJ1ZmZlckNvbnRlbnQpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250ZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjptYWluUmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpz
ZXR1cEZvclJlcGxhY2VCeU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjptYXliZUNyZWF0ZUFyY2hpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6Om1haW5SZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5
YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk6CisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERvY3VtZW50TG9hZGVy
KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VCdWZmZXI6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlQnVmZmVyOjpjbGVhcik6CisgICAgICAgICogbG9hZGVyL1Jlc291
cmNlQnVmZmVyLmg6CisgICAgICAgIChSZXNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpy
ZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmFkZERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0
YSk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2Vu
ZERhdGFUb1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZmluaXNoZWRMb2FkaW5nTWFpblJlc291cmNlKToKKwogMjAxMi0xMC0xMCBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBTd2l0Y2ggb3ZlciBDYWNoZWRSZXNvdXJj
ZTo6ZGF0YSgpIGZyb20gdGFraW5nIGEgU2hhcmVkQnVmZmVyIHRvIHRha2luZyBhIFJlc291cmNl
QnVmZmVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBiM2U1Zjg2Li5kMWQ0ZTM4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgpAQCAtMjY0LDYgKzI2NCw3IEBAIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxl
Y3Rpb245c2VsZWN0QWxsRXYKIF9fWk43V2ViQ29yZTE0RnJhbWVTZWxlY3Rpb25DMUVQTlNfNUZy
YW1lRQogX19aTjdXZWJDb3JlMTRQbHVnaW5Eb2N1bWVudDEycGx1Z2luV2lkZ2V0RXYKIF9fWk43
V2ViQ29yZTE0UmVzb3VyY2VCdWZmZXIxMmNyZWF0ZU5TRGF0YUV2CitfX1pON1dlYkNvcmUxNFJl
c291cmNlQnVmZmVyRDFFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTIwZm9yY2VDb250
ZW50U25pZmZpbmdFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTI2c3luY2hyb25vdXNM
b2FkUnVuTG9vcE1vZGVFdgogX19aTjdXZWJDb3JlMTRSZXNvdXJjZUhhbmRsZTM1Y3JlYXRlUHJp
dmF0ZUJyb3dzaW5nU3RvcmFnZVNlc3Npb25FUEsxMF9fQ0ZTdHJpbmcKQEAgLTExODQsNiArMTE4
NSw4IEBAIF9fWk5LN1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uNmJvdW5kc0ViCiBfX1pOSzdXZWJD
b3JlMTRJbnNlcnRpb25Qb2ludDE2ZGlzdHJpYnV0ZWROb2Rlc0V2CiBfX1pOSzdXZWJDb3JlMTRJ
bnNlcnRpb25Qb2ludDhpc0FjdGl2ZUV2CiBfX1pOSzdXZWJDb3JlMTRSZW5kZXJMaXN0SXRlbTEw
bWFya2VyVGV4dEV2CitfX1pOSzdXZWJDb3JlMTRSZXNvdXJjZUJ1ZmZlcjRkYXRhRXYKK19fWk5L
N1dlYkNvcmUxNFJlc291cmNlQnVmZmVyNHNpemVFdgogX19aTks3V2ViQ29yZTE0UmVzb3VyY2VI
YW5kbGUxMGNvbm5lY3Rpb25FdgogX19aTks3V2ViQ29yZTE0UmVzb3VyY2VMb2FkZXIxMWZyYW1l
TG9hZGVyRXYKIF9fWk5LN1dlYkNvcmUxNFNjcm9sbGFibGVBcmVhMTRzY3JvbGxBbmltYXRvckV2
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAppbmRleCA3ZGUxYjQ2Li41ZmM5MjY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0ltYWdlRG9jdW1lbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VEb2N1bWVudC5jcHAKQEAgLTEzMyw3ICsxMzMsNyBA
QCB2b2lkIEltYWdlRG9jdW1lbnRQYXJzZXI6OmFwcGVuZEJ5dGVzKERvY3VtZW50V3JpdGVyKiwg
Y29uc3QgY2hhciosIHNpemVfdCkKICAgICAgICAgcmV0dXJuOwogCiAgICAgQ2FjaGVkSW1hZ2Uq
IGNhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVkSW1hZ2UoKTsKLSAgICBjYWNoZWRJbWFn
ZS0+ZGF0YShSZXNvdXJjZUJ1ZmZlcjo6YWRvcHRTaGFyZWRCdWZmZXIoZnJhbWUtPmxvYWRlcigp
LT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCkpLCBmYWxzZSk7CisgICAgY2Fj
aGVkSW1hZ2UtPmRhdGEoZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVz
b3VyY2VEYXRhKCksIGZhbHNlKTsKIAogICAgIGRvY3VtZW50KCktPmltYWdlVXBkYXRlZCgpOwog
fQpAQCAtMTQyLDE0ICsxNDIsMTQgQEAgdm9pZCBJbWFnZURvY3VtZW50UGFyc2VyOjpmaW5pc2go
KQogewogICAgIGlmICghaXNTdG9wcGVkKCkgJiYgZG9jdW1lbnQoKS0+aW1hZ2VFbGVtZW50KCkp
IHsKICAgICAgICAgQ2FjaGVkSW1hZ2UqIGNhY2hlZEltYWdlID0gZG9jdW1lbnQoKS0+Y2FjaGVk
SW1hZ2UoKTsKLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSA9IGRvY3VtZW50KCkt
PmZyYW1lKCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7
CisgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gZGF0YSA9IGRvY3VtZW50KCktPmZyYW1l
KCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CiAKICAg
ICAgICAgLy8gSWYgdGhpcyBpcyBhIG11bHRpcGFydCBpbWFnZSwgbWFrZSBhIGNvcHkgb2YgdGhl
IGN1cnJlbnQgcGFydCwgc2luY2UgdGhlIHJlc291cmNlIGRhdGEKICAgICAgICAgLy8gd2lsbCBi
ZSBvdmVyd3JpdHRlbiBieSB0aGUgbmV4dCBwYXJ0LgogICAgICAgICBpZiAoZG9jdW1lbnQoKS0+
ZnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPmlzTG9hZGluZ011bHRpcGFydENv
bnRlbnQoKSkKICAgICAgICAgICAgIGRhdGEgPSBkYXRhLT5jb3B5KCk7CiAKLSAgICAgICAgY2Fj
aGVkSW1hZ2UtPmRhdGEoUmVzb3VyY2VCdWZmZXI6OmFkb3B0U2hhcmVkQnVmZmVyKGRhdGEucmVs
ZWFzZSgpKSwgdHJ1ZSk7CisgICAgICAgIGNhY2hlZEltYWdlLT5kYXRhKGRhdGEucmVsZWFzZSgp
LCB0cnVlKTsKICAgICAgICAgY2FjaGVkSW1hZ2UtPmZpbmlzaCgpOwogCiAgICAgICAgIGNhY2hl
ZEltYWdlLT5zZXRSZXNwb25zZShkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+ZG9jdW1l
bnRMb2FkZXIoKS0+cmVzcG9uc2UoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IGRlYTg3YzkuLjE5MzMxOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0yMDgsMjUg
KzIwOCwzMCBAQCBib29sIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FjaGVkUmVzb3VyY2VDb250ZW50
KENhY2hlZFJlc291cmNlKiBjYWNoZWRSZXNvdXJjZSwgUwogICAgIHJldHVybiBmYWxzZTsKIH0K
IAotc3RhdGljIGJvb2wgbWFpblJlc291cmNlQ29udGVudChGcmFtZSogZnJhbWUsIGJvb2wgd2l0
aEJhc2U2NEVuY29kZSwgU3RyaW5nKiByZXN1bHQpCitib29sIEluc3BlY3RvclBhZ2VBZ2VudDo6
bWFpblJlc291cmNlQ29udGVudChGcmFtZSogZnJhbWUsIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwg
U3RyaW5nKiByZXN1bHQpCiB7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gZnJh
bWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAg
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZmZXIgPSBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50
TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgIFN0cmluZyB0ZXh0RW5jb2RpbmdOYW1lID0gZnJhbWUtPmRvY3Vt
ZW50KCktPmlucHV0RW5jb2RpbmcoKTsKIAotICAgIHJldHVybiBJbnNwZWN0b3JQYWdlQWdlbnQ6
OnNoYXJlZEJ1ZmZlckNvbnRlbnQoYnVmZmVyLCB0ZXh0RW5jb2RpbmdOYW1lLCB3aXRoQmFzZTY0
RW5jb2RlLCByZXN1bHQpOworICAgIHJldHVybiBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250
ZW50KGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSwgdGV4dEVuY29kaW5nTmFtZSwgd2l0
aEJhc2U2NEVuY29kZSwgcmVzdWx0KTsKIH0KIAogLy8gc3RhdGljCiBib29sIEluc3BlY3RvclBh
Z2VBZ2VudDo6c2hhcmVkQnVmZmVyQ29udGVudChQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVm
ZmVyLCBjb25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGJvb2wgd2l0aEJhc2U2NEVuY29k
ZSwgU3RyaW5nKiByZXN1bHQpCiB7CisgICAgcmV0dXJuIGRhdGFDb250ZW50KGJ1ZmZlciA/IGJ1
ZmZlci0+ZGF0YSgpIDogMCwgYnVmZmVyID8gYnVmZmVyLT5zaXplKCkgOiAwLCB0ZXh0RW5jb2Rp
bmdOYW1lLCB3aXRoQmFzZTY0RW5jb2RlLCByZXN1bHQpOworfQorCitib29sIEluc3BlY3RvclBh
Z2VBZ2VudDo6ZGF0YUNvbnRlbnQoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgc2l6ZSwgY29u
c3QgU3RyaW5nJiB0ZXh0RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmlu
ZyogcmVzdWx0KQorewogICAgIGlmICh3aXRoQmFzZTY0RW5jb2RlKSB7Ci0gICAgICAgICpyZXN1
bHQgPSBiYXNlNjRFbmNvZGUoYnVmZmVyLT5kYXRhKCksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAg
ICAgKnJlc3VsdCA9IGJhc2U2NEVuY29kZShkYXRhLCBzaXplKTsKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogCi0gICAgcmV0dXJuIGRlY29kZUJ1ZmZlcihidWZmZXIgPyBidWZmZXItPmRh
dGEoKSA6IDAsIGJ1ZmZlciA/IGJ1ZmZlci0+c2l6ZSgpIDogMCwgdGV4dEVuY29kaW5nTmFtZSwg
cmVzdWx0KTsKKyAgICByZXR1cm4gZGVjb2RlQnVmZmVyKGRhdGEsIHNpemUsIHRleHRFbmNvZGlu
Z05hbWUsIHJlc3VsdCk7CiB9CiAKIFBhc3NPd25QdHI8SW5zcGVjdG9yUGFnZUFnZW50PiBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OmNyZWF0ZShJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5n
QWdlbnRzLCBQYWdlKiBwYWdlLCBJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQsIEluc3Bl
Y3RvclN0YXRlKiBzdGF0ZSwgSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKiBpbmplY3RlZFNjcmlwdE1h
bmFnZXIsIEluc3BlY3RvckNsaWVudCogY2xpZW50LCBJbnNwZWN0b3JPdmVybGF5KiBvdmVybGF5
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2Vu
dC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4
IDdiNzFiMjEuLjM4ZmUxMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmgKQEAgLTE2MCw2ICsxNjAsOSBAQCBwcml2YXRlOgogICAgIHZvaWQgdXBk
YXRlVG91Y2hFdmVudEVtdWxhdGlvbkluUGFnZShib29sKTsKICNlbmRpZgogCisgICAgc3RhdGlj
IGJvb2wgbWFpblJlc291cmNlQ29udGVudChGcmFtZSosIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwg
U3RyaW5nKiByZXN1bHQpOworICAgIHN0YXRpYyBib29sIGRhdGFDb250ZW50KGNvbnN0IGNoYXIq
IGRhdGEsIHVuc2lnbmVkIHNpemUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5nTmFtZSwgYm9v
bCB3aXRoQmFzZTY0RW5jb2RlLCBTdHJpbmcqIHJlc3VsdCk7CisKICAgICBQYXNzUmVmUHRyPFR5
cGVCdWlsZGVyOjpQYWdlOjpGcmFtZT4gYnVpbGRPYmplY3RGb3JGcmFtZShGcmFtZSopOwogICAg
IFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OlBhZ2U6OkZyYW1lUmVzb3VyY2VUcmVlPiBidWlsZE9i
amVjdEZvckZyYW1lVHJlZShGcmFtZSopOwogICAgIFBhZ2UqIG1fcGFnZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcAppbmRleCA4
ZGU0ZGNhLi43ZDBlNTFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSAiTmV0
d29ya1Jlc291cmNlc0RhdGEuaCIKICNpbmNsdWRlICJQYWdlLmgiCiAjaW5jbHVkZSAiUHJvZ3Jl
c3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKICNpbmNsdWRlICJSZXNv
dXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkZXIuaCIKICNpbmNsdWRlICJSZXNv
dXJjZVJlcXVlc3QuaCIKQEAgLTMwMiw4ICszMDMsMTAgQEAgdm9pZCBJbnNwZWN0b3JSZXNvdXJj
ZUFnZW50OjpkaWRSZWNlaXZlRGF0YSh1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IGNo
YXIKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25l
ZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9hZGVyKiBsb2FkZXIsIGRvdWJsZSBmaW5pc2hU
aW1lKQogewogICAgIFN0cmluZyByZXF1ZXN0SWQgPSBJZGVudGlmaWVyc0ZhY3Rvcnk6OnJlcXVl
c3RJZChpZGVudGlmaWVyKTsKLSAgICBpZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUo
cmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6OkRvY3VtZW50UmVzb3VyY2UpCi0gICAg
ICAgIG1fcmVzb3VyY2VzRGF0YS0+YWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIocmVxdWVzdElkLCBs
b2FkZXItPmZyYW1lTG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEo
KSwgbG9hZGVyLT5mcmFtZSgpLT5kb2N1bWVudCgpLT5pbnB1dEVuY29kaW5nKCkpOworICAgIGlm
IChtX3Jlc291cmNlc0RhdGEtPnJlc291cmNlVHlwZShyZXF1ZXN0SWQpID09IEluc3BlY3RvclBh
Z2VBZ2VudDo6RG9jdW1lbnRSZXNvdXJjZSkgeworICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZm
ZXI+IGJ1ZmZlciA9IGxvYWRlci0+ZnJhbWVMb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+bWFp
blJlc291cmNlRGF0YSgpOworICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hh
cmVkQnVmZmVyKHJlcXVlc3RJZCwgYnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDAs
IGxvYWRlci0+ZnJhbWUoKS0+ZG9jdW1lbnQoKS0+aW5wdXRFbmNvZGluZygpKTsKKyAgICB9CiAK
ICAgICBtX3Jlc291cmNlc0RhdGEtPm1heWJlRGVjb2RlRGF0YVRvQ29udGVudChyZXF1ZXN0SWQp
OwogCkBAIC0zMTksOCArMzIyLDEwIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlk
RmFpbExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvCiAKICAgICBp
ZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNvdXJjZVR5cGUocmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OkRvY3VtZW50UmVzb3VyY2UpIHsKICAgICAgICAgRnJhbWUqIGZyYW1lID0gbG9h
ZGVyID8gbG9hZGVyLT5mcmFtZSgpIDogMDsKLSAgICAgICAgaWYgKGZyYW1lICYmIGZyYW1lLT5s
b2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKSAmJiBmcmFtZS0+ZG9jdW1lbnQoKSkKLSAgICAgICAg
ICAgIG1fcmVzb3VyY2VzRGF0YS0+YWRkUmVzb3VyY2VTaGFyZWRCdWZmZXIocmVxdWVzdElkLCBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKSwgZnJh
bWUtPmRvY3VtZW50KCktPmlucHV0RW5jb2RpbmcoKSk7CisgICAgICAgIGlmIChmcmFtZSAmJiBm
cmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkgJiYgZnJhbWUtPmRvY3VtZW50KCkpIHsK
KyAgICAgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gZnJhbWUtPmxvYWRl
cigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCk7CisgICAgICAgICAgICBt
X3Jlc291cmNlc0RhdGEtPmFkZFJlc291cmNlU2hhcmVkQnVmZmVyKHJlcXVlc3RJZCwgYnVmZmVy
ID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDAsIGZyYW1lLT5kb2N1bWVudCgpLT5pbnB1dEVu
Y29kaW5nKCkpOworICAgICAgICB9CiAgICAgfQogCiAgICAgYm9vbCBjYW5jZWxlZCA9IGVycm9y
LmlzQ2FuY2VsbGF0aW9uKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9j
dW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cAppbmRleCA2ODM4MTFlLi42ZjIyNmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRG9jdW1lbnRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVu
dExvYWRlci5jcHAKQEAgLTEyMiw3ICsxMjIsNyBAQCBEb2N1bWVudExvYWRlcjo6fkRvY3VtZW50
TG9hZGVyKCkKICAgICBtX2NhY2hlZFJlc291cmNlTG9hZGVyLT5jbGVhckRvY3VtZW50TG9hZGVy
KCk7CiB9CiAKLVBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBEb2N1bWVudExvYWRlcjo6bWFpblJl
c291cmNlRGF0YSgpIGNvbnN0CitQYXNzUmVmUHRyPFJlc291cmNlQnVmZmVyPiBEb2N1bWVudExv
YWRlcjo6bWFpblJlc291cmNlRGF0YSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fbWFpblJlc291cmNl
RGF0YSkKICAgICAgICAgcmV0dXJuIG1fbWFpblJlc291cmNlRGF0YTsKQEAgLTQ4MSw3ICs0ODEs
OCBAQCBib29sIERvY3VtZW50TG9hZGVyOjptYXliZUNyZWF0ZUFyY2hpdmUoKQogI2Vsc2UKICAg
ICAKICAgICAvLyBHaXZlIHRoZSBhcmNoaXZlIG1hY2hpbmVyeSBhIGNyYWNrIGF0IHRoaXMgZG9j
dW1lbnQuIElmIHRoZSBNSU1FIHR5cGUgaXMgbm90IGFuIGFyY2hpdmUgdHlwZSwgaXQgd2lsbCBy
ZXR1cm4gMC4KLSAgICBtX2FyY2hpdmUgPSBBcmNoaXZlRmFjdG9yeTo6Y3JlYXRlKG1fcmVzcG9u
c2UudXJsKCksIG1haW5SZXNvdXJjZURhdGEoKS5nZXQoKSwgbV9yZXNwb25zZS5taW1lVHlwZSgp
KTsKKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1haW5SZXNvdXJjZUJ1ZmZlciA9IG1haW5S
ZXNvdXJjZURhdGEoKTsKKyAgICBtX2FyY2hpdmUgPSBBcmNoaXZlRmFjdG9yeTo6Y3JlYXRlKG1f
cmVzcG9uc2UudXJsKCksIG1haW5SZXNvdXJjZUJ1ZmZlci0+c2hhcmVkQnVmZmVyKCksIG1fcmVz
cG9uc2UubWltZVR5cGUoKSk7CiAgICAgaWYgKCFtX2FyY2hpdmUpCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKQEAgLTU1OSwxMSArNTYwLDEzIEBAIEFyY2hpdmVSZXNvdXJjZSogRG9jdW1l
bnRMb2FkZXI6OmFyY2hpdmVSZXNvdXJjZUZvclVSTChjb25zdCBLVVJMJiB1cmwpIGNvbnN0CiBQ
YXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZSgp
IGNvbnN0CiB7CiAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgciA9IHJlc3BvbnNlKCk7Ci0g
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlQnVmZmVyID0gbWFpblJlc291cmNl
RGF0YSgpOwotICAgIGlmICghbWFpblJlc291cmNlQnVmZmVyKQotICAgICAgICBtYWluUmVzb3Vy
Y2VCdWZmZXIgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOworICAgIAorICAgIFJlZlB0cjxSZXNv
dXJjZUJ1ZmZlcj4gbWFpblJlc291cmNlQnVmZmVyID0gbWFpblJlc291cmNlRGF0YSgpOworICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGRhdGEgPSBtYWluUmVzb3VyY2VCdWZmZXIgPyBtYWluUmVz
b3VyY2VCdWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMDsKKyAgICBpZiAoIWRhdGEpCisgICAgICAg
IGRhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZSgpOwogICAgICAgICAKLSAgICByZXR1cm4gQXJj
aGl2ZVJlc291cmNlOjpjcmVhdGUobWFpblJlc291cmNlQnVmZmVyLCByLnVybCgpLCByLm1pbWVU
eXBlKCksIHIudGV4dEVuY29kaW5nTmFtZSgpLCBmcmFtZSgpLT50cmVlKCktPnVuaXF1ZU5hbWUo
KSk7CisgICAgcmV0dXJuIEFyY2hpdmVSZXNvdXJjZTo6Y3JlYXRlKGRhdGEsIHIudXJsKCksIHIu
bWltZVR5cGUoKSwgci50ZXh0RW5jb2RpbmdOYW1lKCksIGZyYW1lKCktPnRyZWUoKS0+dW5pcXVl
TmFtZSgpKTsKIH0KIAogUGFzc1JlZlB0cjxBcmNoaXZlUmVzb3VyY2U+IERvY3VtZW50TG9hZGVy
OjpzdWJyZXNvdXJjZShjb25zdCBLVVJMJiB1cmwpIGNvbnN0CkBAIC04NzMsNyArODc2LDcgQEAg
dm9pZCBEb2N1bWVudExvYWRlcjo6bWF5YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCgp
CiAKICAgICBmcmFtZUxvYWRlcigpLT5zZXR1cEZvclJlcGxhY2UoKTsKICAgICBtX2NvbW1pdHRl
ZCA9IGZhbHNlOwotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJlc291cmNlRGF0YSA9IG1haW5S
ZXNvdXJjZURhdGEoKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IHJlc291cmNlRGF0YSA9
IG1haW5SZXNvdXJjZURhdGEoKTsKICAgICBjb21taXRMb2FkKHJlc291cmNlRGF0YS0+ZGF0YSgp
LCByZXNvdXJjZURhdGEtPnNpemUoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
TG9hZGVyLmgKaW5kZXggYjRiNTRhZi4uZTVhY2Y0YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9E
b2N1bWVudExvYWRlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBjbGFzcyBGcmFtZUxvYWRlcjsKICAgICBjbGFzcyBNYWluUmVzb3VyY2VMb2FkZXI7CiAgICAg
Y2xhc3MgUGFnZTsKKyAgICBjbGFzcyBSZXNvdXJjZUJ1ZmZlcjsKICAgICBjbGFzcyBSZXNvdXJj
ZUxvYWRlcjsKICAgICBjbGFzcyBTY2hlZHVsZVBhaXI7CiAgICAgY2xhc3MgU2hhcmVkQnVmZmVy
OwpAQCAtODEsNyArODIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgRnJhbWVM
b2FkZXIqIGZyYW1lTG9hZGVyKCkgY29uc3Q7CiAgICAgICAgIE1haW5SZXNvdXJjZUxvYWRlciog
bWFpblJlc291cmNlTG9hZGVyKCkgY29uc3QgeyByZXR1cm4gbV9tYWluUmVzb3VyY2VMb2FkZXIu
Z2V0KCk7IH0KLSAgICAgICAgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IG1haW5SZXNvdXJjZURh
dGEoKSBjb25zdDsKKyAgICAgICAgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbWFpblJlc291
cmNlRGF0YSgpIGNvbnN0OwogICAgICAgICAKICAgICAgICAgRG9jdW1lbnRXcml0ZXIqIHdyaXRl
cigpIGNvbnN0IHsgcmV0dXJuICZtX3dyaXRlcjsgfQogCkBAIC0yNzcsNyArMjc4LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZXNvdXJjZUxvYWRlclNldCBtX211bHRpcGFydFN1
YnJlc291cmNlTG9hZGVyczsKICAgICAgICAgUmVzb3VyY2VMb2FkZXJTZXQgbV9wbHVnSW5TdHJl
YW1Mb2FkZXJzOwogCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fbWFpblJlc291cmNl
RGF0YTsKKyAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtX21haW5SZXNvdXJjZURhdGE7
CiAgICAgICAgIAogICAgICAgICBtdXRhYmxlIERvY3VtZW50V3JpdGVyIG1fd3JpdGVyOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmNwcAppbmRleCAxOTE5NWJiLi43M2Jk
YWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5jcHAKQEAgLTY1LDYg
KzY1LDE2IEBAIGJvb2wgUmVzb3VyY2VCdWZmZXI6OmlzRW1wdHkoKSBjb25zdAogICAgIHJldHVy
biBtX3NoYXJlZEJ1ZmZlci0+aXNFbXB0eSgpOwogfQogCit2b2lkIFJlc291cmNlQnVmZmVyOjph
cHBlbmQoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgc2l6ZSkKK3sKKyAgICBtX3NoYXJlZEJ1
ZmZlci0+YXBwZW5kKGRhdGEsIHNpemUpOworfQorCit2b2lkIFJlc291cmNlQnVmZmVyOjpjbGVh
cigpCit7CisgICAgbV9zaGFyZWRCdWZmZXItPmNsZWFyKCk7Cit9CisKIHVuc2lnbmVkIFJlc291
cmNlQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRp
b24pIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fc2hhcmVkQnVmZmVyLT5nZXRTb21lRGF0YShkYXRh
LCBwb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VC
dWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5oCmluZGV4IDYw
MGY0ZWIuLjBkNGEwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5oCkBA
IC01NCw2ICs1NCw5IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBzaXplKCkgY29uc3Q7CiAgICAg
Ym9vbCBpc0VtcHR5KCkgY29uc3Q7CiAKKyAgICB2b2lkIGFwcGVuZChjb25zdCBjaGFyKiwgdW5z
aWduZWQpOworICAgIHZvaWQgY2xlYXIoKTsKKyAgICAKICAgICB1bnNpZ25lZCBnZXRTb21lRGF0
YShjb25zdCBjaGFyKiYgZGF0YSwgdW5zaWduZWQgcG9zaXRpb24gPSAwKSBjb25zdDsKICAgICAK
ICAgICBTaGFyZWRCdWZmZXIqIHNoYXJlZEJ1ZmZlcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9SZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZjBhNmMzMy4uNzc1MjU3OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5j
bHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgorI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAj
aW5jbHVkZSAiUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgiCkBAIC00OCw3ICs0OSw3IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IFJlc291cmNlTG9h
ZGVyOjpyZXNvdXJjZURhdGEoKQorUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gUmVzb3VyY2VM
b2FkZXI6OnJlc291cmNlRGF0YSgpCiB7CiAgICAgcmV0dXJuIG1fcmVzb3VyY2VEYXRhOwogfQpA
QCAtMTk4LDEyICsxOTksMTIgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6YWRkRGF0YShjb25zdCBj
aGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBib29sIGFsbEF0T25jZSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgaWYgKGFsbEF0T25jZSkgewotICAgICAgICBtX3Jlc291cmNlRGF0YSA9IFNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIG1fcmVzb3VyY2VEYXRhID0gUmVz
b3VyY2VCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogICAgICAgICAKICAgICBpZiAoIW1fcmVzb3VyY2VEYXRhKQotICAgICAgICBtX3Jlc291cmNl
RGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgICAgIG1fcmVz
b3VyY2VEYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOwogICAgIGVs
c2UKICAgICAgICAgbV9yZXNvdXJjZURhdGEtPmFwcGVuZChkYXRhLCBsZW5ndGgpOwogfQpAQCAt
Mjg4LDcgKzI4OSw3IEBAIHZvaWQgUmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0
YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQogICAgICAgICByZXR1cm47CiAKICAgICBB
U1NFUlQoIW1fcmVzb3VyY2VEYXRhKTsKLSAgICBtX3Jlc291cmNlRGF0YSA9IFNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CisgICAgbV9yZXNvdXJjZURhdGEgPSBSZXNvdXJjZUJ1
ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CiB9CiAKIHZvaWQgUmVzb3VyY2VMb2FkZXI6OmRp
ZEZpbmlzaExvYWRpbmcoZG91YmxlIGZpbmlzaFRpbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNv
dXJjZUxvYWRlci5oCmluZGV4IGJiNzQxZDEuLmMyMGFhMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9SZXNvdXJjZUxvYWRlci5oCkBAIC00NCw4ICs0NCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBjbGFzcyBGcmFtZTsKICAgICBjbGFzcyBGcmFtZUxvYWRlcjsKICAgICBjbGFzcyBLVVJM
OworICAgIGNsYXNzIFJlc291cmNlQnVmZmVyOwogICAgIGNsYXNzIFJlc291cmNlSGFuZGxlOwot
ICAgIGNsYXNzIFNoYXJlZEJ1ZmZlcjsKICAgICAKICAgICBjbGFzcyBSZXNvdXJjZUxvYWRlciA6
IHB1YmxpYyBSZWZDb3VudGVkPFJlc291cmNlTG9hZGVyPiwgcHJvdGVjdGVkIFJlc291cmNlSGFu
ZGxlQ2xpZW50IHsKICAgICBwdWJsaWM6CkBAIC03Miw3ICs3Miw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UoKSBjb25zdDsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgYWRkRGF0YShjb25zdCBjaGFyKiwgaW50LCBib29sIGFs
bEF0T25jZSk7Ci0gICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IHJlc291
cmNlRGF0YSgpOworICAgICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IHJl
c291cmNlRGF0YSgpOwogICAgICAgICB2b2lkIGNsZWFyUmVzb3VyY2VEYXRhKCk7CiAgICAgICAg
IHZpcnR1YWwgYm9vbCBpc1N1YnJlc291cmNlTG9hZGVyKCk7CiAgICAgICAgIApAQCAtMTczLDcg
KzE3Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBSZXNvdXJjZVJlcXVlc3Qg
bV9yZXF1ZXN0OwogICAgICAgICBSZXNvdXJjZVJlcXVlc3QgbV9vcmlnaW5hbFJlcXVlc3Q7IC8v
IEJlZm9yZSByZWRpcmVjdHMuCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1fcmVzb3Vy
Y2VEYXRhOworICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1fcmVzb3VyY2VEYXRhOwog
ICAgICAgICAKICAgICAgICAgdW5zaWduZWQgbG9uZyBtX2lkZW50aWZpZXI7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IDY1NjM0NTkuLjM2YjM2
NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcApAQCAt
MjIxLDcgKzIyMSw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25z
ZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICAgICAgfQogICAgIH0KIAot
ICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IHJlc291cmNlRGF0YSgpOworICAgIFJl
ZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gcmVzb3VyY2VEYXRhKCk7CiAgICAgaWYgKG1f
bG9hZGluZ011bHRpcGFydENvbnRlbnQgJiYgYnVmZmVyICYmIGJ1ZmZlci0+c2l6ZSgpKSB7CiAg
ICAgICAgIHNlbmREYXRhVG9SZXNvdXJjZShidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCkp
OwogICAgICAgICBjbGVhclJlc291cmNlRGF0YSgpOwpAQCAtMjcwLDEwICsyNzAsMTAgQEAgdm9p
ZCBTdWJyZXNvdXJjZUxvYWRlcjo6c2VuZERhdGFUb1Jlc291cmNlKGNvbnN0IGNoYXIqIGRhdGEs
IGludCBsZW5ndGgpCiAgICAgLy8gICAgIFJlc291cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEoKSB3
aWxsIGJlIG51bGwuIEhvd2V2ZXIsIHVubGlrZSB0aGUgbXVsdGlwYXJ0IGNhc2UsIHdlIGRvbid0
IHdhbnQgdG8gdGVsbCB0aGUgQ2FjaGVkUmVzb3VyY2UgCiAgICAgLy8gICAgIHRoYXQgYWxsIGRh
dGEgaGFzIGJlZW4gcmVjZWl2ZWQgeWV0LiAKICAgICBpZiAobV9sb2FkaW5nTXVsdGlwYXJ0Q29u
dGVudCB8fCAhcmVzb3VyY2VEYXRhKCkpIHsgCi0gICAgICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+
IGNvcGllZERhdGEgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLCBsZW5ndGgpOyAKLSAgICAg
ICAgbV9yZXNvdXJjZS0+ZGF0YShSZXNvdXJjZUJ1ZmZlcjo6YWRvcHRTaGFyZWRCdWZmZXIoY29w
aWVkRGF0YS5yZWxlYXNlKCkpLCBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50KTsKKyAgICAgICAg
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBjb3BpZWREYXRhID0gUmVzb3VyY2VCdWZmZXI6OmNyZWF0
ZShkYXRhLCBsZW5ndGgpOyAKKyAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShjb3BpZWREYXRhLnJl
bGVhc2UoKSwgbV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk7CiAgICAgfSBlbHNlIAotICAgICAg
ICBtX3Jlc291cmNlLT5kYXRhKFJlc291cmNlQnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihyZXNv
dXJjZURhdGEoKSksIGZhbHNlKTsKKyAgICAgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURh
dGEoKSwgZmFsc2UpOwogfQogCiB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlQ2Fj
aGVkTWV0YWRhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0aCkKQEAgLTI5Niw3ICsyOTYs
NyBAQCB2b2lkIFN1YnJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKGRvdWJsZSBmaW5p
c2hUaW1lKQogICAgIENhY2hlZFJlc291cmNlSGFuZGxlPENhY2hlZFJlc291cmNlPiBwcm90ZWN0
UmVzb3VyY2UobV9yZXNvdXJjZSk7CiAgICAgbV9zdGF0ZSA9IEZpbmlzaGluZzsKICAgICBtX3Jl
c291cmNlLT5zZXRMb2FkRmluaXNoVGltZShmaW5pc2hUaW1lKTsKLSAgICBtX3Jlc291cmNlLT5k
YXRhKFJlc291cmNlQnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihyZXNvdXJjZURhdGEoKSksIHRy
dWUpOworICAgIG1fcmVzb3VyY2UtPmRhdGEocmVzb3VyY2VEYXRhKCksIHRydWUpOwogICAgIG1f
cmVzb3VyY2UtPmZpbmlzaCgpOwogICAgIFJlc291cmNlTG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5n
KGZpbmlzaFRpbWUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2FwcGNh
Y2hlL0FwcGxpY2F0aW9uQ2FjaGVHcm91cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcAppbmRleCAyNzNhNjAxLi40ZGUzYTQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNo
ZUdyb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRp
b25DYWNoZUdyb3VwLmNwcApAQCAtNDMsNiArNDMsNyBAQAogI2luY2x1ZGUgIk1haW5SZXNvdXJj
ZUxvYWRlci5oIgogI2luY2x1ZGUgIk1hbmlmZXN0UGFyc2VyLmgiCiAjaW5jbHVkZSAiUGFnZS5o
IgorI2luY2x1ZGUgIlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiU2NyaXB0UHJvZmlsZS5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAg
LTI0Niw4ICsyNDcsMTAgQEAgdm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmZpbmlzaGVkTG9h
ZGluZ01haW5SZXNvdXJjZShEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAgICAgICAgICAgICAg
IHJlc291cmNlLT5hZGRUeXBlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyKTsKICAg
ICAgICAgICAgICAgICBBU1NFUlQoIXJlc291cmNlLT5zdG9yYWdlSUQoKSk7CiAgICAgICAgICAg
ICB9Ci0gICAgICAgIH0gZWxzZQotICAgICAgICAgICAgbV9uZXdlc3RDYWNoZS0+YWRkUmVzb3Vy
Y2UoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpjcmVhdGUodXJsLCBsb2FkZXItPnJlc3BvbnNl
KCksIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyLCBsb2FkZXItPm1haW5SZXNvdXJj
ZURhdGEoKSkpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUmVmUHRyPFJlc291cmNl
QnVmZmVyPiBidWZmZXIgPSBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICAgICAgICAg
IG1fbmV3ZXN0Q2FjaGUtPmFkZFJlc291cmNlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6Y3Jl
YXRlKHVybCwgbG9hZGVyLT5yZXNwb25zZSgpLCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6Ok1h
c3RlciwgYnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDApKTsKKyAgICAgICAgfQog
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRmFpbHVyZToKQEAgLTI2Niw4ICsyNjksMTAgQEAg
dm9pZCBBcHBsaWNhdGlvbkNhY2hlR3JvdXA6OmZpbmlzaGVkTG9hZGluZ01haW5SZXNvdXJjZShE
b2N1bWVudExvYWRlciogbG9hZGVyKQogICAgICAgICAgICAgICAgIHJlc291cmNlLT5hZGRUeXBl
KEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyKTsKICAgICAgICAgICAgICAgICBBU1NF
UlQoIXJlc291cmNlLT5zdG9yYWdlSUQoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxz
ZQotICAgICAgICAgICAgbV9jYWNoZUJlaW5nVXBkYXRlZC0+YWRkUmVzb3VyY2UoQXBwbGljYXRp
b25DYWNoZVJlc291cmNlOjpjcmVhdGUodXJsLCBsb2FkZXItPnJlc3BvbnNlKCksIEFwcGxpY2F0
aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVyLCBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKSkpOwor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZm
ZXIgPSBsb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICAgICAgICAgIG1fY2FjaGVCZWlu
Z1VwZGF0ZWQtPmFkZFJlc291cmNlKEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6Y3JlYXRlKHVy
bCwgbG9hZGVyLT5yZXNwb25zZSgpLCBBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6Ok1hc3Rlciwg
YnVmZmVyID8gYnVmZmVyLT5zaGFyZWRCdWZmZXIoKSA6IDApKTsKKyAgICAgICAgfQogICAgICAg
ICAvLyBUaGUgImNhY2hlZCIgZXZlbnQgd2lsbCBiZSBwb3N0ZWQgdG8gYWxsIGFzc29jaWF0ZWQg
ZG9jdW1lbnRzIG9uY2UgdXBkYXRlIGlzIGNvbXBsZXRlLgogICAgICAgICBicmVhazsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cKaW5kZXggZTllNzY5OC4uOGRlZTNlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTEwLTEwICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxl
LmNvbT4KKworICAgICAgICBTd2l0Y2ggUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgpIGZy
b20gU2hhcmVkQnVmZmVyIHRvIFJlc291cmNlQnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Via2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuY3Bw
OgorICAgICAgICAod2Via2l0X3dlYl9kYXRhX3NvdXJjZV9nZXRfZGF0YSk6CisKIDIwMTItMTAt
MTAgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIEFjdGl2YXRl
IHBsdWdpbnMgd2hlbiB1c2VyIGNsaWNrcyBvbiBzbmFwc2hvdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuY3BwIGIvU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFzb3VyY2UuY3BwCmluZGV4IGY5NzM3NTIuLmI2ZmRj
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRhc291
cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJj
ZS5jcHAKQEAgLTI1LDYgKzI1LDcgQEAKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgogI2luY2x1
ZGUgIkZyYW1lTG9hZGVyQ2xpZW50R3RrLmgiCiAjaW5jbHVkZSAiS1VSTC5oIgorI2luY2x1ZGUg
IlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVk
ZSAiU2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiU3Vic3RpdHV0ZURhdGEuaCIKQEAgLTMzNiw3
ICszMzcsNyBAQCBHU3RyaW5nKiB3ZWJraXRfd2ViX2RhdGFfc291cmNlX2dldF9kYXRhKFdlYktp
dFdlYkRhdGFTb3VyY2UqIHdlYkRhdGFTb3VyY2UpCiAKICAgICBXZWJLaXRXZWJEYXRhU291cmNl
UHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFTb3VyY2UtPnByaXY7CiAKLSAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0gcHJpdi0+bG9hZGVyLT5tYWluUmVzb3VyY2VEYXRh
KCk7CisgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0gcHJpdi0+
bG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7CiAKICAgICBpZiAoIW1haW5SZXNvdXJjZURhdGEp
CiAgICAgICAgIHJldHVybiBOVUxMOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IDYwMGJhNGQuLjAwMWVi
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0xMCAgQnJhZHkg
RWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIFJlc291cmNlTG9h
ZGVyOjpyZXNvdXJjZURhdGEoKSBmcm9tIFNoYXJlZEJ1ZmZlciB0byBSZXNvdXJjZUJ1ZmZlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFs
IGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQ
bGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAg
ICAgICAqIFdlYlZpZXcvV2ViRGF0YVNvdXJjZS5tbToKKyAgICAgICAgKC1bV2ViRGF0YVNvdXJj
ZSBkYXRhXSk6CisKIDIwMTItMTAtMTAgIEpvbiBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXSzJdIEFjdGl2YXRlIHBsdWdpbnMgd2hlbiB1c2VyIGNsaWNrcyBvbiBzbmFwc2hv
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1t
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1tCmluZGV4IDUyMDQ4
ZTcuLmQ5MmEyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRGF0
YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRhdGFTb3VyY2Uu
bW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvS1VSTC5oPgogI2ltcG9ydCA8
V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01JTUVUeXBlUmVn
aXN0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNpbXBvcnQgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bkxvb3AuaD4KICNp
bXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CkBAIC0zOTksNyArNDAwLDcgQEAgLSAodm9p
ZClmaW5hbGl6ZQogCiAtIChOU0RhdGEgKilkYXRhCiB7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gbWFpblJlc291cmNlRGF0YSA9IHRvUHJpdmF0ZShfcHJpdmF0ZSktPmxvYWRlci0+bWFpblJl
c291cmNlRGF0YSgpOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbWFpblJlc291cmNlRGF0
YSA9IHRvUHJpdmF0ZShfcHJpdmF0ZSktPmxvYWRlci0+bWFpblJlc291cmNlRGF0YSgpOwogICAg
IGlmICghbWFpblJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAgICByZXR1cm4g
W21haW5SZXNvdXJjZURhdGEtPmNyZWF0ZU5TRGF0YSgpIGF1dG9yZWxlYXNlXTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwppbmRleCBjMzJkNzE5Li5kZmZlZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMTAtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisg
ICAgICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgZnJvbSBTaGFyZWRC
dWZmZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJEYXRhU291cmNlLmNwcDoKKyAgICAgICAgKFdlYkRhdGFTb3Vy
Y2U6OmRhdGEpOgorCiAyMDEyLTEwLTEwICBKb24gTGVlICA8am9ubGVlQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbV0syXSBBY3RpdmF0ZSBwbHVnaW5zIHdoZW4gdXNlciBjbGlja3Mgb24gc25hcHNo
b3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFTb3VyY2UuY3BwIGIvU291
cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAKaW5kZXggMzMwMDczYy4uODlmODNhYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAKQEAgLTE4MCw3ICsxODAsOCBAQCBIUkVT
VUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFTb3VyY2U6OmRhdGEoCiAgICAgaWYgKCFtX2xv
YWRlcikKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKIAotICAgIHJldHVybiBNZW1vcnlTdHJlYW06
OmNyZWF0ZUluc3RhbmNlKG1fbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkpLmNvcHlSZWZUbyhz
dHJlYW0pOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gbV9sb2FkZXItPm1h
aW5SZXNvdXJjZURhdGEoKTsKKyAgICByZXR1cm4gTWVtb3J5U3RyZWFtOjpjcmVhdGVJbnN0YW5j
ZShidWZmZXIgPyBidWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMCkuY29weVJlZlRvKHN0cmVhbSk7
CiB9CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRGF0YVNvdXJjZTo6cmVwcmVzZW50
YXRpb24oIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdDIvQ2hhbmdlTG9nCmluZGV4IDQ4YjM0YzMuLjE0MmNlN2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMi0xMC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+
CisKKyAgICAgICAgU3dpdGNoIFJlc291cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEoKSBmcm9tIFNo
YXJlZEJ1ZmZlciB0byBSZXNvdXJjZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRoZSBjaGFuZ2Ug
c3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5jdGlvbiBkZXNj
cmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFt
ZUxvYWRlckNsaWVudDo6ZmluaXNoZWRMb2FkaW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6c291cmNlKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2U6OmdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKToKKwogMjAxMi0xMC0xMCAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEZpeCB0aGUgR0NDIE1hYyBi
dWlsZC4gV2h5IGFyZSB3ZSBzdGlsbCBidWlsZGluZyB3aXRoIEdDQyBhZ2Fpbj8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggZWIxN2VkYy4uNmRhMjQyNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKQEAgLTY4LDYgKzY4LDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1Byb2dyZXNzVHJhY2tlci5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VC
dWZmZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1NldHRpbmdzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9VSUV2ZW50V2l0aEtleVN0YXRl
Lmg+CkBAIC04OTgsNyArODk5LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZmluaXNo
ZWRMb2FkaW5nKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgICAgICBpZiAoIXdlYlBh
Z2UpCiAgICAgICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgICAgICBSZWZQdHI8U2hhcmVk
QnVmZmVyPiBtYWluUmVzb3VyY2VEYXRhID0gbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7Cisg
ICAgICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1haW5SZXNvdXJjZURhdGEgPSBsb2Fk
ZXItPm1haW5SZXNvdXJjZURhdGEoKTsKICAgICAgICAgICAgIENvcmVJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihtYWluUmVz
b3VyY2VEYXRhID8gbWFpblJlc291cmNlRGF0YS0+ZGF0YSgpIDogMCksIG1haW5SZXNvdXJjZURh
dGEgPyBtYWluUmVzb3VyY2VEYXRhLT5zaXplKCkgOiAwKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRGaW5pc2hMb2Fk
aW5nRGF0YUZvckN1c3RvbVJlcHJlc2VudGF0aW9uKGxvYWRlci0+cmVzcG9uc2UoKS5zdWdnZXN0
ZWRGaWxlbmFtZSgpLCBkYXRhUmVmZXJlbmNlKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcAppbmRleCA5YzUxY2U2Li44YWU5ZWYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKQEAgLTU0LDYg
KzU0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0pTUmFuZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1RleHQuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZWN1cml0eU9y
aWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dEl0ZXJhdG9yLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UZXh0UmVzb3VyY2VEZWNvZGVyLmg+CkBAIC0yOTYsNyArMjk3LDcgQEAgU3RyaW5nIFdl
YkZyYW1lOjpzb3VyY2UoKSBjb25zdAogICAgIERvY3VtZW50TG9hZGVyKiBkb2N1bWVudExvYWRl
ciA9IG1fY29yZUZyYW1lLT5sb2FkZXIoKS0+YWN0aXZlRG9jdW1lbnRMb2FkZXIoKTsKICAgICBp
ZiAoIWRvY3VtZW50TG9hZGVyKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlRGF0YSA9IGRvY3VtZW50TG9hZGVyLT5tYWluUmVz
b3VyY2VEYXRhKCk7CisgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtYWluUmVzb3VyY2VEYXRh
ID0gZG9jdW1lbnRMb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKICAgICBpZiAoIW1haW5SZXNv
dXJjZURhdGEpCiAgICAgICAgIHJldHVybiBTdHJpbmcoKTsKICAgICByZXR1cm4gZGVjb2Rlci0+
ZW5jb2RpbmcoKS5kZWNvZGUobWFpblJlc291cmNlRGF0YS0+ZGF0YSgpLCBtYWluUmVzb3VyY2VE
YXRhLT5zaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDAzNWE4ZDYuLjE5ODgxMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTEwNCw2ICsxMDQsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvUmVuZGVyTGF5ZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1Rl
eHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclZpZXcuaD4KKyNpbmNsdWRlIDxXZWJDb3Jl
L1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1J1bkxvb3AuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NjaGVtZVJl
Z2lzdHJ5Lmg+CkBAIC0xOTIyLDcgKzE5MjMsNyBAQCB2b2lkIFdlYlBhZ2U6OmdldE1haW5SZXNv
dXJjZURhdGFPZkZyYW1lKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IGNhbGxiYWNrSUQpCiB7
CiAgICAgQ29yZUlQQzo6RGF0YVJlZmVyZW5jZSBkYXRhUmVmZXJlbmNlOwogCi0gICAgUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gYnVmZmVyOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVy
OwogICAgIGlmIChXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaGFyZWQoKS53ZWJGcmFt
ZShmcmFtZUlEKSkgewogICAgICAgICBpZiAoRG9jdW1lbnRMb2FkZXIqIGxvYWRlciA9IGZyYW1l
LT5jb3JlRnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCkpIHsKICAgICAgICAgICAg
IGlmICgoYnVmZmVyID0gbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkpKQo=
</data>
<flag name="commit-queue"
          id="181044"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168240</attachid>
            <date>2012-10-11 09:31:58 -0700</date>
            <delta_ts>2012-10-11 11:16:34 -0700</delta_ts>
            <desc>Patch v3 - Fix crashes in layout tests</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>29931</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4MjM4YzkxLi44YTJkMWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYg
QEAKKzIwMTItMTAtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgZnJvbSBTaGFyZWRCdWZm
ZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1hdGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMg
YXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFkZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25z
IGJlbG93IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISkuCisKKyAgICAg
ICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0ltYWdlRG9jdW1lbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6YXBwZW5kQnl0ZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6SW1hZ2VEb2N1bWVudFBhcnNlcjo6ZmluaXNoKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvclBhZ2VBZ2VudDo6bWFpblJlc291cmNlQ29udGVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JQYWdlQWdlbnQ6OnNoYXJlZEJ1ZmZlckNvbnRlbnQpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250ZW50KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpkaWRGYWlsTG9hZGluZyk6CisgICAgICAgICogbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVy
OjptYWluUmVzb3VyY2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpz
ZXR1cEZvclJlcGxhY2VCeU1JTUVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyOjptYXliZUNyZWF0ZUFyY2hpdmUpOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnRMb2Fk
ZXI6Om1haW5SZXNvdXJjZSk6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRlcjo6bWF5
YmVGaW5pc2hMb2FkaW5nTXVsdGlwYXJ0Q29udGVudCk6CisgICAgICAgICogbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKERvY3VtZW50TG9hZGVy
KToKKyAgICAgICAgKiBsb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVzb3VyY2VCdWZmZXI6OmFwcGVuZCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlc291cmNlQnVmZmVyOjpjbGVhcik6CisgICAgICAgICogbG9hZGVyL1Jlc291
cmNlQnVmZmVyLmg6CisgICAgICAgIChSZXNvdXJjZUJ1ZmZlcik6CisgICAgICAgICogbG9hZGVy
L1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlTG9hZGVyOjpy
ZXNvdXJjZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OmFkZERhdGEp
OgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI6OndpbGxTdG9wQnVmZmVyaW5nRGF0
YSk6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNlTG9hZGVyLmg6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFJlc291cmNlTG9hZGVyKToKKyAgICAgICAgKiBsb2FkZXIvU3VicmVzb3Vy
Y2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZSk6CisgICAgICAgIChXZWJDb3JlOjpTdWJyZXNvdXJjZUxvYWRlcjo6c2Vu
ZERhdGFUb1Jlc291cmNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN1YnJlc291cmNlTG9hZGVyOjpk
aWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKiBsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUdyb3VwLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6
ZmluaXNoZWRMb2FkaW5nTWFpblJlc291cmNlKToKKwogMjAxMi0xMC0xMSAgQmFsYXpzIEtlbGVt
ZW4gIDxrYmFsYXpzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBHcmFwaGljc0NvbnRleHRQ
bGF0Zm9ybVByaXZhdGUgaXMgbGVha2luZyBpdCdzIFNoYWRvd0JsdXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KaW5kZXggNGFiMTg3YS4uNGE1NDJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI2NCw2
ICsyNjQsNyBAQCBfX1pON1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uOXNlbGVjdEFsbEV2CiBfX1pO
N1dlYkNvcmUxNEZyYW1lU2VsZWN0aW9uQzFFUE5TXzVGcmFtZUUKIF9fWk43V2ViQ29yZTE0UGx1
Z2luRG9jdW1lbnQxMnBsdWdpbldpZGdldEV2CiBfX1pON1dlYkNvcmUxNFJlc291cmNlQnVmZmVy
MTJjcmVhdGVOU0RhdGFFdgorX19aTjdXZWJDb3JlMTRSZXNvdXJjZUJ1ZmZlckQxRXYKIF9fWk43
V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUyMGZvcmNlQ29udGVudFNuaWZmaW5nRXYKIF9fWk43V2Vi
Q29yZTE0UmVzb3VyY2VIYW5kbGUyNnN5bmNocm9ub3VzTG9hZFJ1bkxvb3BNb2RlRXYKIF9fWk43
V2ViQ29yZTE0UmVzb3VyY2VIYW5kbGUzNWNyZWF0ZVByaXZhdGVCcm93c2luZ1N0b3JhZ2VTZXNz
aW9uRVBLMTBfX0NGU3RyaW5nCkBAIC0xMTg1LDYgKzExODYsOCBAQCBfX1pOSzdXZWJDb3JlMTRG
cmFtZVNlbGVjdGlvbjZib3VuZHNFYgogX19aTks3V2ViQ29yZTE0SW5zZXJ0aW9uUG9pbnQxNmRp
c3RyaWJ1dGVkTm9kZXNFdgogX19aTks3V2ViQ29yZTE0SW5zZXJ0aW9uUG9pbnQ4aXNBY3RpdmVF
dgogX19aTks3V2ViQ29yZTE0UmVuZGVyTGlzdEl0ZW0xMG1hcmtlclRleHRFdgorX19aTks3V2Vi
Q29yZTE0UmVzb3VyY2VCdWZmZXI0ZGF0YUV2CitfX1pOSzdXZWJDb3JlMTRSZXNvdXJjZUJ1ZmZl
cjRzaXplRXYKIF9fWk5LN1dlYkNvcmUxNFJlc291cmNlSGFuZGxlMTBjb25uZWN0aW9uRXYKIF9f
Wk5LN1dlYkNvcmUxNFJlc291cmNlTG9hZGVyMTFmcmFtZUxvYWRlckV2CiBfX1pOSzdXZWJDb3Jl
MTRTY3JvbGxhYmxlQXJlYTE0c2Nyb2xsQW5pbWF0b3JFdgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSW1hZ2VE
b2N1bWVudC5jcHAKaW5kZXggN2RlMWI0Ni4uNWZjOTI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9JbWFnZURvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0lt
YWdlRG9jdW1lbnQuY3BwCkBAIC0xMzMsNyArMTMzLDcgQEAgdm9pZCBJbWFnZURvY3VtZW50UGFy
c2VyOjphcHBlbmRCeXRlcyhEb2N1bWVudFdyaXRlciosIGNvbnN0IGNoYXIqLCBzaXplX3QpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIENhY2hlZEltYWdlKiBjYWNoZWRJbWFnZSA9IGRvY3VtZW50
KCktPmNhY2hlZEltYWdlKCk7Ci0gICAgY2FjaGVkSW1hZ2UtPmRhdGEoUmVzb3VyY2VCdWZmZXI6
OmFkb3B0U2hhcmVkQnVmZmVyKGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+bWFp
blJlc291cmNlRGF0YSgpKSwgZmFsc2UpOworICAgIGNhY2hlZEltYWdlLT5kYXRhKGZyYW1lLT5s
b2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlRGF0YSgpLCBmYWxzZSk7CiAK
ICAgICBkb2N1bWVudCgpLT5pbWFnZVVwZGF0ZWQoKTsKIH0KQEAgLTE0MiwxNCArMTQyLDE0IEBA
IHZvaWQgSW1hZ2VEb2N1bWVudFBhcnNlcjo6ZmluaXNoKCkKIHsKICAgICBpZiAoIWlzU3RvcHBl
ZCgpICYmIGRvY3VtZW50KCktPmltYWdlRWxlbWVudCgpKSB7CiAgICAgICAgIENhY2hlZEltYWdl
KiBjYWNoZWRJbWFnZSA9IGRvY3VtZW50KCktPmNhY2hlZEltYWdlKCk7Ci0gICAgICAgIFJlZlB0
cjxTaGFyZWRCdWZmZXI+IGRhdGEgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+ZG9j
dW1lbnRMb2FkZXIoKS0+bWFpblJlc291cmNlRGF0YSgpOworICAgICAgICBSZWZQdHI8UmVzb3Vy
Y2VCdWZmZXI+IGRhdGEgPSBkb2N1bWVudCgpLT5mcmFtZSgpLT5sb2FkZXIoKS0+ZG9jdW1lbnRM
b2FkZXIoKS0+bWFpblJlc291cmNlRGF0YSgpOwogCiAgICAgICAgIC8vIElmIHRoaXMgaXMgYSBt
dWx0aXBhcnQgaW1hZ2UsIG1ha2UgYSBjb3B5IG9mIHRoZSBjdXJyZW50IHBhcnQsIHNpbmNlIHRo
ZSByZXNvdXJjZSBkYXRhCiAgICAgICAgIC8vIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgdGhlIG5l
eHQgcGFydC4KICAgICAgICAgaWYgKGRvY3VtZW50KCktPmZyYW1lKCktPmxvYWRlcigpLT5kb2N1
bWVudExvYWRlcigpLT5pc0xvYWRpbmdNdWx0aXBhcnRDb250ZW50KCkpCiAgICAgICAgICAgICBk
YXRhID0gZGF0YS0+Y29weSgpOwogCi0gICAgICAgIGNhY2hlZEltYWdlLT5kYXRhKFJlc291cmNl
QnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihkYXRhLnJlbGVhc2UoKSksIHRydWUpOworICAgICAg
ICBjYWNoZWRJbWFnZS0+ZGF0YShkYXRhLnJlbGVhc2UoKSwgdHJ1ZSk7CiAgICAgICAgIGNhY2hl
ZEltYWdlLT5maW5pc2goKTsKIAogICAgICAgICBjYWNoZWRJbWFnZS0+c2V0UmVzcG9uc2UoZG9j
dW1lbnQoKS0+ZnJhbWUoKS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPnJlc3BvbnNlKCkp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2Vu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcApp
bmRleCBkZWE4N2M5Li4xOTMzMTk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmNwcApAQCAtMjA4LDI1ICsyMDgsMzAgQEAgYm9vbCBJbnNwZWN0
b3JQYWdlQWdlbnQ6OmNhY2hlZFJlc291cmNlQ29udGVudChDYWNoZWRSZXNvdXJjZSogY2FjaGVk
UmVzb3VyY2UsIFMKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIG1haW5SZXNv
dXJjZUNvbnRlbnQoRnJhbWUqIGZyYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmluZyog
cmVzdWx0KQorYm9vbCBJbnNwZWN0b3JQYWdlQWdlbnQ6Om1haW5SZXNvdXJjZUNvbnRlbnQoRnJh
bWUqIGZyYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmluZyogcmVzdWx0KQogewotICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRM
b2FkZXIoKS0+bWFpblJlc291cmNlRGF0YSgpOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4g
YnVmZmVyID0gZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VE
YXRhKCk7CiAgICAgaWYgKCFidWZmZXIpCiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBTdHJp
bmcgdGV4dEVuY29kaW5nTmFtZSA9IGZyYW1lLT5kb2N1bWVudCgpLT5pbnB1dEVuY29kaW5nKCk7
CiAKLSAgICByZXR1cm4gSW5zcGVjdG9yUGFnZUFnZW50OjpzaGFyZWRCdWZmZXJDb250ZW50KGJ1
ZmZlciwgdGV4dEVuY29kaW5nTmFtZSwgd2l0aEJhc2U2NEVuY29kZSwgcmVzdWx0KTsKKyAgICBy
ZXR1cm4gSW5zcGVjdG9yUGFnZUFnZW50OjpkYXRhQ29udGVudChidWZmZXItPmRhdGEoKSwgYnVm
ZmVyLT5zaXplKCksIHRleHRFbmNvZGluZ05hbWUsIHdpdGhCYXNlNjRFbmNvZGUsIHJlc3VsdCk7
CiB9CiAKIC8vIHN0YXRpYwogYm9vbCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNoYXJlZEJ1ZmZlckNv
bnRlbnQoUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlciwgY29uc3QgU3RyaW5nJiB0ZXh0
RW5jb2RpbmdOYW1lLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmluZyogcmVzdWx0KQogewor
ICAgIHJldHVybiBkYXRhQ29udGVudChidWZmZXIgPyBidWZmZXItPmRhdGEoKSA6IDAsIGJ1ZmZl
ciA/IGJ1ZmZlci0+c2l6ZSgpIDogMCwgdGV4dEVuY29kaW5nTmFtZSwgd2l0aEJhc2U2NEVuY29k
ZSwgcmVzdWx0KTsKK30KKworYm9vbCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmRhdGFDb250ZW50KGNv
bnN0IGNoYXIqIGRhdGEsIHVuc2lnbmVkIHNpemUsIGNvbnN0IFN0cmluZyYgdGV4dEVuY29kaW5n
TmFtZSwgYm9vbCB3aXRoQmFzZTY0RW5jb2RlLCBTdHJpbmcqIHJlc3VsdCkKK3sKICAgICBpZiAo
d2l0aEJhc2U2NEVuY29kZSkgewotICAgICAgICAqcmVzdWx0ID0gYmFzZTY0RW5jb2RlKGJ1ZmZl
ci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSk7CisgICAgICAgICpyZXN1bHQgPSBiYXNlNjRFbmNv
ZGUoZGF0YSwgc2l6ZSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAgIHJldHVy
biBkZWNvZGVCdWZmZXIoYnVmZmVyID8gYnVmZmVyLT5kYXRhKCkgOiAwLCBidWZmZXIgPyBidWZm
ZXItPnNpemUoKSA6IDAsIHRleHRFbmNvZGluZ05hbWUsIHJlc3VsdCk7CisgICAgcmV0dXJuIGRl
Y29kZUJ1ZmZlcihkYXRhLCBzaXplLCB0ZXh0RW5jb2RpbmdOYW1lLCByZXN1bHQpOwogfQogCiBQ
YXNzT3duUHRyPEluc3BlY3RvclBhZ2VBZ2VudD4gSW5zcGVjdG9yUGFnZUFnZW50OjpjcmVhdGUo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFnZSogcGFnZSwgSW5z
cGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50LCBJbnNwZWN0b3JTdGF0ZSogc3RhdGUsIEluamVj
dGVkU2NyaXB0TWFuYWdlciogaW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLCBJbnNwZWN0b3JDbGllbnQq
IGNsaWVudCwgSW5zcGVjdG9yT3ZlcmxheSogb3ZlcmxheSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCA3YjcxYjIxLi4zOGZlMTIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xNjAs
NiArMTYwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25J
blBhZ2UoYm9vbCk7CiAjZW5kaWYKIAorICAgIHN0YXRpYyBib29sIG1haW5SZXNvdXJjZUNvbnRl
bnQoRnJhbWUqLCBib29sIHdpdGhCYXNlNjRFbmNvZGUsIFN0cmluZyogcmVzdWx0KTsKKyAgICBz
dGF0aWMgYm9vbCBkYXRhQ29udGVudChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBzaXplLCBj
b25zdCBTdHJpbmcmIHRleHRFbmNvZGluZ05hbWUsIGJvb2wgd2l0aEJhc2U2NEVuY29kZSwgU3Ry
aW5nKiByZXN1bHQpOworCiAgICAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6UGFnZTo6RnJhbWU+
IGJ1aWxkT2JqZWN0Rm9yRnJhbWUoRnJhbWUqKTsKICAgICBQYXNzUmVmUHRyPFR5cGVCdWlsZGVy
OjpQYWdlOjpGcmFtZVJlc291cmNlVHJlZT4gYnVpbGRPYmplY3RGb3JGcmFtZVRyZWUoRnJhbWUq
KTsKICAgICBQYWdlKiBtX3BhZ2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggZmRiYWVhMC4uOGQxNWI4ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNw
cApAQCAtNTQsNiArNTQsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZXNEYXRhLmgiCiAj
aW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlByb2dyZXNzVHJhY2tlci5oIgorI2luY2x1ZGUg
IlJlc291cmNlQnVmZmVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VFcnJvci5oIgogI2luY2x1ZGUg
IlJlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCkBAIC0zMDIs
OCArMzAzLDEwIEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlkUmVjZWl2ZURhdGEo
dW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBjaGFyCiB2b2lkIEluc3BlY3RvclJlc291
cmNlQWdlbnQ6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1
bWVudExvYWRlciogbG9hZGVyLCBkb3VibGUgZmluaXNoVGltZSkKIHsKICAgICBTdHJpbmcgcmVx
dWVzdElkID0gSWRlbnRpZmllcnNGYWN0b3J5OjpyZXF1ZXN0SWQoaWRlbnRpZmllcik7Ci0gICAg
aWYgKG1fcmVzb3VyY2VzRGF0YS0+cmVzb3VyY2VUeXBlKHJlcXVlc3RJZCkgPT0gSW5zcGVjdG9y
UGFnZUFnZW50OjpEb2N1bWVudFJlc291cmNlKQotICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFk
ZFJlc291cmNlU2hhcmVkQnVmZmVyKHJlcXVlc3RJZCwgbG9hZGVyLT5mcmFtZUxvYWRlcigpLT5k
b2N1bWVudExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCksIGxvYWRlci0+ZnJhbWUoKS0+ZG9j
dW1lbnQoKS0+aW5wdXRFbmNvZGluZygpKTsKKyAgICBpZiAobV9yZXNvdXJjZXNEYXRhLT5yZXNv
dXJjZVR5cGUocmVxdWVzdElkKSA9PSBJbnNwZWN0b3JQYWdlQWdlbnQ6OkRvY3VtZW50UmVzb3Vy
Y2UpIHsKKyAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZmZXIgPSBsb2FkZXItPmZy
YW1lTG9hZGVyKCktPmRvY3VtZW50TG9hZGVyKCktPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICAg
ICAgbV9yZXNvdXJjZXNEYXRhLT5hZGRSZXNvdXJjZVNoYXJlZEJ1ZmZlcihyZXF1ZXN0SWQsIGJ1
ZmZlciA/IGJ1ZmZlci0+c2hhcmVkQnVmZmVyKCkgOiAwLCBsb2FkZXItPmZyYW1lKCktPmRvY3Vt
ZW50KCktPmlucHV0RW5jb2RpbmcoKSk7CisgICAgfQogCiAgICAgbV9yZXNvdXJjZXNEYXRhLT5t
YXliZURlY29kZURhdGFUb0NvbnRlbnQocmVxdWVzdElkKTsKIApAQCAtMzE5LDggKzMyMiwxMCBA
QCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpZEZhaWxMb2FkaW5nKHVuc2lnbmVkIGxv
bmcgaWRlbnRpZmllciwgRG9jdW1lbnRMbwogCiAgICAgaWYgKG1fcmVzb3VyY2VzRGF0YS0+cmVz
b3VyY2VUeXBlKHJlcXVlc3RJZCkgPT0gSW5zcGVjdG9yUGFnZUFnZW50OjpEb2N1bWVudFJlc291
cmNlKSB7CiAgICAgICAgIEZyYW1lKiBmcmFtZSA9IGxvYWRlciA/IGxvYWRlci0+ZnJhbWUoKSA6
IDA7Ci0gICAgICAgIGlmIChmcmFtZSAmJiBmcmFtZS0+bG9hZGVyKCktPmRvY3VtZW50TG9hZGVy
KCkgJiYgZnJhbWUtPmRvY3VtZW50KCkpCi0gICAgICAgICAgICBtX3Jlc291cmNlc0RhdGEtPmFk
ZFJlc291cmNlU2hhcmVkQnVmZmVyKHJlcXVlc3RJZCwgZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVu
dExvYWRlcigpLT5tYWluUmVzb3VyY2VEYXRhKCksIGZyYW1lLT5kb2N1bWVudCgpLT5pbnB1dEVu
Y29kaW5nKCkpOworICAgICAgICBpZiAoZnJhbWUgJiYgZnJhbWUtPmxvYWRlcigpLT5kb2N1bWVu
dExvYWRlcigpICYmIGZyYW1lLT5kb2N1bWVudCgpKSB7CisgICAgICAgICAgICBSZWZQdHI8UmVz
b3VyY2VCdWZmZXI+IGJ1ZmZlciA9IGZyYW1lLT5sb2FkZXIoKS0+ZG9jdW1lbnRMb2FkZXIoKS0+
bWFpblJlc291cmNlRGF0YSgpOworICAgICAgICAgICAgbV9yZXNvdXJjZXNEYXRhLT5hZGRSZXNv
dXJjZVNoYXJlZEJ1ZmZlcihyZXF1ZXN0SWQsIGJ1ZmZlciA/IGJ1ZmZlci0+c2hhcmVkQnVmZmVy
KCkgOiAwLCBmcmFtZS0+ZG9jdW1lbnQoKS0+aW5wdXRFbmNvZGluZygpKTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIGJvb2wgY2FuY2VsZWQgPSBlcnJvci5pc0NhbmNlbGxhdGlvbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggYWY2OGUzNC4uOTUwY2Rj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC0xMjIsNyAr
MTIyLDcgQEAgRG9jdW1lbnRMb2FkZXI6On5Eb2N1bWVudExvYWRlcigpCiAgICAgbV9jYWNoZWRS
ZXNvdXJjZUxvYWRlci0+Y2xlYXJEb2N1bWVudExvYWRlcigpOwogfQogCi1QYXNzUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZURhdGEoKSBjb25zdAorUGFz
c1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gRG9jdW1lbnRMb2FkZXI6Om1haW5SZXNvdXJjZURhdGEo
KSBjb25zdAogewogICAgIGlmIChtX21haW5SZXNvdXJjZURhdGEpCiAgICAgICAgIHJldHVybiBt
X21haW5SZXNvdXJjZURhdGE7CkBAIC00ODEsNyArNDgxLDggQEAgYm9vbCBEb2N1bWVudExvYWRl
cjo6bWF5YmVDcmVhdGVBcmNoaXZlKCkKICNlbHNlCiAgICAgCiAgICAgLy8gR2l2ZSB0aGUgYXJj
aGl2ZSBtYWNoaW5lcnkgYSBjcmFjayBhdCB0aGlzIGRvY3VtZW50LiBJZiB0aGUgTUlNRSB0eXBl
IGlzIG5vdCBhbiBhcmNoaXZlIHR5cGUsIGl0IHdpbGwgcmV0dXJuIDAuCi0gICAgbV9hcmNoaXZl
ID0gQXJjaGl2ZUZhY3Rvcnk6OmNyZWF0ZShtX3Jlc3BvbnNlLnVybCgpLCBtYWluUmVzb3VyY2VE
YXRhKCkuZ2V0KCksIG1fcmVzcG9uc2UubWltZVR5cGUoKSk7CisgICAgUmVmUHRyPFJlc291cmNl
QnVmZmVyPiBtYWluUmVzb3VyY2VCdWZmZXIgPSBtYWluUmVzb3VyY2VEYXRhKCk7CisgICAgbV9h
cmNoaXZlID0gQXJjaGl2ZUZhY3Rvcnk6OmNyZWF0ZShtX3Jlc3BvbnNlLnVybCgpLCBtYWluUmVz
b3VyY2VCdWZmZXIgPyBtYWluUmVzb3VyY2VCdWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMCwgbV9y
ZXNwb25zZS5taW1lVHlwZSgpKTsKICAgICBpZiAoIW1fYXJjaGl2ZSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIApAQCAtNTU5LDExICs1NjAsMTMgQEAgQXJjaGl2ZVJlc291cmNlKiBEb2N1
bWVudExvYWRlcjo6YXJjaGl2ZVJlc291cmNlRm9yVVJMKGNvbnN0IEtVUkwmIHVybCkgY29uc3QK
IFBhc3NSZWZQdHI8QXJjaGl2ZVJlc291cmNlPiBEb2N1bWVudExvYWRlcjo6bWFpblJlc291cmNl
KCkgY29uc3QKIHsKICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByID0gcmVzcG9uc2UoKTsK
LSAgICBSZWZQdHI8U2hhcmVkQnVmZmVyPiBtYWluUmVzb3VyY2VCdWZmZXIgPSBtYWluUmVzb3Vy
Y2VEYXRhKCk7Ci0gICAgaWYgKCFtYWluUmVzb3VyY2VCdWZmZXIpCi0gICAgICAgIG1haW5SZXNv
dXJjZUJ1ZmZlciA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CisgICAgCisgICAgUmVmUHRyPFJl
c291cmNlQnVmZmVyPiBtYWluUmVzb3VyY2VCdWZmZXIgPSBtYWluUmVzb3VyY2VEYXRhKCk7Cisg
ICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YSA9IG1haW5SZXNvdXJjZUJ1ZmZlciA/IG1haW5S
ZXNvdXJjZUJ1ZmZlci0+c2hhcmVkQnVmZmVyKCkgOiAwOworICAgIGlmICghZGF0YSkKKyAgICAg
ICAgZGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKCk7CiAgICAgICAgIAotICAgIHJldHVybiBB
cmNoaXZlUmVzb3VyY2U6OmNyZWF0ZShtYWluUmVzb3VyY2VCdWZmZXIsIHIudXJsKCksIHIubWlt
ZVR5cGUoKSwgci50ZXh0RW5jb2RpbmdOYW1lKCksIGZyYW1lKCktPnRyZWUoKS0+dW5pcXVlTmFt
ZSgpKTsKKyAgICByZXR1cm4gQXJjaGl2ZVJlc291cmNlOjpjcmVhdGUoZGF0YSwgci51cmwoKSwg
ci5taW1lVHlwZSgpLCByLnRleHRFbmNvZGluZ05hbWUoKSwgZnJhbWUoKS0+dHJlZSgpLT51bmlx
dWVOYW1lKCkpOwogfQogCiBQYXNzUmVmUHRyPEFyY2hpdmVSZXNvdXJjZT4gRG9jdW1lbnRMb2Fk
ZXI6OnN1YnJlc291cmNlKGNvbnN0IEtVUkwmIHVybCkgY29uc3QKQEAgLTg3Myw3ICs4NzYsNyBA
QCB2b2lkIERvY3VtZW50TG9hZGVyOjptYXliZUZpbmlzaExvYWRpbmdNdWx0aXBhcnRDb250ZW50
KCkKIAogICAgIGZyYW1lTG9hZGVyKCktPnNldHVwRm9yUmVwbGFjZSgpOwogICAgIG1fY29tbWl0
dGVkID0gZmFsc2U7Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVzb3VyY2VEYXRhID0gbWFp
blJlc291cmNlRGF0YSgpOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gcmVzb3VyY2VEYXRh
ID0gbWFpblJlc291cmNlRGF0YSgpOwogICAgIGNvbW1pdExvYWQocmVzb3VyY2VEYXRhLT5kYXRh
KCksIHJlc291cmNlRGF0YS0+c2l6ZSgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1l
bnRMb2FkZXIuaAppbmRleCBiNGI1NGFmLi5lNWFjZjRjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0RvY3VtZW50TG9hZGVyLmgKQEAgLTU3LDYgKzU3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIGNsYXNzIEZyYW1lTG9hZGVyOwogICAgIGNsYXNzIE1haW5SZXNvdXJjZUxvYWRlcjsKICAg
ICBjbGFzcyBQYWdlOworICAgIGNsYXNzIFJlc291cmNlQnVmZmVyOwogICAgIGNsYXNzIFJlc291
cmNlTG9hZGVyOwogICAgIGNsYXNzIFNjaGVkdWxlUGFpcjsKICAgICBjbGFzcyBTaGFyZWRCdWZm
ZXI7CkBAIC04MSw3ICs4Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBGcmFt
ZUxvYWRlciogZnJhbWVMb2FkZXIoKSBjb25zdDsKICAgICAgICAgTWFpblJlc291cmNlTG9hZGVy
KiBtYWluUmVzb3VyY2VMb2FkZXIoKSBjb25zdCB7IHJldHVybiBtX21haW5SZXNvdXJjZUxvYWRl
ci5nZXQoKTsgfQotICAgICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNl
RGF0YSgpIGNvbnN0OworICAgICAgICBQYXNzUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtYWluUmVz
b3VyY2VEYXRhKCkgY29uc3Q7CiAgICAgICAgIAogICAgICAgICBEb2N1bWVudFdyaXRlciogd3Jp
dGVyKCkgY29uc3QgeyByZXR1cm4gJm1fd3JpdGVyOyB9CiAKQEAgLTI3Nyw3ICsyNzgsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJlc291cmNlTG9hZGVyU2V0IG1fbXVsdGlwYXJ0
U3VicmVzb3VyY2VMb2FkZXJzOwogICAgICAgICBSZXNvdXJjZUxvYWRlclNldCBtX3BsdWdJblN0
cmVhbUxvYWRlcnM7CiAKLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9tYWluUmVzb3Vy
Y2VEYXRhOworICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1fbWFpblJlc291cmNlRGF0
YTsKICAgICAgICAgCiAgICAgICAgIG11dGFibGUgRG9jdW1lbnRXcml0ZXIgbV93cml0ZXI7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VCdWZmZXIuY3BwCmluZGV4IDE5MTk1YmIuLjcz
YmRhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmNwcApAQCAtNjUs
NiArNjUsMTYgQEAgYm9vbCBSZXNvdXJjZUJ1ZmZlcjo6aXNFbXB0eSgpIGNvbnN0CiAgICAgcmV0
dXJuIG1fc2hhcmVkQnVmZmVyLT5pc0VtcHR5KCk7CiB9CiAKK3ZvaWQgUmVzb3VyY2VCdWZmZXI6
OmFwcGVuZChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBzaXplKQoreworICAgIG1fc2hhcmVk
QnVmZmVyLT5hcHBlbmQoZGF0YSwgc2l6ZSk7Cit9CisKK3ZvaWQgUmVzb3VyY2VCdWZmZXI6OmNs
ZWFyKCkKK3sKKyAgICBtX3NoYXJlZEJ1ZmZlci0+Y2xlYXIoKTsKK30KKwogdW5zaWduZWQgUmVz
b3VyY2VCdWZmZXI6OmdldFNvbWVEYXRhKGNvbnN0IGNoYXIqJiBkYXRhLCB1bnNpZ25lZCBwb3Np
dGlvbikgY29uc3QKIHsKICAgICByZXR1cm4gbV9zaGFyZWRCdWZmZXItPmdldFNvbWVEYXRhKGRh
dGEsIHBvc2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJj
ZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmgKaW5kZXgg
NjAwZjRlYi4uMGQ0YTAxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291
cmNlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlQnVmZmVyLmgK
QEAgLTU0LDYgKzU0LDkgQEAgcHVibGljOgogICAgIHVuc2lnbmVkIHNpemUoKSBjb25zdDsKICAg
ICBib29sIGlzRW1wdHkoKSBjb25zdDsKIAorICAgIHZvaWQgYXBwZW5kKGNvbnN0IGNoYXIqLCB1
bnNpZ25lZCk7CisgICAgdm9pZCBjbGVhcigpOworICAgIAogICAgIHVuc2lnbmVkIGdldFNvbWVE
YXRhKGNvbnN0IGNoYXIqJiBkYXRhLCB1bnNpZ25lZCBwb3NpdGlvbiA9IDApIGNvbnN0OwogICAg
IAogICAgIFNoYXJlZEJ1ZmZlciogc2hhcmVkQnVmZmVyKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
bG9hZGVyL1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBmMGE2YzMzLi43NzUyNTc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUHJvZ3Jlc3NUcmFja2VyLmgiCisjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuaCIKQEAgLTQ4LDcgKzQ5LDcgQEAKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gUmVzb3VyY2VM
b2FkZXI6OnJlc291cmNlRGF0YSgpCitQYXNzUmVmUHRyPFJlc291cmNlQnVmZmVyPiBSZXNvdXJj
ZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkKIHsKICAgICByZXR1cm4gbV9yZXNvdXJjZURhdGE7CiB9
CkBAIC0xOTgsMTIgKzE5OSwxMiBAQCB2b2lkIFJlc291cmNlTG9hZGVyOjphZGREYXRhKGNvbnN0
IGNoYXIqIGRhdGEsIGludCBsZW5ndGgsIGJvb2wgYWxsQXRPbmNlKQogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAoYWxsQXRPbmNlKSB7Ci0gICAgICAgIG1fcmVzb3VyY2VEYXRhID0gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICAgICAgbV9yZXNvdXJjZURhdGEgPSBS
ZXNvdXJjZUJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAgICAgICAgIAogICAgIGlmICghbV9yZXNvdXJjZURhdGEpCi0gICAgICAgIG1fcmVzb3Vy
Y2VEYXRhID0gU2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICAgICAgbV9y
ZXNvdXJjZURhdGEgPSBSZXNvdXJjZUJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7CiAgICAg
ZWxzZQogICAgICAgICBtX3Jlc291cmNlRGF0YS0+YXBwZW5kKGRhdGEsIGxlbmd0aCk7CiB9CkBA
IC0yODgsNyArMjg5LDcgQEAgdm9pZCBSZXNvdXJjZUxvYWRlcjo6d2lsbFN0b3BCdWZmZXJpbmdE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGgpCiAgICAgICAgIHJldHVybjsKIAogICAg
IEFTU0VSVCghbV9yZXNvdXJjZURhdGEpOwotICAgIG1fcmVzb3VyY2VEYXRhID0gU2hhcmVkQnVm
ZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKKyAgICBtX3Jlc291cmNlRGF0YSA9IFJlc291cmNl
QnVmZmVyOjpjcmVhdGUoZGF0YSwgbGVuZ3RoKTsKIH0KIAogdm9pZCBSZXNvdXJjZUxvYWRlcjo6
ZGlkRmluaXNoTG9hZGluZyhkb3VibGUgZmluaXNoVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jl
c291cmNlTG9hZGVyLmgKaW5kZXggYmI3NDFkMS4uYzIwYWExNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL1Jlc291cmNlTG9hZGVyLmgKQEAgLTQ0LDggKzQ0LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIGNsYXNzIEZyYW1lOwogICAgIGNsYXNzIEZyYW1lTG9hZGVyOwogICAgIGNsYXNzIEtV
Ukw7CisgICAgY2xhc3MgUmVzb3VyY2VCdWZmZXI7CiAgICAgY2xhc3MgUmVzb3VyY2VIYW5kbGU7
Ci0gICAgY2xhc3MgU2hhcmVkQnVmZmVyOwogICAgIAogICAgIGNsYXNzIFJlc291cmNlTG9hZGVy
IDogcHVibGljIFJlZkNvdW50ZWQ8UmVzb3VyY2VMb2FkZXI+LCBwcm90ZWN0ZWQgUmVzb3VyY2VI
YW5kbGVDbGllbnQgewogICAgIHB1YmxpYzoKQEAgLTcyLDcgKzcyLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgICAgICBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSgpIGNvbnN0
OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhZGREYXRhKGNvbnN0IGNoYXIqLCBpbnQsIGJvb2wg
YWxsQXRPbmNlKTsKLSAgICAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gcmVz
b3VyY2VEYXRhKCk7CisgICAgICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4g
cmVzb3VyY2VEYXRhKCk7CiAgICAgICAgIHZvaWQgY2xlYXJSZXNvdXJjZURhdGEoKTsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzU3VicmVzb3VyY2VMb2FkZXIoKTsKICAgICAgICAgCkBAIC0xNzMs
NyArMTczLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIFJlc291cmNlUmVxdWVz
dCBtX3JlcXVlc3Q7CiAgICAgICAgIFJlc291cmNlUmVxdWVzdCBtX29yaWdpbmFsUmVxdWVzdDsg
Ly8gQmVmb3JlIHJlZGlyZWN0cy4KLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9yZXNv
dXJjZURhdGE7CisgICAgICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbV9yZXNvdXJjZURhdGE7
CiAgICAgICAgIAogICAgICAgICB1bnNpZ25lZCBsb25nIG1faWRlbnRpZmllcjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9TdWJyZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNjU2MzQ1OS4uMzZi
MzY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1N1YnJlc291cmNlTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvU3VicmVzb3VyY2VMb2FkZXIuY3BwCkBA
IC0yMjEsNyArMjIxLDcgQEAgdm9pZCBTdWJyZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3Bv
bnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgICAgICB9CiAgICAgfQog
Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gcmVzb3VyY2VEYXRhKCk7CisgICAg
UmVmUHRyPFJlc291cmNlQnVmZmVyPiBidWZmZXIgPSByZXNvdXJjZURhdGEoKTsKICAgICBpZiAo
bV9sb2FkaW5nTXVsdGlwYXJ0Q29udGVudCAmJiBidWZmZXIgJiYgYnVmZmVyLT5zaXplKCkpIHsK
ICAgICAgICAgc2VuZERhdGFUb1Jlc291cmNlKGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUo
KSk7CiAgICAgICAgIGNsZWFyUmVzb3VyY2VEYXRhKCk7CkBAIC0yNzAsMTAgKzI3MCwxMCBAQCB2
b2lkIFN1YnJlc291cmNlTG9hZGVyOjpzZW5kRGF0YVRvUmVzb3VyY2UoY29uc3QgY2hhciogZGF0
YSwgaW50IGxlbmd0aCkKICAgICAvLyAgICAgUmVzb3VyY2VMb2FkZXI6OnJlc291cmNlRGF0YSgp
IHdpbGwgYmUgbnVsbC4gSG93ZXZlciwgdW5saWtlIHRoZSBtdWx0aXBhcnQgY2FzZSwgd2UgZG9u
J3Qgd2FudCB0byB0ZWxsIHRoZSBDYWNoZWRSZXNvdXJjZSAKICAgICAvLyAgICAgdGhhdCBhbGwg
ZGF0YSBoYXMgYmVlbiByZWNlaXZlZCB5ZXQuIAogICAgIGlmIChtX2xvYWRpbmdNdWx0aXBhcnRD
b250ZW50IHx8ICFyZXNvdXJjZURhdGEoKSkgeyAKLSAgICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZl
cj4gY29waWVkRGF0YSA9IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEsIGxlbmd0aCk7IAotICAg
ICAgICBtX3Jlc291cmNlLT5kYXRhKFJlc291cmNlQnVmZmVyOjphZG9wdFNoYXJlZEJ1ZmZlcihj
b3BpZWREYXRhLnJlbGVhc2UoKSksIG1fbG9hZGluZ011bHRpcGFydENvbnRlbnQpOworICAgICAg
ICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IGNvcGllZERhdGEgPSBSZXNvdXJjZUJ1ZmZlcjo6Y3Jl
YXRlKGRhdGEsIGxlbmd0aCk7IAorICAgICAgICBtX3Jlc291cmNlLT5kYXRhKGNvcGllZERhdGEu
cmVsZWFzZSgpLCBtX2xvYWRpbmdNdWx0aXBhcnRDb250ZW50KTsKICAgICB9IGVsc2UgCi0gICAg
ICAgIG1fcmVzb3VyY2UtPmRhdGEoUmVzb3VyY2VCdWZmZXI6OmFkb3B0U2hhcmVkQnVmZmVyKHJl
c291cmNlRGF0YSgpKSwgZmFsc2UpOworICAgICAgICBtX3Jlc291cmNlLT5kYXRhKHJlc291cmNl
RGF0YSgpLCBmYWxzZSk7CiB9CiAKIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVD
YWNoZWRNZXRhZGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoKQpAQCAtMjk2LDcgKzI5
Niw3IEBAIHZvaWQgU3VicmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcoZG91YmxlIGZp
bmlzaFRpbWUpCiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVkUmVzb3VyY2U+IHByb3Rl
Y3RSZXNvdXJjZShtX3Jlc291cmNlKTsKICAgICBtX3N0YXRlID0gRmluaXNoaW5nOwogICAgIG1f
cmVzb3VyY2UtPnNldExvYWRGaW5pc2hUaW1lKGZpbmlzaFRpbWUpOwotICAgIG1fcmVzb3VyY2Ut
PmRhdGEoUmVzb3VyY2VCdWZmZXI6OmFkb3B0U2hhcmVkQnVmZmVyKHJlc291cmNlRGF0YSgpKSwg
dHJ1ZSk7CisgICAgbV9yZXNvdXJjZS0+ZGF0YShyZXNvdXJjZURhdGEoKSwgdHJ1ZSk7CiAgICAg
bV9yZXNvdXJjZS0+ZmluaXNoKCk7CiAgICAgUmVzb3VyY2VMb2FkZXI6OmRpZEZpbmlzaExvYWRp
bmcoZmluaXNoVGltZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvYXBw
Y2FjaGUvQXBwbGljYXRpb25DYWNoZUdyb3VwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9h
cHBjYWNoZS9BcHBsaWNhdGlvbkNhY2hlR3JvdXAuY3BwCmluZGV4IDI3M2E2MDEuLjRkZTNhNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNhdGlvbkNh
Y2hlR3JvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlR3JvdXAuY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiTWFpblJlc291
cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTWFuaWZlc3RQYXJzZXIuaCIKICNpbmNsdWRlICJQYWdl
LmgiCisjaW5jbHVkZSAiUmVzb3VyY2VCdWZmZXIuaCIKICNpbmNsdWRlICJTY3JpcHRQcm9maWxl
LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpA
QCAtMjQ2LDggKzI0NywxMCBAQCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZmluaXNoZWRM
b2FkaW5nTWFpblJlc291cmNlKERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgICAgICAg
ICAgcmVzb3VyY2UtPmFkZFR5cGUoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpNYXN0ZXIpOwog
ICAgICAgICAgICAgICAgIEFTU0VSVCghcmVzb3VyY2UtPnN0b3JhZ2VJRCgpKTsKICAgICAgICAg
ICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBtX25ld2VzdENhY2hlLT5hZGRSZXNv
dXJjZShBcHBsaWNhdGlvbkNhY2hlUmVzb3VyY2U6OmNyZWF0ZSh1cmwsIGxvYWRlci0+cmVzcG9u
c2UoKSwgQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpNYXN0ZXIsIGxvYWRlci0+bWFpblJlc291
cmNlRGF0YSgpKSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBSZWZQdHI8UmVzb3Vy
Y2VCdWZmZXI+IGJ1ZmZlciA9IGxvYWRlci0+bWFpblJlc291cmNlRGF0YSgpOworICAgICAgICAg
ICAgbV9uZXdlc3RDYWNoZS0+YWRkUmVzb3VyY2UoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpj
cmVhdGUodXJsLCBsb2FkZXItPnJlc3BvbnNlKCksIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6
TWFzdGVyLCBidWZmZXIgPyBidWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMCkpOworICAgICAgICB9
CiAKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGYWlsdXJlOgpAQCAtMjY2LDggKzI2OSwxMCBA
QCB2b2lkIEFwcGxpY2F0aW9uQ2FjaGVHcm91cDo6ZmluaXNoZWRMb2FkaW5nTWFpblJlc291cmNl
KERvY3VtZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgICAgICAgICAgICAgcmVzb3VyY2UtPmFkZFR5
cGUoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpNYXN0ZXIpOwogICAgICAgICAgICAgICAgIEFT
U0VSVCghcmVzb3VyY2UtPnN0b3JhZ2VJRCgpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSBl
bHNlCi0gICAgICAgICAgICBtX2NhY2hlQmVpbmdVcGRhdGVkLT5hZGRSZXNvdXJjZShBcHBsaWNh
dGlvbkNhY2hlUmVzb3VyY2U6OmNyZWF0ZSh1cmwsIGxvYWRlci0+cmVzcG9uc2UoKSwgQXBwbGlj
YXRpb25DYWNoZVJlc291cmNlOjpNYXN0ZXIsIGxvYWRlci0+bWFpblJlc291cmNlRGF0YSgpKSk7
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IGJ1
ZmZlciA9IGxvYWRlci0+bWFpblJlc291cmNlRGF0YSgpOworICAgICAgICAgICAgbV9jYWNoZUJl
aW5nVXBkYXRlZC0+YWRkUmVzb3VyY2UoQXBwbGljYXRpb25DYWNoZVJlc291cmNlOjpjcmVhdGUo
dXJsLCBsb2FkZXItPnJlc3BvbnNlKCksIEFwcGxpY2F0aW9uQ2FjaGVSZXNvdXJjZTo6TWFzdGVy
LCBidWZmZXIgPyBidWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMCkpOworICAgICAgICB9CiAgICAg
ICAgIC8vIFRoZSAiY2FjaGVkIiBldmVudCB3aWxsIGJlIHBvc3RlZCB0byBhbGwgYXNzb2NpYXRl
ZCBkb2N1bWVudHMgb25jZSB1cGRhdGUgaXMgY29tcGxldGUuCiAgICAgICAgIGJyZWFrOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZwppbmRleCBlOWU3Njk4Li44ZGVlM2U1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgorCisgICAgICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkg
ZnJvbSBTaGFyZWRCdWZmZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5j
cHA6CisgICAgICAgICh3ZWJraXRfd2ViX2RhdGFfc291cmNlX2dldF9kYXRhKToKKwogMjAxMi0x
MC0xMCAgSm9uIExlZSAgPGpvbmxlZUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dLMl0gQWN0aXZh
dGUgcGx1Z2lucyB3aGVuIHVzZXIgY2xpY2tzIG9uIHNuYXBzaG90CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YXNvdXJjZS5jcHAKaW5kZXggZjk3Mzc1Mi4uYjZm
ZGM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmRhdGFz
b3VyY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRhc291
cmNlLmNwcApAQCAtMjUsNiArMjUsNyBAQAogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5j
bHVkZSAiRnJhbWVMb2FkZXJDbGllbnRHdGsuaCIKICNpbmNsdWRlICJLVVJMLmgiCisjaW5jbHVk
ZSAiUmVzb3VyY2VCdWZmZXIuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlcXVlc3QuaCIKICNpbmNs
dWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRlICJTdWJzdGl0dXRlRGF0YS5oIgpAQCAtMzM2
LDcgKzMzNyw3IEBAIEdTdHJpbmcqIHdlYmtpdF93ZWJfZGF0YV9zb3VyY2VfZ2V0X2RhdGEoV2Vi
S2l0V2ViRGF0YVNvdXJjZSogd2ViRGF0YVNvdXJjZSkKIAogICAgIFdlYktpdFdlYkRhdGFTb3Vy
Y2VQcml2YXRlKiBwcml2ID0gd2ViRGF0YVNvdXJjZS0+cHJpdjsKIAotICAgIFJlZlB0cjxTaGFy
ZWRCdWZmZXI+IG1haW5SZXNvdXJjZURhdGEgPSBwcml2LT5sb2FkZXItPm1haW5SZXNvdXJjZURh
dGEoKTsKKyAgICBSZWZQdHI8UmVzb3VyY2VCdWZmZXI+IG1haW5SZXNvdXJjZURhdGEgPSBwcml2
LT5sb2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKIAogICAgIGlmICghbWFpblJlc291cmNlRGF0
YSkKICAgICAgICAgcmV0dXJuIE5VTEw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggZGYwMjlhMS4uYWFh
NGE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTEwICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBTd2l0Y2ggUmVzb3VyY2VM
b2FkZXI6OnJlc291cmNlRGF0YSgpIGZyb20gU2hhcmVkQnVmZmVyIHRvIFJlc291cmNlQnVmZmVy
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODk3Ngor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGl0aW9u
YWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNoIGFzIGFwcHJvYWNoLCByYXRpb25hbGUu
IFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0aW9ucyBiZWxvdyAoT09QUyEpLgorCisg
ICAgICAgICogV2ViVmlldy9XZWJEYXRhU291cmNlLm1tOgorICAgICAgICAoLVtXZWJEYXRhU291
cmNlIGRhdGFdKToKKwogMjAxMi0xMC0xMCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNv
bT4KIAogICAgICAgICBEaXNhbGxvdyBmdWxsIHNjcmVlbiBtb2RlIGtleWJvYXJkIGFjY2VzcyBi
eSBkZWZhdWx0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRh
U291cmNlLm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEYXRhU291cmNlLm1tCmlu
ZGV4IDUyMDQ4ZTcuLmQ5MmEyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZp
ZXcvV2ViRGF0YVNvdXJjZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkRh
dGFTb3VyY2UubW0KQEAgLTUyLDYgKzUyLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvS1VSTC5oPgog
I2ltcG9ydCA8V2ViQ29yZS9MZWdhY3lXZWJBcmNoaXZlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL01J
TUVUeXBlUmVnaXN0cnkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VCdWZmZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bkxv
b3AuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CkBAIC0zOTksNyArNDAwLDcg
QEAgLSAodm9pZClmaW5hbGl6ZQogCiAtIChOU0RhdGEgKilkYXRhCiB7Ci0gICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlRGF0YSA9IHRvUHJpdmF0ZShfcHJpdmF0ZSktPmxvYWRl
ci0+bWFpblJlc291cmNlRGF0YSgpOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gbWFpblJl
c291cmNlRGF0YSA9IHRvUHJpdmF0ZShfcHJpdmF0ZSktPmxvYWRlci0+bWFpblJlc291cmNlRGF0
YSgpOwogICAgIGlmICghbWFpblJlc291cmNlRGF0YSkKICAgICAgICAgcmV0dXJuIG5pbDsKICAg
ICByZXR1cm4gW21haW5SZXNvdXJjZURhdGEtPmNyZWF0ZU5TRGF0YSgpIGF1dG9yZWxlYXNlXTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwppbmRleCBjMzJkNzE5Li5kZmZlZTcyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMTAtMTAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFN3aXRjaCBSZXNvdXJjZUxvYWRlcjo6cmVzb3VyY2VEYXRhKCkgZnJv
bSBTaGFyZWRCdWZmZXIgdG8gUmVzb3VyY2VCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4OTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJEYXRhU291cmNlLmNwcDoKKyAgICAgICAgKFdl
YkRhdGFTb3VyY2U6OmRhdGEpOgorCiAyMDEyLTEwLTEwICBKb24gTGVlICA8am9ubGVlQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSBBY3RpdmF0ZSBwbHVnaW5zIHdoZW4gdXNlciBjbGlja3Mg
b24gc25hcHNob3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFTb3VyY2Uu
Y3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAKaW5kZXggMzMwMDczYy4u
ODlmODNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC93aW4vV2ViRGF0YVNvdXJjZS5jcHAKQEAgLTE4MCw3ICsxODAs
OCBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYkRhdGFTb3VyY2U6OmRhdGEoCiAgICAg
aWYgKCFtX2xvYWRlcikKICAgICAgICAgcmV0dXJuIEVfRkFJTDsKIAotICAgIHJldHVybiBNZW1v
cnlTdHJlYW06OmNyZWF0ZUluc3RhbmNlKG1fbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCkpLmNv
cHlSZWZUbyhzdHJlYW0pOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZlcj4gYnVmZmVyID0gbV9s
b2FkZXItPm1haW5SZXNvdXJjZURhdGEoKTsKKyAgICByZXR1cm4gTWVtb3J5U3RyZWFtOjpjcmVh
dGVJbnN0YW5jZShidWZmZXIgPyBidWZmZXItPnNoYXJlZEJ1ZmZlcigpIDogMCkuY29weVJlZlRv
KHN0cmVhbSk7CiB9CiAKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRGF0YVNvdXJjZTo6
cmVwcmVzZW50YXRpb24oIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGRmYTMzYzYuLjJlM2VlZjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0xMCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBh
cHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIFJlc291cmNlTG9hZGVyOjpyZXNvdXJjZURhdGEo
KSBmcm9tIFNoYXJlZEJ1ZmZlciB0byBSZXNvdXJjZUJ1ZmZlcgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTg5NzYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpdGlvbmFsIGluZm9ybWF0aW9uIG9mIHRo
ZSBjaGFuZ2Ugc3VjaCBhcyBhcHByb2FjaCwgcmF0aW9uYWxlLiBQbGVhc2UgYWRkIHBlci1mdW5j
dGlvbiBkZXNjcmlwdGlvbnMgYmVsb3cgKE9PUFMhKS4KKworICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJGcmFtZUxvYWRlckNsaWVudDo6ZmluaXNoZWRMb2FkaW5nKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJGcmFtZTo6
c291cmNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OmdldE1haW5SZXNvdXJjZURhdGFPZkZyYW1lKToKKwogMjAx
Mi0xMC0xMSAgWmVubyBBbGJpc3NlciAgPHplbm9Ad2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRd
IEltcGxlbWVudCBHcmFwaGljc1N1cmZhY2VUb2tlbiB0byByZXBsYWNlIHVpbnQ2NF90IGFzIHRv
a2VuIHR5cGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IGViMTdlZGMu
LjZkYTI0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC02OCw2ICs2
OCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbHVn
aW5EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Qcm9ncmVzc1RyYWNrZXIuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVy
cm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
VUlFdmVudFdpdGhLZXlTdGF0ZS5oPgpAQCAtODk4LDcgKzg5OSw3IEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OmZpbmlzaGVkTG9hZGluZyhEb2N1bWVudExvYWRlciogbG9hZGVyKQogICAg
ICAgICAgICAgaWYgKCF3ZWJQYWdlKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbWFpblJlc291cmNlRGF0YSA9IGxvYWRlci0+bWFp
blJlc291cmNlRGF0YSgpOworICAgICAgICAgICAgUmVmUHRyPFJlc291cmNlQnVmZmVyPiBtYWlu
UmVzb3VyY2VEYXRhID0gbG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7CiAgICAgICAgICAgICBD
b3JlSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4obWFpblJlc291cmNlRGF0YSA/IG1haW5SZXNvdXJjZURhdGEtPmRhdGEoKSA6
IDApLCBtYWluUmVzb3VyY2VEYXRhID8gbWFpblJlc291cmNlRGF0YS0+c2l6ZSgpIDogMCk7CiAg
ICAgICAgICAgICAKICAgICAgICAgICAgIHdlYlBhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQ
cm94eTo6RGlkRmluaXNoTG9hZGluZ0RhdGFGb3JDdXN0b21SZXByZXNlbnRhdGlvbihsb2FkZXIt
PnJlc3BvbnNlKCkuc3VnZ2VzdGVkRmlsZW5hbWUoKSwgZGF0YVJlZmVyZW5jZSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAKaW5kZXggOWM1MWNl
Ni4uOGFlOWVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
RnJhbWUuY3BwCkBAIC01NCw2ICs1NCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9KU1JhbmdlLmg+
CiAjaW5jbHVkZSA8V2ViQ29yZS9QYWdlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUcmVl
QXNUZXh0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RleHRJdGVyYXRv
ci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVGV4dFJlc291cmNlRGVjb2Rlci5oPgpAQCAtMjk2LDcg
KzI5Nyw3IEBAIFN0cmluZyBXZWJGcmFtZTo6c291cmNlKCkgY29uc3QKICAgICBEb2N1bWVudExv
YWRlciogZG9jdW1lbnRMb2FkZXIgPSBtX2NvcmVGcmFtZS0+bG9hZGVyKCktPmFjdGl2ZURvY3Vt
ZW50TG9hZGVyKCk7CiAgICAgaWYgKCFkb2N1bWVudExvYWRlcikKICAgICAgICAgcmV0dXJuIFN0
cmluZygpOwotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IG1haW5SZXNvdXJjZURhdGEgPSBkb2N1
bWVudExvYWRlci0+bWFpblJlc291cmNlRGF0YSgpOworICAgIFJlZlB0cjxSZXNvdXJjZUJ1ZmZl
cj4gbWFpblJlc291cmNlRGF0YSA9IGRvY3VtZW50TG9hZGVyLT5tYWluUmVzb3VyY2VEYXRhKCk7
CiAgICAgaWYgKCFtYWluUmVzb3VyY2VEYXRhKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAg
ICAgcmV0dXJuIGRlY29kZXItPmVuY29kaW5nKCkuZGVjb2RlKG1haW5SZXNvdXJjZURhdGEtPmRh
dGEoKSwgbWFpblJlc291cmNlRGF0YS0+c2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwMzVhOGQ2Li4xOTg4MTAzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0xMDQsNiAr
MTA0LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZW5kZXJUcmVlQXNUZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SdW5Mb29wLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9TY2hlbWVSZWdpc3RyeS5oPgpAQCAtMTkyMiw3ICsxOTIzLDcgQEAgdm9pZCBX
ZWJQYWdlOjpnZXRNYWluUmVzb3VyY2VEYXRhT2ZGcmFtZSh1aW50NjRfdCBmcmFtZUlELCB1aW50
NjRfdCBjYWxsYmFja0lEKQogewogICAgIENvcmVJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YVJlZmVy
ZW5jZTsKIAotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGJ1ZmZlcjsKKyAgICBSZWZQdHI8UmVz
b3VyY2VCdWZmZXI+IGJ1ZmZlcjsKICAgICBpZiAoV2ViRnJhbWUqIGZyYW1lID0gV2ViUHJvY2Vz
czo6c2hhcmVkKCkud2ViRnJhbWUoZnJhbWVJRCkpIHsKICAgICAgICAgaWYgKERvY3VtZW50TG9h
ZGVyKiBsb2FkZXIgPSBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5kb2N1bWVudExvYWRl
cigpKSB7CiAgICAgICAgICAgICBpZiAoKGJ1ZmZlciA9IGxvYWRlci0+bWFpblJlc291cmNlRGF0
YSgpKSkK
</data>
<flag name="review"
          id="181164"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>