<?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>141052</bug_id>
          
          <creation_ts>2015-01-29 14:56:37 -0800</creation_ts>
          <short_desc>Remove more Mountain Lion code from WebKit2</short_desc>
          <delta_ts>2015-01-29 15:20:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1065356</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-01-29 14:56:37 -0800</bug_when>
    <thetext>Remove more Mountain Lion code from WebKit2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065363</commentid>
    <comment_count>1</comment_count>
      <attachid>245655</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-01-29 14:59:36 -0800</bug_when>
    <thetext>Created attachment 245655
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065369</commentid>
    <comment_count>2</comment_count>
      <attachid>245655</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-01-29 15:08:20 -0800</bug_when>
    <thetext>Comment on attachment 245655
Patch

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

&gt; Source/WebKit2/config.h:-73
&gt; -#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090

Shouldn&apos;t this still be in a PLATFORM(MAC)?

&gt; Source/WebKit2/Shared/WebPreferencesDefinitions.h:-41
&gt; -#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090)

Sam conflicted with you here.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:-173
&gt; -#if !PLATFORM(IOS) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090

swap this to PLATFORM(MAC)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1065378</commentid>
    <comment_count>3</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2015-01-29 15:20:39 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 245655 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=245655&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/config.h:-73
&gt; &gt; -#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
&gt; 
&gt; Shouldn&apos;t this still be in a PLATFORM(MAC)?
&gt; 

YES! Good catch.

&gt; &gt; Source/WebKit2/Shared/WebPreferencesDefinitions.h:-41
&gt; &gt; -#if PLATFORM(IOS) || (PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090)
&gt; 
&gt; Sam conflicted with you here.
&gt; 

Resolved now.

&gt; &gt; Source/WebKit2/WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:-173
&gt; &gt; -#if !PLATFORM(IOS) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 1090
&gt; 
&gt; swap this to PLATFORM(MAC)?

Sure. As we discussed on IRC, there are a lot of these, and they suck. But sure, I will fix this one.

http://trac.webkit.org/changeset/179373</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>245655</attachid>
            <date>2015-01-29 14:59:36 -0800</date>
            <delta_ts>2015-01-29 15:08:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-wk2.txt</filename>
            <type>text/plain</type>
            <size>34156</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3OTM2OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDcxIEBACisyMDE1LTAxLTI5ICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgbW9yZSBNb3VudGFpbiBM
aW9uIGNvZGUgZnJvbSBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDEwNTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2VuZEJ1ZmZlck1heWJl
QWJvcnRpbmcpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2Eu
bW06CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVO
ZXR3b3JrUHJvY2Vzc0NvY29hKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29y
a0Rpc2tDYWNoZU1vbml0b3IubW06CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtSZXNvdXJjZUxvYWRlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNl
TG9hZGVyOjp3aWxsQ2FjaGVSZXNwb25zZUFzeW5jKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMv
TWVzc2FnZURlY29kZXIuY3BwOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9NZXNzYWdlRGVjb2Rl
ci5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbToKKyAgICAg
ICAgKElQQzo6Q29ubmVjdGlvblRlcm1pbmF0aW9uV2F0Y2hkb2c6OndhdGNoZG9nVGltZXJGaXJl
ZCk6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246Om9wZW4pOgorICAgICAgICAoSVBDOjpDb25u
ZWN0aW9uOjpyZWNlaXZlU291cmNlRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKElQQzo6Q29ubmVj
dGlvbjo6a2lsbCk6CisgICAgICAgICogUGxhdGZvcm0vSVBDL21hYy9JbXBvcnRhbmNlQXNzZXJ0
aW9uLmg6CisgICAgICAgICogUGx1Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbToK
KyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW1lKToK
KyAgICAgICAgKiBTaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAq
IFNoYXJlZC9tYWMvQ2hpbGRQcm9jZXNzTWFjLm1tOgorICAgICAgICAoV2ViS2l0Ojppbml0aWFs
aXplVGltZXJDb2FsZXNjaW5nUG9saWN5KToKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNz
OjpzZXRBcHBsaWNhdGlvbklzRGFlbW9uKToKKyAgICAgICAgKFdlYktpdDo6Q2hpbGRQcm9jZXNz
OjpwbGF0Zm9ybUluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpDaGlsZFByb2Nlc3M6OnNl
dFFPUyk6CisgICAgICAgICogU2hhcmVkL21hYy9Db29raWVTdG9yYWdlU2hpbS5tbToKKyAgICAg
ICAgKFdlYktpdDo6Q29va2llU3RvcmFnZVNoaW06OmluaXRpYWxpemUpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IGFkZFdpbmRvd09i
c2VydmVyc0ZvcldpbmRvdzpdKToKKyAgICAgICAgKC1bV0tWaWV3IHJlbW92ZVdpbmRvd09ic2Vy
dmVyc10pOgorICAgICAgICAoLVtXS1ZpZXcgX3dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRl
Ol0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW06CisgICAg
ICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2Ev
V2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6cmVnaXN0ZXJVc2VyRGVm
YXVsdHNJZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9y
bUluaXRpYWxpemVXZWJQcm9jZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6
OnJlZ2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzc1Bvb2w6OnVucmVnaXN0ZXJOb3RpZmljYXRpb25PYnNlcnZlcnMpOgorICAgICAgICAoV2Vi
S2l0Ojpwcml2YXRlQnJvd3NpbmdTZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c1Bvb2w6OmlzVVJMS25vd25IU1RTSG9zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQ
b29sOjpyZXNldEhTVFNIb3N0cyk6CisgICAgICAgICogVUlQcm9jZXNzL0RhdGFiYXNlcy9tYWMv
RGF0YWJhc2VQcm9jZXNzUHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OnNob3VsZFVzZVhQ
Qyk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpblByb2Nlc3NQcm94eU1h
Yy5tbToKKyAgICAgICAgKFdlYktpdDo6c2hvdWxkVXNlWFBDKToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1RleHRDaGVja2Vy
TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpzaG91bGRBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlv
bkJlRW5hYmxlZCk6CisgICAgICAgIChXZWJLaXQ6OnNob3VsZEF1dG9tYXRpY0Rhc2hTdWJzdGl0
dXRpb25CZUVuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpUZXh0Q2hlY2tlcjo6ZGlkQ2hhbmdl
QXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKToKKyAgICAgICAgKFdlYktpdDo6VGV4
dENoZWNrZXI6OmRpZENoYW5nZUF1dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6Vmlld0dlc3R1cmVDb250cm9sbGVyOjphcHBseURlYnVnZ2luZ1Byb3BlcnRp
ZXNUb1N3aXBlVmlld3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvV2ViUHJvY2Vzc1Byb3h5
TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpzaG91bGRVc2VYUEMpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbToKKyAgICAgICAg
KEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6dXBkYXRl
QWN0aXZlUGFnZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvY29tLmFwcGxlLldlYlByb2Nlc3Mu
c2IuaW46CisgICAgICAgICogY29uZmlnLmg6CisKIDIwMTUtMDEtMjkgIFNhbSBXZWluaWcgIDxz
YW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgc3VwcG9ydCBmb3Igc2NyZWVuIGZvbnQg
c3Vic3RpdHV0aW9uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9jb25maWcuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0Mi9jb25maWcuaAkocmV2aXNpb24gMTc5MzY0KQorKysgU291cmNlL1dl
YktpdDIvY29uZmlnLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDEwICs3MCw4IEBACiAjZW5kaWYK
IAogI2lmbmRlZiBIQVZFX1dJTkRPV19TRVJWRVJfT0NDTFVTSU9OX05PVElGSUNBVElPTlMKLSNp
ZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5
MAogI2RlZmluZSBIQVZFX1dJTkRPV19TRVJWRVJfT0NDTFVTSU9OX05PVElGSUNBVElPTlMgMQog
I2VuZGlmCi0jZW5kaWYKIAogI2lmbmRlZiBIQVZFX1NFQ19BQ0NFU1NfQ09OVFJPTAogI2lmIFBM
QVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEwMDApCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAJKHJldmlzaW9uIDE3OTM2NCkK
KysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUyMiw3ICs1MjIsNyBAQCBib29sIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6c2VuZEJ1ZmZlck1hCiB7CiAgICAgQVNTRVJUKCFpc1N5bmNocm9ub3VzKCkpOwog
Ci0jaWYgUExBVEZPUk0oSU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEwOTApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgU2hhcmVh
YmxlUmVzb3VyY2U6OkhhbmRsZSBzaGFyZWFibGVSZXNvdXJjZUhhbmRsZTsKICAgICBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OnRyeUdldFNoYXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIoc2hh
cmVhYmxlUmVzb3VyY2VIYW5kbGUsIGJ1ZmZlcik7CiAgICAgaWYgKCFzaGFyZWFibGVSZXNvdXJj
ZUhhbmRsZS5pc051bGwoKSkgewpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Jlc291cmNlTG9hZGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmgJKHJldmlzaW9uIDE3OTM2NCkKKysr
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICAvLyBNZXNzYWdlIGhh
bmRsZXJzLgogICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwogCi0jaWYgUExBVEZPUk0o
SU9TKSB8fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDEwOTApCisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc3RhdGljIHZvaWQgdHJ5R2V0U2hh
cmVhYmxlSGFuZGxlRnJvbUNGVVJMQ2FjaGVkUmVzcG9uc2UoU2hhcmVhYmxlUmVzb3VyY2U6Okhh
bmRsZSYsIENGQ2FjaGVkVVJMUmVzcG9uc2VSZWYpOwogICAgIHN0YXRpYyB2b2lkIHRyeUdldFNo
YXJlYWJsZUhhbmRsZUZyb21TaGFyZWRCdWZmZXIoU2hhcmVhYmxlUmVzb3VyY2U6OkhhbmRsZSYs
IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYpOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrUHJvY2Vzc0NvY29hLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2NvY29hL05ldHdvcmtQcm9jZXNzQ29jb2Eu
bW0JKHJldmlzaW9uIDE3OTM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL2Nv
Y29hL05ldHdvcmtQcm9jZXNzQ29jb2EubW0JKHdvcmtpbmcgY29weSkKQEAgLTgzLDEzICs4Mywx
MSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOCiAjZW5kaWYKICAg
ICB9CiAKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTA5MAogICAgIFJldGFpblB0cjxDRlVSTENhY2hlUmVmPiBjYWNoZSA9IGFkb3B0Q0Yo
Q0ZVUkxDYWNoZUNvcHlTaGFyZWRVUkxDYWNoZSgpKTsKICAgICBpZiAoIWNhY2hlKQogICAgICAg
ICByZXR1cm47CiAKICAgICBfQ0ZVUkxDYWNoZVNldE1pblNpemVGb3JWTUNhY2hlZFJlc291cmNl
KGNhY2hlLmdldCgpLCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmZpbGVCYWNrZWRSZXNvdXJjZU1p
bmltdW1TaXplKCkpOwotI2VuZGlmCiB9CiAKIHN0YXRpYyB1aW50NjRfdCBtZW1vcnlTaXplKCkK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrRGlza0NhY2hl
TW9uaXRvci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9t
YWMvTmV0d29ya0Rpc2tDYWNoZU1vbml0b3IubW0JKHJldmlzaW9uIDE3OTM2NCkKKysrIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrRGlza0NhY2hlTW9uaXRvci5tbQko
d29ya2luZyBjb3B5KQpAQCAtMzIsOCArMzIsNiBAQAogI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0NGTmV0d29ya1NQSS5oPgogCi0jaWYgKFBMQVRG
T1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gODAwMDApIHx8
IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5
MCkKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAt
NzUsNSArNzMsMyBAQCB1aW50NjRfdCBOZXR3b3JrRGlza0NhY2hlTW9uaXRvcjo6bWVzc2FnCiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VMb2FkZXJNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxv
YWRlck1hYy5tbQkocmV2aXNpb24gMTc5MzY0KQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MzgsOCArMzgsNiBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTA5MAotCiBzdGF0aWMgdm9pZCB0cnlHZXRTaGFyZWFibGVIYW5kbGVGcm9tQ0ZEYXRh
KFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmRsZSwgQ0ZEYXRhUmVmIGRhdGEpCiB7CiAg
ICAgUmVmUHRyPFNoYXJlZE1lbW9yeT4gc2hhcmVkTWVtb3J5ID0gU2hhcmVkTWVtb3J5OjpjcmVh
dGVGcm9tVk1CdWZmZXIoKHZvaWQqKUNGRGF0YUdldEJ5dGVQdHIoZGF0YSksIENGRGF0YUdldExl
bmd0aChkYXRhKSk7CkBAIC03OSw4ICs3Nyw2IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
Ojp0cnlHZXRTaGFyZWEKICAgICB0cnlHZXRTaGFyZWFibGVIYW5kbGVGcm9tQ0ZEYXRhKGhhbmRs
ZSwgZGF0YSk7CiB9CiAKLSNlbmRpZiAvLyBJT1MgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDkwCi0KIHNpemVfdCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmZpbGVCYWNr
ZWRSZXNvdXJjZU1pbmltdW1TaXplKCkKIHsKICAgICByZXR1cm4gU2hhcmVkTWVtb3J5OjpzeXN0
ZW1QYWdlU2l6ZSgpOwpAQCAtMTA0LDEwICsxMDAsOCBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6d2lsbENhY2hlUmVzCiB7CiAgICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9
PSBtX2hhbmRsZSk7CiAKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTA5MAogICAgIGlmIChtX2J5dGVzUmVjZWl2ZWQgPj0gZmlsZUJhY2tl
ZFJlc291cmNlTWluaW11bVNpemUoKSkKICAgICAgICAgTmV0d29ya0Rpc2tDYWNoZU1vbml0b3I6
Om1vbml0b3JGaWxlQmFja2luZ1N0b3JlQ3JlYXRpb24oW25zUmVzcG9uc2UgX0NGQ2FjaGVkVVJM
UmVzcG9uc2VdLCB0aGlzKTsKLSNlbmRpZgogCiAgICAgbV9oYW5kbGUtPmNvbnRpbnVlV2lsbENh
Y2hlUmVzcG9uc2UobnNSZXNwb25zZSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvTWVzc2FnZURlY29kZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9NZXNzYWdlRGVjb2Rlci5jcHAJKHJldmlzaW9uIDE3OTM2NCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlRGVjb2Rlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJNZXNzYWdlRmxhZ3MuaCIKICNpbmNsdWRlICJT
dHJpbmdSZWZlcmVuY2UuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgIklt
cG9ydGFuY2VBc3NlcnRpb24uaCIKICNlbmRpZgogCkBAIC03MCw3ICs3MCw3IEBAIGJvb2wgTWVz
c2FnZURlY29kZXI6OnNob3VsZERpc3BhdGNoTWVzc2EKICAgICByZXR1cm4gbV9tZXNzYWdlRmxh
Z3MgJiBEaXNwYXRjaE1lc3NhZ2VXaGVuV2FpdGluZ0ZvclN5bmNSZXBseTsKIH0KIAotI2lmIFBM
QVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisj
aWYgUExBVEZPUk0oTUFDKQogdm9pZCBNZXNzYWdlRGVjb2Rlcjo6c2V0SW1wb3J0YW5jZUFzc2Vy
dGlvbihzdGQ6OnVuaXF1ZV9wdHI8SW1wb3J0YW5jZUFzc2VydGlvbj4gYXNzZXJ0aW9uKQogewog
ICAgIG1faW1wb3J0YW5jZUFzc2VydGlvbiA9IFdURjo6bW92ZShhc3NlcnRpb24pOwpJbmRleDog
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VEZWNvZGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL01lc3NhZ2VEZWNvZGVyLmgJKHJldmlzaW9u
IDE3OTM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9NZXNzYWdlRGVjb2Rlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzU3lu
Y01lc3NhZ2UoKSBjb25zdDsKICAgICBib29sIHNob3VsZERpc3BhdGNoTWVzc2FnZVdoZW5XYWl0
aW5nRm9yU3luY1JlcGx5KCkgY29uc3Q7CiAKLSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09T
X1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorI2lmIFBMQVRGT1JNKE1BQykKICAgICB2
b2lkIHNldEltcG9ydGFuY2VBc3NlcnRpb24oc3RkOjp1bmlxdWVfcHRyPEltcG9ydGFuY2VBc3Nl
cnRpb24+KTsKICNlbmRpZgogCkBAIC03Myw3ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgc3RkOjp1
bmlxdWVfcHRyPE1lc3NhZ2VSZWNvcmRlcjo6TWVzc2FnZVByb2Nlc3NpbmdUb2tlbj4gbV9wcm9j
ZXNzaW5nVG9rZW47CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisjaWYgUExBVEZPUk0oTUFDKQogICAgIHN0ZDo6
dW5pcXVlX3B0cjxJbXBvcnRhbmNlQXNzZXJ0aW9uPiBtX2ltcG9ydGFuY2VBc3NlcnRpb247CiAj
ZW5kaWYKIH07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rp
b25NYWMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9D
b25uZWN0aW9uTWFjLm1tCShyZXZpc2lvbiAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTg3LDkgKzg3
LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICB2b2lkIHdhdGNoZG9nVGltZXJGaXJlZCgpCiAgICAg
ewotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwKQogICAgICAgICB4cGNfY29ubmVjdGlvbl9raWxsKG1f
eHBjQ29ubmVjdGlvbi5nZXQoKSwgU0lHS0lMTCk7Ci0jZW5kaWYKICAgICAgICAgZGVsZXRlIHRo
aXM7CiAgICAgfQogCkBAIC0xODgsNyArMTg2LDcgQEAgYm9vbCBDb25uZWN0aW9uOjpvcGVuKCkK
IAogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEwMDAKICAgICAgICAgbWFjaF9wb3J0X3NldF9hdHRyaWJ1dGVzKG1hY2hfdGFza19zZWxm
KCksIG1fcmVjZWl2ZVBvcnQsIE1BQ0hfUE9SVF9ERU5BUF9SRUNFSVZFUiwgKG1hY2hfcG9ydF9p
bmZvX3QpMCwgMCk7Ci0jZWxpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTA5MAorI2VsaWYgUExBVEZPUk0oTUFDKQogICAgICAgICBtYWNoX3Bv
cnRfc2V0X2F0dHJpYnV0ZXMobWFjaF90YXNrX3NlbGYoKSwgbV9yZWNlaXZlUG9ydCwgTUFDSF9Q
T1JUX0lNUE9SVEFOQ0VfUkVDRUlWRVIsIChtYWNoX3BvcnRfaW5mb190KTAsIDApOwogI2VuZGlm
CiAKQEAgLTQ3NSw3ICs0NzMsNyBAQCB2b2lkIENvbm5lY3Rpb246OnJlY2VpdmVTb3VyY2VFdmVu
dEhhbmRsCiAgICAgc3RkOjp1bmlxdWVfcHRyPE1lc3NhZ2VEZWNvZGVyPiBkZWNvZGVyID0gY3Jl
YXRlTWVzc2FnZURlY29kZXIoaGVhZGVyKTsKICAgICBBU1NFUlQoZGVjb2Rlcik7CiAKLSNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAor
I2lmIFBMQVRGT1JNKE1BQykKICAgICBkZWNvZGVyLT5zZXRJbXBvcnRhbmNlQXNzZXJ0aW9uKHN0
ZDo6bWFrZV91bmlxdWU8SW1wb3J0YW5jZUFzc2VydGlvbj4oaGVhZGVyKSk7CiAjZW5kaWYKIApA
QCAtNTg1LDEyICs1ODMsMTAgQEAgYm9vbCBDb25uZWN0aW9uOjpnZXRBdWRpdFRva2VuKGF1ZGl0
X3RvawogCiBib29sIENvbm5lY3Rpb246OmtpbGwoKQogewotI2lmIFBMQVRGT1JNKElPUykgfHwg
KFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkw
KQogICAgIGlmIChtX3hwY0Nvbm5lY3Rpb24pIHsKICAgICAgICAgeHBjX2Nvbm5lY3Rpb25fa2ls
bChtX3hwY0Nvbm5lY3Rpb24uZ2V0KCksIFNJR0tJTEwpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICB9Ci0jZW5kaWYKIAogICAgIHJldHVybiBmYWxzZTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL0lQQy9tYWMvSW1wb3J0YW5jZUFzc2VydGlvbi5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvSW1wb3J0YW5jZUFzc2VydGlvbi5oCShy
ZXZpc2lvbiAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0ltcG9y
dGFuY2VBc3NlcnRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYsNyBAQAogI2lmbmRl
ZiBJbXBvcnRhbmNlQXNzZXJ0aW9uX2gKICNkZWZpbmUgSW1wb3J0YW5jZUFzc2VydGlvbl9oCiAK
LSNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTA5MAorI2lmIFBMQVRGT1JNKE1BQykKIAogI2lmIF9faGFzX2luY2x1ZGUoPGxpYnByb2NfaW50
ZXJuYWwuaD4pCiAjaW5jbHVkZSA8bGlicHJvY19pbnRlcm5hbC5oPgpAQCAtNzEsNiArNzEsNiBA
QCBwcml2YXRlOgogCiB9CiAKLSNlbmRpZiAvLyBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hf
VkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAog
I2VuZGlmIC8vIEltcG9ydGFuY2VBc3NlcnRpb25faApJbmRleDogU291cmNlL1dlYktpdDIvUGx1
Z2luUHJvY2Vzcy9tYWMvUGx1Z2luUHJvY2Vzc01hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNzTWFjLm1tCShyZXZpc2lvbiAx
NzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL21hYy9QbHVnaW5Qcm9jZXNz
TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NDksMTAgKzQ0OSw4IEBAIHZvaWQgUGx1Z2luUHJv
Y2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3NOYW0KIHsKICAgICBOU1N0cmluZyAqYXBwbGljYXRpb25O
YW1lID0gW05TU3RyaW5nIHN0cmluZ1dpdGhGb3JtYXQ6V0VCX1VJX1NUUklORygiJUAgKCVAIElu
dGVybmV0IHBsdWctaW4pIiwgInZpc2libGUgbmFtZSBvZiB0aGUgcGx1Zy1pbiBob3N0IHByb2Nl
c3MuIFRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUgcGx1Zy1pbiBuYW1lIGFuZCB0aGUgc2Vjb25k
IGFyZ3VtZW50IGlzIHRoZSBhcHBsaWNhdGlvbiBuYW1lLiIpLCBbWyhOU1N0cmluZyAqKW1fcGx1
Z2luUGF0aCBsYXN0UGF0aENvbXBvbmVudF0gc3RyaW5nQnlEZWxldGluZ1BhdGhFeHRlbnNpb25d
LCAoTlNTdHJpbmcgKilwYXJhbWV0ZXJzLnVpUHJvY2Vzc05hbWVdOwogICAgIFdLU2V0VmlzaWJs
ZUFwcGxpY2F0aW9uTmFtZSgoQ0ZTdHJpbmdSZWYpYXBwbGljYXRpb25OYW1lKTsKLSNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBpZiAoIW1fcGx1Z2luQnVu
ZGxlSWRlbnRpZmllci5pc0VtcHR5KCkpCiAgICAgICAgIFdLU2V0QXBwbGljYXRpb25JbmZvcm1h
dGlvbkl0ZW0oa0xTUGx1Z0luQnVuZGxlSWRlbnRpZmllcktleSwgbV9wbHVnaW5CdW5kbGVJZGVu
dGlmaWVyLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwotI2VuZGlmCiB9CiAKIHZvaWQgUGx1Z2lu
UHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QgQ2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRp
b25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBTYW5kYm94SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJz
JiBzYW5kYm94UGFyYW1ldGVycykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAkocmV2aXNpb24gMTc5MzY0KQorKysgU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAkod29ya2luZyBjb3B5
KQpAQCAtMzgsMjAgKzM4LDE2IEBACiAjZGVmaW5lIERFRkFVTFRfV0VCS0lUX1NDUk9MTF9BTklN
QVRPUl9FTkFCTEVEIGZhbHNlCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKElPUykgfHwgKFBMQVRG
T1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwKQotI2Rl
ZmluZSBERUZBVUxUX1NDUkVFTl9GT05UX1NVQlNUSVRVVElPTl9FTkFCTEVEIGZhbHNlCi0jZWxz
ZQotI2RlZmluZSBERUZBVUxUX1NDUkVFTl9GT05UX1NVQlNUSVRVVElPTl9FTkFCTEVEIHRydWUK
LSNlbmRpZgotCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjZGVmaW5lIERFRkFVTFRfSElEREVOX1BB
R0VfRE9NX1RJTUVSX1RIUk9UVExJTkdfRU5BQkxFRCB0cnVlCiAjZGVmaW5lIERFRkFVTFRfSElE
REVOX1BBR0VfQ1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQgdHJ1ZQogI2RlZmluZSBE
RUZBVUxUX1BERlBMVUdJTl9FTkFCTEVEIHRydWUKKyNkZWZpbmUgREVGQVVMVF9TQ1JFRU5fRk9O
VF9TVUJTVElUVVRJT05fRU5BQkxFRCBmYWxzZQogI2Vsc2UKICNkZWZpbmUgREVGQVVMVF9ISURE
RU5fUEFHRV9ET01fVElNRVJfVEhST1RUTElOR19FTkFCTEVEIGZhbHNlCiAjZGVmaW5lIERFRkFV
TFRfSElEREVOX1BBR0VfQ1NTX0FOSU1BVElPTl9TVVNQRU5TSU9OX0VOQUJMRUQgZmFsc2UKICNk
ZWZpbmUgREVGQVVMVF9QREZQTFVHSU5fRU5BQkxFRCBmYWxzZQorI2RlZmluZSBERUZBVUxUX1ND
UkVFTl9GT05UX1NVQlNUSVRVVElPTl9FTkFCTEVEIHRydWUKICNlbmRpZgogCiAjaWYgUExBVEZP
Uk0oSU9TKQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NNYWMu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9DaGlsZFByb2Nlc3NN
YWMubW0JKHJldmlzaW9uIDE3OTM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ2hp
bGRQcm9jZXNzTWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMSArNTEsOSBAQCBleHRlcm4g
IkMiIGludCBzYW5kYm94X2luaXRfd2l0aF9wYXJhbWV0CiAjZW5kaWYKICNlbmRpZgogCi0jaWYg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiB0eXBlZGVmIGJvb2wgKF5M
U1NlcnZlckNvbm5lY3Rpb25BbGxvd2VkQmxvY2spICggQ0ZEaWN0aW9uYXJ5UmVmIG9wdGlvbnNS
ZWYgKTsKIGV4dGVybiAiQyIgdm9pZCBfTFNTZXRBcHBsaWNhdGlvbkxhdW5jaFNlcnZpY2VzU2Vy
dmVyQ29ubmVjdGlvblN0YXR1cyh1aW50NjRfdCBmbGFncywgTFNTZXJ2ZXJDb25uZWN0aW9uQWxs
b3dlZEJsb2NrIGJsb2NrKTsKIGV4dGVybiAiQyIgQ0ZEaWN0aW9uYXJ5UmVmIF9MU0FwcGxpY2F0
aW9uQ2hlY2tJbihpbnQgc2Vzc2lvbklELCBDRkRpY3Rpb25hcnlSZWYgYXBwbGljYXRpb25JbmZv
KTsKLSNlbmRpZgogCiBleHRlcm4gIkMiIE9TU3RhdHVzIFNldEFwcGxpY2F0aW9uSXNEYWVtb24o
Qm9vbGVhbiBpc0RhZW1vbik7CiAKQEAgLTYzLDcgKzYxLDYgQEAgdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA+PSAxMDkwCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplVGltZXJDb2FsZXNjaW5n
UG9saWN5KCkKIHsKICAgICAvLyBTZXQgdGFza19sYXRlbmN5IGFuZCB0YXNrX3Rocm91Z2hwdXQg
UU9TIHRpZXJzIGFzIGFwcHJvcHJpYXRlIGZvciBhIHZpc2libGUgYXBwbGljYXRpb24uCkBAIC03
MSwyNSArNjgsMTkgQEAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRpbWVyQ29hbGVzY2luZ1BvbAog
ICAgIGtlcm5fcmV0dXJuX3Qga3IgPSB0YXNrX3BvbGljeV9zZXQobWFjaF90YXNrX3NlbGYoKSwg
VEFTS19CQVNFX1FPU19QT0xJQ1ksICh0YXNrX3BvbGljeV90KSZxb3NpbmZvLCBUQVNLX1FPU19Q
T0xJQ1lfQ09VTlQpOwogICAgIEFTU0VSVF9VTlVTRUQoa3IsIGtyID09IEtFUk5fU1VDQ0VTUyk7
CiB9Ci0jZW5kaWYKIAogdm9pZCBDaGlsZFByb2Nlc3M6OnNldEFwcGxpY2F0aW9uSXNEYWVtb24o
KQogewogICAgIE9TU3RhdHVzIGVycm9yID0gU2V0QXBwbGljYXRpb25Jc0RhZW1vbih0cnVlKTsK
ICAgICBBU1NFUlRfVU5VU0VEKGVycm9yLCBlcnJvciA9PSBub0Vycik7CiAKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBfTFNTZXRBcHBsaWNhdGlvbkxh
dW5jaFNlcnZpY2VzU2VydmVyQ29ubmVjdGlvblN0YXR1cygwLCAwKTsKICAgICBSZXRhaW5QdHI8
Q0ZEaWN0aW9uYXJ5UmVmPiB1bnVzZWQgPSBfTFNBcHBsaWNhdGlvbkNoZWNrSW4oLTIsIENGQnVu
ZGxlR2V0SW5mb0RpY3Rpb25hcnkoQ0ZCdW5kbGVHZXRNYWluQnVuZGxlKCkpKTsKLSNlbmRpZgog
fQogCiB2b2lkIENoaWxkUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHsKLSNpZiBfX01B
Q19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBpbml0aWFsaXplVGltZXJD
b2FsZXNjaW5nUG9saWN5KCk7Ci0jZW5kaWYKLQogICAgIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0
TWFuYWdlcl0gY2hhbmdlQ3VycmVudERpcmVjdG9yeVBhdGg6W1tOU0J1bmRsZSBtYWluQnVuZGxl
XSBidW5kbGVQYXRoXV07CiB9CiAKQEAgLTE5Nyw3ICsxODgsNiBAQCB2b2lkIENoaWxkUHJvY2Vz
czo6c3RvcE5TQXBwUnVuTG9vcCgpCiAKIHZvaWQgQ2hpbGRQcm9jZXNzOjpzZXRRT1MoaW50IGxh
dGVuY3lRT1MsIGludCB0aHJvdWdocHV0UU9TKQogewotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9N
SU5fUkVRVUlSRUQgPj0gMTA5MAogICAgIGlmICghbGF0ZW5jeVFPUyAmJiAhdGhyb3VnaHB1dFFP
UykKICAgICAgICAgcmV0dXJuOwogCkBAIC0yMDcsMTAgKzE5Nyw2IEBAIHZvaWQgQ2hpbGRQcm9j
ZXNzOjpzZXRRT1MoaW50IGxhdGVuY3lRT1MKICAgICB9OwogCiAgICAgdGFza19wb2xpY3lfc2V0
KG1hY2hfdGFza19zZWxmKCksIFRBU0tfT1ZFUlJJREVfUU9TX1BPTElDWSwgKHRhc2tfcG9saWN5
X3QpJnFvc2luZm8sIFRBU0tfUU9TX1BPTElDWV9DT1VOVCk7Ci0jZWxzZQotICAgIFVOVVNFRF9Q
QVJBTShsYXRlbmN5UU9TKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3VnaHB1dFFPUyk7Ci0jZW5k
aWYKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL0Nvb2tpZVN0b3JhZ2VTaGltLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvQ29va2llU3RvcmFnZVNoaW0ubW0JKHJldmlzaW9uIDE3OTM2NCkKKysrIFNv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQ29va2llU3RvcmFnZVNoaW0ubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTUyLDkgKzUyLDcgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEBpbnRlcmZh
Y2UgV0tOU1VSTFNlc3Npb25Mb2NhbCA6IE5TT2JqZWN0CiAtIChDRkRpY3Rpb25hcnlSZWYpIF9j
b3B5Q29va2llc0ZvclJlcXVlc3RVc2luZ0FsbEFwcHJvcHJpYXRlU3RvcmFnZVNlbWFudGljczoo
Q0ZVUkxSZXF1ZXN0UmVmKSByZXF1ZXN0OwotI2lmIFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAtICh2b2lkKV9nZXRDb29raWVIZWFkZXJz
Rm9yVGFzazooTlNVUkxTZXNzaW9uVGFzayopdGFzayBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoQ0ZEaWN0aW9uYXJ5UmVmKSljb21wbGV0aW9uSGFuZGxlcjsKLSNlbmRpZgogQGVuZAogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKQEAgLTk4LDEzICs5NiwxMSBAQCB2b2lkIENvb2tpZVN0b3JhZ2VT
aGltOjppbml0aWFsaXplKCkKICAgICAgICAgbWV0aG9kX2V4Y2hhbmdlSW1wbGVtZW50YXRpb25z
KG9yaWdpbmFsLCByZXBsYWNlbWVudCk7CiAgICAgfQogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBpZiAoTWV0aG9kIG9y
aWdpbmFsID0gY2xhc3NfZ2V0SW5zdGFuY2VNZXRob2QoX19OU1VSTFNlc3Npb25Mb2NhbENsYXNz
LCBAc2VsZWN0b3IoX2dldENvb2tpZUhlYWRlcnNGb3JUYXNrOmNvbXBsZXRpb25IYW5kbGVyOikp
KSB7CiAgICAgICAgIE1ldGhvZCByZXBsYWNlbWVudCA9IGNsYXNzX2dldEluc3RhbmNlTWV0aG9k
KFtXS05TVVJMU2Vzc2lvbkxvY2FsIGNsYXNzXSwgQHNlbGVjdG9yKF9nZXRDb29raWVIZWFkZXJz
Rm9yVGFzazpjb21wbGV0aW9uSGFuZGxlcjopKTsKICAgICAgICAgQVNTRVJUKHJlcGxhY2VtZW50
KTsKICAgICAgICAgbWV0aG9kX2V4Y2hhbmdlSW1wbGVtZW50YXRpb25zKG9yaWdpbmFsLCByZXBs
YWNlbWVudCk7CiAgICAgfQotI2VuZGlmCiB9CiAKIH0KQEAgLTExNSw3ICsxMTEsNiBAQCAtIChD
RkRpY3Rpb25hcnlSZWYpX2NvcHlDb29raWVzRm9yUmVxdWVzCiAgICAgcmV0dXJuIFdlYktpdDo6
d2ViS2l0Q29va2llU3RvcmFnZUNvcHlSZXF1ZXN0SGVhZGVyRmllbGRzRm9yVVJMKG51bGxwdHIs
IENGVVJMUmVxdWVzdEdldFVSTChyZXF1ZXN0KSk7CiB9CiAKLSNpZiBQTEFURk9STShJT1MpIHx8
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAogdXNpbmcgQ29tcGxldGlv
bkhhbmRsZXJCbG9jayA9IHZvaWQoXikoQ0ZEaWN0aW9uYXJ5UmVmKTsKIC0gKHZvaWQpX2dldENv
b2tpZUhlYWRlcnNGb3JUYXNrOihOU1VSTFNlc3Npb25UYXNrKil0YXNrIGNvbXBsZXRpb25IYW5k
bGVyOihDb21wbGV0aW9uSGFuZGxlckJsb2NrKWNvbXBsZXRpb25IYW5kbGVyCiB7CkBAIC0xMjks
NyArMTI0LDcgQEAgLSAodm9pZClfZ2V0Q29va2llSGVhZGVyc0ZvclRhc2s6KE5TVVJMUwogICAg
ICAgICBbY29tcGxldGlvbkhhbmRsZXJDb3B5IHJlbGVhc2VdOwogICAgIH0pOwogfQotI2VuZGlm
CisKIEBlbmQKIAogI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMTc5MzY0KQor
KysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ4OSwxMSArNDg5LDkgQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+
IG1fZW5oYW5jZWRBY2Nlc3NpYmlsaXR5T2JzZXJ2ZXI7CiAgICAgUmV0YWluUHRyPE5TT2JqZWN0
PiBtX2F1dG9tYXRpY1RleHRSZXBsYWNlbWVudE5vdGlmaWNhdGlvbk9ic2VydmVyOwogICAgIFJl
dGFpblB0cjxOU09iamVjdD4gbV9hdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25Ob3RpZmljYXRp
b25PYnNlcnZlcjsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAK
ICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fYXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3Rp
ZmljYXRpb25PYnNlcnZlcjsKICAgICBSZXRhaW5QdHI8TlNPYmplY3Q+IG1fYXV0b21hdGljRGFz
aFN1YnN0aXR1dGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyOwogI2VuZGlmCi0jZW5kaWYKIAogICAg
IFN0cmluZyBtX292ZXJyaWRlQXBwbGljYXRpb25DYWNoZURpcmVjdG9yeTsKICAgICBTdHJpbmcg
bV9vdmVycmlkZUljb25EYXRhYmFzZVBhdGg7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9XS1ZpZXcubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCShyZXZpc2lvbiAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0JKHdvcmtpbmcgY29weSkKQEAgLTI0ODcsMTAg
KzI0ODcsOCBAQCAtICh2b2lkKWFkZFdpbmRvd09ic2VydmVyc0ZvcldpbmRvdzooTlNXCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6TlNX
aW5kb3dEaWRDaGFuZ2VTY3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAgICAgICAg
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXI6c2VsZiBz
ZWxlY3RvcjpAc2VsZWN0b3IoX3dpbmRvd0RpZENoYW5nZUxheWVySG9zdGluZzopCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6QCJfTlNX
aW5kb3dEaWRDaGFuZ2VDb250ZW50c0hvc3RlZEluTGF5ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBv
YmplY3Q6d2luZG93XTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
OTAKICAgICAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBhZGRPYnNl
cnZlcjpzZWxmIHNlbGVjdG9yOkBzZWxlY3Rvcihfd2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3Rh
dGU6KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBuYW1lOk5TV2luZG93RGlkQ2hhbmdlT2NjbHVzaW9uU3RhdGVOb3RpZmljYXRpb24gb2JqZWN0
OndpbmRvd107Ci0jZW5kaWYKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEwMTAwMAogICAgICAgICBbd2luZG93IGFkZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAImNv
bnRlbnRMYXlvdXRSZWN0IiBvcHRpb25zOk5TS2V5VmFsdWVPYnNlcnZpbmdPcHRpb25Jbml0aWFs
IGNvbnRleHQ6a2V5VmFsdWVPYnNlcnZpbmdDb250ZXh0XTsKICAgICAgICAgW3dpbmRvdyBhZGRP
YnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJ0aXRsZWJhckFwcGVhcnNUcmFuc3BhcmVudCIgb3B0
aW9uczpOU0tleVZhbHVlT2JzZXJ2aW5nT3B0aW9uSW5pdGlhbCBjb250ZXh0OmtleVZhbHVlT2Jz
ZXJ2aW5nQ29udGV4dF07CkBAIC0yNTE2LDkgKzI1MTQsNyBAQCAtICh2b2lkKXJlbW92ZVdpbmRv
d09ic2VydmVycwogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVt
b3ZlT2JzZXJ2ZXI6c2VsZiBuYW1lOk5TV2luZG93RGlkQ2hhbmdlQmFja2luZ1Byb3BlcnRpZXNO
b3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBk
ZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6TlNXaW5kb3dEaWRDaGFuZ2VT
Y3JlZW5Ob3RpZmljYXRpb24gb2JqZWN0OndpbmRvd107CiAgICAgW1tOU05vdGlmaWNhdGlvbkNl
bnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjpzZWxmIG5hbWU6QCJfTlNXaW5kb3dE
aWRDaGFuZ2VDb250ZW50c0hvc3RlZEluTGF5ZXJTdXJmYWNlTm90aWZpY2F0aW9uIiBvYmplY3Q6
d2luZG93XTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOnNl
bGYgbmFtZTpOU1dpbmRvd0RpZENoYW5nZU9jY2x1c2lvblN0YXRlTm90aWZpY2F0aW9uIG9iamVj
dDp3aW5kb3ddOwotI2VuZGlmCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDEwMDAKICAgICBbd2luZG93IHJlbW92ZU9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAImNv
bnRlbnRMYXlvdXRSZWN0IiBjb250ZXh0OmtleVZhbHVlT2JzZXJ2aW5nQ29udGV4dF07CiAgICAg
W3dpbmRvdyByZW1vdmVPYnNlcnZlcjpzZWxmIGZvcktleVBhdGg6QCJ0aXRsZWJhckFwcGVhcnNU
cmFuc3BhcmVudCIgY29udGV4dDprZXlWYWx1ZU9ic2VydmluZ0NvbnRleHRdOwpAQCAtMjY2OCwx
MiArMjY2NCwxMCBAQCAtICh2b2lkKV93aW5kb3dEaWRDaGFuZ2VCYWNraW5nUHJvcGVydGllCiAg
ICAgX2RhdGEtPl9wYWdlLT5zZXRJbnRyaW5zaWNEZXZpY2VTY2FsZUZhY3RvcihuZXdCYWNraW5n
U2NhbGVGYWN0b3IpOwogfQogCi0jaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMDkwCiAtICh2b2lkKV93aW5kb3dEaWRDaGFuZ2VPY2NsdXNpb25TdGF0ZTooTlNOb3RpZmlj
YXRpb24gKilub3RpZmljYXRpb24KIHsKICAgICBfZGF0YS0+X3BhZ2UtPnZpZXdTdGF0ZURpZENo
YW5nZShWaWV3U3RhdGU6OklzVmlzaWJsZSk7CiB9Ci0jZW5kaWYKIAogLSAodm9pZClkcmF3UmVj
dDooTlNSZWN0KXJlY3QKIHsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQkocmV2aXNpb24gMTc5MzY0KQorKysgU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQkod29ya2luZyBjb3B5KQpA
QCAtNTc0LDcgKzU3NCw2IEBAIGJvb2wgTmF2aWdhdGlvblN0YXRlOjpMb2FkZXJDbGllbnQ6OmNh
bkEKIAogdm9pZCBOYXZpZ2F0aW9uU3RhdGU6OkxvYWRlckNsaWVudDo6ZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJQYWdlUHJveHkmLCBXZWJGcmFtZVByb3h5Jiwg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSogYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCiB7
Ci0jaWYgIWRlZmluZWQoX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCkgfHwgX19NQUNf
T1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgaWYgKG1fbmF2aWdhdGlvblN0
YXRlLm1fbmF2aWdhdGlvbkRlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlQ29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgYXV0byBuYXZpZ2F0
aW9uRGVsZWdhdGUgPSBtX25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25EZWxlZ2F0ZS5nZXQo
KTsKICAgICAgICAgaWYgKCFuYXZpZ2F0aW9uRGVsZWdhdGUpIHsKQEAgLTYxNyw3ICs2MTYsNiBA
QCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TG9hZGVyQ2xpZW50OjpkaWRSCiAgICAgICAgIF07CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0jZW5kaWYKIAogICAgIGlmICghbV9uYXZpZ2F0aW9uU3Rh
dGUubV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRSZWNlaXZlQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lv
biAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bv
b2xDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtOTksMTAgKzk5LDcgQEAgc3RhdGljIHZvaWQg
cmVnaXN0ZXJVc2VyRGVmYXVsdHNJZk5lZWRlZAogICAgIAogICAgIFtyZWdpc3RyYXRpb25EaWN0
aW9uYXJ5IHNldE9iamVjdDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSBmb3JLZXk6V2Vi
S2l0SlNDSklURW5hYmxlZERlZmF1bHRzS2V5XTsKICAgICBbcmVnaXN0cmF0aW9uRGljdGlvbmFy
eSBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10gZm9yS2V5OldlYktpdEpT
Q0ZUTEpJVEVuYWJsZWREZWZhdWx0c0tleV07Ci0gICAgCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBbcmVnaXN0cmF0aW9u
RGljdGlvbmFyeSBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10gZm9yS2V5
OldlYktpdEtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0RGVmYXVsdHNLZXldOwot
I2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09SS19DQUNIRSkKICAgICBbcmVnaXN0cmF0aW9uRGlj
dGlvbmFyeSBzZXRPYmplY3Q6W05TTnVtYmVyIG51bWJlcldpdGhCb29sOllFU10gZm9yS2V5Oldl
YktpdE5ldHdvcmtDYWNoZUVuYWJsZWREZWZhdWx0c0tleV07CkBAIC0xODksNyArMTg2LDcgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplVwogICAgIHBhcmFtZXRlcnMu
bnNVUkxDYWNoZU1lbW9yeUNhcGFjaXR5ID0gW3VybENhY2hlIG1lbW9yeUNhcGFjaXR5XTsKICAg
ICBwYXJhbWV0ZXJzLm5zVVJMQ2FjaGVEaXNrQ2FwYWNpdHkgPSBbdXJsQ2FjaGUgZGlza0NhcGFj
aXR5XTsKIAotI2lmICFQTEFURk9STShJT1MpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTA5MAorI2lmICFQTEFURk9STShJT1MpCiAgICAgcGFyYW1ldGVycy5zaG91bGRG
b3JjZVNjcmVlbkZvbnRTdWJzdGl0dXRpb24gPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNl
ckRlZmF1bHRzXSBib29sRm9yS2V5OkAiTlNGb250RGVmYXVsdFNjcmVlbkZvbnRTdWJzdGl0dXRp
b25FbmFibGVkIl07CiAjZW5kaWYKICAgICBwYXJhbWV0ZXJzLnNob3VsZEVuYWJsZUtlcm5pbmdB
bmRMaWdhdHVyZXNCeURlZmF1bHQgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1
bHRzXSBib29sRm9yS2V5OldlYktpdEtlcm5pbmdBbmRMaWdhdHVyZXNFbmFibGVkQnlEZWZhdWx0
RGVmYXVsdHNLZXldOwpAQCAtNDIxLDcgKzQxOCw2IEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnJl
Z2lzdGVyTm90aWZpY2F0aW8KICAgICAgICAgdGV4dENoZWNrZXJTdGF0ZUNoYW5nZWQoKTsKICAg
ICB9XTsKIAotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAogICAg
IG1fYXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlciA9IFtbTlNO
b3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1lOk5TU3Bl
bGxDaGVja2VyRGlkQ2hhbmdlQXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb24g
b2JqZWN0Om5pbCBxdWV1ZTpbTlNPcGVyYXRpb25RdWV1ZSBjdXJyZW50UXVldWVdIHVzaW5nQmxv
Y2s6XihOU05vdGlmaWNhdGlvbiAqbm90aWZpY2F0aW9uKSB7CiAgICAgICAgIFRleHRDaGVja2Vy
OjpkaWRDaGFuZ2VBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlvbkVuYWJsZWQoKTsKICAgICAgICAg
dGV4dENoZWNrZXJTdGF0ZUNoYW5nZWQoKTsKQEAgLTQzMSw3ICs0MjcsNiBAQCB2b2lkIFdlYlBy
b2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgICAgIFRleHRDaGVja2VyOjpkaWRD
aGFuZ2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpOwogICAgICAgICB0ZXh0Q2hl
Y2tlclN0YXRlQ2hhbmdlZCgpOwogICAgIH1dOwotI2VuZGlmCiAjZW5kaWYgLy8gIVBMQVRGT1JN
KElPUykKIH0KIApAQCAtNDQxLDE0ICs0MzYsMTEgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5y
ZWdpc3Rlck5vdGlmaWNhdAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRl
cl0gcmVtb3ZlT2JzZXJ2ZXI6bV9lbmhhbmNlZEFjY2Vzc2liaWxpdHlPYnNlcnZlci5nZXQoKV07
ICAgIAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcmVtb3ZlT2Jz
ZXJ2ZXI6bV9hdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnROb3RpZmljYXRpb25PYnNlcnZlci5nZXQo
KV07CiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNl
cnZlcjptX2F1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbk5vdGlmaWNhdGlvbk9ic2VydmVyLmdl
dCgpXTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBb
W05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHJlbW92ZU9ic2VydmVyOm1fYXV0
b21hdGljUXVvdGVTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07CiAgICAg
W1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1vdmVPYnNlcnZlcjptX2F1
dG9tYXRpY0Rhc2hTdWJzdGl0dXRpb25Ob3RpZmljYXRpb25PYnNlcnZlci5nZXQoKV07Ci0jZW5k
aWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogfQogCi0jaWYgUExBVEZPUk0oSU9TKSB8fCBf
X01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKIHN0YXRpYyBDRlVSTFN0b3Jh
Z2VTZXNzaW9uUmVmIHByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQogewogICAgIHN0YXRpYyBDRlVS
TFN0b3JhZ2VTZXNzaW9uUmVmIHNlc3Npb247CkBAIC00NjEsMjUgKzQ1MywxOCBAQCBzdGF0aWMg
Q0ZVUkxTdG9yYWdlU2Vzc2lvblJlZiBwcml2YXRlQnJvCiAKICAgICByZXR1cm4gc2Vzc2lvbjsK
IH0KLSNlbmRpZgogCiBib29sIFdlYlByb2Nlc3NQb29sOjppc1VSTEtub3duSFNUU0hvc3QoY29u
c3QgU3RyaW5nJiB1cmxTdHJpbmcsIGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkgY29uc3QK
IHsKLSNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
Pj0gMTA5MAogICAgIFJldGFpblB0cjxDRlVSTFJlZj4gdXJsID0gVVJMKFVSTCgpLCB1cmxTdHJp
bmcpLmNyZWF0ZUNGVVJMKCk7CiAKICAgICByZXR1cm4gX0NGTmV0d29ya0lzS25vd25IU1RTSG9z
dFdpdGhTZXNzaW9uKHVybC5nZXQoKSwgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCA/IHByaXZhdGVC
cm93c2luZ1Nlc3Npb24oKSA6IG51bGxwdHIpOwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0j
ZW5kaWYKIH0KIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6cmVzZXRIU1RTSG9zdHMoKQogewotI2lm
IFBMQVRGT1JNKElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkw
CiAgICAgX0NGTmV0d29ya1Jlc2V0SFNUU0hvc3RzV2l0aFNlc3Npb24obnVsbHB0cik7CiAgICAg
X0NGTmV0d29ya1Jlc2V0SFNUU0hvc3RzV2l0aFNlc3Npb24ocHJpdmF0ZUJyb3dzaW5nU2Vzc2lv
bigpKTsKLSNlbmRpZgogfQogCiBpbnQgbmV0d29ya1Byb2Nlc3NMYXRlbmN5UU9TKCkKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvbWFjL0RhdGFiYXNlUHJvY2Vzc1By
b3h5TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFz
ZXMvbWFjL0RhdGFiYXNlUHJvY2Vzc1Byb3h5TWFjLm1tCShyZXZpc2lvbiAxNzkzNjQpCisrKyBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2VzL21hYy9EYXRhYmFzZVByb2Nlc3NQcm94
eU1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzcsMTEgKzM3LDcgQEAgc3RhdGljIGJvb2wgc2hv
dWxkVXNlWFBDKCkKICAgICBpZiAoaWQgdmFsdWUgPSBbW05TVXNlckRlZmF1bHRzIHN0YW5kYXJk
VXNlckRlZmF1bHRzXSBvYmplY3RGb3JLZXk6QCJXZWJLaXQyVXNlWFBDU2VydmljZUZvcldlYlBy
b2Nlc3MiXSkKICAgICAgICAgcmV0dXJuIFt2YWx1ZSBib29sVmFsdWVdOwogCi0jaWYgUExBVEZP
Uk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBy
ZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCiB9CiAKIHZvaWQg
RGF0YWJhc2VQcm9jZXNzUHJveHk6OnBsYXRmb3JtR2V0TGF1bmNoT3B0aW9ucyhQcm9jZXNzTGF1
bmNoZXI6OkxhdW5jaE9wdGlvbnMmIGxhdW5jaE9wdGlvbnMpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luUHJvY2Vzc1Byb3h5TWFjLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNz
UHJveHlNYWMubW0JKHJldmlzaW9uIDE3OTM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL21hYy9QbHVnaW5Qcm9jZXNzUHJveHlNYWMubW0JKHdvcmtpbmcgY29weSkKQEAg
LTEzOSwxMSArMTM5LDcgQEAgc3RhdGljIGJvb2wgc2hvdWxkVXNlWFBDKFByb2Nlc3NMYXVuY2hl
cgogICAgIGlmIChsYXVuY2hPcHRpb25zLmV4ZWN1dGFibGVIZWFwKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAg
ICByZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCiB9CiAKIHZv
aWQgUGx1Z2luUHJvY2Vzc1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xh
dW5jaGVyOjpMYXVuY2hPcHRpb25zJiBsYXVuY2hPcHRpb25zLCBjb25zdCBQbHVnaW5Qcm9jZXNz
QXR0cmlidXRlcyYgcGx1Z2luUHJvY2Vzc0F0dHJpYnV0ZXMpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1RleHRDaGVja2VyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW0JKHJldmlzaW9uIDE3OTM2NCkK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVGV4dENoZWNrZXJNYWMubW0JKHdvcmtp
bmcgY29weSkKQEAgLTcxLDIwICs3MSwxOCBAQCBzdGF0aWMgYm9vbCBzaG91bGRBdXRvbWF0aWNT
cGVsbGluZ0NvcnJlCiBzdGF0aWMgYm9vbCBzaG91bGRBdXRvbWF0aWNRdW90ZVN1YnN0aXR1dGlv
bkJlRW5hYmxlZCgpCiB7CiAgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRl
ZmF1bHRzIHN0YW5kYXJkVXNlckRlZmF1bHRzXTsKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwOTAKICAgICBpZiAoIVtkZWZhdWx0cyBvYmplY3RGb3JLZXk6V2ViQXV0
b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkXSkKICAgICAgICAgcmV0dXJuIFtOU1NwZWxs
Q2hlY2tlciBpc0F1dG9tYXRpY1F1b3RlU3Vic3RpdHV0aW9uRW5hYmxlZF07Ci0jZW5kaWYKKwog
ICAgIHJldHVybiBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJBdXRvbWF0aWNRdW90ZVN1YnN0aXR1
dGlvbkVuYWJsZWRdOwogfQogCiBzdGF0aWMgYm9vbCBzaG91bGRBdXRvbWF0aWNEYXNoU3Vic3Rp
dHV0aW9uQmVFbmFibGVkKCkKIHsKICAgICBOU1VzZXJEZWZhdWx0cyAqZGVmYXVsdHMgPSBbTlNV
c2VyRGVmYXVsdHMgc3RhbmRhcmRVc2VyRGVmYXVsdHNdOwotI2lmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTA5MAogICAgIGlmICghW2RlZmF1bHRzIG9iamVjdEZvcktleTpX
ZWJBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZF0pCiAgICAgICAgIHJldHVybiBbTlNT
cGVsbENoZWNrZXIgaXNBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZF07Ci0jZW5kaWYK
KwogICAgIHJldHVybiBbZGVmYXVsdHMgYm9vbEZvcktleTpXZWJBdXRvbWF0aWNEYXNoU3Vic3Rp
dHV0aW9uRW5hYmxlZF07CiB9CiAKQEAgLTI0NSwxOCArMjQzLDE0IEBAIHZvaWQgVGV4dENoZWNr
ZXI6OmRpZENoYW5nZUF1dG9tYXRpY1NwZWwKIAogdm9pZCBUZXh0Q2hlY2tlcjo6ZGlkQ2hhbmdl
QXV0b21hdGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkKCkKIHsKLSNpZiBfX01BQ19PU19YX1ZF
UlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICB0ZXh0Q2hlY2tlclN0YXRlLmlzQXV0b21h
dGljUXVvdGVTdWJzdGl0dXRpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljUXVvdGVTdWJzdGl0
dXRpb25CZUVuYWJsZWQoKTsKICAgICBbW05TU3BlbGxDaGVja2VyIHNoYXJlZFNwZWxsQ2hlY2tl
cl0gdXBkYXRlUGFuZWxzXTsKLSNlbmRpZgogfQogCiB2b2lkIFRleHRDaGVja2VyOjpkaWRDaGFu
Z2VBdXRvbWF0aWNEYXNoU3Vic3RpdHV0aW9uRW5hYmxlZCgpCiB7Ci0jaWYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgdGV4dENoZWNrZXJTdGF0ZS5pc0F1dG9t
YXRpY0Rhc2hTdWJzdGl0dXRpb25FbmFibGVkID0gc2hvdWxkQXV0b21hdGljRGFzaFN1YnN0aXR1
dGlvbkJlRW5hYmxlZCgpOwogICAgIFtbTlNTcGVsbENoZWNrZXIgc2hhcmVkU3BlbGxDaGVja2Vy
XSB1cGRhdGVQYW5lbHNdOwotI2VuZGlmCiB9CiAKIGJvb2wgVGV4dENoZWNrZXI6OnN1YnN0aXR1
dGlvbnNQYW5lbElzU2hvd2luZygpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvbWFjL1ZpZXdHZXN0dXJlQ29udHJvbGxlck1hYy5tbQkocmV2aXNpb24gMTc5
MzY0KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ5NSwxMCArNDk1LDggQEAgc3RhdGljIGJvb2wg
bGF5ZXJHZW9tZXRyeUZsaXBwZWRUb1Jvb3QoQwogCiB2b2lkIFZpZXdHZXN0dXJlQ29udHJvbGxl
cjo6YXBwbHlEZWJ1Z2dpbmdQcm9wZXJ0aWVzVG9Td2lwZVZpZXdzKCkKIHsKLSNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICBDQUZpbHRlciogZmlsdGVyID0g
W0NBRmlsdGVyIGZpbHRlcldpdGhUeXBlOmtDQUZpbHRlckNvbG9ySW52ZXJ0XTsKICAgICBbbV9z
d2lwZUxheWVyIHNldEZpbHRlcnM6QFsgZmlsdGVyIF1dOwotI2VuZGlmCiAgICAgW21fc3dpcGVM
YXllciBzZXRCYWNrZ3JvdW5kQ29sb3I6W05TQ29sb3IgYmx1ZUNvbG9yXS5DR0NvbG9yXTsKICAg
ICBbbV9zd2lwZUxheWVyIHNldEJvcmRlckNvbG9yOltOU0NvbG9yIHllbGxvd0NvbG9yXS5DR0Nv
bG9yXTsKICAgICBbbV9zd2lwZUxheWVyIHNldEJvcmRlcldpZHRoOjRdOwpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQcm9jZXNzUHJveHlNYWMubW0JKHJl
dmlzaW9uIDE3OTM2NCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvV2ViUHJvY2Vz
c1Byb3h5TWFjLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00MSwxMiArNDEsNyBAQCBzdGF0aWMgYm9v
bCBzaG91bGRVc2VYUEMoKQogewogICAgIGlmIChpZCB2YWx1ZSA9IFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIG9iamVjdEZvcktleTpAIldlYktpdDJVc2VYUENTZXJ2aWNl
Rm9yV2ViUHJvY2VzcyJdKQogICAgICAgICByZXR1cm4gW3ZhbHVlIGJvb2xWYWx1ZV07Ci0KLSNp
ZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKICAgICByZXR1cm4gdHJ1
ZTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCiB9CiAKIHZvaWQgV2ViUHJvY2Vz
c1Byb3h5OjpwbGF0Zm9ybUdldExhdW5jaE9wdGlvbnMoUHJvY2Vzc0xhdW5jaGVyOjpMYXVuY2hP
cHRpb25zJiBsYXVuY2hPcHRpb25zKQpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9j
b20uYXBwbGUuV2ViUHJvY2Vzcy5zYi5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCShyZXZpc2lvbiAxNzkzNjQpCisr
KyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvbS5hcHBsZS5XZWJQcm9jZXNzLnNiLmluCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTcsMTAgKzExNyw4IEBACiAgICAgKGFsbG93IG1hY2gtcmVnaXN0
ZXIgKGdsb2JhbC1uYW1lLXJlZ2V4ICMiXl9vZ2xwcm9mX2F0dGFjaF88WzAtOV0rPiQiKSkpCiAK
IDs7IE1lZGlhQWNjZXNzaWJpbGl0eQotI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlS
RUQgPj0gMTA5MAogKGFsbG93IGZpbGUtcmVhZCogKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJl
ZmVyZW5jZXMvY29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wbGlzdCIpKQogKGFsbG93IGZp
bGUtcmVhZCogZmlsZS13cml0ZSogKGhvbWUtbGl0ZXJhbCAiL0xpYnJhcnkvUHJlZmVyZW5jZXMv
Y29tLmFwcGxlLm1lZGlhYWNjZXNzaWJpbGl0eS5wdWJsaWMucGxpc3QiKSkKLSNlbmRpZgogCiAo
aWYgKHBvc2l0aXZlPyAoc3RyaW5nLWxlbmd0aCAocGFyYW0gIkRBUldJTl9VU0VSX0NBQ0hFX0RJ
UiIpKSkKICAgICAoYWxsb3cgZmlsZSogKHN1YnBhdGggKHBhcmFtICJEQVJXSU5fVVNFUl9DQUNI
RV9ESVIiKSkpKQpAQCAtMTg5LDkgKzE4Nyw3IEBACiAgICAgICAgKGdsb2JhbC1uYW1lICJjb20u
YXBwbGUuUG93ZXJNYW5hZ2VtZW50LmNvbnRyb2wiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29t
LmFwcGxlLnNwZWVjaC5zcGVlY2hzeW50aGVzaXNkIikKICAgICAgICAoZ2xvYmFsLW5hbWUgImNv
bS5hcHBsZS5zcGVlY2guc3ludGhlc2lzLmNvbnNvbGUiKQotI2lmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTA5MAogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmNv
cmVzZXJ2aWNlcy5sYXVuY2hzZXJ2aWNlc2QiKQotI2VuZGlmCiAjaWYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKICAgICAgICAoZ2xvYmFsLW5hbWUgImNvbS5hcHBs
ZS5pY29uc2VydmljZXMiKQogICAgICAgIChnbG9iYWwtbmFtZSAiY29tLmFwcGxlLmljb25zZXJ2
aWNlcy5zdG9yZSIpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCShy
ZXZpc2lvbiAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2OCw5ICsx
NjgsNiBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAKICNpZiAhUExB
VEZPUk0oSU9TKQogICAgICAgICBJTklUKEV4ZWN1dGFibGVXYXNMaW5rZWRPbk9yQmVmb3JlTGlv
bik7Ci0jZW5kaWYKLSAgICAgICAgCi0jaWYgIVBMQVRGT1JNKElPUykgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgICAgIElOSVQoQ3JlYXRlTWVtb3J5U3Rh
dHVzUHJlc3N1cmVDcml0aWNhbERpc3BhdGNoT25NYWluUXVldWUpOwogI2VuZGlmCiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29h
Lm1tCShyZXZpc2lvbiAxNzkzNjQpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL2NvY29h
L1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMjY4LDcgKzI2OCw3IEBAIHZv
aWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVNhbmRib3goY29uc3QKIAogdm9pZCBXZWJQcm9jZXNz
Ojp1cGRhdGVBY3RpdmVQYWdlcygpCiB7Ci0jaWYgVVNFKEFQUEtJVCkgJiYgX19NQUNfT1NfWF9W
RVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCisjaWYgVVNFKEFQUEtJVCkKICAgICBSZXRhaW5Q
dHI8Q0ZNdXRhYmxlQXJyYXlSZWY+IGFjdGl2ZVBhZ2VVUkxzID0gYWRvcHRDRihDRkFycmF5Q3Jl
YXRlTXV0YWJsZSgwLCAwLCAma0NGVHlwZUFycmF5Q2FsbEJhY2tzKSk7CiAgICAgZm9yIChjb25z
dCBhdXRvJiBpdGVyOiBtX3BhZ2VNYXApIHsKICAgICAgICAgV2ViUGFnZSogcGFnZSA9IGl0ZXIu
dmFsdWUuZ2V0KCk7Cg==
</data>
<flag name="review"
          id="270595"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>