<?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>90260</bug_id>
          
          <creation_ts>2012-06-29 02:14:29 -0700</creation_ts>
          <short_desc>REGRESSION(r121529): Failed to compile on Chromium WebKitMacBuilder (Requested by keishi on #webkit).</short_desc>
          <delta_ts>2012-06-30 17:01:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>90252</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>eric</cc>
    
    <cc>keishi</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>660299</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 02:14:29 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/121529 broke the build:
Failed to compile on Chromium WebKitMacBuilder (Requested by keishi on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660302</commentid>
    <comment_count>1</comment_count>
      <attachid>150118</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-29 02:15:25 -0700</bug_when>
    <thetext>Created attachment 150118
ROLLOUT of r121529

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660304</commentid>
    <comment_count>2</comment_count>
      <attachid>150118</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-06-29 02:17:15 -0700</bug_when>
    <thetext>Comment on attachment 150118
ROLLOUT of r121529

Clearing flags on attachment: 150118

Committed r121536: &lt;http://trac.webkit.org/changeset/121536&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660305</commentid>
    <comment_count>3</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-06-29 02:17:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660561</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-06-29 09:30:07 -0700</bug_when>
    <thetext>Are we sure this bot isn&apos;t using Leopard?

That constant is available in 10.6:

CF_EXPORT const CFStringRef kCFLocaleCollatorIdentifier AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER;

It&apos;s also possible that I typo&apos;d something in my change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>660646</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-29 11:13:01 -0700</bug_when>
    <thetext>http://build.webkit.org/builders/Chromium%20Mac%20Release/builds/39055/steps/compile-webkit/logs/stdio

Here are some errors:

In file included from /Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/chromium/ThemeChromiumMac.mm:34:
../platform/mac/WebCoreSystemInterface.h:300:9: fatal error: &apos;dispatch/dispatch.h&apos; file not found
#import &lt;dispatch/dispatch.h&gt;
        ^
1 error generated.


/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/text/cf/HyphenationCF.cpp:43:12: error: use of undeclared identifier &apos;CFStringIsHyphenationAvailableForLocale&apos;
    return CFStringIsHyphenationAvailableForLocale(locale.get()) ? locale : 0;
           ^
/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/text/cf/HyphenationCF.cpp:52:12: error: use of undeclared identifier &apos;CFStringIsHyphenationAvailableForLocale&apos;
    return CFStringIsHyphenationAvailableForLocale(locale.get()) ? locale : 0;
           ^
/Volumes/data/b/WebKit-BuildSlave/chromium-mac-release/build/Source/WebCore/WebCore.gyp/../platform/text/cf/HyphenationCF.cpp:73:22: error: use of undeclared identifier &apos;CFStringGetHyphenationLocationBeforeIndex&apos;
    CFIndex result = CFStringGetHyphenationLocationBeforeIndex(string.get(), beforeIndex, CFRangeMake(0, length), 0, locale.get(), 0);
                     ^
3 errors generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661100</commentid>
    <comment_count>6</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-06-30 17:01:22 -0700</bug_when>
    <thetext>These are caused by Chromium using the 10.5sdk.... which is wrong now that it doesn&apos;t support Leopard, but will be a bit until its fixed I&apos;m told:
https://bugs.webkit.org/show_bug.cgi?id=90252#c10</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>150118</attachid>
            <date>2012-06-29 02:15:25 -0700</date>
            <delta_ts>2012-06-29 02:17:14 -0700</delta_ts>
            <desc>ROLLOUT of r121529</desc>
            <filename>bug-90260-20120629092030.patch</filename>
            <type>text/plain</type>
            <size>48469</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxNTM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDAwYzEwYzAwYWMxMTQ4NTRmMjRkZDc2
OTVhNTU3NWI4ZmE3NWM1MGEuLmIzNTk4ZTg5ZDM3OGZiNDg1ZDUzM2NkNDZiZGEyMDkyYTYxNDBh
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMjkgIFNoZXJpZmYgQm90ICA8d2Via2l0
LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0
IHIxMjE1MjkuCisgICAgICAgIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzEyMTUy
OQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTAyNjAK
KworICAgICAgICBGYWlsZWQgdG8gY29tcGlsZSBvbiBDaHJvbWl1bSBXZWJLaXRNYWNCdWlsZGVy
IChSZXF1ZXN0ZWQgYnkKKyAgICAgICAga2Vpc2hpIG9uICN3ZWJraXQpLgorCisgICAgICAgICog
d3RmL0Zhc3RNYWxsb2MuY3BwOgorICAgICAgICAoV1RGOjpUQ01hbGxvY19UaHJlYWRDYWNoZTo6
Q3JlYXRlQ2FjaGVJZk5lY2Vzc2FyeSk6CisgICAgICAgICogd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcDoKKyAgICAgICAgKFdURjo6Q29sbGF0b3I6OnVzZXJEZWZhdWx0KToKKwogMjAx
Mi0wNi0yOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmVtb3Zl
IG1vcmUgQlVJTERJTkdfT05fTEVPUEFSRCBicmFuY2hlcyBub3cgdGhhdCBubyBwb3J0IGJ1aWxk
cyBvbiBMZW9wYXJkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGVkNzVjY2MyNTkzMzBjOGY1MmE4NWM3MDA1MGE2
NGUzZjYzYmNhNi4uNTdhOGE4ZWFlYjE2NmI5ZjVmNDdjYTc5NWIyMTNlMGZhNmNlYjMxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDEyLTA2LTI5ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTIxNTI5LgorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjE1
MjkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkwMjYw
CisKKyAgICAgICAgRmFpbGVkIHRvIGNvbXBpbGUgb24gQ2hyb21pdW0gV2ViS2l0TWFjQnVpbGRl
ciAoUmVxdWVzdGVkIGJ5CisgICAgICAgIGtlaXNoaSBvbiAjd2Via2l0KS4KKworICAgICAgICAq
IHBsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhdGg6OnBsYXRmb3JtQWRkUGF0aEZvclJvdW5kZWRSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2EubW06CisgICAgICAgIChXZWJD
b3JlOjpGb250UGxhdGZvcm1EYXRhOjpGb250UGxhdGZvcm1EYXRhKToKKyAgICAgICAgKFdlYkNv
cmU6OkZvbnRQbGF0Zm9ybURhdGE6OnNldEZvbnQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkNvbXBsZXhUZXh0Q29udHJvbGxlcjo6Y29sbGVjdENvbXBsZXhUZXh0UnVuc0ZvckNoYXJh
Y3RlcnNDb3JlVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpzaG93R2x5cGhzV2l0aEFkdmFuY2VzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW06CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvQ3Vyc29yTWFjLm1tOgorICAgICAgICAo
V2ViQ29yZTo6Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcik6CisgICAgICAgICogcGxhdGZv
cm0vbWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6Om1vbWVudHVtUGhhc2VGb3JFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpw
aGFzZUZvckV2ZW50KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVy
ZmFjZS5oOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1t
OgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tOgor
ICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VIYW5kbGU6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1
ZXN0TWFjLm1tOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJl
c291cmNlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Q6OmRvVXBk
YXRlUGxhdGZvcm1SZXF1ZXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L2NmL0h5cGhlbmF0
aW9uQ0YuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRoZW1lTWFjOjpzaG91bGRTaG93UGxhY2Vob2xkZXJXaGVuRm9j
dXNlZCk6CisKIDIwMTItMDYtMjggIFZzZXZvbG9kIFZsYXNvdiAgPHZzZXZpa0BjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIHRvZ2dsZSBicmVha3BvaW50IHNob3J0
Y3V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGU3MzU3M2ZiZDlmYWJmM2FiOGRlMTBhZWQxM2UyZjM5
MTZkMGQzMjQuLmUyMjZlZWNjOThmOTA4NzFjYzJjNGRmMzk3OGQzYmQ3NjkwZWU0N2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAxMi0wNi0yOSAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEyMTUyOS4KKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTIxNTI5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MDI2MAorCisgICAgICAgIEZhaWxlZCB0byBjb21waWxlIG9uIENocm9taXVtIFdlYktpdE1hY0J1
aWxkZXIgKFJlcXVlc3RlZCBieQorICAgICAgICBrZWlzaGkgb24gI3dlYmtpdCkuCisKKyAgICAg
ICAgKiBEZWZhdWx0RGVsZWdhdGVzL1dlYkRlZmF1bHRDb250ZXh0TWVudURlbGVnYXRlLm1tOgor
ICAgICAgICAoLVtXZWJEZWZhdWx0VUlEZWxlZ2F0ZSBtZW51SXRlbVdpdGhUYWc6dGFyZ2V0OnJl
cHJlc2VudGVkT2JqZWN0Ol0pOgorICAgICAgICAqIE1pc2MvV2ViTlNDb250cm9sRXh0cmFzLm06
CisgICAgICAgICgtW05TQ29udHJvbCBzaXplVG9GaXRBbmRBZGp1c3RXaW5kb3dIZWlnaHRdKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW06CisgICAgICAgIChX
ZWJFZGl0b3JDbGllbnQ6OnNob3VsZEVyYXNlTWFya2Vyc0FmdGVyQ2hhbmdlU2VsZWN0aW9uKToK
KyAgICAgICAgKFdlYkVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQpOgorICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tOgorICAgICAgICAoV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGlkRmlyc3RMYXlvdXQpOgorICAgICAgICAoV2ViRnJh
bWVMb2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lz
dGVtSW50ZXJmYWNlKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkR5bmFtaWNTY3JvbGxCYXJzVmll
dy5tbToKKyAgICAgICAgKC1bV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3IHNjcm9sbFdoZWVsOl0p
OgorICAgICAgICAqIFdlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW06CisgICAgICAg
ICgtW1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyIGZpbmlzaGVkRW50ZXJGdWxsU2NyZWVuQW5pbWF0
aW9uOl0pOgorICAgICAgICAoLVtXZWJGdWxsU2NyZWVuQ29udHJvbGxlciBleGl0RnVsbFNjcmVl
bl0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhU
TUxWaWV3IF9wYXN0ZVdpdGhQYXN0ZWJvYXJkOmFsbG93UGxhaW5UZXh0Ol0pOgorICAgICAgICAq
IFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKCtbV2ViVmlldyBpbml0aWFsaXplXSk6Cisg
ICAgICAgICgtW1dlYlZpZXcgX2RldmljZVNjYWxlRmFjdG9yXSk6CisKIDIwMTItMDYtMjkgIEVy
aWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBtb3JlIEJVSUxE
SU5HX09OX0xFT1BBUkQgYnJhbmNoZXMgbm93IHRoYXQgbm8gcG9ydCBidWlsZHMgb24gTGVvcGFy
ZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGI3YTAxNjUzYTViZjFlZmIxNjM3MzQzOGJmMDU4NDc3M2FkMzc3ZDYu
LmQ4NzM0NzRjZjQ3MjZjZWNjYzJiYzhjMGFkMDM4MjQwZmQ3ZTg1NjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxMi0wNi0yOSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJv
dEBnbWFpbC5jb20+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjEyMTUyOS4K
KyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMTIxNTI5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MDI2MAorCisgICAgICAg
IEZhaWxlZCB0byBjb21waWxlIG9uIENocm9taXVtIFdlYktpdE1hY0J1aWxkZXIgKFJlcXVlc3Rl
ZCBieQorICAgICAgICBrZWlzaGkgb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
bWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dLRnVsbFNj
cmVlbldpbmRvd0NvbnRyb2xsZXIgZmluaXNoZWRFbnRlckZ1bGxTY3JlZW5BbmltYXRpb246XSk6
CisgICAgICAgICgtW1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIgYmVnYW5FeGl0RnVsbFNj
cmVlbldpdGhJbml0aWFsRnJhbWU6V2ViQ29yZTo6ZmluYWxGcmFtZTpXZWJDb3JlOjpdKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvbWFjL05ldHNjYXBlU2FuZGJveEZ1
bmN0aW9ucy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJT
eXN0ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6
CisKIDIwMTItMDYtMjkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJlbW92ZSBtb3JlIEJVSUxESU5HX09OX0xFT1BBUkQgYnJhbmNoZXMgbm93IHRoYXQgbm8gcG9y
dCBidWlsZHMgb24gTGVvcGFyZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmFzdE1hbGxv
Yy5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAppbmRleCAwYjkyNjRiMjk5OTA3
YmE4Y2NjYWUwMDU4MTQxN2JmNzZmZDFmZjM3Li5jYzg1MjFjZmJlMjlkOTk4MzhiZWM3M2E3NGJm
ZDc0NDlmMGNiZDJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9GYXN0TWFsbG9jLmNwcApAQCAtNDY1Nyw3ICs0NjU3LDcgQEAg
bWFsbG9jX2ludHJvc3BlY3Rpb25fdCBqc2NvcmVfZmFzdG1hbGxvY19pbnRyb3NwZWN0aW9uID0g
eyAmRmFzdE1hbGxvY1pvbmU6OmVudW0KICNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSB8fCBPUyhJT1MpCiAgICAgLCAwIC8vIHpvbmVfbG9ja2VkIHdpbGwgbm90IGJlIGNhbGxlZCBv
biB0aGUgem9uZSB1bmxlc3MgaXQgYWR2ZXJ0aXNlcyBpdHNlbGYgYXMgdmVyc2lvbiBmaXZlIG9y
IGhpZ2hlci4KICNlbmRpZgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkg
fHwgT1MoSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgfHwgT1MoSU9TKQogICAgICwgMCwgMCwgMCwgMCAv
LyBUaGVzZSBtZW1iZXJzIHdpbGwgbm90IGJlIHVzZWQgdW5sZXNzIHRoZSB6b25lIGFkdmVydGlz
ZXMgaXRzZWxmIGFzIHZlcnNpb24gc2V2ZW4gb3IgaGlnaGVyLgogI2VuZGlmCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNwcCBiL1NvdXJjZS9X
VEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxhdG9ySUNVLmNwcAppbmRleCBmMGEyMjJiYzlmODZkYzdl
YzUyMmQzY2RiMTUyMjM2YWMzODdiYmMzLi5lNTA3YTIwYmRhOTg2YjNiNWM3NzY5ZmViNzVhMTgx
MWU1M2MzMTQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRv
cklDVS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3Bw
CkBAIC02MSw3ICs2MSw3IEBAIFBhc3NPd25QdHI8Q29sbGF0b3I+IENvbGxhdG9yOjp1c2VyRGVm
YXVsdCgpCiB7CiAjaWYgT1MoREFSV0lOKSAmJiBVU0UoQ0YpCiAgICAgLy8gTWFjIE9TIFggZG9l
c24ndCBzZXQgVU5JWCBsb2NhbGUgdG8gbWF0Y2ggdXNlci1zZWxlY3RlZCBvbmUsIHNvIElDVSBk
ZWZhdWx0IGRvZXNuJ3Qgd29yay4KLSNpZiAhT1MoSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFPUyhJT1MpCiAgICAgUmV0YWluUHRyPENGTG9jYWxlUmVmPiBjdXJy
ZW50TG9jYWxlKEFkb3B0Q0YsIENGTG9jYWxlQ29weUN1cnJlbnQoKSk7CiAgICAgQ0ZTdHJpbmdS
ZWYgY29sbGF0aW9uT3JkZXIgPSAoQ0ZTdHJpbmdSZWYpQ0ZMb2NhbGVHZXRWYWx1ZShjdXJyZW50
TG9jYWxlLmdldCgpLCBrQ0ZMb2NhbGVDb2xsYXRvcklkZW50aWZpZXIpOwogI2Vsc2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0cmluZ3MuY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5jcHAKaW5kZXggOThjNzMyY2Ji
NTM3NmM0OTlkYjZkNjhmYzhmYTk2MjU2NGQ2NGZkNC4uOWM0YmRmM2Y5MDNiNmRmNmU0MGFhYzA2
OTQ4NTRmYTgxODBlMjY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9j
YWxpemVkU3RyaW5ncy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9jYWxpemVk
U3RyaW5ncy5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIFN0cmluZyBmb3JtYXRMb2NhbGl6
ZWRTdHJpbmcoU3RyaW5nIGZvcm1hdCwgLi4uKQogI2VuZGlmCiB9CiAKLSNpZiAhZGVmaW5lZChC
VUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFS
RCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogc3RhdGljIFN0cmluZyB0
cnVuY2F0ZWRTdHJpbmdGb3JMb29rdXBNZW51SXRlbShjb25zdCBTdHJpbmcmIG9yaWdpbmFsKQog
ewogICAgIGlmIChvcmlnaW5hbC5pc0VtcHR5KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2cvUGF0aENHLmNwcAppbmRleCA4ZDg2OWQ0NzUzN2JmODAyZDhjZWI5Yzdm
ZmY0ZmZkNzJiOTcyMzAyLi42Y2M5Mzc4MzZmNTc2OWM4ZjhjYWVlMjM5Mzg1MDU2MDgwOGI3NTAz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9QYXRoQ0cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL1BhdGhDRy5jcHAK
QEAgLTIzNiw3ICsyMzYsNyBAQCB2b2lkIFBhdGg6OmFkZEFyY1RvKGNvbnN0IEZsb2F0UG9pbnQm
IHAxLCBjb25zdCBGbG9hdFBvaW50JiBwMiwgZmxvYXQgcmFkaXVzKQogCiB2b2lkIFBhdGg6OnBs
YXRmb3JtQWRkUGF0aEZvclJvdW5kZWRSZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCwgY29uc3Qg
RmxvYXRTaXplJiB0b3BMZWZ0UmFkaXVzLCBjb25zdCBGbG9hdFNpemUmIHRvcFJpZ2h0UmFkaXVz
LCBjb25zdCBGbG9hdFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0IEZsb2F0U2l6ZSYgYm90
dG9tUmlnaHRSYWRpdXMpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpCisjaWYgUExBVEZPUk0oTUFDKSAmJiAoIWRlZmluZWQoQlVJTERJ
TkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKSkKICAg
ICBib29sIGVxdWFsV2lkdGhzID0gKHRvcExlZnRSYWRpdXMud2lkdGgoKSA9PSB0b3BSaWdodFJh
ZGl1cy53aWR0aCgpICYmIHRvcFJpZ2h0UmFkaXVzLndpZHRoKCkgPT0gYm90dG9tTGVmdFJhZGl1
cy53aWR0aCgpICYmIGJvdHRvbUxlZnRSYWRpdXMud2lkdGgoKSA9PSBib3R0b21SaWdodFJhZGl1
cy53aWR0aCgpKTsKICAgICBib29sIGVxdWFsSGVpZ2h0cyA9ICh0b3BMZWZ0UmFkaXVzLmhlaWdo
dCgpID09IGJvdHRvbUxlZnRSYWRpdXMuaGVpZ2h0KCkgJiYgYm90dG9tTGVmdFJhZGl1cy5oZWln
aHQoKSA9PSB0b3BSaWdodFJhZGl1cy5oZWlnaHQoKSAmJiB0b3BSaWdodFJhZGl1cy5oZWlnaHQo
KSA9PSBib3R0b21SaWdodFJhZGl1cy5oZWlnaHQoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFD
b2NvYS5tbQppbmRleCA5ZjBmYWFjMmEwMDFjMmI2NTM1MjlmYTlhOGY0OTQxNzY2YzZlN2U3Li5m
MzBiMTgxZjY5Mjc1MjhhYzA3Y2VjOTJmYzdiNDdjMTIzMGY4MjcyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9Gb250UGxhdGZvcm1EYXRhQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvRm9udFBsYXRm
b3JtRGF0YUNvY29hLm1tCkBAIC01OSw3ICs1OSw3IEBAIEZvbnRQbGF0Zm9ybURhdGE6OkZvbnRQ
bGF0Zm9ybURhdGEoTlNGb250ICpuc0ZvbnQsIGZsb2F0IHNpemUsIGJvb2wgaXNQcmludGVyRm9u
CiAgICAgQ0dGb250UmVmIGNnRm9udCA9IDA7CiAgICAgbG9hZEZvbnQobnNGb250LCBzaXplLCBt
X2ZvbnQsIGNnRm9udCk7CiAgICAgCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAvLyBGSVhNRTogQ2hyb21pdW06IFRoZSBmb2xsb3dp
bmcgY29kZSBpc24ndCBjb3JyZWN0IGZvciB0aGUgQ2hyb21pdW0gcG9ydCBzaW5jZSB0aGUgc2Fu
ZGJveCBtaWdodAogICAgIC8vIGhhdmUgYmxvY2tlZCBmb250IGxvYWRpbmcsIGluIHdoaWNoIGNh
c2Ugd2UnbGwgb25seSBoYXZlIHRoZSByZWFsIGxvYWRlZCBmb250IGZpbGUgYWZ0ZXIgdGhlIGNh
bGwgdG8gbG9hZEZvbnQoKS4KICAgICB7CkBAIC0xNTAsNyArMTUwLDcgQEAgdm9pZCBGb250UGxh
dGZvcm1EYXRhOjpzZXRGb250KE5TRm9udCAqZm9udCkKICNlbmRpZgogICAgIAogICAgIG1fY2dG
b250LmFkb3B0Q0YoY2dGb250KTsKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQogICAgIHsKICAgICAgICAgQ1RGb250U3ltYm9saWNUcmFpdHMg
dHJhaXRzID0gQ1RGb250R2V0U3ltYm9saWNUcmFpdHModG9DVEZvbnRSZWYobV9mb250KSk7CiAg
ICAgICAgIG1faXNDb2xvckJpdG1hcEZvbnQgPSB0cmFpdHMgJiBrQ1RGb250Q29sb3JHbHlwaHNU
cmFpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9D
b21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21hYy9Db21wbGV4VGV4dENvbnRyb2xsZXJDb3JlVGV4dC5tbQppbmRleCBjOWY1
YWQxMmRiNzMzZTA0NjQ3MGU5MWRkZjc5OTk2YzVhNjhlMzVkLi5lNTMwNDUzM2U5MDczZDUyODk4
Y2NiMWMyODY2ZTJlNDBiZDViMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tYWMvQ29tcGxleFRleHRDb250cm9sbGVyQ29yZVRleHQubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0NvbXBsZXhUZXh0Q29udHJvbGxlckNv
cmVUZXh0Lm1tCkBAIC0zOSw2ICszOSwxNSBAQAogI2luY2x1ZGUgPENvcmVUZXh0L0NvcmVUZXh0
Lmg+CiAjZW5kaWYKIAorI2lmIGRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkKKy8vIFRoZSBm
b2xsb3dpbmcgc3ltYm9scyBhcmUgU1BJIGluIDEwLjUuCitleHRlcm4gIkMiIHsKK3ZvaWQgQ1RS
dW5HZXRBZHZhbmNlcyhDVFJ1blJlZiBydW4sIENGUmFuZ2UgcmFuZ2UsIENHU2l6ZSBidWZmZXJb
XSk7Citjb25zdCBDR1NpemUqIENUUnVuR2V0QWR2YW5jZXNQdHIoQ1RSdW5SZWYgcnVuKTsKK2V4
dGVybiBjb25zdCBDRlN0cmluZ1JlZiBrQ1RUeXBlc2V0dGVyT3B0aW9uRm9yY2VkRW1iZWRkaW5n
TGV2ZWw7Cit9CisjZW5kaWYKKwogQGludGVyZmFjZSBXZWJDYXNjYWRlTGlzdCA6IE5TQXJyYXkg
ewogICAgIEBwcml2YXRlCiAgICAgY29uc3QgV2ViQ29yZTo6Rm9udCogX2ZvbnQ7CkBAIC0yMDks
NyArMjE4LDcgQEAgdm9pZCBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmNvbGxlY3RDb21wbGV4VGV4
dFJ1bnNGb3JDaGFyYWN0ZXJzQ29yZVRleHQoY29uc3QgVUMKICAgICAgICAgc3RhdGljIENGRGlj
dGlvbmFyeVJlZiBsdHJUeXBlc2V0dGVyT3B0aW9ucyA9IENGRGljdGlvbmFyeUNyZWF0ZShrQ0ZB
bGxvY2F0b3JEZWZhdWx0LCBvcHRpb25LZXlzLCBsdHJPcHRpb25WYWx1ZXMsIFdURl9BUlJBWV9M
RU5HVEgob3B0aW9uS2V5cyksICZrQ0ZDb3B5U3RyaW5nRGljdGlvbmFyeUtleUNhbGxCYWNrcywg
JmtDRlR5cGVEaWN0aW9uYXJ5VmFsdWVDYWxsQmFja3MpOwogICAgICAgICBzdGF0aWMgQ0ZEaWN0
aW9uYXJ5UmVmIHJ0bFR5cGVzZXR0ZXJPcHRpb25zID0gQ0ZEaWN0aW9uYXJ5Q3JlYXRlKGtDRkFs
bG9jYXRvckRlZmF1bHQsIG9wdGlvbktleXMsIHJ0bE9wdGlvblZhbHVlcywgV1RGX0FSUkFZX0xF
TkdUSChvcHRpb25LZXlzKSwgJmtDRkNvcHlTdHJpbmdEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAm
a0NGVHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcyk7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElO
R19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBQcm92aWRlckluZm8g
aW5mbyA9IHsgY3AsIGxlbmd0aCwgc3RyaW5nQXR0cmlidXRlcy5nZXQoKSB9OwogICAgICAgICBS
ZXRhaW5QdHI8Q1RUeXBlc2V0dGVyUmVmPiB0eXBlc2V0dGVyKEFkb3B0Q0YsIHdrQ3JlYXRlQ1RU
eXBlc2V0dGVyV2l0aFVuaUNoYXJQcm92aWRlckFuZE9wdGlvbnMoJnByb3ZpZGVTdHJpbmdBbmRB
dHRyaWJ1dGVzLCAwLCAmaW5mbywgbV9ydW4ubHRyKCkgPyBsdHJUeXBlc2V0dGVyT3B0aW9ucyA6
IHJ0bFR5cGVzZXR0ZXJPcHRpb25zKSk7CiAjZWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0ZvbnRNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1hYy5tbQppbmRleCAyYTIzN2FiODFlMzA5NDA5YTA2ODlj
Mzg1Zjk5MjEwNGIzMDM2YzFjLi40YWZiNWZiZGJmNzk0NGM5NGFhMmViNTNhYTVhODQ0YjIwMjc4
MmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9u
dE1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvRm9udE1h
Yy5tbQpAQCAtMTE5LDcgKzExOSw3IEBAIHN0YXRpYyB2b2lkIHNob3dHbHlwaHNXaXRoQWR2YW5j
ZXMoY29uc3QgRmxvYXRQb2ludCYgcG9pbnQsIGNvbnN0IFNpbXBsZUZvbnREYXRhCiAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgQ0dDb250ZXh0U2hvd0dseXBoc1dpdGhBZHZhbmNlcyhjb250
ZXh0LCBnbHlwaHMsIGFkdmFuY2VzLCBjb3VudCk7CiAgICAgfQotI2lmICFkZWZpbmVkKEJVSUxE
SU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAm
JiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgZWxzZSB7CiAgICAgICAg
IGlmICghY291bnQpCiAgICAgICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvU2ltcGxlRm9udERhdGFNYWMubW0KaW5kZXgg
NzAzYjEyZjUyNzI3N2E3NDFmZmU4NmE1NWNiNmViMmU2YjRhNmNiMC4uZDVkNTU2MDZkNGZmMjUz
MDA2Mzk4NzU2MjdmNTM1ZmYzNzFjMGVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWFjL1NpbXBsZUZvbnREYXRhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9TaW1wbGVGb250RGF0YU1hYy5tbQpAQCAtODIsNyAr
ODIsNyBAQCBzdGF0aWMgTlNTdHJpbmcgKndlYkZhbGxiYWNrRm9udEZhbWlseSh2b2lkKQogfQog
CiAjaWYgIUVSUk9SX0RJU0FCTEVECi0jaWYgZGVmaW5lZChfX0xQNjRfXykgfHwgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmIGRlZmluZWQoX19MUDY0X18pIHx8ICghZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpKQogc3RhdGljIE5TU3RyaW5nKiBwYXRoRnJvbUZvbnQoTlNGb250KikKIHsKICAgICAv
LyBGTUdldEFUU0ZvbnRSZWZGcm9tRm9udCBpcyBub3QgYXZhaWxhYmxlLiBBcyBwYXRoRnJvbUZv
bnQgaXMgb25seSB1c2VkIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ3Vyc29yTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL0N1cnNvck1hYy5tbQppbmRleCA2ZTQxMTEyZDFkNGM0OGExMjNlZTEwNGE4ZjEz
YjA3MTdmMmMxZjdmLi5kMjA4NTMzOWI0YzU0MjM0YTg2MjlhNGRkMmZjMzAyMjhkZWZiMjEwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvQ3Vyc29yTWFjLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9DdXJzb3JNYWMubW0KQEAgLTg1LDcgKzg1LDcg
QEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIEN1cnNvcjo6SGFuZDoKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0g
W05TQ3Vyc29yIHBvaW50aW5nSGFuZEN1cnNvcl07CiAjZWxzZQogICAgICAgICAvLyBUaGUgcG9p
bnRpbmdIYW5kQ3Vyc29yIGZyb20gTlNDdXJzb3IgZG9lcyBub3QgaGF2ZSBhIHNoYWRvdyBvbgpA
QCAtOTksNyArOTksNyBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25z
dAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ3Vyc29yOjpXYWl0OgotI2lmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9Q
QVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgICAgIG1fcGxh
dGZvcm1DdXJzb3IgPSB3a0N1cnNvcigiQnVzeUJ1dENsaWNrYWJsZSIpOwogI2Vsc2UKICAgICAg
ICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZU5hbWVkQ3Vyc29yKCJ3YWl0Q3Vyc29yIiwgNywg
Nyk7CkBAIC0xMDcsNyArMTA3LDcgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29y
KCkgY29uc3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1cnNvcjo6SGVscDoKLSNpZiAh
ZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdf
T05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAg
ICBtX3BsYXRmb3JtQ3Vyc29yID0gd2tDdXJzb3IoIkhlbHAiKTsKICAgICAgICAgaWYgKG1fcGxh
dGZvcm1DdXJzb3IpCiAgICAgICAgICAgICBicmVhazsKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lk
IEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25zdAogCiAgICAgY2FzZSBDdXJzb3I6
Ok1vdmU6CiAgICAgY2FzZSBDdXJzb3I6Ok1pZGRsZVBhbm5pbmc6Ci0jaWYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9y
bUN1cnNvciA9IHdrQ3Vyc29yKCJNb3ZlIik7CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vy
c29yID0gY3JlYXRlTmFtZWRDdXJzb3IoIm1vdmVDdXJzb3IiLCA3LCA3KTsKQEAgLTEyNiw3ICsx
MjYsNyBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJzb3IoKSBjb25zdAogCiAgICAg
Y2FzZSBDdXJzb3I6OkVhc3RSZXNpemU6CiAgICAgY2FzZSBDdXJzb3I6OkVhc3RQYW5uaW5nOgot
I2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAg
ICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSB3a0N1cnNvcigiUmVzaXplRWFzdCIpOwogI2Vsc2UK
ICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZU5hbWVkQ3Vyc29yKCJlYXN0UmVzaXpl
Q3Vyc29yIiwgMTQsIDcpOwpAQCAtMTM1LDcgKzEzNSw3IEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQ
bGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAKICAgICBjYXNlIEN1cnNvcjo6Tm9ydGhSZXNpemU6CiAg
ICAgY2FzZSBDdXJzb3I6Ok5vcnRoUGFubmluZzoKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0g
d2tDdXJzb3IoIlJlc2l6ZU5vcnRoIik7CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29y
ID0gY3JlYXRlTmFtZWRDdXJzb3IoIm5vcnRoUmVzaXplQ3Vyc29yIiwgNywgMSk7CkBAIC0xNDQs
NyArMTQ0LDcgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKIAog
ICAgIGNhc2UgQ3Vyc29yOjpOb3J0aEVhc3RSZXNpemU6CiAgICAgY2FzZSBDdXJzb3I6Ok5vcnRo
RWFzdFBhbm5pbmc6Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29yKCJSZXNpemVO
b3J0aGVhc3QiKTsKICNlbHNlCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjcmVhdGVOYW1l
ZEN1cnNvcigibm9ydGhFYXN0UmVzaXplQ3Vyc29yIiwgMTQsIDEpOwpAQCAtMTUzLDcgKzE1Myw3
IEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAKICAgICBjYXNl
IEN1cnNvcjo6Tm9ydGhXZXN0UmVzaXplOgogICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFdlc3RQYW5u
aW5nOgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5l
ZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSB3a0N1cnNvcigiUmVzaXplTm9ydGh3ZXN0
Iik7CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlTmFtZWRDdXJzb3Io
Im5vcnRoV2VzdFJlc2l6ZUN1cnNvciIsIDAsIDApOwpAQCAtMTYyLDcgKzE2Miw3IEBAIHZvaWQg
Q3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAKICAgICBjYXNlIEN1cnNvcjo6
U291dGhSZXNpemU6CiAgICAgY2FzZSBDdXJzb3I6OlNvdXRoUGFubmluZzoKLSNpZiAhZGVmaW5l
ZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVP
UEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBtX3Bs
YXRmb3JtQ3Vyc29yID0gd2tDdXJzb3IoIlJlc2l6ZVNvdXRoIik7CiAjZWxzZQogICAgICAgICBt
X3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlTmFtZWRDdXJzb3IoInNvdXRoUmVzaXplQ3Vyc29yIiwg
NywgMTQpOwpAQCAtMTcxLDcgKzE3MSw3IEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1
cnNvcigpIGNvbnN0CiAKICAgICBjYXNlIEN1cnNvcjo6U291dGhFYXN0UmVzaXplOgogICAgIGNh
c2UgQ3Vyc29yOjpTb3V0aEVhc3RQYW5uaW5nOgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5l
ZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSB3
a0N1cnNvcigiUmVzaXplU291dGhlYXN0Iik7CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vy
c29yID0gY3JlYXRlTmFtZWRDdXJzb3IoInNvdXRoRWFzdFJlc2l6ZUN1cnNvciIsIDE0LCAxNCk7
CkBAIC0xODAsNyArMTgwLDcgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkg
Y29uc3QKIAogICAgIGNhc2UgQ3Vyc29yOjpTb3V0aFdlc3RSZXNpemU6CiAgICAgY2FzZSBDdXJz
b3I6OlNvdXRoV2VzdFBhbm5pbmc6Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxE
SU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29y
KCJSZXNpemVTb3V0aHdlc3QiKTsKICNlbHNlCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBj
cmVhdGVOYW1lZEN1cnNvcigic291dGhXZXN0UmVzaXplQ3Vyc29yIiwgMSwgMTQpOwpAQCAtMTg4
LDcgKzE4OCw3IEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAg
ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDdXJzb3I6Oldlc3RSZXNpemU6Ci0jaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9w
bGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29yKCJSZXNpemVXZXN0Iik7CiAjZWxzZQogICAgICAgICBt
X3BsYXRmb3JtQ3Vyc29yID0gY3JlYXRlTmFtZWRDdXJzb3IoIndlc3RSZXNpemVDdXJzb3IiLCAx
LCA3KTsKQEAgLTE5Niw3ICsxOTYsNyBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJlUGxhdGZvcm1DdXJz
b3IoKSBjb25zdAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ3Vyc29yOjpOb3J0aFNvdXRo
UmVzaXplOgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSB3a0N1cnNvcigiUmVzaXplTm9ydGhT
b3V0aCIpOwogI2Vsc2UKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZU5hbWVkQ3Vy
c29yKCJub3J0aFNvdXRoUmVzaXplQ3Vyc29yIiwgNywgNyk7CkBAIC0yMDUsNyArMjA1LDcgQEAg
dm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKIAogICAgIGNhc2UgQ3Vy
c29yOjpFYXN0V2VzdFJlc2l6ZToKICAgICBjYXNlIEN1cnNvcjo6V2VzdFBhbm5pbmc6Ci0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAg
ICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29yKCJSZXNpemVFYXN0V2VzdCIpOwogI2Vsc2UK
ICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IGNyZWF0ZU5hbWVkQ3Vyc29yKCJlYXN0V2VzdFJl
c2l6ZUN1cnNvciIsIDcsIDcpOwpAQCAtMjEzLDcgKzIxMyw3IEBAIHZvaWQgQ3Vyc29yOjplbnN1
cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDdXJz
b3I6Ok5vcnRoRWFzdFNvdXRoV2VzdFJlc2l6ZToKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0g
d2tDdXJzb3IoIlJlc2l6ZU5vcnRoZWFzdFNvdXRod2VzdCIpOwogI2Vsc2UKICAgICAgICAgbV9w
bGF0Zm9ybUN1cnNvciA9IGNyZWF0ZU5hbWVkQ3Vyc29yKCJub3J0aEVhc3RTb3V0aFdlc3RSZXNp
emVDdXJzb3IiLCA3LCA3KTsKQEAgLTIyMSw3ICsyMjEsNyBAQCB2b2lkIEN1cnNvcjo6ZW5zdXJl
UGxhdGZvcm1DdXJzb3IoKSBjb25zdAogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgQ3Vyc29y
OjpOb3J0aFdlc3RTb3V0aEVhc3RSZXNpemU6Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdr
Q3Vyc29yKCJSZXNpemVOb3J0aHdlc3RTb3V0aGVhc3QiKTsKICNlbHNlCiAgICAgICAgIG1fcGxh
dGZvcm1DdXJzb3IgPSBjcmVhdGVOYW1lZEN1cnNvcigibm9ydGhXZXN0U291dGhFYXN0UmVzaXpl
Q3Vyc29yIiwgNywgNyk7CkBAIC0yMzcsNyArMjM3LDcgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBs
YXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1cnNvcjo6
VmVydGljYWxUZXh0OgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNp
ZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBbTlNDdXJzb3IgSUJlYW1D
dXJzb3JGb3JWZXJ0aWNhbExheW91dF07CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29y
ID0gY3JlYXRlTmFtZWRDdXJzb3IoInZlcnRpY2FsVGV4dEN1cnNvciIsIDcsIDcpOwpAQCAtMjQ1
LDcgKzI0NSw3IEBAIHZvaWQgQ3Vyc29yOjplbnN1cmVQbGF0Zm9ybUN1cnNvcigpIGNvbnN0CiAg
ICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBDdXJzb3I6OkNlbGw6Ci0jaWYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9y
bUN1cnNvciA9IHdrQ3Vyc29yKCJDZWxsIik7CiAgICAgICAgIGlmIChtX3BsYXRmb3JtQ3Vyc29y
KQogICAgICAgICAgICAgYnJlYWs7CkBAIC0yNjIsNyArMjYyLDcgQEAgdm9pZCBDdXJzb3I6OmVu
c3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1
cnNvcjo6QWxpYXM6Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lm
ICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NO
T1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29yKCJNYWtlQWxp
YXMiKTsKICNlbHNlCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3IgPSBjcmVhdGVOYW1lZEN1cnNv
cigiYWxpYXNDdXJzb3IiLCAxMSwgMyk7CkBAIC0yNzAsNyArMjcwLDcgQEAgdm9pZCBDdXJzb3I6
OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNl
IEN1cnNvcjo6UHJvZ3Jlc3M6Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJE
KQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5H
X09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgbV9wbGF0Zm9ybUN1cnNvciA9IHdrQ3Vyc29yKCJC
dXN5QnV0Q2xpY2thYmxlIik7CiAjZWxzZQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gY3Jl
YXRlTmFtZWRDdXJzb3IoInByb2dyZXNzQ3Vyc29yIiwgMywgMik7CkBAIC0zMDYsNyArMzA2LDcg
QEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBsYXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJl
YWs7CiAKICAgICBjYXNlIEN1cnNvcjo6Wm9vbUluOgotI2lmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgICAgIG1fcGxhdGZvcm1DdXJzb3Ig
PSB3a0N1cnNvcigiWm9vbUluIik7CiAgICAgICAgIGlmIChtX3BsYXRmb3JtQ3Vyc29yKQogICAg
ICAgICAgICAgYnJlYWs7CkBAIC0zMTUsNyArMzE1LDcgQEAgdm9pZCBDdXJzb3I6OmVuc3VyZVBs
YXRmb3JtQ3Vyc29yKCkgY29uc3QKICAgICAgICAgYnJlYWs7CiAKICAgICBjYXNlIEN1cnNvcjo6
Wm9vbU91dDoKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRl
ZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19M
RU9QQVJEKQogICAgICAgICBtX3BsYXRmb3JtQ3Vyc29yID0gd2tDdXJzb3IoIlpvb21PdXQiKTsK
ICAgICAgICAgaWYgKG1fcGxhdGZvcm1DdXJzb3IpCiAgICAgICAgICAgICBicmVhazsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJN
YWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvTWVtb3J5UHJlc3N1cmVIYW5kbGVy
TWFjLm1tCmluZGV4IDZmYzliZTAyNzBjMmU1NDU0Zjc0NGJhOTNmNTkwYjA0YjI1ZDRmMjQuLjhk
MWQxMGY2N2M4MTcxODRjMjk1ZjdhNzNkYzk0N2Y1NWI5YTE2MmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9NZW1vcnlQcmVzc3VyZUhhbmRsZXJNYWMubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL01lbW9yeVByZXNzdXJlSGFuZGxlck1hYy5tbQpA
QCAtMzMsNyArMzMsNyBAQAogI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW1wb3J0IDx3
dGYvRmFzdE1hbGxvYy5oPgogCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJE
KSAmJiAhUExBVEZPUk0oSU9TKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkgJiYgIVBMQVRGT1JNKElPUykKICNp
bXBvcnQgIldlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPG5vdGlmeS5oPgogI2Vu
ZGlmCkBAIC00Miw3ICs0Miw3IEBAIHVzaW5nIHN0ZDo6bWF4OwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQogCiAjaWYgIVBMQVRGT1JNKElPUykKIHN0YXRpYyBkaXNwYXRjaF9zb3VyY2VfdCBfY2Fj
aGVfZXZlbnRfc291cmNlID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQppbmRleCAyNjMyMGM5YzZmZTQ4ODA5OThi
ZDI1NmEwZjQ1ZjAzMTY2NjFkMTYxLi5mMGViZjVjYWU2NGYxMjAyZGY0MmE0NzI3Y2E1NzdmZDg0
ZGM0NDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGxhdGZvcm1F
dmVudEZhY3RvcnlNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1BsYXRm
b3JtRXZlbnRGYWN0b3J5TWFjLm1tCkBAIC0xNTYsNyArMTU2LDcgQEAgc3RhdGljIFBsYXRmb3Jt
V2hlZWxFdmVudFBoYXNlIG1vbWVudHVtUGhhc2VGb3JFdmVudChOU0V2ZW50ICpldmVudCkKIHsK
ICAgICB1aW50MzJfdCBwaGFzZSA9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlTm9uZTsKIAotI2lm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElO
R19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAg
aWYgKFtldmVudCBtb21lbnR1bVBoYXNlXSAmIE5TRXZlbnRQaGFzZUJlZ2FuKQogICAgICAgICBw
aGFzZSB8PSBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZUJlZ2FuOwogICAgIGlmIChbZXZlbnQgbW9t
ZW50dW1QaGFzZV0gJiBOU0V2ZW50UGhhc2VTdGF0aW9uYXJ5KQpAQCAtMTg5LDcgKzE4OSw3IEBA
IHN0YXRpYyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBtb21lbnR1bVBoYXNlRm9yRXZlbnQoTlNF
dmVudCAqZXZlbnQpCiAKIHN0YXRpYyBQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZUZvckV2
ZW50KE5TRXZlbnQgKmV2ZW50KQogewotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgdWludDMyX3QgcGhhc2UgPSBQbGF0Zm9ybVdoZWVs
RXZlbnRQaGFzZU5vbmU7IAogICAgIGlmIChbZXZlbnQgcGhhc2VdICYgTlNFdmVudFBoYXNlQmVn
YW4pCiAgICAgICAgIHBoYXNlIHw9IFBsYXRmb3JtV2hlZWxFdmVudFBoYXNlQmVnYW47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uu
aAppbmRleCBkMzUzM2FjNmNlNjBmOWE1OTBkZDc3MGM5YjNkNjBlYTY2NGU5YmZkLi45MDhkZDk1
YTkwMDJhM2MzNzk0ZTc1NWQ4YjQ2OTVlMjAwMTJmOGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgKQEAgLTEwOSw3ICsx
MDksNyBAQCBleHRlcm4gIkMiIHsKIC8vIEluIGFscGhhYmV0aWNhbCBvcmRlci4KIAogZXh0ZXJu
IHZvaWQgKCp3a0FkdmFuY2VEZWZhdWx0QnV0dG9uUHVsc2VBbmltYXRpb24pKE5TQnV0dG9uQ2Vs
bCAqKTsKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9Q
QVJEKQogZXh0ZXJuIHZvaWQgKCp3a0NBTGF5ZXJFbnVtZXJhdGVSZWN0c0JlaW5nRHJhd25XaXRo
QmxvY2spKENBTGF5ZXIgKiwgQ0dDb250ZXh0UmVmLCB2b2lkICheYmxvY2spKENHUmVjdCByZWN0
KSk7CiAjZW5kaWYKIApAQCAtMjE1LDcgKzIxNSw3IEBAIGV4dGVybiBib29sICgqd2tHZXRWZXJ0
aWNhbEdseXBoc0ZvckNoYXJhY3RlcnMpKENURm9udFJlZiwgY29uc3QgVW5pQ2hhcltdLCBDR0ds
CiAKIGV4dGVybiBCT09MICgqd2tVc2VTaGFyZWRNZWRpYVVJKSgpOwogCi0jaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKIGV4dGVybiB2b2lkKiB3
a0dldEh5cGhlbmF0aW9uTG9jYXRpb25CZWZvcmVJbmRleDsKICNlbHNlCiBleHRlcm4gQ0ZJbmRl
eCAoKndrR2V0SHlwaGVuYXRpb25Mb2NhdGlvbkJlZm9yZUluZGV4KShDRlN0cmluZ1JlZiBzdHJp
bmcsIENGSW5kZXggaW5kZXgpOwpAQCAtMjMyLDcgKzIzMiw3IEBAIGV4dGVybiBpbnQgKCp3a0dl
dE5TRXZlbnRNb21lbnR1bVBoYXNlKShOU0V2ZW50ICopOwogCiBleHRlcm4gQ1RMaW5lUmVmICgq
d2tDcmVhdGVDVExpbmVXaXRoVW5pQ2hhclByb3ZpZGVyKShjb25zdCBVbmlDaGFyKiAoKnByb3Zp
ZGUpKENGSW5kZXggc3RyaW5nSW5kZXgsIENGSW5kZXgqIGNoYXJDb3VudCwgQ0ZEaWN0aW9uYXJ5
UmVmKiBhdHRyaWJ1dGVzLCB2b2lkKiksIHZvaWQgKCpkaXNwb3NlKShjb25zdCBVbmlDaGFyKiBj
aGFycywgdm9pZCopLCB2b2lkKik7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQogCiBleHRlcm4gQ1RUeXBlc2V0dGVyUmVmICgqd2tDcmVh
dGVDVFR5cGVzZXR0ZXJXaXRoVW5pQ2hhclByb3ZpZGVyQW5kT3B0aW9ucykoY29uc3QgVW5pQ2hh
ciogKCpwcm92aWRlKShDRkluZGV4IHN0cmluZ0luZGV4LCBDRkluZGV4KiBjaGFyQ291bnQsIENG
RGljdGlvbmFyeVJlZiogYXR0cmlidXRlcywgdm9pZCopLCB2b2lkICgqZGlzcG9zZSkoY29uc3Qg
VW5pQ2hhciogY2hhcnMsIHZvaWQqKSwgdm9pZCosIENGRGljdGlvbmFyeVJlZiBvcHRpb25zKTsK
IApAQCAtMjk2LDcgKzI5Niw3IEBAIGV4dGVybiB2b2lkICgqd2tTZXRSZXF1ZXN0U3RvcmFnZVNl
c3Npb24pKENGVVJMU3RvcmFnZVNlc3Npb25SZWYsIENGTXV0YWJsZVVSTFJlCiAjZW5kaWYKIGV4
dGVybiB2b2lkICgqd2tTZXRNZXRhZGF0YVVSTCkoTlNTdHJpbmcgKnVybFN0cmluZywgTlNTdHJp
bmcgKnJlZmVycmVyLCBOU1N0cmluZyAqcGF0aCk7CiAgICAgCi0jaWYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYm
ICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICNpbXBvcnQgPGRpc3BhdGNoL2Rp
c3BhdGNoLmg+CiAKIGV4dGVybiBkaXNwYXRjaF9zb3VyY2VfdCAoKndrQ3JlYXRlVk1QcmVzc3Vy
ZURpc3BhdGNoT25NYWluUXVldWUpKHZvaWQpOwpAQCAtMzA4LDcgKzMwOCw3IEBAIGV4dGVybiBO
U1N0cmluZyAqKCp3a0dldE1hY09TWFZlcnNpb25TdHJpbmcpKHZvaWQpOwogZXh0ZXJuIGJvb2wg
KCp3a0V4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQmVmb3JlTGlvbikodm9pZCk7CiAjZW5kaWYKIAot
I2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlM
RElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiBl
eHRlcm4gdm9pZCAoKndrQ0dQYXRoQWRkUm91bmRlZFJlY3QpKENHTXV0YWJsZVBhdGhSZWYgcGF0
aCwgY29uc3QgQ0dBZmZpbmVUcmFuc2Zvcm0qIG1hdHJpeCwgQ0dSZWN0IHJlY3QsIENHRmxvYXQg
Y29ybmVyV2lkdGgsIENHRmxvYXQgY29ybmVySGVpZ2h0KTsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCmlu
ZGV4IGJlYmVjNWI1OWYzNjhkOGI3NGY4YjEyNGM2ZjAxOTIxZDk5NDllZTYuLmMwODdhNWQ4N2E0
NWVkODJiYTRjNzk3OTVkOTdjZjFlZDkxMDNjYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC0yOCw3ICsyOCw3
IEBACiAjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KIAogdm9pZCAoKndrQWR2YW5j
ZURlZmF1bHRCdXR0b25QdWxzZUFuaW1hdGlvbikoTlNCdXR0b25DZWxsICopOwotI2lmICFkZWZp
bmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9M
RU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiB2b2lkICgqd2tD
QUxheWVyRW51bWVyYXRlUmVjdHNCZWluZ0RyYXduV2l0aEJsb2NrKShDQUxheWVyICosIENHQ29u
dGV4dFJlZiBjb250ZXh0LCB2b2lkICheYmxvY2spKENHUmVjdCByZWN0KSk7CiAjZW5kaWYKIEJP
T0wgKCp3a0NHQ29udGV4dEdldFNob3VsZFNtb290aEZvbnRzKShDR0NvbnRleHRSZWYpOwpAQCAt
MTI1LDcgKzEyNSw3IEBAIHZvaWQgKCp3a1NldFJlcXVlc3RTdG9yYWdlU2Vzc2lvbikoQ0ZVUkxT
dG9yYWdlU2Vzc2lvblJlZiwgQ0ZNdXRhYmxlVVJMUmVxdWVzdFJlCiB2b2lkICgqd2tHZXRHbHlw
aHNGb3JDaGFyYWN0ZXJzKShDR0ZvbnRSZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBz
aXplX3QpOwogYm9vbCAoKndrR2V0VmVydGljYWxHbHlwaHNGb3JDaGFyYWN0ZXJzKShDVEZvbnRS
ZWYsIGNvbnN0IFVuaUNoYXJbXSwgQ0dHbHlwaFtdLCBzaXplX3QpOwogCi0jaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BB
UkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKIHZvaWQqIHdrR2V0SHlw
aGVuYXRpb25Mb2NhdGlvbkJlZm9yZUluZGV4OwogI2Vsc2UKIENGSW5kZXggKCp3a0dldEh5cGhl
bmF0aW9uTG9jYXRpb25CZWZvcmVJbmRleCkoQ0ZTdHJpbmdSZWYgc3RyaW5nLCBDRkluZGV4IGlu
ZGV4KTsKQEAgLTEzMyw3ICsxMzMsNyBAQCBpbnQgKCp3a0dldE5TRXZlbnRNb21lbnR1bVBoYXNl
KShOU0V2ZW50ICopOwogI2VuZGlmCiAKIENUTGluZVJlZiAoKndrQ3JlYXRlQ1RMaW5lV2l0aFVu
aUNoYXJQcm92aWRlcikoY29uc3QgVW5pQ2hhciogKCpwcm92aWRlKShDRkluZGV4IHN0cmluZ0lu
ZGV4LCBDRkluZGV4KiBjaGFyQ291bnQsIENGRGljdGlvbmFyeVJlZiogYXR0cmlidXRlcywgdm9p
ZCopLCB2b2lkICgqZGlzcG9zZSkoY29uc3QgVW5pQ2hhciogY2hhcnMsIHZvaWQqKSwgdm9pZCop
OwotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQp
CiBDVFR5cGVzZXR0ZXJSZWYgKCp3a0NyZWF0ZUNUVHlwZXNldHRlcldpdGhVbmlDaGFyUHJvdmlk
ZXJBbmRPcHRpb25zKShjb25zdCBVbmlDaGFyKiAoKnByb3ZpZGUpKENGSW5kZXggc3RyaW5nSW5k
ZXgsIENGSW5kZXgqIGNoYXJDb3VudCwgQ0ZEaWN0aW9uYXJ5UmVmKiBhdHRyaWJ1dGVzLCB2b2lk
KiksIHZvaWQgKCpkaXNwb3NlKShjb25zdCBVbmlDaGFyKiBjaGFycywgdm9pZCopLCB2b2lkKiwg
Q0ZEaWN0aW9uYXJ5UmVmIG9wdGlvbnMpOwogCiBDR0NvbnRleHRSZWYgKCp3a0lPU3VyZmFjZUNv
bnRleHRDcmVhdGUpKElPU3VyZmFjZVJlZiBzdXJmYWNlLCB1bnNpZ25lZCB3aWR0aCwgdW5zaWdu
ZWQgaGVpZ2h0LCBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFjZSk7CkBAIC0xNzgsNyArMTc4LDcg
QEAgQ0ZTdHJpbmdSZWYgKCp3a0NvcHlDRlVSTFJlc3BvbnNlU3VnZ2VzdGVkRmlsZW5hbWUpKENG
VVJMUmVzcG9uc2VSZWYpOwogdm9pZCAoKndrU2V0Q0ZVUkxSZXNwb25zZU1JTUVUeXBlKShDRlVS
TFJlc3BvbnNlUmVmLCBDRlN0cmluZ1JlZiBtaW1lVHlwZSk7CiB2b2lkICgqd2tTZXRNZXRhZGF0
YVVSTCkoTlNTdHJpbmcgKnVybFN0cmluZywgTlNTdHJpbmcgKnJlZmVycmVyLCBOU1N0cmluZyAq
cGF0aCk7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRl
ZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19M
RU9QQVJEKQogZGlzcGF0Y2hfc291cmNlX3QgKCp3a0NyZWF0ZVZNUHJlc3N1cmVEaXNwYXRjaE9u
TWFpblF1ZXVlKSh2b2lkKTsKICNlbmRpZgogCkBAIC0xODcsNyArMTg3LDcgQEAgTlNTdHJpbmcg
Kigqd2tHZXRNYWNPU1hWZXJzaW9uU3RyaW5nKSh2b2lkKTsKIGJvb2wgKCp3a0V4ZWN1dGFibGVX
YXNMaW5rZWRPbk9yQmVmb3JlTGlvbikodm9pZCk7CiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJE
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiB2b2lkICgqd2tDR1BhdGhB
ZGRSb3VuZGVkUmVjdCkoQ0dNdXRhYmxlUGF0aFJlZiBwYXRoLCBjb25zdCBDR0FmZmluZVRyYW5z
Zm9ybSogbWF0cml4LCBDR1JlY3QgcmVjdCwgQ0dGbG9hdCBjb3JuZXJXaWR0aCwgQ0dGbG9hdCBj
b3JuZXJIZWlnaHQpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvbWFjL1Jlc291cmNlSGFuZGxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KaW5kZXggOWQ2ZWViYjdmMDU4
YWE0OWQ1YTIxNTg5YTI0NzAzMWM3ZDNlYTljOS4uNGFjMzNjY2RjZGMxY2UxNmZmN2M4NGU4YzBh
NjBkNWY3NDE5ZmU0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9tYWMvUmVzb3VyY2VIYW5kbGVNYWMubW0KQEAgLTUxMiw3ICs1MTIsNyBAQCB2b2lk
IFJlc291cmNlSGFuZGxlOjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbAogICAgIC8vIHdlIG1ha2Ugc3VyZSB0aGF0IGlzIGFjdHVhbGx5
IHByZXNlbnQKICAgICBBU1NFUlQoY2hhbGxlbmdlLm5zVVJMQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoKSk7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XTEVPUEFSRCkKKyNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XTEVP
UEFSRCkKICAgICAvLyBQcm94eSBhdXRoZW50aWNhdGlvbiBpcyBoYW5kbGVkIGJ5IENGTmV0d29y
ayBpbnRlcm5hbGx5LiBXZSBjYW4gZ2V0IGhlcmUgaWYgdGhlIHVzZXIgY2FuY2VscwogICAgIC8v
IENGTmV0d29yayBhdXRoZW50aWNhdGlvbiBkaWFsb2csIGFuZCB3ZSBzaG91bGRuJ3QgYXNrIHRo
ZSBjbGllbnQgdG8gZGlzcGxheSBhbm90aGVyIG9uZSBpbiB0aGF0IGNhc2UuCiAgICAgaWYgKGNo
YWxsZW5nZS5wcm90ZWN0aW9uU3BhY2UoKS5pc1Byb3h5KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvbWFjL1Jlc291cmNlUmVxdWVzdE1hYy5tbQpp
bmRleCAwYjM4ODNkOTY2YzliNTY0YzJiMWRhNjNjNTRkZDFhNjY3ZWZiYzdlLi4yNjJmZGI0NDY2
NzU0MjVhNzAwM2EzZmI0OTA5YjdhN2M0M2VmN2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL21hYy9SZXNvdXJjZVJlcXVlc3RNYWMubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9tYWMvUmVzb3VyY2VSZXF1ZXN0TWFjLm1tCkBAIC04
Miw3ICs4Miw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojpkb1VwZGF0ZVJlc291cmNlUmVxdWVz
dCgpCiAgICAgICAgIG1faHR0cE1ldGhvZCA9IG1ldGhvZDsKICAgICBtX2FsbG93Q29va2llcyA9
IFttX25zUmVxdWVzdC5nZXQoKSBIVFRQU2hvdWxkSGFuZGxlQ29va2llc107CiAKLSNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05f
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIGlmIChS
ZXNvdXJjZVJlcXVlc3Q6Omh0dHBQaXBlbGluaW5nRW5hYmxlZCgpKQogICAgICAgICBtX3ByaW9y
aXR5ID0gdG9SZXNvdXJjZUxvYWRQcmlvcml0eSh3a0dldEhUVFBQaXBlbGluaW5nUHJpb3JpdHko
W21fbnNSZXF1ZXN0LmdldCgpIF9DRlVSTFJlcXVlc3RdKSk7CiAjZW5kaWYKQEAgLTEyOSw3ICsx
MjksNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9VcGRhdGVQbGF0Zm9ybVJlcXVlc3QoKQog
ICAgICAgICBuc1JlcXVlc3QgPSBbW05TTXV0YWJsZVVSTFJlcXVlc3QgYWxsb2NdIGluaXRXaXRo
VVJMOnVybCgpXTsKIAogCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQor
I2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkKICAgICBpZiAoUmVzb3VyY2VSZXF1ZXN0OjpodHRwUGlwZWxpbmluZ0Vu
YWJsZWQoKSkKICAgICAgICAgd2tTZXRIVFRQUGlwZWxpbmluZ1ByaW9yaXR5KFtuc1JlcXVlc3Qg
X0NGVVJMUmVxdWVzdF0sIHRvSFRUUFBpcGVsaW5pbmdQcmlvcml0eShtX3ByaW9yaXR5KSk7CiAj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvSHlwaGVu
YXRpb25DRi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2NmL0h5cGhlbmF0aW9u
Q0YuY3BwCmluZGV4IDg0ZTYyMTJhNGJiMmY1NTc3ZWQ4Njk5NjdjZmQzNDU5YjU4YzAwNzYuLmYx
NzBiOGFmYWJiM2ZiNThmNDVmMDRhNWRkMDQ2ODNmMjVmNjc0OTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvY2YvSHlwaGVuYXRpb25DRi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9jZi9IeXBoZW5hdGlvbkNGLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkh5cGhlbmF0aW9uLmgiCiAKLSNp
ZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJ
TkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogCiAj
aW5jbHVkZSAiQXRvbWljU3RyaW5nS2V5ZWRNUlVDYWNoZS5oIgogI2luY2x1ZGUgIlRleHRCcmVh
a0l0ZXJhdG9ySW50ZXJuYWxJQ1UuaCIKQEAgLTc2LDQgKzc2LDQgQEAgc2l6ZV90IGxhc3RIeXBo
ZW5Mb2NhdGlvbihjb25zdCBVQ2hhciogY2hhcmFjdGVycywgc2l6ZV90IGxlbmd0aCwgc2l6ZV90
IGJlZm9yZUkKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gIWRlZmluZWQo
QlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUaGVtZU1hYy5tbQppbmRleCA1NWNmYWY4MDdjOTJlZDZh
MDU4MjY0NjE1OTE1YTM0MWYxZGQ3NmY3Li5lMDk0MzdkYjI2NDJkYWVhY2JiYjAwMmZmNTRmNmMy
MTZkM2UzNDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGhl
bWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRoZW1lTWFjLm1t
CkBAIC0yMTExLDcgKzIxMTEsNyBAQCBJbnRQb2ludCBSZW5kZXJUaGVtZU1hYzo6dm9sdW1lU2xp
ZGVyT2Zmc2V0RnJvbU11dGVCdXR0b24oUmVuZGVyQm94KiBtdXRlQnV0dG9uQgogCiBib29sIFJl
bmRlclRoZW1lTWFjOjpzaG91bGRTaG93UGxhY2Vob2xkZXJXaGVuRm9jdXNlZCgpIGNvbnN0CiB7
Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJV
SUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkK
ICAgICByZXR1cm4gdHJ1ZTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9tYWMvRGVmYXVsdERlbGVnYXRlcy9XZWJEZWZhdWx0Q29udGV4dE1lbnVE
ZWxlZ2F0ZS5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL0RlZmF1bHREZWxlZ2F0ZXMvV2ViRGVmYXVs
dENvbnRleHRNZW51RGVsZWdhdGUubW0KaW5kZXggZjRiMzFkZDIwZmJmNTE0OTkzZjY5YzliMWQ5
ZGIzNDAwZTgxOGQ4Yi4uZDNlZmY5MmU5ZDVlN2Q0MzBlMmJhMDJjZDhlYzc3OTFjNjlmNzMzZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvRGVmYXVsdERlbGVnYXRlcy9XZWJEZWZhdWx0
Q29udGV4dE1lbnVEZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9EZWZhdWx0RGVs
ZWdhdGVzL1dlYkRlZmF1bHRDb250ZXh0TWVudURlbGVnYXRlLm1tCkBAIC04OSw3ICs4OSw3IEBA
CiAgICAgICAgICAgICBhY3Rpb24gPSBAc2VsZWN0b3IoX3NlYXJjaFdpdGhTcG90bGlnaHRGcm9t
TWVudTopOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgV2ViTWVudUl0ZW1UYWdT
ZWFyY2hXZWI6IHsKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKQogICAgICAgICAgICAgUmV0YWluUHRyPENGU3RyaW5nUmVmPiBzZWFyY2hQcm92
aWRlck5hbWUoQWRvcHRDRiwgV0tDb3B5RGVmYXVsdFNlYXJjaFByb3ZpZGVyRGlzcGxheU5hbWUo
KSk7CiAgICAgICAgICAgICB0aXRsZSA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OlVJX1NU
UklOR19JTlRFUk5BTCgiU2VhcmNoIHdpdGggJUAiLCAiU2VhcmNoIHdpdGggc2VhcmNoIHByb3Zp
ZGVyIGNvbnRleHQgbWVudSBpdGVtIHdpdGggcHJvdmlkZXIgbmFtZSBpbnNlcnRlZCIpLCBzZWFy
Y2hQcm92aWRlck5hbWUuZ2V0KCldOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL01pc2MvV2ViTlNDb250cm9sRXh0cmFzLm0gYi9Tb3VyY2UvV2ViS2l0L21hYy9NaXNjL1dl
Yk5TQ29udHJvbEV4dHJhcy5tCmluZGV4IDEyOGI3OGIwMTBiYzQ2NjI3ZTcwMTI3YmRmNDIzYzlh
ODE0MGUzZDUuLjZlZGY4NGY2YmIyMGQ5YTAyMzFjMGQ5OTA4OTczNGIzYmE3YjJmMWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL01pc2MvV2ViTlNDb250cm9sRXh0cmFzLm0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvTWlzYy9XZWJOU0NvbnRyb2xFeHRyYXMubQpAQCAtNDYsNyArNDYs
NyBAQCAtICh2b2lkKXNpemVUb0ZpdEFuZEFkanVzdFdpbmRvd0hlaWdodAogICAgIE5TUmVjdCB3
aW5kb3dGcmFtZSA9IFt3aW5kb3cgZnJhbWVdOwogCiAgICAgQ0dGbG9hdCBiYWNraW5nU2NhbGVG
YWN0b3I7Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZp
bmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKICAgICBiYWNraW5nU2NhbGVGYWN0b3IgPSBbd2luZG93IGJhY2tpbmdTY2FsZUZhY3Rv
cl07CiAjZWxzZQogICAgIGJhY2tpbmdTY2FsZUZhY3RvciA9IFt3aW5kb3cgdXNlclNwYWNlU2Nh
bGVGYWN0b3JdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViRWRpdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
RWRpdG9yQ2xpZW50Lm1tCmluZGV4IDhmYzdjOTYyNDExM2I0MWZlYTI4OTZlYjg5MmIyYzllZWUw
MjFiMTQuLmVkODNkYTYwMjNhN2ZkYTRjZTgxNjAyNzA3OGFlNTRmYzRhMDA0OWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQubW0K
QEAgLTc0LDcgKzc0LDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQp
CisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdf
T05fU05PV19MRU9QQVJEKQogQGludGVyZmFjZSBOU1NwZWxsQ2hlY2tlciAoV2ViTlNTcGVsbENo
ZWNrZXJEZXRhaWxzKQogLSAoTlNTdHJpbmcgKilsYW5ndWFnZUZvcldvcmRSYW5nZTooTlNSYW5n
ZSlyYW5nZSBpblN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgb3J0aG9ncmFwaHk6KE5TT3J0aG9n
cmFwaHkgKilvcnRob2dyYXBoeTsKIEBlbmQKQEAgLTY5OCw3ICs2OTgsNyBAQCB2b2lkIFdlYkVk
aXRvckNsaWVudDo6dGV4dERpZENoYW5nZUluVGV4dEFyZWEoRWxlbWVudCogZWxlbWVudCkKIGJv
b2wgV2ViRWRpdG9yQ2xpZW50OjpzaG91bGRFcmFzZU1hcmtlcnNBZnRlckNoYW5nZVNlbGVjdGlv
bihUZXh0Q2hlY2tpbmdUeXBlIHR5cGUpIGNvbnN0CiB7CiAgICAgLy8gVGhpcyBwcmV2ZW50cyBl
cmFzaW5nIHNwZWxsaW5nIG1hcmtlcnMgb24gT1MgWCBMaW9uIG9yIGxhdGVyIHRvIG1hdGNoIEFw
cEtpdCBvbiB0aGVzZSBNYWMgT1MgWCB2ZXJzaW9ucy4KLSNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIHJldHVybiB0eXBlICE9IFRleHRD
aGVja2luZ1R5cGVTcGVsbGluZzsKICNlbHNlCiAgICAgcmV0dXJuIHRydWU7CkBAIC04OTUsNyAr
ODk1LDcgQEAgYm9vbCBXZWJFZGl0b3JDbGllbnQ6OnNwZWxsaW5nVUlJc1Nob3dpbmcoKQogCiB2
b2lkIFdlYkVkaXRvckNsaWVudDo6Z2V0R3Vlc3Nlc0ZvcldvcmQoY29uc3QgU3RyaW5nJiB3b3Jk
LCBjb25zdCBTdHJpbmcmIGNvbnRleHQsIFZlY3RvcjxTdHJpbmc+JiBndWVzc2VzKSB7CiAgICAg
Z3Vlc3Nlcy5jbGVhcigpOwotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkK
KyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19P
Tl9TTk9XX0xFT1BBUkQpCiAgICAgTlNTdHJpbmcqIGxhbmd1YWdlID0gbmlsOwogICAgIE5TT3J0
aG9ncmFwaHkqIG9ydGhvZ3JhcGh5ID0gbmlsOwogICAgIE5TU3BlbGxDaGVja2VyICpjaGVja2Vy
ID0gW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tlcl07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbSBiL1Nv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCmlu
ZGV4IGJhM2FkYjFjMTQ2OWZkOWViNmFmMTQ1ZmY3YjBhOWRkODVlNmFmZjUuLmNhNzhlMzEyYzZi
MjI5ZDIyMzFhZDliZmQ4NWYyZWM3NDMwNTFlYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50Lm1tCkBAIC02Njgs
NyArNjY4LDcgQEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEaWRGaXJzdExh
eW91dCgpCiAgICAgV2ViRHluYW1pY1Njcm9sbEJhcnNWaWV3ICpzY3JvbGxWaWV3ID0gW21fd2Vi
RnJhbWUtPl9wcml2YXRlLT53ZWJGcmFtZVZpZXcgX3Njcm9sbFZpZXddOwogICAgIGlmIChbZ2V0
V2ViVmlldyhtX3dlYkZyYW1lLmdldCgpKSBkcmF3c0JhY2tncm91bmRdKQogICAgICAgICBbc2Ny
b2xsVmlldyBzZXREcmF3c0JhY2tncm91bmQ6WUVTXTsKLSNpZiAhZGVmaW5lZChCVUlMRElOR19P
Tl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIFtzY3JvbGxWaWV3IHNldFZlcnRp
Y2FsU2Nyb2xsRWxhc3RpY2l0eTpOU1Njcm9sbEVsYXN0aWNpdHlBdXRvbWF0aWNdOwogICAgIFtz
Y3JvbGxWaWV3IHNldEhvcml6b250YWxTY3JvbGxFbGFzdGljaXR5Ok5TU2Nyb2xsRWxhc3RpY2l0
eUF1dG9tYXRpY107CiAjZW5kaWYKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHZvaWQgV2ViRnJhbWVM
b2FkZXJDbGllbnQ6OnByb3Zpc2lvbmFsTG9hZFN0YXJ0ZWQoKQogCiAgICAgV2ViRHluYW1pY1Nj
cm9sbEJhcnNWaWV3ICpzY3JvbGxWaWV3ID0gW21fd2ViRnJhbWUtPl9wcml2YXRlLT53ZWJGcmFt
ZVZpZXcgX3Njcm9sbFZpZXddOwogICAgIFtzY3JvbGxWaWV3IHNldERyYXdzQmFja2dyb3VuZDpO
T107Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVk
KEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFS
RCkKICAgICBbc2Nyb2xsVmlldyBzZXRWZXJ0aWNhbFNjcm9sbEVsYXN0aWNpdHk6TlNTY3JvbGxF
bGFzdGljaXR5Tm9uZV07CiAgICAgW3Njcm9sbFZpZXcgc2V0SG9yaXpvbnRhbFNjcm9sbEVsYXN0
aWNpdHk6TlNTY3JvbGxFbGFzdGljaXR5Tm9uZV07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQppbmRleCBh
NTdiZTMyNWEwMDAyNzg3MDE5M2I4MzUyNDJlNTI4MjcxZWZkMTYzLi5kMWYyZjE1ZWU2YWRlYWNh
MmVkMjgxOWU0YTM3NmE1NzM5MjkwNmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KKysrIGIvU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCkBAIC00Myw3ICs0Myw3IEBA
IHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgSU5JVChBZHZhbmNlRGVmYXVsdEJ1dHRvblB1bHNlQW5pbWF0aW9uKTsKLSNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05f
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIElOSVQo
Q0FMYXllckVudW1lcmF0ZVJlY3RzQmVpbmdEcmF3bldpdGhCbG9jayk7CiAjZW5kaWYKICAgICBJ
TklUKENHQ29udGV4dEdldFNob3VsZFNtb290aEZvbnRzKTsKQEAgLTEyNiw3ICsxMjYsNyBAQCB2
b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAKICAgICBJTklUKENyZWF0ZUNU
TGluZVdpdGhVbmlDaGFyUHJvdmlkZXIpOwogCi0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05P
V19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVk
KEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICBJTklUKElPU3VyZmFjZUNvbnRleHRDcmVh
dGUpOwogICAgIElOSVQoSU9TdXJmYWNlQ29udGV4dENyZWF0ZUltYWdlKTsKICAgICBJTklUKENy
ZWF0ZUNUVHlwZXNldHRlcldpdGhVbmlDaGFyUHJvdmlkZXJBbmRPcHRpb25zKTsKQEAgLTE3NCw3
ICsxNzQsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAjaWYgUExB
VEZPUk0oTUFDKQogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgc3RvcCB1c2luZyB0aGlzIGZpbGUg
aW4gQ2hyb21pdW0uCiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisj
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05f
U05PV19MRU9QQVJEKQogICAgIElOSVQoQ3JlYXRlVk1QcmVzc3VyZURpc3BhdGNoT25NYWluUXVl
dWUpOwogI2VuZGlmCiAKQEAgLTE4Myw3ICsxODMsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVt
SW50ZXJmYWNlKHZvaWQpCiAgICAgSU5JVChFeGVjdXRhYmxlV2FzTGlua2VkT25PckJlZm9yZUxp
b24pOwogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisj
aWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05f
U05PV19MRU9QQVJEKQogICAgIElOSVQoQ0dQYXRoQWRkUm91bmRlZFJlY3QpOwogI2VuZGlmCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRHluYW1pY1Njcm9sbEJh
cnNWaWV3Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFy
c1ZpZXcubW0KaW5kZXggZTFmOTdlOTA3MTUxNGViMTkyZmQxNDc1ZTI5YzY2MjVlZGViZjI4ZS4u
ODAxMTA5NDczN2RjZjAyOGQ0NmEyZTg4ZDQ3OGIyMjhlOTFiYjNiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJEeW5hbWljU2Nyb2xsQmFyc1ZpZXcubW0KQEAg
LTUyMiw3ICs1MjIsNyBAQCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY01heFVwZGF0ZVNjcm9sbGJh
cnNQYXNzID0gMjsKICAgICBCT09MIGlzQ29udGludW91czsKICAgICBXS0dldFdoZWVsRXZlbnRE
ZWx0YXMoZXZlbnQsICZkZWx0YVgsICZkZWx0YVksICZpc0NvbnRpbnVvdXMpOwogCi0jaWYgIWRl
ZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09O
X0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICBOU0V2
ZW50UGhhc2UgbW9tZW50dW1QaGFzZSA9IFtldmVudCBtb21lbnR1bVBoYXNlXTsKICAgICBCT09M
IGlzTGF0Y2hpbmdFdmVudCA9IG1vbWVudHVtUGhhc2UgJiBOU0V2ZW50UGhhc2VCZWdhbiB8fCBt
b21lbnR1bVBoYXNlICYgTlNFdmVudFBoYXNlU3RhdGlvbmFyeTsKICNlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGdWxsU2NyZWVuQ29udHJvbGxlci5tbQppbmRl
eCBlNTVlNWZkZWM1MDhjMTU5OWM1MWI2NDcxNzM5YTAwODM4MzQwN2Q3Li5hY2Q2OThhYjRmZDk5
ZmM1MzMwMGVhYWVhN2U0NDM4ZDJmY2Q1ZjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkZ1bGxTY3JlZW5Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYlZpZXcvV2ViRnVsbFNjcmVlbkNvbnRyb2xsZXIubW0KQEAgLTI3MywxNCArMjczLDE0
IEBAIHN0YXRpYyBJbnRSZWN0IHNjcmVlblJlY3RPZkNvbnRlbnRzKEVsZW1lbnQqIGVsZW1lbnQp
CiAgICAgICAgIFdLV2luZG93U2V0Q2xpcFJlY3QoW3NlbGYgd2luZG93XSwgd2luZG93Qm91bmRz
KTsKICAgICAgICAgCiAgICAgICAgIE5TV2luZG93ICp3ZWJXaW5kb3cgPSBbX3dlYlZpZXdQbGFj
ZWhvbGRlci5nZXQoKSB3aW5kb3ddOwotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgICAgIC8vIEluIExpb24sIE5TV2luZG93IHdpbGwg
YW5pbWF0ZSBpbnRvIGFuZCBvdXQgb2Ygb3JkZXJPdXQgb3BlcmF0aW9ucy4gU3VwcHJlc3MgdGhh
dAogICAgICAgICAvLyBiZWhhdmlvciBoZXJlLCBtYWtpbmcgc3VyZSB0byByZXNldCB0aGUgYW5p
bWF0aW9uIGJlaGF2aW9yIGFmdGVyd2FyZC4KICAgICAgICAgTlNXaW5kb3dBbmltYXRpb25CZWhh
dmlvciBhbmltYXRpb25CZWhhdmlvciA9IFt3ZWJXaW5kb3cgYW5pbWF0aW9uQmVoYXZpb3JdOwog
ICAgICAgICBbd2ViV2luZG93IHNldEFuaW1hdGlvbkJlaGF2aW9yOk5TV2luZG93QW5pbWF0aW9u
QmVoYXZpb3JOb25lXTsKICNlbmRpZgogICAgICAgICBbd2ViV2luZG93IG9yZGVyT3V0OnNlbGZd
OwotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKKyNpZiAhZGVmaW5lZChC
VUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQp
CiAgICAgICAgIFt3ZWJXaW5kb3cgc2V0QW5pbWF0aW9uQmVoYXZpb3I6YW5pbWF0aW9uQmVoYXZp
b3JdOwogI2VuZGlmCiAgICAgICAgIApAQCAtMzIzLDcgKzMyMyw3IEBAIHN0YXRpYyBJbnRSZWN0
IHNjcmVlblJlY3RPZkNvbnRlbnRzKEVsZW1lbnQqIGVsZW1lbnQpCiAgICAgW3NlbGYgX3VwZGF0
ZU1lbnVBbmREb2NrRm9yRnVsbFNjcmVlbl07CiAgICAgCiAgICAgTlNXaW5kb3cqIHdlYldpbmRv
dyA9IFtfd2ViVmlld1BsYWNlaG9sZGVyLmdldCgpIHdpbmRvd107Ci0jaWYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQp
ICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAvLyBJbiBMaW9uLCBO
U1dpbmRvdyB3aWxsIGFuaW1hdGUgaW50byBhbmQgb3V0IG9mIG9yZGVyT3V0IG9wZXJhdGlvbnMu
IFN1cHByZXNzIHRoYXQKICAgICAvLyBiZWhhdmlvciBoZXJlLCBtYWtpbmcgc3VyZSB0byByZXNl
dCB0aGUgYW5pbWF0aW9uIGJlaGF2aW9yIGFmdGVyd2FyZC4KICAgICBOU1dpbmRvd0FuaW1hdGlv
bkJlaGF2aW9yIGFuaW1hdGlvbkJlaGF2aW9yID0gW3dlYldpbmRvdyBhbmltYXRpb25CZWhhdmlv
cl07CkBAIC0zMzgsNyArMzM4LDcgQEAgc3RhdGljIEludFJlY3Qgc2NyZWVuUmVjdE9mQ29udGVu
dHMoRWxlbWVudCogZWxlbWVudCkKICAgICAgICAgW3dlYldpbmRvdyBzZXRDb2xsZWN0aW9uQmVo
YXZpb3I6YmVoYXZpb3JdOwogICAgIH0gZWxzZQogICAgICAgICBbd2ViV2luZG93IG9yZGVyV2lu
ZG93Ok5TV2luZG93QmVsb3cgcmVsYXRpdmVUbzpbW3NlbGYgd2luZG93XSB3aW5kb3dOdW1iZXJd
XTsKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQo
QlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJE
KQogICAgIFt3ZWJXaW5kb3cgc2V0QW5pbWF0aW9uQmVoYXZpb3I6YW5pbWF0aW9uQmVoYXZpb3Jd
OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCmluZGV4
IDVhMWNhYjhiZmNlMTE5NDlmMWEyZGEzNTUwNWEzZDg2YzkwNDcyZGUuLmM0MzFmOWIwMjNmZTg1
NTZhMDY4NDZlN2ZiNDcwMjcyOTNhMDVlNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFj
L1dlYlZpZXcvV2ViSFRNTFZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJIVE1MVmlldy5tbQpAQCAtODc1LDcgKzg3NSw3IEBAIHN0YXRpYyBOU1VSTCogdW5pcXVlVVJM
V2l0aFJlbGF0aXZlUGFydChOU1N0cmluZyAqcmVsYXRpdmVQYXJ0KQogICAgIERPTVJhbmdlICpy
YW5nZSA9IFtzZWxmIF9zZWxlY3RlZFJhbmdlXTsKICAgICBGcmFtZSogY29yZUZyYW1lID0gY29y
ZShbc2VsZiBfZnJhbWVdKTsKICAgICAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xF
T1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJ
TERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIERPTURvY3VtZW50RnJhZ21lbnQgKmZyYWdtZW50
ID0gW3NlbGYgX2RvY3VtZW50RnJhZ21lbnRGcm9tUGFzdGVib2FyZDpwYXN0ZWJvYXJkIGluQ29u
dGV4dDpyYW5nZSBhbGxvd1BsYWluVGV4dDphbGxvd1BsYWluVGV4dF07CiAgICAgaWYgKGZyYWdt
ZW50ICYmIFtzZWxmIF9zaG91bGRJbnNlcnRGcmFnbWVudDpmcmFnbWVudCByZXBsYWNpbmdET01S
YW5nZTpyYW5nZSBnaXZlbkFjdGlvbjpXZWJWaWV3SW5zZXJ0QWN0aW9uUGFzdGVkXSkKICAgICAg
ICAgY29yZUZyYW1lLT5lZGl0b3IoKS0+cGFzdGVBc0ZyYWdtZW50KGNvcmUoZnJhZ21lbnQpLCBb
c2VsZiBfY2FuU21hcnRSZXBsYWNlV2l0aFBhc3RlYm9hcmQ6cGFzdGVib2FyZF0sIGZhbHNlKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQppbmRleCAxZWYzOTU4NDRmYmY3ZDdiNDM4
ODFhZmM4Y2Y0NmJlYzc5Yzc0NzhjLi40NWE0Y2Y1ZDBmNTgwOGUwYzI1NDQ2ODlmNWQyNjA5MTcx
MTJiNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCkBAIC0zMDU1LDcgKzMw
NTUsNyBAQCBzdGF0aWMgUGFzc093blB0cjxWZWN0b3I8U3RyaW5nPiA+IHRvU3RyaW5nVmVjdG9y
KE5TQXJyYXkqIHBhdHRlcm5zKQogICAgIGF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJs
ZWQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXSBib29sRm9yS2V5Oldl
YkF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWRdOwogI2VuZGlmCiAKLSNpZiAhZGVm
aW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05f
TEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIGlmICgh
W1tOU1VzZXJEZWZhdWx0cyBzdGFuZGFyZFVzZXJEZWZhdWx0c10gb2JqZWN0Rm9yS2V5OldlYkF1
dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWRdKQogICAgICAgICBhdXRvbWF0aWNUZXh0UmVw
bGFjZW1lbnRFbmFibGVkID0gW05TU3BlbGxDaGVja2VyIGlzQXV0b21hdGljVGV4dFJlcGxhY2Vt
ZW50RW5hYmxlZF07CiAgICAgaWYgKCFbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBvYmplY3RGb3JLZXk6V2ViQXV0b21hdGljU3BlbGxpbmdDb3JyZWN0aW9uRW5hYmxlZF0p
CkBAIC01Njk5LDcgKzU2OTksNyBAQCBzdGF0aWMgV2ViRnJhbWVWaWV3ICpjb250YWluaW5nRnJh
bWVWaWV3KE5TVmlldyAqdmlldykKIAogICAgIE5TV2luZG93ICp3aW5kb3cgPSBbc2VsZiB3aW5k
b3ddOwogICAgIE5TV2luZG93ICpob3N0V2luZG93ID0gW3NlbGYgaG9zdFdpbmRvd107Ci0jaWYg
IWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5H
X09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICBp
ZiAod2luZG93KQogICAgICAgICByZXR1cm4gW3dpbmRvdyBiYWNraW5nU2NhbGVGYWN0b3JdOwog
ICAgIGlmIChob3N0V2luZG93KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL21hYy9XS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLm1tCmluZGV4IGM0YWU5MWYz
MWVlMDIzY2RlZmU5ZmMyNDhmN2QwMDhkNmViNTAyNzUuLmU5NTc5YWI5ZTAzYWI2NGUzN2Q3NDRj
Y2EwZWYxODIwMjQ4MWU1YWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9t
YWMvV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1dLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0KQEAgLTI5NSwxNCAr
Mjk1LDE0IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29w
aWVkRGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgICAgICBXS1dpbmRvd1NldENsaXBS
ZWN0KFtzZWxmIHdpbmRvd10sIHdpbmRvd0JvdW5kcyk7CiAKICAgICAgICAgTlNXaW5kb3cgKndl
YldpbmRvdyA9IFtfd2ViVmlld1BsYWNlaG9sZGVyLmdldCgpIHdpbmRvd107Ci0jaWYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xF
T1BBUkQpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgLy8g
SW4gTGlvbiwgTlNXaW5kb3cgd2lsbCBhbmltYXRlIGludG8gYW5kIG91dCBvZiBvcmRlck91dCBv
cGVyYXRpb25zLiBTdXBwcmVzcyB0aGF0CiAgICAgICAgIC8vIGJlaGF2aW9yIGhlcmUsIG1ha2lu
ZyBzdXJlIHRvIHJlc2V0IHRoZSBhbmltYXRpb24gYmVoYXZpb3IgYWZ0ZXJ3YXJkLgogICAgICAg
ICBOU1dpbmRvd0FuaW1hdGlvbkJlaGF2aW9yIGFuaW1hdGlvbkJlaGF2aW9yID0gW3dlYldpbmRv
dyBhbmltYXRpb25CZWhhdmlvcl07CiAgICAgICAgIFt3ZWJXaW5kb3cgc2V0QW5pbWF0aW9uQmVo
YXZpb3I6TlNXaW5kb3dBbmltYXRpb25CZWhhdmlvck5vbmVdOwogI2VuZGlmCiAgICAgICAgIFt3
ZWJXaW5kb3cgb3JkZXJPdXQ6c2VsZl07Ci0jaWYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19M
RU9QQVJEKQorI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICAgICAgW3dlYldpbmRvdyBzZXRBbmltYXRpb25C
ZWhhdmlvcjphbmltYXRpb25CZWhhdmlvcl07CiAjZW5kaWYKIApAQCAtMzUyLDcgKzM1Miw3IEBA
IHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVkRGF0YShD
R0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgIFtzZWxmIF91cGRhdGVNZW51QW5kRG9ja0ZvckZ1
bGxTY3JlZW5dOwogICAgIAogICAgIE5TV2luZG93KiB3ZWJXaW5kb3cgPSBbX3dlYlZpZXdQbGFj
ZWhvbGRlci5nZXQoKSB3aW5kb3ddOwotI2lmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVP
UEFSRCkKKyNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9MRU9QQVJEKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCiAgICAgLy8gSW4gTGlvbiwgTlNXaW5kb3cgd2lsbCBhbmlt
YXRlIGludG8gYW5kIG91dCBvZiBvcmRlck91dCBvcGVyYXRpb25zLiBTdXBwcmVzcyB0aGF0CiAg
ICAgLy8gYmVoYXZpb3IgaGVyZSwgbWFraW5nIHN1cmUgdG8gcmVzZXQgdGhlIGFuaW1hdGlvbiBi
ZWhhdmlvciBhZnRlcndhcmQuCiAgICAgTlNXaW5kb3dBbmltYXRpb25CZWhhdmlvciBhbmltYXRp
b25CZWhhdmlvciA9IFt3ZWJXaW5kb3cgYW5pbWF0aW9uQmVoYXZpb3JdOwpAQCAtMzY4LDcgKzM2
OCw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gY3JlYXRlSW1hZ2VXaXRoQ29waWVk
RGF0YShDR0ltYWdlUmVmIHNvdXJjZUltYWdlKQogICAgIH0gZWxzZQogICAgICAgICBbd2ViV2lu
ZG93IG9yZGVyV2luZG93Ok5TV2luZG93QmVsb3cgcmVsYXRpdmVUbzpbW3NlbGYgd2luZG93XSB3
aW5kb3dOdW1iZXJdXTsKICAgICAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQogICAgIFt3ZWJXaW5kb3cgc2V0QW5pbWF0aW9uQmVoYXZpb3I6
YW5pbWF0aW9uQmVoYXZpb3JdOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9tYWMvTmV0c2NhcGVTYW5kYm94RnVuY3Rpb25z
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRz
Y2FwZVNhbmRib3hGdW5jdGlvbnMubW0KaW5kZXggZmE2YzlmYWE0ZjEyZjU4ZDFiODM4ZjVlNzE3
OTg2MGYxZmFmY2M0ZS4uNzc1ZTNjYWY2MDJjZTk0ZGI0ZTBmMzc1Nzg2ZTVmZmM2NTE0M2FjNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL21h
Yy9OZXRzY2FwZVNhbmRib3hGdW5jdGlvbnMubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL21hYy9OZXRzY2FwZVNhbmRib3hGdW5jdGlvbnMubW0KQEAg
LTI4LDcgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKSAmJiBFTkFC
TEUoUExVR0lOX1BST0NFU1MpCiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmluZWQoQlVJTERJ
TkdfT05fU05PV19MRU9QQVJEKQogCiAjaW1wb3J0ICJQbHVnaW5Qcm9jZXNzLmgiCiAjaW1wb3J0
ICJOZXRzY2FwZVBsdWdpbk1vZHVsZS5oIgpAQCAtMTkwLDYgKzE5MCw2IEBAIE5QRXJyb3IgV0tO
X0ZpbGVTdG9wQWNjZXNzaW5nKGNvbnN0IGNoYXIqIHBhdGgpCiAgICAgcmV0dXJuIE5QRVJSX05P
X0VSUk9SOwogfQogCi0jZW5kaWYgLy8gIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJE
KQorI2VuZGlmIC8vICFkZWZpbmVkKEJVSUxESU5HX09OX0xFT1BBUkQpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKIAogI2VuZGlmIC8vIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKSAmJiBFTkFCTEUoUExVR0lOX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1J
bnRlcmZhY2UubW0KaW5kZXggMGJiZGE2YjU5NTZlMGU5YTYwY2QwOGQ3ZDBiM2NmNzgxZDY3N2Mz
OS4uOTlmZDFjZDE5ODBiZGU3ZjlmM2M3NGJjNWNmNGQyYzliOWEzOWExOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50
ZXJmYWNlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
bWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQpAQCAtMTY1LDcgKzE2NSw3IEBAIHZvaWQgSW5pdFdl
YkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICAgICAgSU5JVChFeGVjdXRhYmxlV2FzTGlu
a2VkT25PckJlZm9yZUxpb24pOwogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChCVUlMRElOR19PTl9T
Tk9XX0xFT1BBUkQpCisjaWYgIWRlZmluZWQoQlVJTERJTkdfT05fTEVPUEFSRCkgJiYgIWRlZmlu
ZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgICAgICBJTklUKENHUGF0aEFkZFJvdW5k
ZWRSZWN0KTsKICNlbmRpZgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>